3.2 KiB
3.2 KiB
Planned BASIC features, when V2 compatibility is reached
Ideas for the future, most of them suitable for MEGA65 or other power machines only
- sound support
- 2D graphics support
- turtle graphics
- sprite support, including collision callback
- custom character set support
- sprite/character design within program, in a way similar to Simons BASIC
- joystick/mouse/lightpen/paddle commands/functions
- matrix operations
DISPOSEwith variable/array as parameter should remove the variable/array from memoryBLOAD,BVERIFYandBSAVEshould have syntax compatible with BASIC V7/V10- it should be possible to intercept Kernal errors from BASIC (prevent
?FILE NOT FOUND ERROR IN ..., etc.);ON ERROR GOTO? - support for numbers in hexadecimal and binary formats
CGOTOandCGOSUB- computatiuonal versions, should accept expressionsLABEL,LGOTOandLGOSUB- jump to label- some kind of subroutines with local variable namespace, possibly loaded from disc (like in Warsaw Basic 3.2)
- for MEGA65 mode, move variables to a separate memory area, consider extending variable name length
←V(verify from tape) - if Kernal is extended to offer this feature- modulo function or opeerator
DPEEK,DPOKE,QPEEK,QPOKE- 2/4 bytePEEKandPOKEvariants- all the functions/commands accepting memory addresses should be able to access the whole MEGA65 memory
- ability to limit memory used by basic to standard 38K or to 46K (memory model switch)
XORoperatorAUTO- line auto numberingRENUMBERfor chanign the line numbers- consider
BOOTcommand - possibly some commands for creating menus and dialog boxes
- more configurable
INPUT PRINT USING, ability to position cursor, ability to print result in the center of the screenCURSORcommand from BASIC V10RESTOREshould accept lline number as argument- hex/dec conversion functions
DELETEcommand to delete several BASIC lines, as in BASIC V10FORloop should accept integer variable as indexFETCH,STASH,SWAP- REU supportDMAcommand for MEGA65- geoRAM support
DO ... LOOP,DO ... UNTIL,DO ... WHILE,EXITSEEK#to read-and-forget n bytesRECORD#command from BASIC V10GETKEYfrom BASIC V10HELPcommand from BASIC V7/V10- function to find substring position
WINDOWcommand from BASIC V7- functions to return cursor position
TRAPandRESUMESET DEFandSET DISKfrom BASIC V10SLEEPfrom BASIC V10TRON/TROFF- program tracingTYPEcommand from BASIC V10RUNshould be able to run program from device, as in BASIC V10PAGEandDELAYcommands from Simons BASIC, or something similarDUMPcommand from Simons BASIC, or something similar- it should be possbile to assign to
TIspecial variable - function to insert a substring starting from given position
- function to generate string of n duplicated characters
- function to retrieve fractional part of a number
- command to fill text screen area with a character, inverse screen area, scroll, or change fg/bg color of screen area
Features not planned
ELSE- it would have slown down the execution, can be easily substitutedBEGIN ... BEND- similarly, using these would hurt the performance