pasmo is grate

Since SkoolKit 1.0 was released, I have touted it as a tool for creating ASM versions of the Skool Disassemblies, but have neglected to mention which assemblers (if any) will work with the ASM files that SkoolKit generates. Until now, that is. No longer do you have to stumble around the internet looking for assemblers that will give you a working version of Skool Daze from skool_daze.asm (or, indeed, a working version of Back to Skool from back_to_skool.asm). I’ve done that for you, you lazy basts.

For the impatient, the short answer is: use pasmo. It’s what I’ve always used, it’s simple to use, and it just works.

If pasmo is not your bag, however, then SjASMPlus works wells too. The only slightly awkward thing about SjASMPlus is that it doesn’t seem possible to feed it a plain ASM file and get a binary file out the other end. Instead you have to create a separate source file that INCLUDEs skool_daze.asm or back_to_skool.asm, and contains a SAVEBIN directive to save a binary file.

The third and final option is z80asm, the assembler that comes with z88dk. The two slightly awkward things about using z80asm are that (a) the plain versions of skool_daze.asm and back_to_skool.asm must be modified slightly first, and (b) the ORG address must be explicitly given on the z80asm command line (the ORG directive in the ASM file seems to be ignored).

For further details of these three assemblers and example usages, see the new documentation on supported assemblers. Also, don’t forget to grab the latest version (1.3.1) of SkoolKit.

In case you were wondering, I didn’t stop at these three assemblers, but they were the only three I found that worked with an acceptable minimum level of effort. I also looked at crasm and tpasm, but they seem unable to cope with DEF{B,M,S,W} directives, which rules them out. z80asm (not the one that comes with z88dk) doesn’t seem to like label arithmetic (such as DEFB LABEL%256). And sjasm gives a cryptic C++ error message every time I run it (on Debian squeeze).

So there it is. If you have been successfully using SkoolKit with an assembler other than pasmo, SjASMPlus, or z80asm (of z88dk), let me know, and I’ll mention it in the documentation.