Supported assemblers

If you are using SkoolKit to generate ASM versions of the Skool Disassemblies, and you want to modify and re-assemble them, you will need to use a supported assembler. At the time of writing, the assemblers listed below are known to work with the ASM format generated by skool2asm.py:

The following sections give examples of how to use each of these assemblers to create binary (raw memory) files or tape files that can be used with an emulator.

pasmo

First, create an ASM version of the Skool Daze disassembly:

$ ./skool2asm.py src/sd.skool > sd.asm

Then use pasmo to create a binary file thus:

$ pasmo sd.asm sd.bin

or a TAP file that includes a BASIC loader thus:

$ pasmo --tapbas sd.asm sd.tap

When this TAP file, sd.tap, has been loaded into an emulator, you will need to enter:

RANDOMIZE USR 24573

to start Skool Daze.

The same procedure applies to Back to Skool, except that the --tapbas option will not work in this case, because Back to Skool’s origin address is too low and corrupts the BASIC loader. Instead, you can use the bin2tap.py utility, included with SkoolKit, to create a TAP file for Back to Skool:

$ ./skool2asm.py src/bts.skool > bts.asm
$ pasmo bts.asm bts.bin
$ ./bin2tap.py bts.bin

The end result is a file called bts.tap that can be loaded into an emulator, and will start the game automatically.

SjASMPlus

First, create an ASM version of the Skool Daze disassembly:

$ ./skool2asm.py src/sd.skool > sd.asm

Then create a file called sd.sjasm with the following contents:

; SjASMPlus source file for sd.asm
  device zxspectrum48
  include sd.asm
  savebin "sd.bin",24573,65536-24573

Run sjasmplus on this source file:

$ sjasmplus sd.sjasm

and a binary file called sd.bin will be created. To create a TAP file from sd.bin, use the bin2tap.py utility, included with SkoolKit:

$ ./bin2tap.py sd.bin

The resultant TAP file, sd.tap, can be loaded into an emulator, and the game will start automatically.

The same procedure applies to Back to Skool, except that the source file, bts.sjasm, should look like this:

; SjASMPlus source file for bts.asm
  device zxspectrum48
  include bts.asm
  savebin "bts.bin",23805,65536-23805

z80asm (z88dk)

z80asm will not work on the ASM version of the Skool Daze disassembly unless, at the very least, the @ssub substitutions and the @ofix fixes are applied (see ASM modes and directives):

$ ./skool2asm.py -s -f1 src/sd.skool > sd-sf1.asm

Then a binary file can be created thus:

$ z80asm -r5ffd -b sd-sf1.asm

To create a TAP file from this binary file, use the bin2tap.py utility, included with SkoolKit:

$ ./bin2tap.py sd-sf1.bin

The resultant TAP file, sd-sf1.tap, can be loaded into an emulator, and the game will start automatically.

z80asm will not work on the ASM version of the Back to Skool disassembly unless, at the very least, the @ofix fixes are applied (see ASM modes and directives):

$ ./skool2asm.py -f1 src/bts.skool > bts-f1.asm

Then a binary file can be created thus:

$ z80asm -r5cfd -b bts-f1.asm

To create a TAP file from this binary file, use the bin2tap.py utility, included with SkoolKit:

$ ./bin2tap.py bts-f1.bin

The resultant TAP file, bts-f1.tap, can be loaded into an emulator, and the game will start automatically.

Table Of Contents

Previous topic

Disassembly DIY

Next topic

Changelog