From 816d6999a1894552c1fec4f4bb895679bd8486d4 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 4 Mar 2018 23:09:32 -0500 Subject: [PATCH] mode7_demo: setup LZ4 compression code only saves 1k or so currently --- mode7_demo/Makefile | 17 ++++++++++++++++- mode7_demo/README.mode7_demo | 4 ++++ mode7_demo/TODO | 2 ++ mode7_demo/mode7_decompress.s | 22 ++++++++++++++++++++++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 mode7_demo/mode7_decompress.s diff --git a/mode7_demo/Makefile b/mode7_demo/Makefile index 01914690..a46a223e 100644 --- a/mode7_demo/Makefile +++ b/mode7_demo/Makefile @@ -9,11 +9,26 @@ all: mode7_demo.dsk $(DOS33): cd ../dos33fs-utils && make -mode7_demo.dsk: $(DOS33) MODE7_DEMO +mode7_demo.dsk: $(DOS33) MODE7_DEMO MODE7_DEMO_C $(DOS33) -y mode7_demo.dsk BSAVE -a 0x2000 MODE7_DEMO + $(DOS33) -y mode7_demo.dsk BSAVE -a 0x1000 MODE7_DEMO_C +### + +MODE7_DEMO_C: mode7_decompress.o + ld65 -o MODE7_DEMO_C mode7_decompress.o -C ../linker_scripts/apple2_1000.inc + +mode7_decompress.o: mode7_decompress.s MODE7_DEMO.lz4 \ + ../asm_routines/lz4_decode.s \ + zp.inc + ca65 -o mode7_decompress.o mode7_decompress.s + + +MODE7_DEMO.lz4: MODE7_DEMO + lz4 -f -16 MODE7_DEMO + ### MODE7_DEMO: mode7_demo.o diff --git a/mode7_demo/README.mode7_demo b/mode7_demo/README.mode7_demo index a3e0df55..52ba21ec 100644 --- a/mode7_demo/README.mode7_demo +++ b/mode7_demo/README.mode7_demo @@ -1,3 +1,7 @@ +Plan: + Load at $1000 + Decompress to $2000 + Memory Map ========== diff --git a/mode7_demo/TODO b/mode7_demo/TODO index 417840e6..235f9ddf 100644 --- a/mode7_demo/TODO +++ b/mode7_demo/TODO @@ -6,3 +6,5 @@ + Hide VMW logo in binary when loading + Improve the starfield demo ++ Centering in the credits + diff --git a/mode7_demo/mode7_decompress.s b/mode7_demo/mode7_decompress.s new file mode 100644 index 00000000..e457afa3 --- /dev/null +++ b/mode7_demo/mode7_decompress.s @@ -0,0 +1,22 @@ +; Note: needs some extra work +; Set up initial pointer +; Skip/strip the LZ4 header + +.include "zp.inc" + +UNPACK_BUFFER EQU $2000 + +start: + jsr lz4_decode + + jmp $2000 + +;=============================================== +; External modules +;=============================================== + +.include "../asm_routines/lz4_decode.s" + +data: +.incbin "MODE7_DEMO.lz4" +