Description | Download | Changes | Home



zmakebas converts text files containing Sinclair Spectrum Basic programs (as plain old ASCII) into tokenised Basic saved in .TAP format, ready to run on an emulator or the real thing. It also optionally provides labels as an alternative to line numbers.

The program was originally intended to be used simply to make little loader programs, so they wouldn't have to be sourceless binaries. However, I went to a fair amount of effort to make sure it'd work for bigger, more serious programs too, so you can also use it for that kind of thing.

NB: This version is basically (ahem) my original 1.2 from 2004 with a few bugs fixed. Various other forks/versions are available elsewhere.


The current version is 1.2b, here as zmakebas-1.2b.tar.gz. It mainly targets Unix/Linux, but should be fairly portable.


Version 1.2b fixes the previous DEF FN fix, which tended to treat the rest of the line as if it was still dealing with the parameters.

Version 1.2a added fixes for VAL$ and DEF FN bugs, fixes line continuation at EOF, fixed buffer overruns, and used much larger input buffers to allow very long lines (so e.g. you could have a 40k REM statement with embedded binary data). Thanks to Andy J for pointing out the VAL$ bug, and to Antonio Villena for making the DEF FN fix available.

Version 1.2 added support for embedding literal 8-bit characters in the Basic output (for colour control codes etc.), and fixed a bug with escape sequence handling in REM statements. Thanks to Matthew Westcott for both of those.

The changes from 1.0 to 1.1 were essentially cosmetic.

Last updated on 2022 Jul 3