The basic interpreter is taken from the C64. I de-assembled it into 
normal source code and patched it to work with OS/A65 and multitasking.
Several commands are changed and others, most notably the BASIC V4 
commands, are added.
changed commands
-  OPEN fnr, drv, mode, name 
'drv' has changed from the commodore specific device id to the OS/A 
drive number. 'mode' then is the command to open a file, i.e.
FS_xxx.
 -  LOAD name, drv
 -  SAVE name, drv 
'drv' has changed to the OS/A drive number
 -  LIST name, drv [,a-b]
You can now list a program directly to a file. a and b are filenumbers
and optional (as usual with list)
 -  SYS adr
'adr' is checked for some C64 specific addresses and changes them
to the routines where they are now. Detected addresses are
$ff90, $ff99, $ff9c, $ffb7-$ffe7, $fff0, $fff3.
 
new commands
Some parameter can be left off, I was just to lazy to write all the brackets...
-  DIR [mask,] drv
print directory of a drive
 -  MKDIR name, drv
creates new subdirectory
 -  RMDIR name, drv
remove (empty) subdirectory
 -  SCRATCH name, drv
remove file
 -  RENAME name1 TO name2, drv 
rename a file 'name1' to 'name2'.
 -  DELETE a-b 
remove BASIC lines a-b; syntax is the same as with list
 -  RENUMBER start, step, a-b
change basic line numbers of the lines a-b (syntax as with list) to 
start, start+step, start+2*step,... All GOSUB and GOTO statements are
changed appropriately in the whole program.
 - RENEW
Gets a BASIC program back that has been deleted with NEW. It only works if
the program has not been overwritten by e.g. setting a new variable in 
memory.
 - DUMP
prints all variables
 - FIND text
list the lines where 'text' occurs.
 - HIMEM adr
sets a new end of basic ram address and executes a CLR.
 - LOMEM adr
sets a new basic program start address and executes a NEW.
 - QUIT
In contrast to the original C64 Basic interpreter this one can be left...
 - ENTER name, drv
redirects STDIN to the given file, so that e.g. a complete basic program
can be read in from an ASCII (not tokenized) file.
 - CALL adr, a, x, y, c, ra, rx, ry, rc
Calls a machine language routine at adr, with a,x,y,c in accumulator, 
x- and y-register and in the status register. Return values are put into
ra, rx, ry, rc.
 - SPUT adr, string
Write a string directly into memory at adr, end with nullbyte.
 - SGET adr, len, stringvar
reads len bytes from memory at adr and saves it in string variable.