From 43ee4e0f7eaf194ebe39b5cb75510726a52e73f8 Mon Sep 17 00:00:00 2001 From: optixx Date: Wed, 8 Apr 2009 21:43:03 +0200 Subject: [PATCH] o swicth to new rom layout --- project.tmproj | 46 +------------------------------- snes/ascii/Makefile | 9 ++++--- snes/ascii/header.inc | 61 +++++++++++++++++++++++++++++++++++++++++++ snes/ascii/main.asm | 31 ++++------------------ 4 files changed, 72 insertions(+), 75 deletions(-) create mode 100644 snes/ascii/header.inc diff --git a/project.tmproj b/project.tmproj index 2da4c15..8f4edab 100644 --- a/project.tmproj +++ b/project.tmproj @@ -117,7 +117,7 @@ firstVisibleColumn 0 firstVisibleLine - 119 + 13 zsnes/src/chips/dsp4emu.c @@ -254,50 +254,6 @@ subItems - zsnes - - isExpanded - - subItems - - docs - - isExpanded - - subItems - - - src - - isExpanded - - subItems - - cpu - - isExpanded - - subItems - - - mmlib - - isExpanded - - subItems - - - tools - - isExpanded - - subItems - - - - - - diff --git a/snes/ascii/Makefile b/snes/ascii/Makefile index 57d9537..1a114a8 100644 --- a/snes/ascii/Makefile +++ b/snes/ascii/Makefile @@ -11,11 +11,12 @@ GFXDATA = optixx_logo.bmp all: $(OFILES) Makefile $(LD) $(LDFLAGS) linkfile ascii.rom - ucon64 -chk -swc ascii.rom - -run: - /Applications/ZSNES.app/Contents/MacOS/ZSNES ascii.rom + ucon64 -chk -swc ascii.rom +zsnes: + /Applications/ZSNES.app/Contents/MacOS/ZSNES ascii.swc +bsnes: + open /Applications/BSNES.app ascii.swc main.o: colorlist sine gfx main.asm $(CC) $(CFLAGS) main.asm main.o diff --git a/snes/ascii/header.inc b/snes/ascii/header.inc new file mode 100644 index 0000000..bb047d7 --- /dev/null +++ b/snes/ascii/header.inc @@ -0,0 +1,61 @@ +;------------------------------ 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. + SLOT 0 $8000 ; Define's Slot 0's starting address. +.ENDME ; End MemoryMap definition + +.ROMBANKSIZE $8000 ; Every ROM bank is 32 KBytes in size +.ROMBANKS 8 ; 2 Mbits - Tell WLA we want to use 8 ROM Banks + +.SNESHEADER + ID "SNES" ; 1-4 letter string, just leave it as "SNES" + + NAME "SNES Tile Demo " ; Program Title - can't be over 21 bytes, + ; "123456789012345678901" ; use spaces for unused bytes of the name. + + SLOWROM + LOROM + + CARTRIDGETYPE $00 ; $00 = ROM only, see WLA documentation for others + ROMSIZE $08 ; $0 = 0.5 Mbits, see WLA doc for more.. + SRAMSIZE $00 ; No SRAM see WLA doc for more.. + COUNTRY $02 ; $01 = U.S. $00 = Japan, that's all I know + LICENSEECODE $00 ; Just use $00 + VERSION $00 ; $00 = 1.00, $01 = 1.01, etc. +.ENDSNES + +.SNESNATIVEVECTOR ; Define Native Mode interrupt vector table + COP EmptyHandler + BRK EmptyHandler + ABORT EmptyHandler + NMI EmptyHandler + IRQ EmptyHandler +.ENDNATIVEVECTOR + +.SNESEMUVECTOR ; Define Emulation Mode interrupt vector table + COP EmptyHandler + ABORT EmptyHandler + NMI EmptyHandler + RESET init + 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 +.SECTION "EmptyVectors" SEMIFREE + +EmptyHandler: + rti + +.ENDS + +.EMPTYFILL $00 diff --git a/snes/ascii/main.asm b/snes/ascii/main.asm index 3bac413..8016518 100644 --- a/snes/ascii/main.asm +++ b/snes/ascii/main.asm @@ -1,31 +1,10 @@ -.EMPTYFILL 0 -.LOROM - +;============================================================================ +; Includes +;============================================================================ -.MEMORYMAP -SLOTSIZE $8000 -DEFAULTSLOT 0 -SLOT 0 $0000 ; ram , direct page -SLOT 1 $2000 ; PPU1, APU -SLOT 2 $3000 ; SFX, DSP -SLOT 3 $4000 ; Controller -SLOT 4 $4200 ; PPU2, DMA -SLOT 5 $6000 ; RESERVED -SLOT 6 $8000 ; code segment -.ENDME +;== Include MemoryMap, Vector Table, and HeaderInfo == +.INCLUDE "header.inc" -.ROMBANKMAP -BANKSTOTAL $8 -BANKSIZE $8000 -BANKS $8 -.ENDRO - - -.NAME "optixx" - -.BANK $00 SLOT 6 -;.ORG $0000 -;.ORGA $8000