Here’s a list of some of the BASIC expansions, compilers and interpreters available for Sinclair computers.
Expansions:
- Beta BASIC (Spectrum): +60 new commands – Graphic commands – Structured programming – Programmers toolkit (Link)
- YS Mega BASIC (Spectrum): +35 new commands -Windows – Sprites – Structured programming (Link)
Compilers and Interpreters:
- HiSoft BASIC (Spectrum): BASIC to machine code compiler – Compiler directives. (Link)
- MCoder II (Spectrum): BASIC to machine code compiler – Only integers. (Link)
- MCoder II (ZX-81): BASIC to machine code compiler – Only integers – Limited string support. (Link)
- Wye Compiler (Spectrum): BASIC to machine code compiler – Extended commands (Link)
- Boriel’s ZX BASIC compiler (Spectrum): BASIC to machine code crosscompiler written in Python (Link) (*)
(*) Boriel’s ZX BASIC uses it’s own BASIC dialect, but according to the rules for crossdevelopment tools the BASIC listing should be runnable natively. This means a program written in ZX BASIC should be compliant with Sinclair BASIC commands and sintax (lines must be numbered and no use of ZX BASIC own commands and datatypes)
Note: For those expansions, interpreters or compilers that allow to include inline assembly on the BASIC program, such feature should not be used as it collides with the competition’s rules.
Pingback: Retrospectiva 2012 – July review « SolidState
forgot Boriel’s zxbasic compiler – it was being very popular on contests like CSSCGC
I checked Boriel’s zxbasic compiler at the time of writing the post.
I hadn’t included it because it uses it’s own BASIC variant, which is not allowed for crosscompilers.
But, if the program follows Sinclair BASIC sintax then it’s ok.
Thank you for your link!
ZX BASIC tries to mimic Sinclair BASIC as much as possible (unfortunately this is not completely possible for compiled BASIC). It also allows an extended BASIC syntax similar to FreeBasic (see http://www.freebasic.net/ ) which in turns is very similar to Visual Basic.
An example taken from the ZX Spectrum Manual:
http://www.boriel.com/wiki/en/index.php/ZX_BASIC:Flag.bas