BASIC 65 – from dead horse to stallion

Once the team had official permission to use the C65 ROM for the MEGA65 project, Bit Shifter decided to take on the task and look at the ROMs source files. The first step was to reestablish the tool chain that Commodore used to create their ROM, there is a post in the MEGA65 blog that describes this process very well.
Bit Shifter started the same way the MEGA65 team did with the project: Picking up what Commodore had to leave behind (BASIC 10) and continue from there. He has now been working on the MEGA65 ROM for over a year and turned it into something Commodore fans only could have dreamed of in the 1980s and 90s: BASIC 65. To get an impression of what he achieved please look at the ROM history page. To summarize just some parts of his impressive work:

  • Planned commands – now implemented: GCOPY, CUT, PASTE
  • Commands extended: PEEK, POKE, SYS, SCREEN, DMA, BLOAD, BVERIFY, SPRSAV, DIRECTORY, COPY, PLAY, HIGHLIGHT, INSTR, FOR, NEXT
  • New operator: XOR
  • New commands: LOCK, UNLOCK, INFO, RPLAY, FREEZER, MOUNT, CHDIR, FGOTO, FGOSUB, FREAD, FWRITE, FONT, SPEED, EDMA, RSPEED, DOT
  • New variable type: BYTE
  • New constants: Hex constants 32 bits in size
  • Speed optimizations: BASIC65 is average 5 times faster than BASIC10 at the same CPU setting
  • Many bug fixes, some of them in Commodore / MS BASIC since the first PETs and C64: garbage collection bug, PRINT ""+-0 crash bug, BEND bug, inexact PI and therefore errors in COS, SIN, TAN
  • Bug fixes in CBDOS: @ Save and Replace bug, collection bug, splat file deletion bug, subdir deletion bug

Comments are closed.