rewind2: dancing happening

This commit is contained in:
Vince Weaver 2025-03-24 14:14:34 -04:00
parent bc10c7abae
commit 22c593e19b
6 changed files with 105 additions and 121 deletions

View File

@ -12,27 +12,56 @@ all: DANCING
###
DANCING: dancing.o
ld65 -o DANCING dancing.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
ld65 -o DANCING dancing.o -C $(LINKER_SCRIPTS)/apple2_2000.inc
dancing.o: dancing.s \
../zp.inc ../hardware.inc ../qload.inc ../common_defines.inc \
aha001.main.zx02 aha001.aux.zx02
aha.main.zx02 aha.aux.zx02
ca65 -o dancing.o dancing.s -l dancing.lst
####
###
aha001.aux.zx02: aha001.aux
$(ZX02) aha001.aux aha001.aux.zx02
aha.main: aha001.main aha002.main aha003.main aha004.main
cat aha001.main aha002.main aha003.main aha004.main > aha.main
aha.main.zx02: aha.main
$(ZX02) aha.main aha.main.zx02
###
aha.aux: aha001.aux aha002.aux aha003.aux aha004.aux
cat aha001.aux aha002.aux aha003.aux aha004.aux > aha.aux
aha.aux.zx02: aha.aux
$(ZX02) aha.aux aha.aux.zx02
###
aha001.aux: aha001.png
$(PNG_TO_DGR) aha001.png aha001
aha001.main.zx02: aha001.main
$(ZX02) aha001.main aha001.main.zx02
aha002.aux: aha002.png
$(PNG_TO_DGR) aha002.png aha002
aha003.aux: aha003.png
$(PNG_TO_DGR) aha003.png aha003
aha004.aux: aha004.png
$(PNG_TO_DGR) aha004.png aha004
#####
aha001.main: aha001.png
$(PNG_TO_DGR) aha001.png aha001
aha002.main: aha002.png
$(PNG_TO_DGR) aha002.png aha002
aha003.main: aha003.png
$(PNG_TO_DGR) aha003.png aha003
aha004.main: aha004.png
$(PNG_TO_DGR) aha004.png aha004
####

View File

@ -1,32 +1,53 @@
;=========================
; copy to 400
;=========================
; X is page to copy from
copy_to_400:
stx c400_smc1+2
stx c400_smc2+2
inx
stx c400_smc3+2
stx c400_smc4+2
inx
stx c400_smc5+2
stx c400_smc6+2
inx
stx c400_smc7+2
stx c400_smc8+2
ldx #119
looper1:
c400_smc1:
lda $2000,X
sta $400,X
c400_smc2:
lda $2080,X
sta $480,X
c400_smc3:
lda $2100,X
sta $500,X
c400_smc4:
lda $2180,X
sta $580,X
c400_smc5:
lda $2200,X
sta $600,X
c400_smc6:
lda $2280,X
sta $680,X
c400_smc7:
lda $2300,X
sta $700,X
c400_smc8:
lda $2380,X
sta $780,X
dex

View File

@ -12,11 +12,11 @@ dancing:
bit KEYRESET ; just to be safe
lda #0
sta DANCE_COUNT
;=================================
; Dancing
;=================================
; FIXME: make this properly animate
bit SET_GR
bit LORES
@ -27,40 +27,62 @@ dancing:
bit PAGE1 ; start in page1
lda #<aha1_main
lda #<aha_main
sta zx_src_l+1
lda #>aha1_main
lda #>aha_main
sta zx_src_h+1
lda #$20
lda #$40
jsr zx02_full_decomp
jsr copy_to_400
; auxiliary part
bit PAGE2
lda #<aha1_aux
lda #<aha_aux
sta zx_src_l+1
lda #>aha1_aux
lda #>aha_aux
sta zx_src_h+1
lda #$20
lda #$70
jsr zx02_full_decomp
jsr copy_to_400
; wait a bit
animate_loop:
bit PAGE1
lda #3
jsr wait_seconds
ldy DANCE_COUNT
ldx animation_main,Y
; jsr wait_until_keypress
; ldx #$40
jsr copy_to_400
bit PAGE2
ldy DANCE_COUNT
ldx animation_aux,Y
; ldx #$70
jsr copy_to_400
jsr wait_until_keypress
inc DANCE_COUNT
lda DANCE_COUNT
cmp #4
bne animate_loop
lda #0
sta DANCE_COUNT
beq animate_loop
rts
animation_aux:
.byte $70,$74,$78,$7c
aha1_aux:
.incbin "aha1.aux.zx02"
animation_main:
.byte $40,$44,$48,$4c
aha1_main:
.incbin "aha1.main.zx02"
aha_aux:
.incbin "aha.aux.zx02"
aha_main:
.incbin "aha.main.zx02"
.include "copy_400.s"

