From 660066f59305606e74bbc5037750a2f7e6194c86 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 13 Dec 2017 15:23:10 -0500 Subject: [PATCH] mode7: build demos from the same source --- mode7/Makefile | 22 +++++++++++++++------- mode7/mode7.dsk | Bin 143360 -> 143360 bytes mode7/mode7.s | 15 ++++++--------- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/mode7/Makefile b/mode7/Makefile index 9917cab7..38f347ef 100644 --- a/mode7/Makefile +++ b/mode7/Makefile @@ -9,18 +9,26 @@ all: mode7.dsk $(DOS33): cd ../dos33fs-utils && make -mode7.dsk: $(DOS33) MODE7 - $(DOS33) -y mode7.dsk BSAVE -a 0x1000 MODE7 +mode7.dsk: $(DOS33) MODE7_ISLAND MODE7_CHECKERBOARD + $(DOS33) -y mode7.dsk BSAVE -a 0x1000 MODE7_ISLAND + $(DOS33) -y mode7.dsk BSAVE -a 0x1000 MODE7_CHECKERBOARD ### -MODE7: mode7.o - ld65 -o MODE7 mode7.o -C ./apple2_1000.inc +MODE7_ISLAND: mode7_island.o + ld65 -o MODE7_ISLAND mode7_island.o -C ./apple2_1000.inc -mode7.o: mode7.s \ +mode7_island.o: mode7.s island_lookup.s island_map.inc \ fast_multiply.s utils.s zp.inc sprites.inc - ca65 -o mode7.o mode7.s -l mode7.lst + ca65 -o mode7_island.o mode7.s -D ISLAND_MAP=1 -l mode7.lst + +MODE7_CHECKERBOARD: mode7_checkerboard.o + ld65 -o MODE7_CHECKERBOARD mode7_checkerboard.o -C ./apple2_1000.inc + +mode7_checkerboard.o: mode7.s checkerboard_lookup.s \ + fast_multiply.s utils.s zp.inc sprites.inc + ca65 -o mode7_checkerboard.o mode7.s -D CHECKERBOARD_MAP=1 -l mode7.lst clean: - rm -f *~ *.o MODE7 *.lst + rm -f *~ *.o MODE7 MODE7_ISLAND MODE7_CHECKERBOARD *.lst diff --git a/mode7/mode7.dsk b/mode7/mode7.dsk index 15e6f26c8c8e8a75f4c6b3f8924cbc47c4531506..34dabac680255ada8dcfd5e6c740329ea0c63719 100644 GIT binary patch delta 5552 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 diff --git a/mode7/mode7.s b/mode7/mode7.s index beb7a27b..39df869e 100644 --- a/mode7/mode7.s +++ b/mode7/mode7.s @@ -1,6 +1,3 @@ -ISLAND_MAP = 0 -CHECKERBOARD_MAP = 1 - .include "zp.inc" ;=========== @@ -966,9 +963,9 @@ screenx_loop: nomatch: ; Get color to draw in A -.if ISLAND_MAP=1 +.if .def(ISLAND_MAP) .include "island_lookup.s" -.elseif CHECKERBOARD_MAP=1 +.elseif .def(CHECKERBOARD_MAP) .include "checkerboard_lookup.s" .endif @@ -1063,9 +1060,9 @@ done_screeny: ; the high-performance per-pixel version has been inlined lookup_map: -.if ISLAND_MAP=1 +.if .def(ISLAND_MAP) .include "island_lookup.s" -.elseif CHECKERBOARD_MAP=1 +.elseif .def(CHECKERBOARD_MAP) .include "checkerboard_lookup.s" .endif @@ -1111,7 +1108,7 @@ gr_offsets: .word $428,$4a8,$528,$5a8,$628,$6a8,$728,$7a8 .word $450,$4d0,$550,$5d0,$650,$6d0,$750,$7d0 -.if ISLAND_MAP=1 +.if .def(ISLAND_MAP) .include "island_map.inc" .endif @@ -1166,7 +1163,7 @@ fixed_sin_scale: ; .byte $A6,$8A,$76,$68,$5C,$53,$4B,$45,$40,$3B,$37,$34,$30,$2E,$2B,$29 ; we can guarantee 4 cycle indexed reads if we page-aligned this -.align 256 +;.align 256 horizontal_lookup: .byte $0C,$0B,$0A,$09,$09,$08,$08,$07,$07,$06,$06,$06,$05,$05,$05,$05 .byte $04,$04,$04,$04,$04,$04,$04,$03,$03,$03,$03,$03,$03,$03,$03,$03