split: got it working on all solids

This commit is contained in:
Vince Weaver 2018-07-05 20:02:15 -04:00
parent 61fdf15000
commit 8a82dad35e
3 changed files with 19 additions and 18 deletions

View File

@ -9,7 +9,7 @@ int main(int argc, char **argv) {
// desired=5196;
// desired=4547;
// desired=9685;
desired=3759;
desired=3714;
printf("You want %d cycles\n",desired);

View File

@ -290,25 +290,24 @@ loop6:
;=========
; 26
; + 762
; + 807
;========
; 788
; blob= 788
; 4547 - 788
; 3759 is new number
; Try X=124 Y=6 cycles=3757 R2
; 833
; blob= 833
; 4547 - 833
; 3714 is new number
; Try X=147 Y=5 cycles=3706 R 8
lda #0 ; 2
; lda #0 ; 2
lda #0 ; 2
lda #0 ; 2
lda #0 ; 2
ldy #6 ; 2
ldy #5 ; 2
loop7:
ldx #124 ; 2
ldx #147 ; 2
loop8:
dex ; 2
bne loop8 ; 2nt/3
@ -341,7 +340,7 @@ wait_until_keypressed:
; X*innerloop
; innerloop = 30 if $00 17+13(done)
; 54 if if $XX 16+8+8+9(put_all)+13(done)
; 68 if $X0 16+8+7+5+20(put_sprite_mask)+13(done)
; 69 if $X0 16+8+7+5+20(put_sprite_mask)+13(done)
; 64 if $0X 16+7+8+20(put_sprite_mask)+13(done)
; -1 for last iteration
; 18 (-1 for last)
@ -355,8 +354,10 @@ wait_until_keypressed:
; 33 + 3*(52)+[54*9]-3 = 672
; solid $00, x=3, y=3, A=9
; 33 + 3*(52)+[30*9]-3 = 456
; solid $0x, x=3, y=3, D=9
; solid $0X, x=3, y=3, D=9
; 33 + 3*(52)+[64*9]-3 = 762
; solid $X0, x=3, y=3, C=9
; 33 + 3*(52)+[69*9]-3 = 807
; bird_stand_right = X=6, Y=7 A=28 B=9 C=2 D=3
; = 33 + 7*53+(30*28+53*9+68*2+63*3)-6 = 2040 cycles

View File

@ -35,6 +35,6 @@ big_tree:
blob:
.byte $3,$3
.byte $01,$02,$03
.byte $04,$05,$06
.byte $07,$08,$09
.byte $70,$80,$90
.byte $A0,$B0,$C0
.byte $D0,$E0,$F0