Mario Paint has a few unusual features:
- Mario Paint takes input from the SNES mouse instead of the usual controller.
- Mario Paint allows users to draw pixels into a 16-color buffer.
- If you wait at the title screen, Mario Paint provides a very long demonstration.
- /address map, obtain or contribute your ROM and RAM addresses.
- /random number generator
- /transmusical string, a string that contains data for the SPC-700.
This is for stuff without a subpage.
Calling convention Edit
Calling convention is that a subroutine might alter the values of volatile registers, but must preserve the values of nonvolatile registers.
Here is a guess after studying a few jsl subroutines.
- Accumulator A.
- Index registers X and Y. Some routines preserve them, some do not.
- Data bank.
- Direct page location.
- Processor flags.
Some jsl subroutines require no specific values data bank, direct page location, or processor flags (except that decimal mode must be off). Instead, they accept any values, temporarily switch to different values and restore the previous values before returning.
SNES header Edit
Information from the SNES header of Mario Paint (JU):
mario-paint.sfc: SMC header: no SNES header: offset 0x7fc0, score: 7/9 name: "MARIOPAINT " (21 bytes) status: 0x20 (slow LoROM) cartridge type: 0x02 (ROM and save-RAM) ROM size: 0x0a (1 megabyte) RAM size: 0x05 (32 kilobytes) country: 0x00 (NTSC) licensee: 0x01 (Nintendo) version: 0x00 complement/checksum: 0xb461/0x4b9e interrupt handlers (native mode): COP BRK ABORT NMI UNUSED IRQ 0x80ae 0x0000 0x0000 0x80d4 ------ 0x80af interrupt handlers (emulation mode): COP UNUSED ABORT NMI RESET IRQBRK 0x0000 ------ 0x0000 0x0000 0x8000 0x0000