Contents |
Emulation Controls |
F1..F9 Toggle Sound Voice 0..7 and Echo on/off Shift+F1..F6 Toggle Video Layers BG0..BG3, OBJ, and SFC-Box/NSS OSD on/off F10 Re-enable all Voices & Video Layers F11 Setup Options F12 Cartridge Menu ESC Stop Emulation (switch to debugger) Keypad-Div Soft Reset (Warmboot, as when pushing Reset Button) Keypad-Mul Hard Reset (Coldboot, as when Power-On) Keypad-Sub Same as ESC Keypad-Add Whoosh (run as fast as possible) Backspace Whoosh (run as fast as possible) |
Left-Mouse-Button Pass mouse to SNES Emulation Middle-Mouse-Button Pass mouse to Operation System ESC Pass mouse to Operation System |
Left-Mouse-Button Trigger (Scope/Justifier/Macs) Right-Mouse-Button Cursor-Button (Scope) or Start-Button (Justifier) XXX (Mid-Butt) Act as Gun2 when HELD-DOWN (Justifier) XXX (Mid-Butt) Pause (Scope) XXX (Wheel) Turbo/Normal (Scope) |
UP/DN/LT/RT Keys Up/Dn/Lt/Rt (aka Joypad DPAD keys) PGUP/PGDN Keys Prev/Next Page (aka Joypad Select/Start) BS or DEL Key CLR END Key END ".0123456789" Keys ".0123456789" Keypad "/*.0123456789" Keys "#.0123456789" |
QWERTY... Keyboard |
INS XXX Insert Coin HOME XXX RESET Button PGUP XXX GAME/TV Button "123456" (or Keypad) 1st..6th Switch Position (from left) |
1..3 Game 1..3 Buttons 4 Test Button (unknown purpose) (XXX mapped to unknown I/O bit) 5 Service Button (Add Credit) (Service+Instructions = Config Mode) 6 DIP-Switch Window (may need to restart game to apply changes) Ins/Del Coin Slot 1..2 Signals (Add N Credits; depending on Coinage) Home Instructions Button End Restart Button PgUp/Dn Page Up/Dn Buttons |
HOME Play +10 PLAY PREV END Pause .------.------.------. DEL Stop | INS | HOME | PGUP | INS +10/>10 |------+------+------| PGUP Previous Track | DEL | END | PGDN | PGDN Next Track '------'------'------' "0123456789" Keys "0123456789" STOP PAUSE NEXT Keypad "0123456789" Keys "0123456789" |
INS-Key Paste numeric ASCII string from clipboard and Send barcode DEL-Key Manually Clear input buffer (without sending) Keypad 0..9 Manually Key-in Barcode digits Keypad Dot Manually Confirm input and Send (or re-send) barcode |
12345678 Buttons for Player 1-8 |
12345... 1st Octave (12 keys) QWERT... 2nd Octave (12 keys) ASDFG... 3rd Octave (12 keys) ZXCVB... 4th Octave (10 keys) Rshift/Ctrl 4th Octave (last 2) NUM-Dot 5th Octave (1 key) NUM-0..7 Control Buttons 0..7 Left Shift Sustain Foot Pedal |
Analog Joypad Forward Pachinko Dial XXX Pachinko Button... if there's any? |
Analog Joypad Forward Pedal Speed Analog Joypad X-Axis Alias for digital DPAD left/right XXX Mode and TV Buttons (unknown how they do work) |
Emulation Files |
DSP1.BIN 8Kbytes ;\ DSP1B.BIN 8Kbytes ; preferably unpadded 8Kbytes (not padded 10Kbytes) DSP2.BIN 8Kbytes ; and preferably little-endian dumps (not big endian) DSP3.BIN 8Kbytes ; (more preferably: append it end of SNES rom-image) DSP4.BIN 8Kbytes ;/ ST010.BIN 52Kbytes ST011.BIN 52Kbytes SUFAMI.SMC 256Kbytes (for Sufami Turbo "ST" games) BSX-BIOS.SMC 1024Kbytes (for Satellaview "BS" FLASH cartridges) KROM1.BIN 64Kbytes (Super Famicom Box BIOS) NSS-BIOS.BIN 32Kbytes (Nintendo Super System BIOS) (copy of desired version) NSS-v03b.BIN 32Kbytes (Nintendo Super System BIOS) (newest version) ;\alter- NSS-v03a.BIN 32Kbytes (Nintendo Super System BIOS) (new version) ; nate NSS-v02.BIN 32Kbytes (Nintendo Super System BIOS) (old version) ;/names NSS-CHAR.BIN 4.5Kbytes (Nintendo Super System OSD Charset) (M50458-001SP) CX4.BIN 3Kbytes APU.BIN 64 bytes (APU/SPC700 boot ROM) D411.BIN 512 bytes (lockout chip) |
ST018.BIN 128Kbytes |
BIOS-ROM and SOUND-ROM (for Miracle Piano) |
MB90082.BIN 9Kbytes (Super Famicom Box OSD-Charset) (MB90082-001) ?? ? Kbytes (Exertainment Bicycle OSD Charset) (unknown chip) |
GROM + ROM0(+ROM1(+ROM2(+etc))) (+DSP1) |
The size of the GROM (1 SHL N kbytes) is found in GROM [0001h]. The number of ROMs is found in GROM [0000h]. Title & Size of ROM<n> can be found at [[0008h]+n*2]*1000h. Physical IC Socket ID for ROM<n> can be found in GROM at [0008h]+[0000h]*2+n. The presence of a DSP ROM Image is indicated in GROM [0004h].Bit1. |
GROM1+ROM0+ROM1+ROM2+ROM3+DSP + GROM2+ROM0+ROM1 |
1. PRG-ROM (the SNES game) (usually 512Kbytes or 1024Kbytes) 2. INST-ROM (the Z80 instructions) (32Kbytes) 3. PROM (decryption key) (16 bytes) |
Debugging Notes |
Cursor-Right Follow (goto target address of jmp/call/mov opcode) Cursor-Left Undo-Follow (goto back to previous address) F7/F9 Trace/Run Ctrl+T Toggle CPU (Main, APU, and, if any: DSP/GSU/SA1/CX4) |
.nocash/.native Select Assembler Syntax .snes SNES Cartridge (normal SNES header checksum) .bsx Satellaview BS-X FLASH Cartridge (special checksum) .lorom/.hirom SNES Mapping (select header checksum location) .65c818 Instruction Set for SNES Main CPU .spc700 Instruction Set for SNES Sound CPU .cx4 Instruction Set for SNES CX4 Coprocessor (rarely used) .nss_<xxx> NSS INST ROM (see magicnss.a22 sample in magicsns.zip) .assume p=nnh Assume 65c816 8bit/16bit modes (eg. P=30h for 8bit mode) .rom/.code/.text Define code/data in Cartridge ROM .ram/.data?/.bss Define uninitialized-data-structures in RAM db 0nnh Define byte, 8bit (or ASCII text strings) dw 0nnnnh Define word, 16bit df 0nnnnnnh Define far/long, 24bit dd 0nnnnnnnnh Define doubleword, 32bit |
21FCh.W Write ASCII character to Debug Message Window ;\char_out 21FDh.W No function (allows to write 21FCh even in 16bit mode);/ 21FCh.R Latch 21MHz timer & Read bit0-7 of latched timer ;\21MHz timer 21FDh.R Read bit8-15 of latched timer ; (ticks since 21FEh.R Read bit16-23 of latched timer ; power-up) 21FFh.R Read bit24-31 of latched timer ;/ |