diff --git a/InitSNES.asm b/InitSNES.asm index ce31e1f..6693c87 100644 --- a/InitSNES.asm +++ b/InitSNES.asm @@ -1,11 +1,7 @@ ;------------------------------------------------------------------------ -;- Standard SNES initialization routine, by Neviksti +;- Standard SNES initialization routine, originally by Neviksti ;------------------------------------------------------------------------ - -;---------------------------------------------------------------------------- -; InitSNES -- my "standard" initialization of SNES memory and registers -;---------------------------------------------------------------------------- .MACRO InitSNES sei ;disable interrupts clc ;switch to native mode diff --git a/header.asm b/header.asm index eb71980..eded764 100644 --- a/header.asm +++ b/header.asm @@ -1,39 +1,32 @@ -;------------------------------ Header File --------------------------------- -; This is basically a combo of MarctheMER's and Neviksti's header files -; Perhaps reading their's will also help your understanding of the header, -; but I believe this will be the simplest method of defining your header, -; as Marc's doesn't provide a full explanation, and Neviksti's can be -; a bit more difficult for beginners (using the WLA directives is easier). -;---------------------------------------------------------------------------- - -;==LoRom== ; We'll get to HiRom some other time. -.MEMORYMAP ; Begin describing the system architecture. - SLOTSIZE $8000 ; The slot is $8000 bytes in size. More details on slots later. - DEFAULTSLOT 0 ; There's only 1 slot in SNES, there are more in other consoles. +; LoRom header. + +.MEMORYMAP + SLOTSIZE $8000 ; The slot is $8000 bytes in size. + DEFAULTSLOT 0 ; The SNES only has 1 slot. SLOT 0 $8000 ; Define's Slot 0's starting address. -.ENDME ; End MemoryMap definition +.ENDME -.ROMBANKSIZE $8000 ; Every ROM bank is 32 KBytes in size -.ROMBANKS 8 ; 2 Mbits - Tell WLA we want to use 8 ROM Banks +.ROMBANKSIZE $8000 ; Every ROM bank is 32 KB in size. +.ROMBANKS 8 ; 8 ROM banks = 2 Mb (256 KB). .SNESHEADER - ID "SNES" ; 1-4 letter string, just leave it as "SNES" + ID "SNES" - NAME "PEW PEW " ; Program Title - can't be over 21 bytes, + NAME "PEW PEW " ; Program title. Should be 21 bytes long; ; "123456789012345678901" ; use spaces for unused bytes of the name. SLOWROM LOROM - CARTRIDGETYPE $00 ; $00 = ROM only, see WLA documentation for others - ROMSIZE $08 ; $08 = 2 Mbits, see WLA doc for more.. - SRAMSIZE $00 ; No SRAM see WLA doc for more.. - COUNTRY $01 ; $01 = U.S. $00 = Japan, that's all I know - LICENSEECODE $00 ; Just use $00 + CARTRIDGETYPE $00 ; $00 = ROM only. + ROMSIZE $08 ; $08 = 2 Mbits. + SRAMSIZE $00 ; No SRAM. + COUNTRY $01 ; $01 = U.S.; $00 = Japan. + LICENSEECODE $00 VERSION $00 ; $00 = 1.00, $01 = 1.01, etc. .ENDSNES -.SNESNATIVEVECTOR ; Define Native Mode interrupt vector table +.SNESNATIVEVECTOR ; Native Mode interrupt vector table. COP EmptyHandler BRK EmptyHandler ABORT EmptyHandler @@ -41,7 +34,7 @@ IRQ EmptyHandler .ENDNATIVEVECTOR -.SNESEMUVECTOR ; Define Emulation Mode interrupt vector table +.SNESEMUVECTOR ; Emulation Mode interrupt vector table. COP EmptyHandler ABORT EmptyHandler NMI EmptyHandler @@ -49,12 +42,14 @@ IRQBRK EmptyHandler .ENDEMUVECTOR -.BANK 0 SLOT 0 ; Defines the ROM bank and the slot it is inserted in memory. -.ORG 0 ; .ORG 0 is really $8000, because the slot starts at $8000 +; Defines the ROM bank and the slot it is inserted in memory. +; .ORG 0 is really $8000, because the slot starts at $8000. +.BANK 0 SLOT 0 +.ORG 0 .SECTION "EmptyVectors" SEMIFREE EmptyHandler: - rti + rti .ENDS diff --git a/pewpew.asm b/pewpew.asm index 5e9af86..c53a69a 100644 --- a/pewpew.asm +++ b/pewpew.asm @@ -38,7 +38,7 @@ Start: sta $4200 ; Store zeroes to the controller status registers. - ; TODO(mcmillen): is this needed? + ; TODO(mcmillen): is this needed? I think the system should do this. stz $4218 stz $4219