|
|
@ -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,8 +42,10 @@ |
|
|
|
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: |
|
|
|