From 96062af3da56ebc648db08d0c245baddadfa4997 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sat, 28 Oct 2023 23:23:04 -0400 Subject: [PATCH] second: hook up lens code --- demos/second/Makefile | 7 +++- demos/second/part10_lens_rotozoom/Makefile | 25 +++++++++++++ demos/second/part10_lens_rotozoom/lens.s | 41 ++++++++++++++++++++++ demos/second/qload.s | 4 +-- demos/second/start.s | 12 +++++++ 5 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 demos/second/part10_lens_rotozoom/Makefile create mode 100644 demos/second/part10_lens_rotozoom/lens.s diff --git a/demos/second/Makefile b/demos/second/Makefile index ea48e440..423971d7 100644 --- a/demos/second/Makefile +++ b/demos/second/Makefile @@ -13,6 +13,7 @@ second_d1.dsk: QBOOT QLOAD music.inc \ MUSIC \ ./part01_intropan/INTRO \ ./part05_dot_tunnel/TUNNEL \ + ./part10_lens_rotozoom/LENS \ ./part12_plasma/PLASMA \ ./part13_plasmacube/PLASMACUBE \ ./part14_dotbounce/DOTS \ @@ -31,7 +32,7 @@ second_d1.dsk: QBOOT QLOAD music.inc \ # $(DOS33_RAW) second_d1.dsk 16 0 ./part05_dot_tunnel/TUNNEL 0 0 # $(DOS33_RAW) second_d1.dsk 19 0 ./part08_gorilla/GORILLA 0 0 # $(DOS33_RAW) second_d1.dsk 21 0 ./part09_leaves_rotozoom/LEAVES 0 0 -# $(DOS33_RAW) second_d1.dsk 23 0 ./part10_lens_rotozoom/LENS 0 0 + $(DOS33_RAW) second_d1.dsk 23 0 ./part10_lens_rotozoom/LENS 0 0 $(DOS33_RAW) second_d1.dsk 24 0 ./part12_plasma/PLASMA 0 0 $(DOS33_RAW) second_d1.dsk 25 0 ./part13_plasmacube/PLASMACUBE 0 0 $(DOS33_RAW) second_d1.dsk 26 0 ./part14_dotbounce/DOTS 0 0 @@ -42,6 +43,9 @@ second_d1.dsk: QBOOT QLOAD music.inc \ #### +part10_lens_rotozoom/LENS: + cd part10_lens_rotozoom && make + part12_plasma/PLASMA: cd part12_plasma && make @@ -285,6 +289,7 @@ generate_common.o: generate_common.c clean: rm -f *~ *.o *.lst HELLO SECOND QBOOT QLOAD MUSIC START + cd part10_lens_rotozoom && make clean cd part12_plasma && make clean cd part13_plasmacube && make clean cd part14_dotbounce && make clean diff --git a/demos/second/part10_lens_rotozoom/Makefile b/demos/second/part10_lens_rotozoom/Makefile new file mode 100644 index 00000000..f2b917af --- /dev/null +++ b/demos/second/part10_lens_rotozoom/Makefile @@ -0,0 +1,25 @@ +include ../../../Makefile.inc + +DOS33 = ../../../utils/dos33fs-utils/dos33 +DOS33_RAW = ../../../utils/dos33fs-utils/dos33_raw +EMPTY_DISK = ../../../empty_disk/empty.dsk +LINKER_SCRIPTS = ../../../linker_scripts/ + +all: LENS + +#### + +LENS: lens.o + ld65 -o LENS lens.o -C $(LINKER_SCRIPTS)/apple2_6000.inc + +lens.o: lens.s ../zx02_optim.s \ + roto.s rotozoom.s \ + ../zp.inc ../hardware.inc + ca65 -o lens.o lens.s -l lens.lst + +### + + +clean: + rm -f *~ *.o *.lst LENS + cd graphics && make clean diff --git a/demos/second/part10_lens_rotozoom/lens.s b/demos/second/part10_lens_rotozoom/lens.s new file mode 100644 index 00000000..04355a62 --- /dev/null +++ b/demos/second/part10_lens_rotozoom/lens.s @@ -0,0 +1,41 @@ +; Weird head lens/rotozoom + +; by deater (Vince Weaver) + +.include "../zp.inc" +.include "../hardware.inc" +;.include "qload.inc" +;.include "music.inc" + +lens_start: + ;===================== + ; initializations + ;===================== + + bit SET_GR + bit HIRES + bit FULLGR + bit PAGE1 + + ;================================ + ; ROTO + ;================================ + + jsr do_rotozoom + + +lens_end: + rts + + + + +.align $100 + .include "../wait_keypress.s" + .include "../zx02_optim.s" + + + + +.include "roto.s" + diff --git a/demos/second/qload.s b/demos/second/qload.s index 624bd4c3..be752f71 100644 --- a/demos/second/qload.s +++ b/demos/second/qload.s @@ -176,8 +176,8 @@ load_address_array: start_address: .byte $D0,$D0,$60,$60 ; MUSIC_INTRO, MUSIC_MAIN, INTRO, CHESS - .byte $60,$60,$60,$60 ; GORILLA,LEAVES,LENS,PLASMA - .byte $60,$80,$80,$60 ; CUBE,DOTS,SPHERES,OCEAN + .byte $60,$60,$60,$80 ; GORILLA,LEAVES,LENS,PLASMA + .byte $80,$80,$80,$60 ; CUBE,DOTS,SPHERES,OCEAN .byte $80 ; POLAR aux_dest: diff --git a/demos/second/start.s b/demos/second/start.s index fdc81599..2f7d1b2c 100644 --- a/demos/second/start.s +++ b/demos/second/start.s @@ -158,6 +158,18 @@ load_program_loop: ;========================== ;========================== + ;======================= + ; run LENS/ROTOZOOM (#6) + ;======================= + ; copy LENS from AUX $4000 to MAIN $6000 + + lda #$40 ; AUX src $4000 + ldy #$60 ; MAIN dest $6000 + ldx #16 ; 16 pages + jsr copy_aux_main + jsr $6000 + + ;======================= ; run PLASMACUBE (#7) ;=======================