From f085fd2f23f75b2978c9ff5b7d71cb9d6289728e Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 6 Apr 2018 11:36:30 -0400 Subject: [PATCH] chiptune_player: add code to build unrolled irq handler --- chiptune_player/Makefile | 39 +++++++++++++++++++++++++++++-- chiptune_player/chiptune_player.s | 5 +++- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/chiptune_player/Makefile b/chiptune_player/Makefile index 8a5f5105..18a0026b 100644 --- a/chiptune_player/Makefile +++ b/chiptune_player/Makefile @@ -3,7 +3,7 @@ include ../Makefile.inc DOS33 = ../dos33fs-utils/dos33 PNG2GR = ../gr-utils/png2gr -all: chiptune_player.dsk +all: chiptune_player.dsk chiptune_unrolled.dsk chiptune_player.dsk: CHIPTUNE_PLAYER ./krw/INTRO2.KRW cp chiptune_empty.dsk chiptune_player.dsk @@ -29,6 +29,28 @@ chiptune_player.dsk: CHIPTUNE_PLAYER ./krw/INTRO2.KRW # $(DOS33) -y chiptune_player.dsk BSAVE -a 0x6000 OUT.0 +chiptune_unrolled.dsk: CHIPTUNE_UNROLLED ./krw/INTRO2.KRW + cp chiptune_empty.dsk chiptune_unrolled.dsk + $(DOS33) -y chiptune_unrolled.dsk BSAVE -a 0x0C00 CHIPTUNE_UNROLLED + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/CAMOUFLAGE.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/CHRISTMAS.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/CRMOROS.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/DEATH2.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/DEMO4.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/HARKONEN.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/INTRO2.KRW +# $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/KORO.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/LYRA2.KRW +# $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/MMCM.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/RANDOM.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/ROBOT.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/SDEMO.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/SPUTNIK.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/TECHNO.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/UNIVERSE.KRW + $(DOS33) -y chiptune_unrolled.dsk SAVE B ./krw/WAVE.KRW + + CHIPTUNE_PLAYER: chiptune_player.o ld65 -o CHIPTUNE_PLAYER chiptune_player.o -C ../linker_scripts/apple2_c00.inc @@ -41,7 +63,20 @@ chiptune_player.o: chiptune_player.s \ chip_title.inc zp.inc ca65 -o chiptune_player.o chiptune_player.s -l chiptune_player.lst +CHIPTUNE_UNROLLED: chiptune_unrolled.o + ld65 -o CHIPTUNE_UNROLLED chiptune_unrolled.o -C ../linker_scripts/apple2_c00.inc + +chiptune_unrolled.o: chiptune_player.s \ + ../asm_routines/mockingboard.s \ + ../asm_routines/dos33_routines.s \ + ../asm_routines/lz4_decode.s \ + ../asm_routines/keypress_minimal.s \ + rasterbars.s volume_bars.s interrupt_handler_unrolled.s \ + chip_title.inc zp.inc + ca65 -D UNROLLED=1 -o chiptune_unrolled.o chiptune_player.s -l chiptune_unrolled.lst + + clean: rm -f *~ TITLE.GR *.o *.lst \ - CHIPTUNE_PLAYER + CHIPTUNE_PLAYER CHIPTUNE_UNROLLED diff --git a/chiptune_player/chiptune_player.s b/chiptune_player/chiptune_player.s index 46c54bfa..5309a407 100644 --- a/chiptune_player/chiptune_player.s +++ b/chiptune_player/chiptune_player.s @@ -590,8 +590,11 @@ krw_file: .include "../asm_routines/keypress_minimal.s" .include "rasterbars.s" .include "volume_bars.s" +.if .def(UNROLLED) +.include "interrupt_handler_unrolled.s" +.else .include "interrupt_handler.s" - +.endif ;========= ; strings ;=========