Hi!
drogon wrote:
So who's up for writing a new BASIC? (and releasing it under an appropriate license)
My suspicions is: No-one. Mostly because people want their old BASIC, warts, bugs, weird FOR loop behaviour, etc.
Well, in the Atari 8-bit scene things seem different, we have at least three free BASICs for the 6502:
- Altirra BASIC:
http://www.virtualdub.org/downloads/Alt ... Manual.pdfWritten by Avery Lee, this is a re-implementation of the original Atari BASIC, capable of running most (all?) of BASIC games published for the Atari 8-bit computers. It is faster than Atari BASIC and it is mostly bug-free, but no known, published, Atari BASIC source relies in the original interpreter bugs.
Source license is completely permissive: "Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty."
- Altirra Extended BASIC:
https://atariage.com/forums/topic/28406 ... ded-basic/Also by Avery, this re-implements the famous "Turbo Basic XL", but it is ROM based instead of the original disk based. Same license as above.
Turbo Basic XL was a compatible extension of Atari BASIC, derived from the Atari BASIC source code book, published by a magazine in 1985, and adds to Atari BASIC many control statements (DO, WHILE, REPEAT), labels, procedures, multi-line IF/ENDIF, extended graphic and sound commands, tracing, etc.
- My own FastBasic:
https://github.com/dmsc/fastbasicA modern BASIC without line-numbers and "GOTO", using the Turbo Basic XL syntax and supporting most of the statements, adding string arrays and automatic strings, more game-oriented graphic commands (including raster-interrupt support). FastBasic is not a direct interpreter, it compiles the source code to a compact bytecode, this makes the interpreter very fast.
FastBasic is GPL licensed, with a runtime-exception allowing distribution of compiled BASIC programs.
Porting FastBasic to other 6502 systems should not be difficult, you would need to remove all graphic and sound statements. The IDE is written in FastBasic, and uses standard full-screen output.
And by replacing the full-screen editor with a standard line-based input interface the code could be smaller, perhaps the full floating-point interpreter could use 8kB.
Have Fun!