From 828b59980040f44e9bb2f4fbc1920df03327776e Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 12 Nov 2021 01:17:18 -0500 Subject: [PATCH] logo_demo: get last part hooked up --- demos/logo_demo/Makefile | 18 ++++++++-- demos/logo_demo/demo.logo | 6 ++-- demos/logo_demo/staggered.s | 61 +++++++++++++++++++++++++++++----- linker_scripts/apple2_1de5.inc | 12 +++++++ 4 files changed, 84 insertions(+), 13 deletions(-) create mode 100644 linker_scripts/apple2_1de5.inc diff --git a/demos/logo_demo/Makefile b/demos/logo_demo/Makefile index 347ac332..31a0d457 100644 --- a/demos/logo_demo/Makefile +++ b/demos/logo_demo/Makefile @@ -11,7 +11,7 @@ LZSA = ~/research/lzsa/lzsa/lzsa all: logo_demo.dsk -logo_demo.dsk: LOGO3 MUSIC DEMO MAP +logo_demo.dsk: LOGO3 MUSIC DEMO MAP MA2E.PT3 cp ../../logo/dsks/apple_logo_ii.dsk ./logo_demo.dsk $(PRODOS) -y logo_demo.dsk -t BIN -a 0x2000 SAVE LOGO3 $(PRODOS) -y logo_demo.dsk DELETE FORMAT @@ -29,7 +29,7 @@ logo_demo.dsk: LOGO3 MUSIC DEMO MAP # $(PRODOS) -y logo_demo.dsk DELETE SAMPLES/LOGO.SINGS $(PRODOS) -y logo_demo.dsk -t BIN -a 0x4C00 SAVE MUSIC $(PRODOS) -y logo_demo.dsk -t BIN -a 0xE000 SAVE MAP - $(PRODOS) -y logo_demo.dsk -t BIN -a 0x2000 SAVE ./music/mA2E_-_Apple_2_for_Demosplash_2021.pt3 MA2E.PT3 + $(PRODOS) -y logo_demo.dsk -t BIN -a 0x1000 SAVE MA2E.PT3 $(PRODOS) -y logo_demo.dsk SAVE -t TXT DEMO # printf '\xa9\x0d' | dd of=logo_demo.dsk bs=1 seek=9873 count=2 conv=notrunc # printf '\xea\xea\xea' | dd of=logo_demo.dsk bs=1 seek=9905 count=3 conv=notrunc @@ -54,6 +54,20 @@ music.o: music.s \ #### +MA2E.PT3: STAGGERED ./music/mA2E_-_Apple_2_for_Demosplash_2021.pt3 + cp ./music/mA2E_-_Apple_2_for_Demosplash_2021.pt3 MA2E.PT3 + cat STAGGERED >> MA2E.PT3 + +#### + +STAGGERED: staggered.o + ld65 -o STAGGERED staggered.o -C $(LINKER_SCRIPTS)/apple2_1de5.inc + +staggered.o: staggered.s + ca65 -o staggered.o staggered.s -l staggered.lst + +#### + DEMO: demo.logo $(TEXT_TO_PRODOS) < demo.logo > DEMO diff --git a/demos/logo_demo/demo.logo b/demos/logo_demo/demo.logo index d1cf1b04..06bebb90 100644 --- a/demos/logo_demo/demo.logo +++ b/demos/logo_demo/demo.logo @@ -140,12 +140,12 @@ REPEAT 4 [PRINT "] SETCURSOR [1 21] PRINT [CODE: DEATER] SETCURSOR [28 21] PRINT [MUSIC: mA2E] SETCURSOR [12 23] PRINT [APPLE II FOREVER] -WAIT 600 +.CALL 7653 END TO DEMO CS FS -PRINT [.BLOAD "MA2E.PT3 4096] +.BLOAD "MA2E.PT3 4096 .BLOAD "MUSIC 19456 PRINT [.CALL 19456] .BLOAD "MAP 2048 @@ -154,7 +154,7 @@ PRINT "OCEAN PRINT "WARGAMES PRINT "PLASMA PRINT "POLY -MYST +PRINT "MYST PRINT "CS PRINT [REPEAT 5 [ CTREE ]] CREDITS diff --git a/demos/logo_demo/staggered.s b/demos/logo_demo/staggered.s index 66798c03..d390b572 100644 --- a/demos/logo_demo/staggered.s +++ b/demos/logo_demo/staggered.s @@ -3,13 +3,13 @@ ; D0+ used by HGR routines -HGR_COLOR = $E4 -HGR_PAGE = $E6 +;HGR_COLOR = $E4 +;HGR_PAGE = $E6 GBASL = $26 GBASH = $27 -COUNT = $FE +;COUNT = $FE FRAME = $FF ; soft-switches @@ -28,9 +28,20 @@ SETGR = $FB40 ; set graphics and clear LO-RES screen BELL2 = $FBE4 WAIT = $FCA8 ; delay 1/2(26+27A+5A^2) us -wires: +staggered: + +; jsr HGR2 + + lda GBASL + sta save1 + + lda GBASH + sta save2 + + lda FRAME + sta save3 + - jsr HGR2 ; pulse loop horizontal @@ -38,9 +49,10 @@ wires: tay tax sta GBASL + sta FRAME outer_loop: - lda #$40 + lda #$20 sta GBASH inner_loop: @@ -67,12 +79,40 @@ inner_loop: bne inner_loop ; lda #100 - jsr WAIT + jsr wait inx - jmp outer_loop +; jmp outer_loop + inc FRAME + lda FRAME + cmp #32 + bne outer_loop + + lda save1 + sta GBASL + + lda save2 + sta GBASH + + lda save3 + sta FRAME + + rts + + +wait: + sec +wait2: + pha +wait3: + sbc #$01 + bne wait3 + pla + sbc #$01 + bne wait2 + rts even_lookup: @@ -80,3 +120,8 @@ even_lookup: odd_lookup: .byte $AA,$AA,$AA,$AB, $AB,$AE,$BA,$EA +save1: .byte $00 +save2: .byte $00 +save3: .byte $00 + + diff --git a/linker_scripts/apple2_1de5.inc b/linker_scripts/apple2_1de5.inc new file mode 100644 index 00000000..9ae4d9ca --- /dev/null +++ b/linker_scripts/apple2_1de5.inc @@ -0,0 +1,12 @@ +MEMORY { + ZP: start = $00, size = $1A, type = rw; + RAM: start = $1de5, size = $4800, file = %O; +} + +SEGMENTS { +CODE: load = RAM, type = ro, align=$1; +RODATA: load = RAM, type = ro; +DATA: load = RAM, type = rw; +BSS: load = RAM, type = bss, define = yes; +ZEROPAGE: load = ZP, type = zp; +}