1. Purpose 1.1. Project status 1.2. Features not omitted 1.3. Features supported if possible 1.4. Features not considered to be supported 1.5. Features which are gained for free 1.5.1. Memory allocation |
1.5.2. Hardware services 1.6. Extra features 1.6.1. Multitasking 2. Copying 2.1. Documentation 3. Requirements 4. "I want to start programming" 5. Downloading |
Purpose is to provide tools for running QuickBASIC programs in Linux and other non-MS-DOS -environments.
It currently seems like it will become a QuickBASIC to C++ translator. In fact, it already translates a large subset of QuickBASIC to C++. However, the resulting code is not maintainable, and the library which it requires, is not finished. But it is being developed, in hopes it will one day enable running complicated DOS-specific QuickBASIC programs such as this, under Linux.
ON n GOTO
/GOSUB
READ
/DATA
/RESTORE
INKEY$
TIMER
functionINTEGER
must still be 16-bit signed integer etc)PLAY
/ON PLAY
DEF FN
PRINT
, STR$
) compatibility (spaces!)OPEN
: Both syntaxesNEXT
with comma separated list of variablesIF
: Both syntaxes plus implicit GOTO
in THEN
and ELSE
support.PRINT
abbreviated as ?
supportPRINT
syntax shortcut (from GW-BASIC): parameters do not need to be separated by ;DEF SEG &HB800
/PEEK
/POKE
support for direct video access in text modeIN
/OUT
support to ports &H388 - &H389 for AdLib supportSCREEN
12/13, PSET
and other drawing stuffERR
codes like "String formula too complex" etcKEY ON
/KEY OFF
(dunno about ON KEY
)FIELD
and other obscure file features (some of which were new in QB 7.0)COMMON
, CHAIN
DIM area(1048576) AS INTEGER
,
it's fine!VARPTR$
and SADD()
will have to be adjusted a bit though.
/dev
directory. For example, if you wanted to record and play with your soundcard,
you could do OPEN "/dev/dsp" FOR BINARY AS #1
,
and that's fine. You read there (record), you write there (play).Ti#=TIMER:WHILE TIMER<Ti#+1:WEND
style loops to USLEEP 1000000
, we could support things
like USLEEP
and FORK
. Just maybe.
The ON PLAY(n)
mechanism
(and ON KEY(n)
,
and ON TIMER(n)
,
and ON STRIG(n)
,
and ON PEN
,
and ON COM(n)
) could also be
implemented as threads.
That way, we wouldn't need to prefix each statement with a
call to a checking routine as is done by QuicBASIC. (We still
need to do that for ON ERROR
, though,
because of RESUME
which may require repeating
the same statement.)
If you utilize qbc or parts of it for any purpose, the author wishes to hear of it (and possibly participate), but it is not mandatory for using this software.
If you want to start programming with BASIC, go and see DarkBasic.
Generated from
progdesc.php (last updated: Sat, 26 Jan 2008 20:30:21 +0200)
with docmaker.php (last updated: Sun, 12 Jun 2005 06:08:02 +0300)
at Sat, 26 Jan 2008 20:30:23 +0200