mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-06 14:30:18 +00:00
ds: fix long running mystery of gr_clear
cycle counting was wrong in gr_clear update appleii_intro to compensate move some stuff around
This commit is contained in:
parent
10572d8b81
commit
46b20a427c
@ -70,29 +70,15 @@ appleII_intro:
|
|||||||
jsr gr_clear_all ; 6+ 5454
|
jsr gr_clear_all ; 6+ 5454
|
||||||
|
|
||||||
; 26650
|
; 26650
|
||||||
; -12
|
; -12 GR init
|
||||||
; -5465
|
; -5465 clear page0
|
||||||
; -5465
|
; -5465 clear page1
|
||||||
; -3 (jmp)
|
|
||||||
;==========
|
;==========
|
||||||
; 15705
|
; 15708
|
||||||
|
|
||||||
; FIXME: delay extra 33?
|
; Try X=29 Y=104 cycles=15705R3
|
||||||
; have no idea why this is needed
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
lda DRAW_PAGE
|
|
||||||
|
|
||||||
|
lda TEMP
|
||||||
; Try X=29 Y=104 cycles=15705
|
|
||||||
|
|
||||||
ldy #104 ; 2
|
ldy #104 ; 2
|
||||||
loopA: ldx #29 ; 2
|
loopA: ldx #29 ; 2
|
||||||
@ -101,7 +87,7 @@ loopB: dex ; 2
|
|||||||
dey ; 2
|
dey ; 2
|
||||||
bne loopA ; 2nt/3
|
bne loopA ; 2nt/3
|
||||||
|
|
||||||
jmp display_loop ; 3
|
; jmp display_loop ; 3
|
||||||
|
|
||||||
;.align $100
|
;.align $100
|
||||||
|
|
||||||
@ -128,14 +114,14 @@ display_loop:
|
|||||||
|
|
||||||
outer_loop:
|
outer_loop:
|
||||||
|
|
||||||
bit PAGE0 ; 4
|
bit PAGE1 ; 4
|
||||||
ldx #25 ; 130 cycles with PAGE0 ; 2
|
ldx #25 ; 130 cycles with PAGE0 ; 2
|
||||||
page0_loop: ; delay 126+bit
|
page0_loop: ; delay 126+bit
|
||||||
dex ; 2
|
dex ; 2
|
||||||
bne page0_loop ; 2/3
|
bne page0_loop ; 2/3
|
||||||
|
|
||||||
|
|
||||||
bit PAGE1 ; 4
|
bit PAGE0 ; 4
|
||||||
ldx #23 ; 130 cycles with PAGE1 ; 2
|
ldx #23 ; 130 cycles with PAGE1 ; 2
|
||||||
page1_loop: ; delay 115+(7 loop)+4 (bit)+4(extra)
|
page1_loop: ; delay 115+(7 loop)+4 (bit)+4(extra)
|
||||||
dex ; 2
|
dex ; 2
|
||||||
@ -448,12 +434,19 @@ do_nothing_end:
|
|||||||
forever_string:
|
forever_string:
|
||||||
.byte ' ','F','O','R','E','V','E','R'
|
.byte ' ','F','O','R','E','V','E','R'
|
||||||
|
|
||||||
|
|
||||||
colors_first: .byte $00,$00,$00,$00
|
colors_first: .byte $00,$00,$00,$00
|
||||||
colors_second: .byte $00,$04,$40,$00
|
colors_second: .byte $00,$04,$40,$00
|
||||||
colors_third: .byte $40,$4C,$C4,$04
|
colors_third: .byte $40,$4C,$C4,$04
|
||||||
colors_fourth: .byte $C4,$CF,$FC,$4C
|
colors_fourth: .byte $C4,$CF,$FC,$4C
|
||||||
|
|
||||||
|
|
||||||
|
.if 0
|
||||||
|
colors_first: .byte $00,$00,$00,$00
|
||||||
|
colors_second: .byte $00,$40,$04,$00
|
||||||
|
colors_third: .byte $04,$C4,$4C,$40
|
||||||
|
colors_fourth: .byte $4C,$FC,$CF,$C4
|
||||||
|
.endif
|
||||||
|
|
||||||
.assert >do_nothing = >do_nothing_end, error, "do_nothing crosses page"
|
.assert >do_nothing = >do_nothing_end, error, "do_nothing crosses page"
|
||||||
|
|
||||||
|
|
||||||
|
@ -155,13 +155,27 @@ wait_until_keypressed:
|
|||||||
.include "graphics/starbase/starbase.inc"
|
.include "graphics/starbase/starbase.inc"
|
||||||
.include "graphics/starbase/ship_flames.inc"
|
.include "graphics/starbase/ship_flames.inc"
|
||||||
.include "graphics/starbase/star_wipe.inc"
|
.include "graphics/starbase/star_wipe.inc"
|
||||||
|
|
||||||
|
; Apple II intro
|
||||||
|
.include "appleII_intro.s"
|
||||||
|
|
||||||
|
; missing
|
||||||
|
.include "missing.s"
|
||||||
|
|
||||||
|
; missing
|
||||||
|
.include "open_book.s"
|
||||||
|
|
||||||
|
; Starbase
|
||||||
|
.include "starbase.s"
|
||||||
|
|
||||||
|
; UP UNTIL THIS POINT CAN BE WIPED BY SOUND AT END
|
||||||
|
|
||||||
|
; FIXME: put at end after music?
|
||||||
;.include "earth.inc"
|
;.include "earth.inc"
|
||||||
.include "book_40_48d.inc"
|
.include "book_40_48d.inc"
|
||||||
.include "credits_bg.inc"
|
.include "credits_bg.inc"
|
||||||
|
|
||||||
|
|
||||||
; Apple II intro
|
|
||||||
.include "appleII_intro.s"
|
|
||||||
|
|
||||||
; things that are exactly 1 page in size
|
; things that are exactly 1 page in size
|
||||||
.align $100
|
.align $100
|
||||||
@ -181,15 +195,6 @@ wait_until_keypressed:
|
|||||||
.include "gr_fast_clear.s"
|
.include "gr_fast_clear.s"
|
||||||
.include "gr_run_sequence.s" ; not critical
|
.include "gr_run_sequence.s" ; not critical
|
||||||
|
|
||||||
; missing
|
|
||||||
.include "missing.s"
|
|
||||||
|
|
||||||
; missing
|
|
||||||
.include "open_book.s"
|
|
||||||
|
|
||||||
; Starbase
|
|
||||||
.include "starbase.s"
|
|
||||||
|
|
||||||
; escape
|
; escape
|
||||||
.include "escape.s"
|
.include "escape.s"
|
||||||
|
|
||||||
@ -212,8 +217,6 @@ wait_until_keypressed:
|
|||||||
.include "create_update_type2.s"
|
.include "create_update_type2.s"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PT3_LOC = song
|
PT3_LOC = song
|
||||||
|
|
||||||
; must be page aligned
|
; must be page aligned
|
||||||
|
@ -25,7 +25,7 @@ gr_clear_all:
|
|||||||
;===========
|
;===========
|
||||||
; 45
|
; 45
|
||||||
|
|
||||||
ldy #120 ; 2
|
ldy #119 ; 2
|
||||||
clear_all_color:
|
clear_all_color:
|
||||||
lda #$00 ; 2
|
lda #$00 ; 2
|
||||||
;============
|
;============
|
||||||
|
Loading…
x
Reference in New Issue
Block a user