diff options
| -rw-r--r-- | Makefile | 22 | ||||
| -rw-r--r-- | src/jetpac.s | 30 | ||||
| -rw-r--r-- | src/title.s | 2 |
3 files changed, 43 insertions, 11 deletions
@@ -28,20 +28,30 @@ deps: @which $(CC65) >/dev/null 2>/dev/null || (echo "ERROR: $(CC65) not found." && false) .PHONY: build -build: build-full build-partial +build: build-full build-partial build-pal .PHONY: build-full build-full: $(Q) rm -f config/generated.s - $(Q) touch config/generated.s + $(Q) echo "HZ = 60" >> config/generated.s - $(E) " CC jetpac (full)" - $(Q) $(CC65) $(CCOPTS) src/jetpac.s -C config/nrom.cfg -o out/jetpac.nes + $(E) " CC jetpac (full, NTSC)" + $(Q) $(CC65) $(CCOPTS) src/jetpac.s -C config/nrom.cfg -o "out/Jetpac (NTSC).nes" .PHONY: build-partial build-partial: $(Q) rm -f config/generated.s $(Q) echo "PARTIAL = 1" >> config/generated.s + $(Q) echo "HZ = 60" >> config/generated.s - $(E) " CC jetpac (partial)" - $(Q) $(CC65) $(CCOPTS) src/jetpac.s -C config/nrom.cfg -Wa -DPARTIAL=1 -o out/partial.nes + $(E) " CC jetpac (partial, NTSC)" + $(Q) $(CC65) $(CCOPTS) src/jetpac.s -C config/nrom.cfg -o "out/Jetpac (DEV).nes" + +.PHONY: build-pal +build-pal: + $(Q) rm -f config/generated.s + $(Q) echo "PAL = 1" >> config/generated.s + $(Q) echo "HZ = 50" >> config/generated.s + + $(E) " CC jetpac (PAL)" + $(Q) $(CC65) $(CCOPTS) src/jetpac.s -C config/nrom.cfg -o "out/Jetpac (PAL).nes" diff --git a/src/jetpac.s b/src/jetpac.s index 8acbb4e..d3eef5a 100644 --- a/src/jetpac.s +++ b/src/jetpac.s @@ -1,12 +1,34 @@ +;; NOTE: automatically generated by the build system. +.include "../config/generated.s" + .segment "HEADER" + ;; Bytes 0-3: NES\0 magic header. .byte 'N', 'E', 'S', $1A + + ;; Standard 32KB + 8KB NROM cartridge. .byte $02, $01 - .res $0A, $00 -.segment "CODE" + ;; Horizontal mirroring, no battery. + .byte $00 -;; NOTE: automatically generated by the build system. -.include "../config/generated.s" + ;; We use the NES 2.0 header mainly to differentiate between NTSC vs PAL in + ;; a way that emulators won't ignore it. + .byte $08 + + ;; Blanked out stuff. + .res $04, $00 + + ;; NTSC vs PAL + .ifdef PAL + .byte $01 + .else + .byte $00 + .endif + + ;; Blanked out stuff. + .res $03, $00 + +.segment "CODE" .include "../include/apu.s" .include "../include/oam.s" diff --git a/src/title.s b/src/title.s index db627ae..3e6da61 100644 --- a/src/title.s +++ b/src/title.s @@ -8,7 +8,7 @@ SPRITE_X_POSITION = $40 ;; The title has a timer as a delay between joypad presses from the player. - TIMER_INIT_VALUE = 20 + TIMER_INIT_VALUE = (HZ / 3) zp_title_timer = $30 ;; Initialize all the elements for the title screen. |
