Browse Source

Tweak comments in header.asm.

main
Colin McMillen 9 years ago
parent
commit
8a646c4266
  1. 6
      InitSNES.asm
  2. 49
      header.asm
  3. 2
      pewpew.asm

6
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

49
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

2
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

Loading…
Cancel
Save