diff --git a/fireworks/TODO b/fireworks/TODO index 0d63a44b..66f233c3 100644 --- a/fireworks/TODO +++ b/fireworks/TODO @@ -1,9 +1,15 @@ +sound effects, allow disabling + xor the locations of reads? + just restart? -cycle invariant random16 -cycle invariant HPLOT/HLIN -dispatcher +text scrolling (split?) + +cycle invariant HPLOT TO + +re-arrange to minimize padding + +remove dead code + +adjust speed -fix XPOS to not wrap (explosion proper XPOS handling) -sound effects - diff --git a/fireworks/hgr.s b/fireworks/hgr.s index 126dc306..04649542 100644 --- a/fireworks/hgr.s +++ b/fireworks/hgr.s @@ -154,9 +154,12 @@ hposn: adc HGR_X ; 3 ; A = remainder ;=========== ; 22 +;============================================================================ cpy #0 ; 2 beq done_mod_nop_23 ; 3 + ;========== + ; 5 theres_high: ; -1 clc ; 2 @@ -166,19 +169,25 @@ theres_high: adc #36 ; 2 sta HGR_HORIZ ; 3 pla ; 4 - ;==== cmp #7 ; 2 bcc done_mod_nop14 ; blt ; 3 + ;============ + ; 23 + + ; -1 sec ; 2 sbc #7 ; 2 inc HGR_HORIZ ; 5 + ldy HGR_HORIZ ; nop ; 3 jmp done_mod ; 3 - ;=========================== - ; Y=HIGH,NOR = 23+5 = 28 (14) - ; Y=HIGH,R = 23+16 = 42 - ; Y=LOW = 5 + 37(14+23)= 42 + ;============ + ; 14 + ;=========================== + ; Y=HIGH,bcc = 5+23+ 14 = 42 + ; Y=HIGH,bcs = 5+23+ 14 = 42 + ; Y=LOW = 5 + 14+23 = 42 done_mod_nop_23: inc HGR_HORIZ,X ; (nop) ; 6 diff --git a/fireworks/state_machine.s b/fireworks/state_machine.s index 546aeb7a..57f9eb2f 100644 --- a/fireworks/state_machine.s +++ b/fireworks/state_machine.s @@ -88,9 +88,9 @@ Zloop2: dex ; 2 ; we take 4495 so waste 9 action_continue_explosion: - lda STATE - lda STATE - lda STATE + lda STATE ; nop 3 + lda STATE ; nop 3 + lda STATE ; nop 3 jsr continue_explosion ; 6+4486 = 4492