Tools for (dis)assembling Motorola m68k binaries for the General Music S2/S3 Music Processor
Use s3dasm included in this package. For usage details, run s3dasm -h.
capstone + python bindings (http://www.capstone-engine.org/)
As of March 2016, the m68k target is not yet supported in the official release of capstone. It is necessary to use the next branch of their github repo and compile manually. See this document for instructions.
The python bindings are usually generated by running make install in python/bindings. If s3dasm cannot find the module capstone, try running sudo python setup.py install manually.
# disassemble program.bin to program.bin.asm (if the control file program.bin.txt exists, it will be used automatically)
./s3dasm program.bin
s3asm is a wrapper for vasm, an actively maintained, multi-CPU assembler.
Building vasm: make CPU=m68k SYNTX=mot
Using vasm directly: vasmm68k_mot -m68000 -no-opt -Fbin -o program.bin.asm.bin program.bin.asm or make asm
Seems to work for assembling user programs with out-of-range displacements.
Does not support assembly of object files (i.e. with jumps to addresses outside of the assembly file) yet, so it cannot be used for assembling user programs. Maybe it will work for assembling the ROM but it is a bit pickier than vasm. Download asmx here.
Using asmx: asm68k -C 68000 -b -o program.asmx program.asm or make asmx