wipes: one last wipe

This commit is contained in:
Vince Weaver 2024-11-12 01:14:43 -05:00
parent 0057ec3230
commit 37d0256cb3
4 changed files with 208 additions and 1 deletions

View File

@ -14,7 +14,8 @@ wipes.dsk: HELLO \
diamond_stripes/WIPE_DIAMOND_STRIPE \
crystal/WIPE_CRYSTAL \
fizzle/WIPE_FIZZLE \
lr/WIPE_LR
lr/WIPE_LR \
cascade/WIPE_CASCADE
cp $(EMPTY_DISK)/empty.dsk wipes.dsk
$(DOS33) -y wipes.dsk SAVE A HELLO
$(DOS33) -y wipes.dsk BSAVE -a 0x5700 bubbles/WIPE_BUBBLES
@ -23,6 +24,7 @@ wipes.dsk: HELLO \
$(DOS33) -y wipes.dsk BSAVE -a 0x6000 crystal/WIPE_CRYSTAL
$(DOS33) -y wipes.dsk BSAVE -a 0x6000 fizzle/WIPE_FIZZLE
$(DOS33) -y wipes.dsk BSAVE -a 0x6000 lr/WIPE_LR
$(DOS33) -y wipes.dsk BSAVE -a 0x6000 cascade/WIPE_CASCADE
###
@ -34,6 +36,9 @@ HELLO: hello.bas
bubbles/WIPE_BUBBLES:
cd bubbles && make
cascade/WIPE_CASCADE:
cd cascade && make
crystal/WIPE_CRYSTAL:
cd crystal && make
@ -54,6 +59,7 @@ lr/WIPE_LR:
clean:
rm -f *~ *.o *.lst *.zx02 HELLO
cd bubbles && make clean
cd cascade && make clean
cd diamond && make clean
cd diamond_stripes && make clean
cd crystal && make clean

View File

@ -0,0 +1,24 @@
include ../../../../Makefile.inc
LINKER_SCRIPTS = ../../../../linker_scripts
all: WIPE_CASCADE
###
WIPE_CASCADE: wipe_cascade.o
ld65 -o WIPE_CASCADE wipe_cascade.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
wipe_cascade.o: wipe_cascade.s \
../zp.inc ../hardware.inc ../wait_keypress.s ../zx02_optim.s \
../main_macros.s \
fx.hgr.cascade.s \
../fx.lib.s \
../macros.s
ca65 -o wipe_cascade.o wipe_cascade.s -l wipe_cascade.lst
###
clean:
rm -f *~ *.o *.lst *.zx02 HELLO WIPE_CASCADE

View File

@ -0,0 +1,110 @@
;license:MIT
;(c) 2019 by qkumba
;!cpu 6502
;!to "build/FX.INDEXED/CASCADE",plain
;*=$6000
; !source "src/constants.a"
.include "../constants.s"
do_wipe_cascade:
ldx #191
dwc_mmm:
jsr wait_vblank
lda #$40
sta $e6
lsr
sta $29
jsr vposn
lsr $e6
ldy #$27
dwc_m: lda ($26), y
sta $2000, y
dey
bpl dwc_m
stx maxline + 1
ldx #0
stx $28
beq dwc_p ;always
dwc_mm:
lda $26
sta $28
lda $27
sta $29
dwc_p: inx
jsr vposn
ldy #$27
dwc_m1: lda ($28), y
sta ($26), y
dey
bpl dwc_m1
maxline:
cpx #$d1 ;SMC
bne dwc_mm
ldy #5
dwc_mm2: tya
pha
dex
jsr vposn
lda $26
sta $28
lda $27
eor #$60
sta $29
ldy #$27
dwc_m2: lda ($28), y
sta ($26), y
dey
bpl dwc_m2
pla
tay
dey
bne dwc_m2
txa
beq done
dex
lda $c000
bpl dwc_mmm
done: ; jmp UnwaitForVBL
rts
vposn: txa
pha
and #$c0
sta $26
lsr
lsr
ora $26
sta $26
pla
sta $27
asl
asl
asl
rol $27
asl
rol $27
asl
ror $26
lda $27
and #$1f
ora $e6
sta $27
rts

View File

@ -0,0 +1,67 @@
; test 4-cade cascade wipe
.include "../zp.inc"
.include "../hardware.inc"
wipe_cascade:
bit SET_GR
bit HIRES
bit FULLGR
bit PAGE1
;=================================
; intro
;=================================
lda #<test_graphic
sta zx_src_l+1
lda #>test_graphic
sta zx_src_h+1
lda #$20
jsr zx02_full_decomp
; ldy #0
;fake_hgr2:
; lda #$0
; sta $4000,Y
; dey
; bne fake_hgr2
;
; inc fake_hgr2+2
; lda fake_hgr2+2
; cmp #$60
; bne fake_hgr2
jsr HGR2
bit PAGE1
jsr wait_until_keypress
;=================================
; test wipe...
;=================================
test_loop:
jsr do_wipe_cascade
jsr wait_until_keypress
jmp test_loop
.include "../wait_keypress.s"
.include "../fx.lib.s"
.include "../main_macros.s"
.include "../macros.hgr.s"
.include "fx.hgr.cascade.s"
test_graphic:
.incbin "../graphics/a2_dating.hgr.zx02"
.include "../zx02_optim.s"
.include "../vblank.s"
;.include "../wait_for_key.s"