mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-10 08:54:51 +00:00
space_bars: getting closer
This commit is contained in:
parent
034641d7f9
commit
7828ef2383
@ -41,7 +41,7 @@ game:
|
|||||||
|
|
||||||
lda #$12
|
lda #$12
|
||||||
sta FRAMEBUFFER+0
|
sta FRAMEBUFFER+0
|
||||||
lda #$34
|
lda #$3f
|
||||||
sta FRAMEBUFFER+1
|
sta FRAMEBUFFER+1
|
||||||
lda #$56
|
lda #$56
|
||||||
sta FRAMEBUFFER+2
|
sta FRAMEBUFFER+2
|
||||||
@ -57,7 +57,7 @@ game:
|
|||||||
sta FRAMEBUFFER+7
|
sta FRAMEBUFFER+7
|
||||||
lda #$12
|
lda #$12
|
||||||
sta FRAMEBUFFER+8
|
sta FRAMEBUFFER+8
|
||||||
lda #$34
|
lda #$3f
|
||||||
sta FRAMEBUFFER+9
|
sta FRAMEBUFFER+9
|
||||||
lda #$56
|
lda #$56
|
||||||
sta FRAMEBUFFER+10
|
sta FRAMEBUFFER+10
|
||||||
@ -159,32 +159,15 @@ sb_begin_loop:
|
|||||||
|
|
||||||
sb_display_loop:
|
sb_display_loop:
|
||||||
|
|
||||||
; 0-7 = text mode
|
|
||||||
; 1 2 3
|
; 1 2 3
|
||||||
;0123456789012345678901234567890123456789
|
;0123456789012345678901234567890123456789
|
||||||
;LEVEL: 6 LIVES: 2 SCORE: 01978 HI: 02018
|
;LEVEL: 6 LIVES: 2 SCORE: 01978 HI: 02018
|
||||||
|
|
||||||
; 8-47 = hgr
|
; 0-7 = text mode
|
||||||
; 48 - 191 = split .. 144 = 36grlins
|
; 8-87 = hgr
|
||||||
; 6 4 25+16+8+16 NNNNNNNN
|
; 88 - 168 = split
|
||||||
; 7 6 25+15+10+15 LNNNNNN
|
; 169 - 191 = gr
|
||||||
; 8 8 25+14+12+14 NNNNNNN
|
|
||||||
; 9 10 25+13+14+13 LNNNNN
|
|
||||||
; 10 12 25+12+16+12
|
|
||||||
; 11 14 25+11+18+11
|
|
||||||
; 12 16 25+10+20+10
|
|
||||||
; 13 18 25+09+22+09
|
|
||||||
; 14 20 25+08+24+08
|
|
||||||
; 15 22 25+07+26+07
|
|
||||||
; 16 24 25+06+28+06
|
|
||||||
; 17 26 25+05+30+05
|
|
||||||
; 18 28 25+04+32+04
|
|
||||||
; 19 30 25+03+34+03
|
|
||||||
; 20 32 25+02+36+02
|
|
||||||
; 21 34 25+01+38+01
|
|
||||||
; 22 36 25+00
|
|
||||||
; 23 38 25+12
|
|
||||||
; 24 40 25+12
|
|
||||||
|
|
||||||
|
|
||||||
; 8 lines of text mode
|
; 8 lines of text mode
|
||||||
@ -207,12 +190,13 @@ sb_text_loop:
|
|||||||
|
|
||||||
|
|
||||||
sb_hgr_loop:
|
sb_hgr_loop:
|
||||||
; delay 40*65 = 2600
|
; delay 80*65 = 5200
|
||||||
|
; 2180
|
||||||
; -2
|
; -2
|
||||||
; +1
|
; +1
|
||||||
; -8
|
; -8
|
||||||
;=========================
|
;=========================
|
||||||
; 2591
|
; 3011
|
||||||
|
|
||||||
bit SET_GR ; 4
|
bit SET_GR ; 4
|
||||||
bit HIRES ; 4
|
bit HIRES ; 4
|
||||||
@ -231,14 +215,10 @@ sb_hgr_loop:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
; Try X=1 Y=235 cycles=2586 R5
|
; Try X=59 Y=10 cycles=3011
|
||||||
|
|
||||||
; Try X=7 Y=10 cycles=411
|
|
||||||
; nop ; 2
|
|
||||||
; lda $0 ; 3
|
|
||||||
|
|
||||||
ldy #10 ; 2
|
ldy #10 ; 2
|
||||||
sbloopC:ldx #7 ; 2
|
sbloopC:ldx #59 ; 2
|
||||||
sbloopD:dex ; 2
|
sbloopD:dex ; 2
|
||||||
bne sbloopD ; 2nt/3
|
bne sbloopD ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
@ -250,7 +230,7 @@ sbloopD:dex ; 2
|
|||||||
sb_mixed:
|
sb_mixed:
|
||||||
lda $0 ;kill 6 cycles (room for rts) ; 2
|
lda $0 ;kill 6 cycles (room for rts) ; 2
|
||||||
ldx #9 ; 2
|
ldx #9 ; 2
|
||||||
ldy #14 ; 126 ; 2
|
ldy #9 ; 14 ; 126 ; 2
|
||||||
|
|
||||||
sb_mixed_loop:
|
sb_mixed_loop:
|
||||||
lda ss_multiples,x ; 4
|
lda ss_multiples,x ; 4
|
||||||
@ -262,7 +242,7 @@ split_smc:
|
|||||||
|
|
||||||
; -1
|
; -1
|
||||||
nop ; 2
|
nop ; 2
|
||||||
ldy #14 ; 2
|
ldy #9 ; 2
|
||||||
dex ; 2
|
dex ; 2
|
||||||
bne split_smc ; 3
|
bne split_smc ; 3
|
||||||
|
|
||||||
@ -279,20 +259,20 @@ split_smc:
|
|||||||
|
|
||||||
|
|
||||||
sb_all_gr:
|
sb_all_gr:
|
||||||
; 18 lines of this
|
; 23 lines of this
|
||||||
|
|
||||||
; 18 * 65 = 1170
|
; 23 * 65 = 1495
|
||||||
; -4
|
; -4
|
||||||
; -13
|
; -13
|
||||||
; =========
|
; =========
|
||||||
; 1153
|
; 1478
|
||||||
|
|
||||||
bit LORES ; 4
|
bit LORES ; 4
|
||||||
|
|
||||||
; Try X=6 Y=32 cycles=1153
|
; Try X=41 Y=7 cycles=1478
|
||||||
|
|
||||||
ldy #32 ; 2
|
ldy #7 ; 2
|
||||||
sbloopE:ldx #6 ; 2
|
sbloopE:ldx #41 ; 2
|
||||||
sbloopF:dex ; 2
|
sbloopF:dex ; 2
|
||||||
bne sbloopF ; 2nt/3
|
bne sbloopF ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
@ -305,24 +285,22 @@ sbloopF:dex ; 2
|
|||||||
;======================================================
|
;======================================================
|
||||||
|
|
||||||
; do_nothing should be 4550
|
; do_nothing should be 4550
|
||||||
; -3278 draw_framebuffer
|
; -3470 draw_framebuffer
|
||||||
; -34 keypress
|
; -34 keypress
|
||||||
; -1 adjust center mark back
|
; -1 adjust center mark back
|
||||||
; ===========
|
; ===========
|
||||||
; 1237
|
; 1045
|
||||||
|
|
||||||
; Try X=246 Y=1 cycles=1237
|
; Try X=6 Y=29 cycles=1045
|
||||||
|
|
||||||
; nop
|
ldy #29 ; 2
|
||||||
|
sbloop1:ldx #6 ; 2
|
||||||
ldy #1 ; 2
|
|
||||||
sbloop1:ldx #246 ; 2
|
|
||||||
sbloop2:dex ; 2
|
sbloop2:dex ; 2
|
||||||
bne sbloop2 ; 2nt/3
|
bne sbloop2 ; 2nt/3
|
||||||
dey ; 2
|
dey ; 2
|
||||||
bne sbloop1 ; 2nt/3
|
bne sbloop1 ; 2nt/3
|
||||||
|
|
||||||
jsr draw_framebuffer ; 6+3272
|
jsr draw_framebuffer ; 6+3464
|
||||||
|
|
||||||
|
|
||||||
; no keypress = 10+(24) = 34
|
; no keypress = 10+(24) = 34
|
||||||
@ -377,27 +355,25 @@ sb_exit:
|
|||||||
.align $100
|
.align $100
|
||||||
|
|
||||||
; total =
|
; total =
|
||||||
; 4 wide: = 85
|
; 4 wide: = 53
|
||||||
; 12 wide: = 253
|
; 12 wide: = 253
|
||||||
; 20 wide: = 421
|
; 20 wide: = 421
|
||||||
; 28 wide: = 589
|
; 28 wide: = 813
|
||||||
; 36 wide: = 757
|
; 36 wide: = 757
|
||||||
; 40 wide: = 1161
|
; 40 wide: = 1161
|
||||||
; 6
|
; 6
|
||||||
;====================================
|
;====================================
|
||||||
; 3272
|
; 3464
|
||||||
draw_framebuffer:
|
draw_framebuffer:
|
||||||
|
|
||||||
|
|
||||||
; 2 + (4*(X*8)+5) -1 =
|
; 2 + (4*(X*8)+5) -1 =
|
||||||
; 2 + 4*(16+5) -1 = 85
|
; 2 + 4*(8+5) -1 = 85
|
||||||
|
|
||||||
ldx #4 ; 2
|
ldx #4 ; 2
|
||||||
fb4_loop:
|
fb4_loop:
|
||||||
lda FRAMEBUFFER+0 ; 3
|
lda FRAMEBUFFER+0 ; 3
|
||||||
sta $5a8+18-1,x ; 5
|
sta $5a8+18-1,x ; 5
|
||||||
lda FRAMEBUFFER+1 ; 3
|
|
||||||
sta $628+18-1,x ; 5
|
|
||||||
dex ; 2
|
dex ; 2
|
||||||
bne fb4_loop ; 3
|
bne fb4_loop ; 3
|
||||||
|
|
||||||
@ -407,10 +383,10 @@ fb4_loop:
|
|||||||
|
|
||||||
ldx #12 ; 2
|
ldx #12 ; 2
|
||||||
fb12_loop:
|
fb12_loop:
|
||||||
|
lda FRAMEBUFFER+1 ; 3
|
||||||
|
sta $628+14-1,x ; 5
|
||||||
lda FRAMEBUFFER+2 ; 3
|
lda FRAMEBUFFER+2 ; 3
|
||||||
sta $6a8+14-1,x ; 5
|
sta $6a8+14-1,x ; 5
|
||||||
lda FRAMEBUFFER+3 ; 3
|
|
||||||
sta $728+14-1,x ; 5
|
|
||||||
dex ; 2
|
dex ; 2
|
||||||
bne fb12_loop ; 3
|
bne fb12_loop ; 3
|
||||||
|
|
||||||
@ -419,19 +395,21 @@ fb12_loop:
|
|||||||
|
|
||||||
ldx #20 ; 2
|
ldx #20 ; 2
|
||||||
fb20_loop:
|
fb20_loop:
|
||||||
|
lda FRAMEBUFFER+3 ; 3
|
||||||
|
sta $728+10-1,x ; 5
|
||||||
lda FRAMEBUFFER+4 ; 3
|
lda FRAMEBUFFER+4 ; 3
|
||||||
sta $7a8+10-1,x ; 5
|
sta $7a8+10-1,x ; 5
|
||||||
lda FRAMEBUFFER+5 ; 3
|
|
||||||
sta $450+10-1,x ; 5
|
|
||||||
dex ; 2
|
dex ; 2
|
||||||
bne fb20_loop ; 3
|
bne fb20_loop ; 3
|
||||||
|
|
||||||
|
|
||||||
; 2 + (28*(X*8)+5) -1 =
|
; 2 + (28*(X*8)+5) -1 =
|
||||||
; 2 + 28*(16+5) -1 = 589
|
; 2 + 28*(24+5) -1 = 813
|
||||||
|
|
||||||
ldx #28 ; 2
|
ldx #28 ; 2
|
||||||
fb28_loop:
|
fb28_loop:
|
||||||
|
lda FRAMEBUFFER+5 ; 3
|
||||||
|
sta $450+6-1,x ; 5
|
||||||
lda FRAMEBUFFER+6 ; 3
|
lda FRAMEBUFFER+6 ; 3
|
||||||
sta $4d0+6-1,x ; 5
|
sta $4d0+6-1,x ; 5
|
||||||
lda FRAMEBUFFER+7 ; 3
|
lda FRAMEBUFFER+7 ; 3
|
||||||
|
Loading…
Reference in New Issue
Block a user