Community QBasic

Rebooting the QBasic we all know and love!


Project maintained by Cory Smith

Roadmap

Future updates for planned releases will be maintained here as the project progresses.

0.0.1-beta

The following has been implemented (to one degree or another):

While the following still needs to be implemented:

The keywords below have been implemented if presented as a link to the documentation; otherwise, still needs to be handled.

Variables and Types

CONST, DEFDBL, DEFINT, DEFLNG, DEFSNG, DEFSTR, DOUBLE, HEX$, INTEGER, LET, LONG, OCT$, SINGLE, STRING, SWAP, TYPE…END TYPE

Flow Control

DO…LOOP, EXIT, FOR…NEXT, GOTO, ON…GOSUB, ON…GOTO, WHILE…WEND

Decisions and Operators

AND, EQV, IF, IMP, MOD, NOT, OR, SELECT CASE, XOR

Procedures

CALL, CHAIN, COMMON, DECLARE, DEF FN, FUNCTION, GOSUB…RETURN, SHARED, STATIC, SUB

Strings

ASC, CHR$, INSTR, LCASE$, LEFT$, LEN, MID$, MID$ (Statement), RIGHT$, SPACE$, STR$, STRING$, UCASE$, VAL

Array and Data

DATA, DIM, $DYNAMIC, ERASE, LBOUND, OPTION BASE, READ, REDIM, RESTORE, $STATIC, UBOUND

Math

ABS, ATN, CDBL, CINT, CLNG, COS, CSNG, EXP, FIX, INT, LOG, RANDOMIZE, RND, SGN, SIN, SQR, TAN

Simple I/O

CLS, CSRLIN, INKEY$, INPUT, INPUT$, LINE INPUT, LOCATE, POS, PRINT, PRINT USING, SPC, TAB, VIEW PRINT, WIDTH, WRITE

Error Trapping

ERDEV, ERDEV$, ERL, ERR, ERROR, ON ERROR GOTO, RESUME

Timing, Date and Time

DATE$, ON TIMER GOSUB, SLEEP, TIME$, TIMER, TIMER ON/OFF/STOP

Multimedia - Graphics

CIRCLE, COLOR, DRAW, GET, LINE, PAINT, PALETTE, PCOPY, PMAP, POINT, PRESET, PSET, PUT, SCREEN, VIEW, WINDOW

Multimedia - Sound

BEEP, ON PLAY GOSUB, PLAY, PLAY (Statement), PLAY ON/OFF/STOP, SOUND

Multimedia - Light Pen and Joystick

ON PEN GOSUB, ON STRIG GOSUB, PEN, PEN ON/OFF/STOP, STICK, STRIG, STRIG ON/OFF/STOP

Devices - Keyboard

KEY, KEY(n) ON/OFF/STOP, ON KEY(n) GOSUB

Devices - Printer

LPOS, LPRINT, LPRINT USING, WIDTH LPRINT

Devices - Communications Port

COM ON/OFF/STOP ON COM GOSUB OPEN COM

Devices - Files

CLOSE, CVD, CVDMBF, CVI, CVL, CVS, CVSMBF, EOF, FIELD, FILEATTR, FILES, FREEFILE, GET#, INPUT#, INPUT$, LINE INPUT #, LOC, LOCK, LOF, LSET, LTRIM$, MKD$, MKDMBF$, MKI$, MKL$, MKS$, MKSMBF$, NAME, OPEN, PRINT #, PRINT # USING, PUT#, RESET, RSET, RTRIM$, SEEK, SEEK (Statement), UNLOCK, WIDTH, WRITE#

Development - DOS and Program Management

CHDIR, CLEAR, END, ENVIRON, ENVIRON$, IOCTL, IOCTL$, KILL, MKDIR, REM, RMDIR, RUN, SHELL, STOP, SYSTEM

Development - Port and Memory

BLOAD, BSAVE, FRE, INP, OUT, PEEK, POKE, WAIT

Development - QBasic and Machine Language

CALL ABSOLUTE, DEF SEG, VARPTR, VARPTR$, VARSEG

Development - Debugging

TROFF, TRON


A

ABS, ABSOLUTE, ACCESS, AND, ANY, APPEND, AS, ASC, ATN

B

BASE, BEEP, BINARY, BLOAD, Boolean Operators, BSAVE

C

CALL, CALL ABSOLUTE, CASE, CDBL, CHAIN, CHDIR, CHR$, CINT, CIRCLE, CLEAR, CLNG, CLOSE, CLS, COLOR, COM(n), COMMON, CONST, COS, CSNG, CSRLIN, CVD, CVDMBF, CVI, CVL, CVS, CVSMBF

D

DATA, DATE$, DECLARE, DEF FN, DEF SEG, DEFDBL, DEFINT, DEFLNG, DEFSNG, DEFSTR, DIM, DO…LOOP, DO UNTIL, DO WHILE, DOUBLE, DRAW

E

ELSE, ELSEIF, END, END IF, ENVIRON, ENVIRON$, EOF, EQV, ERASE, ERDEV, ERDEV$, ERL, ERR, ERROR, EXIT, EXP

F

FIELD, FILEATTR, FILES, FIX, FOR…NEXT, FRE, FREEFILE, FUNCTION

G

GET, GET#, GOSUB, GOTO

H

HEX$

I

IF…THEN, IMP, INKEY$, INP, INPUT, INPUT#, INPUT$, INSTR, INT, INTEGER, IOCTL, IOCTL$, IS

K

KEY, KEY(n), KILL

L

LBOUND, LCASE$, LEFT$, LEN, LET, LINE, LINE INPUT, LINE INPUT#, LOC, LOCATE, LOCK, LOF, LOG, LONG, LOOP, LPOS, LPRINT, LPRINT USING, LSET, LTRIM$

M

MID$, MID$ (Statement), MKD$, MKDIR, MKDMBF$, MKI$, MKL$, MKS$, MKSMBF$, MOD

N

NAME, NEXT, NOT

O

OCT$, OFF, ON, ON COM(n), ON ERROR GOTO, ON KEY(n), ON PEN, ON PLAY(n), ON STRIG(n), ON TIMER(n), ON…GOSUB, ON…GOTO, [OPEN], OPEN “COM(n), OPTION BASE, OR, OUT, OUTPUT

P

PAINT, PALETTE, PALETTE USING, PCOPY, PEEK, PEN, PLAY, PLAY(n), PMAP, POINT, POKE, POS, PRESET, PRINT, PRINT USING, PRINT#, PRINT# USING, PSET, PUT, PUT#

R

RANDOM, RANDOMIZE, READ, REDIM, REM, RESET, RESTORE, RESUME, RETURN, RIGHT$, RMDIR, RND, RSET, RTRIM$, RUN

S

SCREEN, SCREEN Function, SEEK, SEEK (Statement), SELECT, SGN, SHARED, SHELL, SIN, SINGLE, SLEEP, SOUND, SPACE$, SPC, SQR, STATIC, STEP, STICK, STOP, STR$, STRIG, STRIG(n), STRING, STRING$, SUB, SWAP, SYSTEM

T

TAB, TAN, THEN, TIME$, TIMER, TO, TRON, TROFF, TYPE

U

UBOUND, UCASE$, UNLOCK, UNTIL, USING

V

VAL, VARPTR, VARPTR$, VARSEG, VIEW, VIEW PRINT

W

WAIT, WHILE…WEND, WIDTH, WINDOW, WRITE

X

XOR