Skip to content

Tools for (dis)assembling Motorola m68k binaries for the General Music S2/S3 Music Processor

Notifications You must be signed in to change notification settings

jmechnich/s3asm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

s3asm

Tools for (dis)assembling Motorola m68k binaries for the General Music S2/S3 Music Processor

Disassembly

Use s3dasm included in this package. For usage details, run s3dasm -h.

s3dasm dependencies

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.

Example

# disassemble program.bin to program.bin.asm (if the control file program.bin.txt exists, it will be used automatically)
./s3dasm program.bin

Assembly

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.

asmx

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

About

Tools for (dis)assembling Motorola m68k binaries for the General Music S2/S3 Music Processor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages