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.2a, here as zmakebas-1.2a.tar.gz. It mainly targets Unix/Linux, but should be fairly portable.


Version 1.2a adds fixes for VAL$ and DEF FN bugs, fixes line continuation at EOF, fixes buffer overruns, and uses much larger input buffers to allow very long lines (so e.g. you can have a 40k REM statement with embedded binary data now). 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 fixes a bug with escape sequence handling in REM statements. Thanks to Matthew Westcott for both of these.

The changes from 1.0 to 1.1 were essentially cosmetic.

Last updated 2021 Jul 4