basica
Micro$oft BASICA (short for "Advanced BASIC") is a simple disk-based BASIC interpreter written by Micro$oft for PC-DOS. BASICA allows use of the ROM-resident BASIC included with early models of IBM's PC while DOS is loaded (the ROM BASIC itself runs when nothing is loaded when booting) and adds functionality such as file access and storage of programs on disk. It does not run on non-IBM PCs and even on later IBM models, since those lack the requisite ROM BASIC.
Later versions : Qbasic and Visual Basic
which both inherited its syntax...
Later versions : Qbasic and Visual Basic
which both inherited its syntax...
50 'Basica
80 ' INITIALIZATION
90 '
100 DEFINT A-Z : GETC$=" " : GETW$=" " ' for speed!
110 DIM USQ.TABLE%(1,257), BUF$(128), OUTF$(127)
120 FILE$="" : SF%=0 : FO%=-1 : CSL%=0 : CSH%=0 : OD$=""
340
350 ' COMMON CODE
360 '
370 ' Common code, accessed with blank command line or begining of
380 ' non-CP/M versions.. (Interactive version)
390 '
400 SF%=-1
410 PRINT : PRINT "PCUSQNEW.BAS -- A SLOW But Sure BASIC Unsqueezer"
420 PRINT
430 PRINT "(Enter name of file to 'unsqueeze'. Use upper case ONLY.)"
440 INPUT "Name of squeezed file";FILE$ : ID$=""
450 PRINT : PRINT "(Enter 'O' for console output only)"
460 INPUT "Console output? (Y/N/O)";CO$
470 IF CO$="O" OR CO$="o" THEN FO%=0 : GOTO 520
480 IF CO$="N" OR CO$="n" THEN SF%=0
490 PRINT : PRINT "(Enter return only for current disk)"
500 INPUT "Output drive";OD$
510 IF LEN(OD$)=1 THEN OD$=OD$+":"
520 PRINT : PRINT "Unsqueezing ";ID$;FILE$;" --> ";
530 OPEN "R", 1, ID$+FILE$, 128
80 ' INITIALIZATION
90 '
100 DEFINT A-Z : GETC$=" " : GETW$=" " ' for speed!
110 DIM USQ.TABLE%(1,257), BUF$(128), OUTF$(127)
120 FILE$="" : SF%=0 : FO%=-1 : CSL%=0 : CSH%=0 : OD$=""
340
350 ' COMMON CODE
360 '
370 ' Common code, accessed with blank command line or begining of
380 ' non-CP/M versions.. (Interactive version)
390 '
400 SF%=-1
410 PRINT : PRINT "PCUSQNEW.BAS -- A SLOW But Sure BASIC Unsqueezer"
420 PRINT
430 PRINT "(Enter name of file to 'unsqueeze'. Use upper case ONLY.)"
440 INPUT "Name of squeezed file";FILE$ : ID$=""
450 PRINT : PRINT "(Enter 'O' for console output only)"
460 INPUT "Console output? (Y/N/O)";CO$
470 IF CO$="O" OR CO$="o" THEN FO%=0 : GOTO 520
480 IF CO$="N" OR CO$="n" THEN SF%=0
490 PRINT : PRINT "(Enter return only for current disk)"
500 INPUT "Output drive";OD$
510 IF LEN(OD$)=1 THEN OD$=OD$+":"
520 PRINT : PRINT "Unsqueezing ";ID$;FILE$;" --> ";
530 OPEN "R", 1, ID$+FILE$, 128