CASM is a portable (it shouldn't be using anything more than ANSI/ISO features)
macro cross-assembler in C. It currently supports the following processors:
- Gameboy Z80 derivative
- 65c816 (the CPU used in the SNES)
- SPC700 (the CPU used for sound in the SNES)
It can also produce output in the following formats:
- Raw binary (works well for Atari VCS images)
- Spectrum TAP file
- Commodore T64 tape file
- ZX81 P file
- Gameboy ROM
- SNES ROM
- A simple library format for larger projects.
- NES ROM
Sources are available on Github.