double: add in static effect

This commit is contained in:
Vince Weaver 2023-05-15 15:36:45 -04:00
parent 2b001d1134
commit 670f252ef9
2 changed files with 61 additions and 77 deletions

View File

@ -263,7 +263,9 @@ no_music_for_you:
vblank_smc:
jsr $ffff
jsr effect_dhgr_dgr
jsr effect_static
; jsr effect_dhgr_dgr
jmp double_loop ; 3
@ -275,38 +277,55 @@ vblank_smc:
.include "vblank.s"
.include "effect_dhgr_dgr.s"
; actually want 1524-12 = 1512 (6 each for jsr/rts)
; actually want 1552-12 (6 each for jsr/rts)
; 1540
; Try X=15 Y=19 cycles=1540
; 1532
; Try X=1 Y=139 cycles=1530
; 1524
; Try X=5 Y=49 cycles=1520
; 1512
; Try X=22 Y=13 cycles=1509
delay_1560:
nop
nop
nop
nop
delay_1552:
nop
nop
delay_1548:
nop
nop
delay_1544:
nop
ldy #139 ; 2
loop5: ldx #1 ; 2
loop6: dex ; 2
bne loop6 ; 2nt/3
dey ; 2
bne loop5 ; 2nt/3
rts
wait_until_keypress:
lda KEYBOARD
bpl wait_until_keypress
bit KEYRESET
delay_12:
rts
.include "effect_dhgr_dgr.s"
.include "effect_static.s"
;wait_until_keypress:
; lda KEYBOARD
; bpl wait_until_keypress
; bit KEYRESET
;delay_12:
; rts
.include "pt3_lib_detect_model.s"
.include "pt3_lib_core.s"
.include "pt3_lib_init.s"
@ -351,7 +370,6 @@ config_string:
.byte 0,23,"APPLE II? MOCKINGBOARD: NO ",0
.include "text_print.s"
.include "title.s"
.include "gr_fast_clear.s"
@ -387,4 +405,3 @@ middle_table3:
middle_table4:
.byte <PAGE1,<PAGE2,<PAGE2,<PAGE1
.byte <PAGE1,<PAGE1,<PAGE2,<PAGE1

View File

@ -1,105 +1,72 @@
; just a static effect for near-beginning
; note comes in with 6 (jsr) + 6 (rts) + vblank jitter
; wait 24 scanlines lines
; (24*65) = 1560 cycles
; ??-8 = 1560-8 = 1552
effect_static:
; 3 LINES 80-COL TEXT AN3=0 PAGE=2
; intentionally a few cycles short as vblank returns+ a few cycles
bit PAGE2
bit SET_TEXT ; 4
; bit SET_TEXT ; 4
; bit PAGE2 ; 4
; wait 24 scanlines lines
; (24*65)-8 = 1560-8 = 1552
jsr delay_1552
jsr delay_1544
; 3 LINES 40-COL TEXT AN3=0 PAGE=2
nop
nop
nop
nop
sta CLR80COL ; 4
bit SET_TEXT ; 4
jsr delay_1552
jsr delay_1552 ; 1560 total
; 3 LINES 40-col LORES AN3=0 PAGE=1
nop
nop
nop
nop
bit PAGE1 ; 4
bit SET_GR ; 4
jsr delay_1552
jsr delay_1552 ; 1560 total
; 3 LINES 80-col DLORES AN3=0 PAGE=1
nop
nop
sta LORES
sta LORES ; 4
sta SET80COL ; 4
sta CLRAN3 ; 4
jsr delay_1552
jsr delay_1548 ; 1560 total
; 3 LINES 80-col DLORES AN3=0 PAGE=1
nop
nop
nop
nop
nop
nop
nop
nop
jsr delay_1552
jsr delay_1560
; 3 lines HIRES 40-COL AN3=1 PAGE=2
sta CLR80COL
sta CLR80COL ; 4
sta HIRES ; 4
sta PAGE2 ; 4
sta SETAN3
sta SETAN3 ; 4
jsr delay_1552
jsr delay_1544
; 3 lines Double-hires AN3=0 PAGE=1
sta PAGE1
bit HIRES
sta PAGE1 ; 4
bit HIRES ; 4
sta SET80COL ; 4 ; set 80 column mode
sta CLRAN3 ; 4 ; doublehireson
jsr delay_1552
jsr delay_1544
; 3 line Double-HIRES
nop
nop
nop
nop
nop
nop
nop
nop
jsr delay_1552
jsr delay_1560
; set 80-column text for next iteration
sta SET_TEXT ; 4
bit PAGE2 ; 4
rts