View File

@ -167,15 +167,15 @@ which_disk_array:
.byte 1,1,1,1 ; BEAR
load_address_array:
.byte $D0,$D0,$60,$60 ; ???, MUSIC, HEADPHONES, DANCING
.byte $D0,$D0,$60,$20 ; ???, MUSIC, HEADPHONES, DANCING
.byte $60,$60,$40,$80 ; BEAR
start_address:
.byte $D0,$D0,$60,$60 ; ???, MUSIC, HEADPHONES, DANCING
.byte $D0,$D0,$60,$20 ; ???, MUSIC, HEADPHONES, DANCING
.byte $60,$60,$40,$80 ; BEAR
aux_dest:
.byte $D0,$D0,$60,$60 ; ???, MUSIC, HEADPHONES, DANCING
.byte $D0,$D0,$60,$20 ; ???, MUSIC, HEADPHONES, DANCING
.byte $60,$40,$02,$82 ; BEAR
track_array:

View File

@ -200,7 +200,7 @@ load_program_loop:
; Run headphones
;=======================
;=======================
.if 0
; load from disk
sei
@ -215,7 +215,7 @@ load_program_loop:
jsr $6000
.endif
;=======================
;=======================
; Run Dancing
@ -240,7 +240,7 @@ load_program_loop:
;======================
; start dancing
jsr $6000
jsr $2000
.if 0
; copy ATRUS from AUX $8200 to MAIN $8000
@ -260,99 +260,10 @@ load_program_loop:
blah:
jmp blah
.if 0
;=======================
;=======================
; Run Maglev
;=======================
;=======================
; copy MAGLEV from AUX $200 to MAIN $4000
lda #$02 ; AUX src $1000
ldy #$40 ; MAIN dest $4000
ldx #127 ; 127 pages
jsr copy_aux_main
; run maglev
jsr $4000
.endif
.if 0
;=======================
;=======================
; Load GRAPHICS
;=======================
;=======================
sei ; stop music interrupts
jsr mute_ay_both
; jsr clear_ay_both ; stop from making noise
; load GRAPHICS
lda #PART_GRAPHICS ; GRAPHICS
sta WHICH_LOAD
jsr load_file
; restart music
jsr unmute_ay_both
cli ; start interrupts (music)
; Run GRAPHICS
jsr $6000
;=======================
;=======================
; Load Credits
;=======================
;=======================
.if DEBUG=1
; skip to credits music
lda #72 ; FIXME: not right
sta current_pattern_smc+1
jsr pt3_set_pattern
.endif
sei ; stop music interrupts
jsr mute_ay_both
jsr clear_ay_both ; stop from making noise
; load credits
lda #PART_CREDITS ; CREDITS
sta WHICH_LOAD
jsr load_file
; restart music
cli ; start interrupts (music)
; Run Credits
jsr $8000
; in theory never get here...
.endif
forever:
jmp forever
start_message:
.byte 0,0,"LOADING REWIND2 PROOF OF CONCEPT",0
.byte 0,1,"REQUIRES APPLE IIE, 128K, MOCKINGBOARD",0
.byte 0,1,"REQUIRES APPLE IIE/C/GS, 128K, MOCKINGBOARD",0
.byte 0,3,"SYSTEM DETECTED: APPLE II"
message_type_offset:
.byte " ",0

View File

@ -161,7 +161,8 @@ COLORSC = $F8
COLORSB = $F9
COLORSA = $FA
; dancing
DANCE_COUNT = $F0
;==============================================