Support for the 65816 CPU is here, along with the SNES ROM output format. Adding this CPU was not possible in the 1.x days, but with the new foundation it wasn't too hard. Since this CPU is a special one with 8 bit and 16 bit modes and 24 bit address size, I had to add some special things.
- By prefixing a number with 0's, you can enforce a different number size. For example lda #$0012 will be compiled as a 16 bit number even in 8 bit mode.
- The RegA16 and RegXY16 setting flags can enforce 8 or 16 bit value usage, so an lda #$12 can be compiled as lda #$0012 if needed.
- The disassembler follows the Accumulator and Index register size selector CPU flag states to show properly decoded source code for sequentially placed instructions.
- Alternative binary number format added: 0b11110011
- Octal number format support added: 0o17
- Hexadecimal and binary numbers can use the '_' (underscore) character as visual value separator: %1111_0011, $12_34
- The disassembler can limit the number of disassembled bytes in a file.
- SNES ROM (.sfc) file support with header builder and checksum calculator.
See the documentation for details.
Download the latest version from the Retro Assembler page!