1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-04-05 07:40:39 +00:00

Improved a plus fragment to use bcc

This commit is contained in:
jespergravgaard 2019-03-18 02:23:29 +01:00
parent 9bb967b33f
commit ca697a4ffd
87 changed files with 979 additions and 972 deletions

View File

@ -0,0 +1,6 @@
clc
adc {z1}
sta {z1}
bcc !+
inc {z1}+1
!:

View File

@ -26,9 +26,9 @@ main: {
iny
cpy #ITEM_SIZE-1+1
bne b2
lda cur_item
lda #ITEM_SIZE
clc
adc #ITEM_SIZE
adc cur_item
sta cur_item
bcc !+
inc cur_item+1

View File

@ -331,9 +331,9 @@ main: {
//SEG28 main::@3
b3:
//SEG29 [12] (byte*) main::cur_item#1 ← (byte*) main::cur_item#4 + (const byte) ITEM_SIZE#0 -- pbuz1=pbuz1_plus_vbuc1
lda cur_item
lda #ITEM_SIZE
clc
adc #ITEM_SIZE
adc cur_item
sta cur_item
bcc !+
inc cur_item+1
@ -452,9 +452,9 @@ main: {
//SEG28 main::@3
b3:
//SEG29 [12] (byte*) main::cur_item#1 ← (byte*) main::cur_item#4 + (const byte) ITEM_SIZE#0 -- pbuz1=pbuz1_plus_vbuc1
lda cur_item
lda #ITEM_SIZE
clc
adc #ITEM_SIZE
adc cur_item
sta cur_item
bcc !+
inc cur_item+1
@ -599,9 +599,9 @@ main: {
bne b2
//SEG28 main::@3
//SEG29 [12] (byte*) main::cur_item#1 ← (byte*) main::cur_item#4 + (const byte) ITEM_SIZE#0 -- pbuz1=pbuz1_plus_vbuc1
lda cur_item
lda #ITEM_SIZE
clc
adc #ITEM_SIZE
adc cur_item
sta cur_item
bcc !+
inc cur_item+1

View File

@ -35,9 +35,9 @@ main: {
cpx #xd
bcc b2
inc y
lda cursor
lda #$28
clc
adc #$28
adc cursor
sta cursor
bcc !+
inc cursor+1

View File

@ -440,9 +440,9 @@ main: {
//SEG28 [11] (byte) main::y#1 ← (byte) main::y#2 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_plus_1
inc y
//SEG29 [12] (byte*) main::cursor#2 ← (byte*) main::cursor#1 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cursor
lda #$28
clc
adc #$28
adc cursor
sta cursor
bcc !+
inc cursor+1
@ -588,9 +588,9 @@ main: {
//SEG28 [11] (byte) main::y#1 ← (byte) main::y#2 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_plus_1
inc y
//SEG29 [12] (byte*) main::cursor#2 ← (byte*) main::cursor#1 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cursor
lda #$28
clc
adc #$28
adc cursor
sta cursor
bcc !+
inc cursor+1
@ -770,9 +770,9 @@ main: {
//SEG28 [11] (byte) main::y#1 ← (byte) main::y#2 + (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_plus_1
inc y
//SEG29 [12] (byte*) main::cursor#2 ← (byte*) main::cursor#1 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cursor
lda #$28
clc
adc #$28
adc cursor
sta cursor
bcc !+
inc cursor+1

View File

@ -44,9 +44,9 @@ main: {
clc
adc idx
sta idx
lda #0
adc idx+1
sta idx+1
bcc !+
inc idx+1
!:
tya
sec
sbc #xd

View File

@ -442,9 +442,9 @@ main: {
clc
adc idx
sta idx
lda #0
adc idx+1
sta idx+1
bcc !+
inc idx+1
!:
//SEG30 [13] (byte) main::e#2 ← (byte) main::e#1 - (const byte) main::xd#0 -- vbuz1=vbuz1_minus_vbuc1
lda e
sec
@ -491,10 +491,10 @@ REGISTER UPLIFT SCOPES
Uplift Scope [main] 55: zp ZP_BYTE:5 [ main::e#3 main::e#5 main::e#1 main::e#2 ] 46.75: zp ZP_WORD:2 [ main::idx#3 main::idx#5 main::idx#1 main::idx#2 ] 29.33: zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ] 14.67: zp ZP_BYTE:4 [ main::x#2 main::x#1 ]
Uplift Scope []
Uplifting [main] best 1268 combination reg byte y [ main::e#3 main::e#5 main::e#1 main::e#2 ] zp ZP_WORD:2 [ main::idx#3 main::idx#5 main::idx#1 main::idx#2 ] zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ] reg byte x [ main::x#2 main::x#1 ]
Uplifting [] best 1268 combination
Uplifting [main] best 1263 combination reg byte y [ main::e#3 main::e#5 main::e#1 main::e#2 ] zp ZP_WORD:2 [ main::idx#3 main::idx#5 main::idx#1 main::idx#2 ] zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ] reg byte x [ main::x#2 main::x#1 ]
Uplifting [] best 1263 combination
Attempting to uplift remaining variables inzp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ]
Uplifting [main] best 1268 combination zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ]
Uplifting [main] best 1263 combination zp ZP_BYTE:6 [ main::y#2 main::y#4 main::y#1 ]
Allocated (was zp ZP_BYTE:6) zp ZP_BYTE:4 [ main::y#2 main::y#4 main::y#1 ]
ASSEMBLER BEFORE OPTIMIZATION
@ -591,9 +591,9 @@ main: {
clc
adc idx
sta idx
lda #0
adc idx+1
sta idx+1
bcc !+
inc idx+1
!:
//SEG30 [13] (byte) main::e#2 ← (byte) main::e#1 - (const byte) main::xd#0 -- vbuyy=vbuyy_minus_vbuc1
tya
sec
@ -702,7 +702,7 @@ zp ZP_BYTE:4 [ main::y#2 main::y#4 main::y#1 ]
FINAL ASSEMBLER
Score: 1066
Score: 1061
//SEG0 File Comments
//SEG1 Basic Upstart
@ -780,9 +780,9 @@ main: {
clc
adc idx
sta idx
lda #0
adc idx+1
sta idx+1
bcc !+
inc idx+1
!:
//SEG30 [13] (byte) main::e#2 ← (byte) main::e#1 - (const byte) main::xd#0 -- vbuyy=vbuyy_minus_vbuc1
tya
sec

View File

@ -1220,9 +1220,9 @@ form_field_ptr: {
clc
adc return
sta return
lda #0
adc return+1
sta return+1
bcc !+
inc return+1
!:
rts
}
// Apply a form value preset to the form values
@ -1444,9 +1444,9 @@ form_set_screen: {
sta form_line_lo,y
lda line+1
sta form_line_hi,y
lda line
lda #$28
clc
adc #$28
adc line
sta line
bcc !+
inc line+1
@ -1499,9 +1499,9 @@ print_str_lines: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -16834,9 +16834,9 @@ form_set_screen: {
ldy y
sta form_line_hi,y
//SEG835 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda line
lda #$28
clc
adc #$28
adc line
sta line
bcc !+
inc line+1
@ -16955,9 +16955,9 @@ print_ln: {
//SEG872 print_ln::@1
b1:
//SEG873 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -23270,9 +23270,9 @@ form_field_ptr: {
clc
adc return
sta return
lda #0
adc return+1
sta return+1
bcc !+
inc return+1
!:
jmp breturn
//SEG671 form_field_ptr::@return
breturn:
@ -23752,9 +23752,9 @@ form_set_screen: {
//SEG834 [414] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuyy=vbuaa
sta form_line_hi,y
//SEG835 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda line
lda #$28
clc
adc #$28
adc line
sta line
bcc !+
inc line+1
@ -23867,9 +23867,9 @@ print_ln: {
//SEG872 print_ln::@1
b1:
//SEG873 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -29084,7 +29084,7 @@ reg byte a [ gfx_init_screen0::$3 ]
FINAL ASSEMBLER
Score: 11370489
Score: 11370488
//SEG0 File Comments
// Interactive Explorer for C64DTV Screen Modes
@ -30979,9 +30979,9 @@ form_field_ptr: {
clc
adc return
sta return
lda #0
adc return+1
sta return+1
bcc !+
inc return+1
!:
//SEG671 form_field_ptr::@return
//SEG672 [345] return
rts
@ -31368,9 +31368,9 @@ form_set_screen: {
//SEG834 [414] *((const byte[$19]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuyy=vbuaa
sta form_line_hi,y
//SEG835 [415] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda line
lda #$28
clc
adc #$28
adc line
sta line
bcc !+
inc line+1
@ -31461,9 +31461,9 @@ print_ln: {
//SEG872 print_ln::@1
b1:
//SEG873 [437] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -2283,9 +2283,9 @@ print_str_lines: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -17821,9 +17821,9 @@ print_ln: {
//SEG1642 print_ln::@1
b1:
//SEG1643 [882] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -24180,9 +24180,9 @@ print_ln: {
//SEG1642 print_ln::@1
b1:
//SEG1643 [882] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -30601,9 +30601,9 @@ print_ln: {
//SEG1642 print_ln::@1
b1:
//SEG1643 [882] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -43,9 +43,9 @@ main: {
inx
cpx #8
bne b2
lda sc
lda #$20
clc
adc #$20
adc sc
sta sc
bcc !+
inc sc+1

View File

@ -492,9 +492,9 @@ main: {
//SEG43 main::@5
b5:
//SEG44 [18] (byte*) main::sc#2 ← (byte*) main::sc#1 + (byte/signed byte/word/signed word/dword/signed dword) $20 -- pbuz1=pbuz1_plus_vbuc1
lda sc
lda #$20
clc
adc #$20
adc sc
sta sc
bcc !+
inc sc+1
@ -670,9 +670,9 @@ main: {
//SEG43 main::@5
b5:
//SEG44 [18] (byte*) main::sc#2 ← (byte*) main::sc#1 + (byte/signed byte/word/signed word/dword/signed dword) $20 -- pbuz1=pbuz1_plus_vbuc1
lda sc
lda #$20
clc
adc #$20
adc sc
sta sc
bcc !+
inc sc+1
@ -878,9 +878,9 @@ main: {
bne b2
//SEG43 main::@5
//SEG44 [18] (byte*) main::sc#2 ← (byte*) main::sc#1 + (byte/signed byte/word/signed word/dword/signed dword) $20 -- pbuz1=pbuz1_plus_vbuc1
lda sc
lda #$20
clc
adc #$20
adc sc
sta sc
bcc !+
inc sc+1

View File

@ -33,16 +33,16 @@ main: {
txa
eor #1
tax
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
!:
lda colors
lda #$28
clc
adc #$28
adc colors
sta colors
bcc !+
inc colors+1

View File

@ -344,17 +344,17 @@ main: {
eor #1
sta color
//SEG36 [13] (byte*) main::screen#1 ← (byte*) main::screen#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
!:
//SEG37 [14] (byte*) main::colors#1 ← (byte*) main::colors#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda colors
lda #$28
clc
adc #$28
adc colors
sta colors
bcc !+
inc colors+1
@ -495,17 +495,17 @@ main: {
eor #1
tax
//SEG36 [13] (byte*) main::screen#1 ← (byte*) main::screen#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
!:
//SEG37 [14] (byte*) main::colors#1 ← (byte*) main::colors#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda colors
lda #$28
clc
adc #$28
adc colors
sta colors
bcc !+
inc colors+1
@ -664,17 +664,17 @@ main: {
eor #1
tax
//SEG36 [13] (byte*) main::screen#1 ← (byte*) main::screen#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
!:
//SEG37 [14] (byte*) main::colors#1 ← (byte*) main::colors#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda colors
lda #$28
clc
adc #$28
adc colors
sta colors
bcc !+
inc colors+1

View File

@ -446,9 +446,9 @@ render_next: {
inx
cpx #4
bne b4
lda screen_next_area
lda #$24
clc
adc #$24
adc screen_next_area
sta screen_next_area
bcc !+
inc screen_next_area+1
@ -674,9 +674,9 @@ play_collision: {
clc
adc piece_gfx
sta piece_gfx
lda #0
adc piece_gfx+1
sta piece_gfx+1
bcc !+
inc piece_gfx+1
!:
asl ypos2
lda #0
sta l
@ -945,9 +945,9 @@ play_update_score: {
clc
adc lines_bcd
sta lines_bcd
lda #0
adc lines_bcd+1
sta lines_bcd+1
bcc !+
inc lines_bcd+1
!:
lda score_bcd
clc
adc add_bcd
@ -1341,9 +1341,9 @@ play_init: {
sta playfield_lines+1,y
lda idx
sta playfield_lines_idx,x
lda pli
lda #PLAYFIELD_COLS
clc
adc #PLAYFIELD_COLS
adc pli
sta pli
bcc !+
inc pli+1
@ -1496,16 +1496,16 @@ render_init: {
sta screen_lines_2,y
lda li_2+1
sta screen_lines_2+1,y
lda li_1
lda #$28
clc
adc #$28
adc li_1
sta li_1
bcc !+
inc li_1+1
!:
lda li_2
lda #$28
clc
adc #$28
adc li_2
sta li_2
bcc !+
inc li_2+1

View File

@ -13799,9 +13799,9 @@ render_next: {
//SEG312 render_next::@11
b11:
//SEG313 [124] (byte*) render_next::screen_next_area#4 ← (byte*) render_next::screen_next_area#3 + (byte/signed byte/word/signed word/dword/signed dword) $24 -- pbuz1=pbuz1_plus_vbuc1
lda screen_next_area
lda #$24
clc
adc #$24
adc screen_next_area
sta screen_next_area
bcc !+
inc screen_next_area+1
@ -15044,9 +15044,9 @@ play_update_score: {
clc
adc lines_bcd
sta lines_bcd
lda #0
adc lines_bcd+1
sta lines_bcd+1
bcc !+
inc lines_bcd+1
!:
//SEG751 [318] (dword) score_bcd#30 ← (dword) score_bcd#18 + (dword) play_update_score::add_bcd#0 -- vduz1=vduz1_plus_vduz2
lda score_bcd
clc
@ -16005,9 +16005,9 @@ play_init: {
ldy j
sta playfield_lines_idx,y
//SEG1058 [465] (byte*) play_init::pli#1 ← (byte*) play_init::pli#2 + (const byte) PLAYFIELD_COLS#0 -- pbuz1=pbuz1_plus_vbuc1
lda pli
lda #PLAYFIELD_COLS
clc
adc #PLAYFIELD_COLS
adc pli
sta pli
bcc !+
inc pli+1
@ -16300,17 +16300,17 @@ render_init: {
lda li_2+1
sta screen_lines_2+1,y
//SEG1145 [519] (byte*) render_init::li_1#1 ← (byte*) render_init::li_1#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda li_1
lda #$28
clc
adc #$28
adc li_1
sta li_1
bcc !+
inc li_1+1
!:
//SEG1146 [520] (byte*) render_init::li_2#1 ← (byte*) render_init::li_2#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda li_2
lda #$28
clc
adc #$28
adc li_2
sta li_2
bcc !+
inc li_2+1
@ -17515,274 +17515,274 @@ Uplift Scope [sid_rnd_init]
Uplift Scope [render_screen_swap]
Uplift Scope [sprites_irq_init]
Uplifting [keyboard_event_scan] best 4713827 combination reg byte a [ keyboard_event_scan::$3 ] reg byte a [ keyboard_event_scan::$4 ] reg byte a [ keyboard_event_scan::event_type#0 ] reg byte a [ keyboard_event_scan::$11 ] zp ZP_BYTE:92 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:93 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 ] zp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:203 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:205 [ keyboard_event_scan::$14 ] zp ZP_BYTE:207 [ keyboard_event_scan::$18 ] zp ZP_BYTE:209 [ keyboard_event_scan::$22 ] zp ZP_BYTE:211 [ keyboard_event_scan::$26 ]
Uplifting [keyboard_event_scan] best 4713826 combination reg byte a [ keyboard_event_scan::$3 ] reg byte a [ keyboard_event_scan::$4 ] reg byte a [ keyboard_event_scan::event_type#0 ] reg byte a [ keyboard_event_scan::$11 ] zp ZP_BYTE:92 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:93 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 ] zp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:203 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:205 [ keyboard_event_scan::$14 ] zp ZP_BYTE:207 [ keyboard_event_scan::$18 ] zp ZP_BYTE:209 [ keyboard_event_scan::$22 ] zp ZP_BYTE:211 [ keyboard_event_scan::$26 ]
Limited combination testing to 100 combinations of 5308416 possible.
Uplifting [play_collision] best 4563827 combination zp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ] reg byte a [ play_collision::$7 ] zp ZP_BYTE:51 [ play_collision::col#2 play_collision::col#9 play_collision::col#1 ] reg byte x [ play_collision::c#2 play_collision::c#1 ] zp ZP_BYTE:162 [ play_collision::i#1 ] zp ZP_BYTE:48 [ play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 ] zp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ] zp ZP_WORD:160 [ play_collision::playfield_line#0 ] zp ZP_WORD:158 [ play_collision::piece_gfx#0 ] zp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ] zp ZP_BYTE:45 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ] zp ZP_BYTE:46 [ play_collision::ypos#5 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 ] zp ZP_BYTE:155 [ play_collision::return#14 ] zp ZP_BYTE:164 [ play_collision::return#13 ] zp ZP_BYTE:166 [ play_collision::return#1 ] zp ZP_BYTE:170 [ play_collision::return#0 ] zp ZP_BYTE:177 [ play_collision::return#10 ] zp ZP_BYTE:53 [ play_collision::return#15 ]
Uplifting [play_collision] best 4563826 combination zp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ] reg byte a [ play_collision::$7 ] zp ZP_BYTE:51 [ play_collision::col#2 play_collision::col#9 play_collision::col#1 ] reg byte x [ play_collision::c#2 play_collision::c#1 ] zp ZP_BYTE:162 [ play_collision::i#1 ] zp ZP_BYTE:48 [ play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 ] zp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ] zp ZP_WORD:160 [ play_collision::playfield_line#0 ] zp ZP_WORD:158 [ play_collision::piece_gfx#0 ] zp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ] zp ZP_BYTE:45 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ] zp ZP_BYTE:46 [ play_collision::ypos#5 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 ] zp ZP_BYTE:155 [ play_collision::return#14 ] zp ZP_BYTE:164 [ play_collision::return#13 ] zp ZP_BYTE:166 [ play_collision::return#1 ] zp ZP_BYTE:170 [ play_collision::return#0 ] zp ZP_BYTE:177 [ play_collision::return#10 ] zp ZP_BYTE:53 [ play_collision::return#15 ]
Limited combination testing to 100 combinations of 322486272 possible.
Uplifting [play_remove_lines] best 4426827 combination reg byte y [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ] reg byte x [ play_remove_lines::w#6 play_remove_lines::w#4 play_remove_lines::w#12 play_remove_lines::w#11 play_remove_lines::w#1 play_remove_lines::w#2 play_remove_lines::w#3 ] zp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ] zp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ] zp ZP_BYTE:193 [ play_remove_lines::c#0 ] zp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ] zp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ] zp ZP_BYTE:172 [ play_remove_lines::return#0 ]
Uplifting [play_remove_lines] best 4426826 combination reg byte y [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ] reg byte x [ play_remove_lines::w#6 play_remove_lines::w#4 play_remove_lines::w#12 play_remove_lines::w#11 play_remove_lines::w#1 play_remove_lines::w#2 play_remove_lines::w#3 ] zp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ] zp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ] zp ZP_BYTE:193 [ play_remove_lines::c#0 ] zp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ] zp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ] zp ZP_BYTE:172 [ play_remove_lines::return#0 ]
Limited combination testing to 100 combinations of 20736 possible.
Uplifting [play_lock_current] best 4336827 combination zp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ] zp ZP_BYTE:86 [ play_lock_current::col#2 play_lock_current::col#0 play_lock_current::col#1 ] reg byte x [ play_lock_current::c#2 play_lock_current::c#1 ] zp ZP_BYTE:196 [ play_lock_current::i#1 ] zp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ] zp ZP_WORD:194 [ play_lock_current::playfield_line#0 ] zp ZP_BYTE:83 [ play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 ]
Uplifting [play_lock_current] best 4336826 combination zp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ] zp ZP_BYTE:86 [ play_lock_current::col#2 play_lock_current::col#0 play_lock_current::col#1 ] reg byte x [ play_lock_current::c#2 play_lock_current::c#1 ] zp ZP_BYTE:196 [ play_lock_current::i#1 ] zp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ] zp ZP_WORD:194 [ play_lock_current::playfield_line#0 ] zp ZP_BYTE:83 [ play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 ]
Limited combination testing to 100 combinations of 729 possible.
Uplifting [] best 4335661 combination zp ZP_BYTE:94 [ keyboard_events_size#10 keyboard_events_size#29 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#30 keyboard_events_size#2 keyboard_events_size#1 ] zp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#31 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ] zp ZP_WORD:70 [ current_piece_gfx#36 current_piece_gfx#112 current_piece_gfx#18 current_piece_gfx#74 current_piece_gfx#20 current_piece_gfx#21 current_piece_gfx#7 ] zp ZP_BYTE:68 [ current_piece_char#30 current_piece_char#10 current_piece_char#16 current_piece_char#5 ] reg byte x [ current_piece_char#68 current_piece_char#106 current_piece_char#107 ] zp ZP_WORD:26 [ current_piece_gfx#64 current_piece_gfx#118 current_piece_gfx#119 ] zp ZP_BYTE:72 [ current_xpos#44 current_xpos#122 current_xpos#19 current_xpos#103 current_xpos#22 current_xpos#26 current_xpos#8 current_xpos#6 ] zp ZP_WORD:43 [ current_piece#17 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ] reg byte x [ render_screen_render#22 render_screen_render#70 ] zp ZP_BYTE:16 [ next_piece_idx#12 next_piece_idx#84 next_piece_idx#85 ] zp ZP_BYTE:15 [ render_screen_render#15 render_screen_render#68 ] zp ZP_BYTE:23 [ current_ypos#13 current_ypos#104 current_ypos#105 ] zp ZP_BYTE:212 [ keyboard_modifiers#5 ] zp ZP_BYTE:218 [ render_screen_showing#1 ] zp ZP_BYTE:231 [ irq_sprite_ypos#3 ] zp ZP_BYTE:232 [ irq_sprite_ptr#3 ] zp ZP_BYTE:233 [ irq_cnt#2 ] zp ZP_BYTE:234 [ irq_sprite_ypos#2 ] zp ZP_BYTE:235 [ irq_sprite_ptr#2 ] zp ZP_BYTE:236 [ irq_sprite_ypos#1 ] zp ZP_BYTE:237 [ irq_sprite_ptr#1 ] zp ZP_WORD:66 [ current_piece#29 current_piece#103 current_piece#10 current_piece#15 current_piece#96 ] zp ZP_BYTE:65 [ level_bcd#32 level_bcd#19 level_bcd#11 level_bcd#17 level_bcd#64 level_bcd#21 level_bcd#8 ] zp ZP_BYTE:69 [ current_orientation#38 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ] zp ZP_BYTE:64 [ current_movedown_slow#38 current_movedown_slow#23 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#69 current_movedown_slow#10 ] zp ZP_BYTE:56 [ current_ypos#39 current_ypos#11 current_ypos#19 current_ypos#6 current_ypos#3 ] zp ZP_BYTE:75 [ game_over#65 game_over#28 game_over#10 game_over#15 game_over#52 ] zp ZP_BYTE:25 [ current_xpos#59 current_xpos#128 current_xpos#129 ] zp ZP_DWORD:59 [ score_bcd#27 score_bcd#16 score_bcd#18 score_bcd#14 score_bcd#30 ] zp ZP_WORD:57 [ lines_bcd#27 lines_bcd#17 lines_bcd#19 lines_bcd#15 lines_bcd#30 ] zp ZP_BYTE:63 [ level#34 level#19 level#10 level#17 level#21 ] zp ZP_BYTE:4 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ] zp ZP_BYTE:118 [ irq_raster_next#4 irq_raster_next#3 irq_raster_next#1 irq_raster_next#2 ] zp ZP_BYTE:91 [ keyboard_modifiers#13 keyboard_modifiers#4 keyboard_modifiers#12 keyboard_modifiers#3 keyboard_modifiers#11 ] zp ZP_BYTE:24 [ render_screen_render#33 render_screen_render#69 ] zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ] zp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ] zp ZP_BYTE:230 [ irq_cnt#1 ] zp ZP_BYTE:119 [ render_screen_showing#0 ] zp ZP_BYTE:120 [ irq_raster_next#0 ] zp ZP_BYTE:121 [ irq_sprite_ypos#0 ] zp ZP_BYTE:122 [ irq_sprite_ptr#0 ] zp ZP_BYTE:123 [ irq_cnt#0 ]
Uplifting [] best 4335660 combination zp ZP_BYTE:94 [ keyboard_events_size#10 keyboard_events_size#29 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#30 keyboard_events_size#2 keyboard_events_size#1 ] zp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#31 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ] zp ZP_WORD:70 [ current_piece_gfx#36 current_piece_gfx#112 current_piece_gfx#18 current_piece_gfx#74 current_piece_gfx#20 current_piece_gfx#21 current_piece_gfx#7 ] zp ZP_BYTE:68 [ current_piece_char#30 current_piece_char#10 current_piece_char#16 current_piece_char#5 ] reg byte x [ current_piece_char#68 current_piece_char#106 current_piece_char#107 ] zp ZP_WORD:26 [ current_piece_gfx#64 current_piece_gfx#118 current_piece_gfx#119 ] zp ZP_BYTE:72 [ current_xpos#44 current_xpos#122 current_xpos#19 current_xpos#103 current_xpos#22 current_xpos#26 current_xpos#8 current_xpos#6 ] zp ZP_WORD:43 [ current_piece#17 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ] reg byte x [ render_screen_render#22 render_screen_render#70 ] zp ZP_BYTE:16 [ next_piece_idx#12 next_piece_idx#84 next_piece_idx#85 ] zp ZP_BYTE:15 [ render_screen_render#15 render_screen_render#68 ] zp ZP_BYTE:23 [ current_ypos#13 current_ypos#104 current_ypos#105 ] zp ZP_BYTE:212 [ keyboard_modifiers#5 ] zp ZP_BYTE:218 [ render_screen_showing#1 ] zp ZP_BYTE:231 [ irq_sprite_ypos#3 ] zp ZP_BYTE:232 [ irq_sprite_ptr#3 ] zp ZP_BYTE:233 [ irq_cnt#2 ] zp ZP_BYTE:234 [ irq_sprite_ypos#2 ] zp ZP_BYTE:235 [ irq_sprite_ptr#2 ] zp ZP_BYTE:236 [ irq_sprite_ypos#1 ] zp ZP_BYTE:237 [ irq_sprite_ptr#1 ] zp ZP_WORD:66 [ current_piece#29 current_piece#103 current_piece#10 current_piece#15 current_piece#96 ] zp ZP_BYTE:65 [ level_bcd#32 level_bcd#19 level_bcd#11 level_bcd#17 level_bcd#64 level_bcd#21 level_bcd#8 ] zp ZP_BYTE:69 [ current_orientation#38 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ] zp ZP_BYTE:64 [ current_movedown_slow#38 current_movedown_slow#23 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#69 current_movedown_slow#10 ] zp ZP_BYTE:56 [ current_ypos#39 current_ypos#11 current_ypos#19 current_ypos#6 current_ypos#3 ] zp ZP_BYTE:75 [ game_over#65 game_over#28 game_over#10 game_over#15 game_over#52 ] zp ZP_BYTE:25 [ current_xpos#59 current_xpos#128 current_xpos#129 ] zp ZP_DWORD:59 [ score_bcd#27 score_bcd#16 score_bcd#18 score_bcd#14 score_bcd#30 ] zp ZP_WORD:57 [ lines_bcd#27 lines_bcd#17 lines_bcd#19 lines_bcd#15 lines_bcd#30 ] zp ZP_BYTE:63 [ level#34 level#19 level#10 level#17 level#21 ] zp ZP_BYTE:4 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ] zp ZP_BYTE:118 [ irq_raster_next#4 irq_raster_next#3 irq_raster_next#1 irq_raster_next#2 ] zp ZP_BYTE:91 [ keyboard_modifiers#13 keyboard_modifiers#4 keyboard_modifiers#12 keyboard_modifiers#3 keyboard_modifiers#11 ] zp ZP_BYTE:24 [ render_screen_render#33 render_screen_render#69 ] zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ] zp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ] zp ZP_BYTE:230 [ irq_cnt#1 ] zp ZP_BYTE:119 [ render_screen_showing#0 ] zp ZP_BYTE:120 [ irq_raster_next#0 ] zp ZP_BYTE:121 [ irq_sprite_ypos#0 ] zp ZP_BYTE:122 [ irq_sprite_ptr#0 ] zp ZP_BYTE:123 [ irq_cnt#0 ]
Limited combination testing to 100 combinations of 191102976 possible.
Uplifting [render_moving] best 4329661 combination zp ZP_BYTE:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ] zp ZP_BYTE:33 [ render_moving::c#2 render_moving::c#1 ] zp ZP_BYTE:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ] reg byte a [ render_moving::current_cell#0 ] zp ZP_BYTE:138 [ render_moving::$2 ] zp ZP_BYTE:30 [ render_moving::l#4 render_moving::l#1 ] zp ZP_WORD:139 [ render_moving::screen_line#0 ] zp ZP_BYTE:29 [ render_moving::ypos2#2 render_moving::ypos2#0 render_moving::ypos2#1 ]
Uplifting [render_moving] best 4329660 combination zp ZP_BYTE:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ] zp ZP_BYTE:33 [ render_moving::c#2 render_moving::c#1 ] zp ZP_BYTE:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ] reg byte a [ render_moving::current_cell#0 ] zp ZP_BYTE:138 [ render_moving::$2 ] zp ZP_BYTE:30 [ render_moving::l#4 render_moving::l#1 ] zp ZP_WORD:139 [ render_moving::screen_line#0 ] zp ZP_BYTE:29 [ render_moving::ypos2#2 render_moving::ypos2#0 render_moving::ypos2#1 ]
Limited combination testing to 100 combinations of 3888 possible.
Uplifting [render_next] best 4314657 combination zp ZP_WORD:18 [ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#1 render_next::next_piece_gfx#9 ] reg byte x [ render_next::c#2 render_next::c#1 ] zp ZP_WORD:20 [ render_next::screen_next_area#5 render_next::screen_next_area#10 render_next::screen_next_area#4 render_next::screen_next_area#11 render_next::screen_next_area#3 ] reg byte a [ render_next::cell#0 ] zp ZP_BYTE:17 [ render_next::l#7 render_next::l#1 ] zp ZP_BYTE:136 [ render_next::next_piece_char#0 ] reg byte x [ render_next::$6 ]
Uplifting [render_next] best 4314656 combination zp ZP_WORD:18 [ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#1 render_next::next_piece_gfx#9 ] reg byte x [ render_next::c#2 render_next::c#1 ] zp ZP_WORD:20 [ render_next::screen_next_area#5 render_next::screen_next_area#10 render_next::screen_next_area#4 render_next::screen_next_area#11 render_next::screen_next_area#3 ] reg byte a [ render_next::cell#0 ] zp ZP_BYTE:17 [ render_next::l#7 render_next::l#1 ] zp ZP_BYTE:136 [ render_next::next_piece_char#0 ] reg byte x [ render_next::$6 ]
Limited combination testing to 100 combinations of 128 possible.
Uplifting [play_increase_level] best 4300651 combination reg byte a [ play_increase_level::b4#0 ] reg byte x [ play_increase_level::b#2 play_increase_level::b#1 ] reg byte a [ play_increase_level::$1 ]
Uplifting [render_playfield] best 4300051 combination zp ZP_WORD:37 [ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ] zp ZP_BYTE:39 [ render_playfield::c#2 render_playfield::c#1 ] zp ZP_BYTE:36 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ] reg byte a [ render_playfield::$2 ] reg byte a [ render_playfield::$3 ] zp ZP_BYTE:35 [ render_playfield::l#2 render_playfield::l#1 ]
Uplifting [play_increase_level] best 4300650 combination reg byte a [ play_increase_level::b4#0 ] reg byte x [ play_increase_level::b#2 play_increase_level::b#1 ] reg byte a [ play_increase_level::$1 ]
Uplifting [render_playfield] best 4300050 combination zp ZP_WORD:37 [ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ] zp ZP_BYTE:39 [ render_playfield::c#2 render_playfield::c#1 ] zp ZP_BYTE:36 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ] reg byte a [ render_playfield::$2 ] reg byte a [ render_playfield::$3 ] zp ZP_BYTE:35 [ render_playfield::l#2 render_playfield::l#1 ]
Limited combination testing to 100 combinations of 128 possible.
Uplifting [keyboard_matrix_read] best 4288045 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#0 ]
Uplifting [sid_rnd] best 4279042 combination reg byte a [ sid_rnd::return#2 ] reg byte a [ sid_rnd::return#0 ]
Uplifting [render_screen_original] best 4276942 combination zp ZP_WORD:113 [ render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ] reg byte x [ render_screen_original::x#6 render_screen_original::x#5 render_screen_original::x#4 render_screen_original::x#1 render_screen_original::x#2 render_screen_original::x#3 ] zp ZP_WORD:115 [ render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 ] zp ZP_WORD:109 [ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ] zp ZP_WORD:111 [ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ] zp ZP_BYTE:108 [ render_screen_original::y#6 render_screen_original::y#1 ]
Uplifting [play_spawn_current] best 4270923 combination reg byte a [ play_spawn_current::$6 ] reg byte a [ play_spawn_current::$2 ] reg byte x [ play_spawn_current::current_piece_idx#0 ] zp ZP_BYTE:176 [ play_spawn_current::$0 ]
Uplifting [main] best 4269723 combination reg byte a [ main::render#1 ] reg byte x [ main::key_event#0 ]
Uplifting [play_movement] best 4269117 combination reg byte a [ play_movement::return#3 ] zp ZP_BYTE:40 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] zp ZP_BYTE:126 [ play_movement::key_event#0 ] reg byte a [ play_movement::$0 ] zp ZP_BYTE:149 [ play_movement::$3 ] zp ZP_BYTE:153 [ play_movement::$4 ] zp ZP_BYTE:150 [ play_movement::render#2 ]
Uplifting [keyboard_matrix_read] best 4288044 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#0 ]
Uplifting [sid_rnd] best 4279041 combination reg byte a [ sid_rnd::return#2 ] reg byte a [ sid_rnd::return#0 ]
Uplifting [render_screen_original] best 4276941 combination zp ZP_WORD:113 [ render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ] reg byte x [ render_screen_original::x#6 render_screen_original::x#5 render_screen_original::x#4 render_screen_original::x#1 render_screen_original::x#2 render_screen_original::x#3 ] zp ZP_WORD:115 [ render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 ] zp ZP_WORD:109 [ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ] zp ZP_WORD:111 [ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ] zp ZP_BYTE:108 [ render_screen_original::y#6 render_screen_original::y#1 ]
Uplifting [play_spawn_current] best 4270922 combination reg byte a [ play_spawn_current::$6 ] reg byte a [ play_spawn_current::$2 ] reg byte x [ play_spawn_current::current_piece_idx#0 ] zp ZP_BYTE:176 [ play_spawn_current::$0 ]
Uplifting [main] best 4269722 combination reg byte a [ main::render#1 ] reg byte x [ main::key_event#0 ]
Uplifting [play_movement] best 4269116 combination reg byte a [ play_movement::return#3 ] zp ZP_BYTE:40 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] zp ZP_BYTE:126 [ play_movement::key_event#0 ] reg byte a [ play_movement::$0 ] zp ZP_BYTE:149 [ play_movement::$3 ] zp ZP_BYTE:153 [ play_movement::$4 ] zp ZP_BYTE:150 [ play_movement::render#2 ]
Limited combination testing to 100 combinations of 6912 possible.
Uplifting [keyboard_event_get] best 4268211 combination reg byte x [ keyboard_event_get::return#3 ] reg byte x [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
Uplifting [play_init] best 4267901 combination reg byte a [ play_init::b4#0 ] reg byte x [ play_init::b#2 play_init::b#1 ] reg byte x [ play_init::j#2 play_init::j#1 ] reg byte a [ play_init::$1 ] zp ZP_BYTE:99 [ play_init::idx#2 play_init::idx#1 ] zp ZP_WORD:97 [ play_init::pli#2 play_init::pli#1 ]
Uplifting [keyboard_event_get] best 4268210 combination reg byte x [ keyboard_event_get::return#3 ] reg byte x [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
Uplifting [play_init] best 4267900 combination reg byte a [ play_init::b4#0 ] reg byte x [ play_init::b#2 play_init::b#1 ] reg byte x [ play_init::j#2 play_init::j#1 ] reg byte a [ play_init::$1 ] zp ZP_BYTE:99 [ play_init::idx#2 play_init::idx#1 ] zp ZP_WORD:97 [ play_init::pli#2 play_init::pli#1 ]
Limited combination testing to 100 combinations of 432 possible.
Uplifting [render_bcd] best 4267867 combination zp ZP_WORD:7 [ render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 ] reg byte x [ render_bcd::bcd#6 render_bcd::bcd#0 render_bcd::bcd#1 render_bcd::bcd#2 render_bcd::bcd#3 render_bcd::bcd#4 render_bcd::bcd#5 ] zp ZP_WORD:133 [ render_bcd::screen_pos#1 ] zp ZP_WORD:13 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] reg byte a [ render_bcd::$3 ] reg byte a [ render_bcd::$4 ] reg byte a [ render_bcd::$5 ] zp ZP_BYTE:132 [ render_bcd::$6 ] zp ZP_WORD:9 [ render_bcd::offset#6 ] zp ZP_BYTE:11 [ render_bcd::only_low#6 ]
Uplifting [render_bcd] best 4267866 combination zp ZP_WORD:7 [ render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 ] reg byte x [ render_bcd::bcd#6 render_bcd::bcd#0 render_bcd::bcd#1 render_bcd::bcd#2 render_bcd::bcd#3 render_bcd::bcd#4 render_bcd::bcd#5 ] zp ZP_WORD:133 [ render_bcd::screen_pos#1 ] zp ZP_WORD:13 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] reg byte a [ render_bcd::$3 ] reg byte a [ render_bcd::$4 ] reg byte a [ render_bcd::$5 ] zp ZP_BYTE:132 [ render_bcd::$6 ] zp ZP_WORD:9 [ render_bcd::offset#6 ] zp ZP_BYTE:11 [ render_bcd::only_low#6 ]
Limited combination testing to 100 combinations of 1536 possible.
Uplifting [render_init] best 4267677 combination reg byte x [ render_init::i#2 render_init::i#1 ] reg byte a [ render_init::$13 ] reg byte a [ render_init::$14 ] zp ZP_WORD:106 [ render_init::li_2#2 render_init::li_2#1 ] zp ZP_WORD:104 [ render_init::li_1#2 render_init::li_1#1 ]
Uplifting [sprites_init] best 4267507 combination reg byte x [ sprites_init::s#2 sprites_init::s#1 ] reg byte a [ sprites_init::s2#0 ] zp ZP_BYTE:102 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
Uplifting [play_move_down] best 4267474 combination reg byte x [ play_move_down::movedown#6 play_move_down::movedown#3 play_move_down::movedown#7 play_move_down::movedown#2 play_move_down::movedown#10 ] reg byte a [ play_move_down::return#0 ] reg byte a [ play_move_down::$2 ] reg byte a [ play_move_down::$12 ] zp ZP_BYTE:173 [ play_move_down::removed#0 ] zp ZP_BYTE:144 [ play_move_down::key_event#0 ] zp ZP_BYTE:73 [ play_move_down::return#3 ]
Uplifting [render_init] best 4267676 combination reg byte x [ render_init::i#2 render_init::i#1 ] reg byte a [ render_init::$13 ] reg byte a [ render_init::$14 ] zp ZP_WORD:106 [ render_init::li_2#2 render_init::li_2#1 ] zp ZP_WORD:104 [ render_init::li_1#2 render_init::li_1#1 ]
Uplifting [sprites_init] best 4267506 combination reg byte x [ sprites_init::s#2 sprites_init::s#1 ] reg byte a [ sprites_init::s2#0 ] zp ZP_BYTE:102 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
Uplifting [play_move_down] best 4267473 combination reg byte x [ play_move_down::movedown#6 play_move_down::movedown#3 play_move_down::movedown#7 play_move_down::movedown#2 play_move_down::movedown#10 ] reg byte a [ play_move_down::return#0 ] reg byte a [ play_move_down::$2 ] reg byte a [ play_move_down::$12 ] zp ZP_BYTE:173 [ play_move_down::removed#0 ] zp ZP_BYTE:144 [ play_move_down::key_event#0 ] zp ZP_BYTE:73 [ play_move_down::return#3 ]
Limited combination testing to 100 combinations of 12288 possible.
Uplifting [keyboard_event_pressed] best 4267454 combination reg byte a [ keyboard_event_pressed::return#12 ] reg byte a [ keyboard_event_pressed::$0 ] reg byte a [ keyboard_event_pressed::$1 ] reg byte a [ keyboard_event_pressed::return#0 ] zp ZP_BYTE:206 [ keyboard_event_pressed::return#1 ] zp ZP_BYTE:208 [ keyboard_event_pressed::return#2 ] zp ZP_BYTE:210 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:198 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:200 [ keyboard_event_pressed::return#11 ] zp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
Uplifting [keyboard_event_pressed] best 4267453 combination reg byte a [ keyboard_event_pressed::return#12 ] reg byte a [ keyboard_event_pressed::$0 ] reg byte a [ keyboard_event_pressed::$1 ] reg byte a [ keyboard_event_pressed::return#0 ] zp ZP_BYTE:206 [ keyboard_event_pressed::return#1 ] zp ZP_BYTE:208 [ keyboard_event_pressed::return#2 ] zp ZP_BYTE:210 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:198 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:200 [ keyboard_event_pressed::return#11 ] zp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
Limited combination testing to 100 combinations of 589824 possible.
Uplifting [sprites_irq] best 4267430 combination zp ZP_BYTE:226 [ sprites_irq::raster_sprite_gfx_modify#0 ] reg byte x [ sprites_irq::$0 ] reg byte a [ sprites_irq::ptr#4 ] reg byte a [ sprites_irq::ptr#2 ] reg byte a [ sprites_irq::ptr#3 ] zp ZP_BYTE:238 [ sprites_irq::ptr#1 ] zp ZP_BYTE:224 [ sprites_irq::ypos#0 ] zp ZP_BYTE:227 [ sprites_irq::ptr#0 ]
Uplifting [sprites_irq] best 4267429 combination zp ZP_BYTE:226 [ sprites_irq::raster_sprite_gfx_modify#0 ] reg byte x [ sprites_irq::$0 ] reg byte a [ sprites_irq::ptr#4 ] reg byte a [ sprites_irq::ptr#2 ] reg byte a [ sprites_irq::ptr#3 ] zp ZP_BYTE:238 [ sprites_irq::ptr#1 ] zp ZP_BYTE:224 [ sprites_irq::ypos#0 ] zp ZP_BYTE:227 [ sprites_irq::ptr#0 ]
Limited combination testing to 100 combinations of 12288 possible.
Uplifting [play_move_rotate] best 4267412 combination zp ZP_BYTE:42 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ] reg byte a [ play_move_rotate::return#0 ] reg byte a [ play_move_rotate::$2 ] reg byte a [ play_move_rotate::$6 ] zp ZP_BYTE:157 [ play_move_rotate::$4 ] zp ZP_BYTE:151 [ play_move_rotate::key_event#0 ] zp ZP_BYTE:41 [ play_move_rotate::return#2 ]
Uplifting [play_move_rotate] best 4267411 combination zp ZP_BYTE:42 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ] reg byte a [ play_move_rotate::return#0 ] reg byte a [ play_move_rotate::$2 ] reg byte a [ play_move_rotate::$6 ] zp ZP_BYTE:157 [ play_move_rotate::$4 ] zp ZP_BYTE:151 [ play_move_rotate::key_event#0 ] zp ZP_BYTE:41 [ play_move_rotate::return#2 ]
Limited combination testing to 100 combinations of 12288 possible.
Uplifting [play_update_score] best 4267390 combination reg byte a [ play_update_score::$2 ] reg byte a [ play_update_score::$4 ] reg byte a [ play_update_score::$5 ] reg byte a [ play_update_score::lines_after#0 ] zp ZP_DWORD:185 [ play_update_score::add_bcd#0 ] zp ZP_BYTE:174 [ play_update_score::removed#0 ] zp ZP_BYTE:183 [ play_update_score::lines_before#0 ]
Uplifting [play_update_score] best 4267389 combination reg byte a [ play_update_score::$2 ] reg byte a [ play_update_score::$4 ] reg byte a [ play_update_score::$5 ] reg byte a [ play_update_score::lines_after#0 ] zp ZP_DWORD:185 [ play_update_score::add_bcd#0 ] zp ZP_BYTE:174 [ play_update_score::removed#0 ] zp ZP_BYTE:183 [ play_update_score::lines_before#0 ]
Limited combination testing to 100 combinations of 2304 possible.
Uplifting [play_move_leftright] best 4267363 combination reg byte a [ play_move_leftright::return#0 ] reg byte a [ play_move_leftright::$4 ] reg byte a [ play_move_leftright::$8 ] reg byte a [ play_move_leftright::key_event#0 ] zp ZP_BYTE:54 [ play_move_leftright::return#2 ]
Uplifting [play_move_leftright] best 4267362 combination reg byte a [ play_move_leftright::return#0 ] reg byte a [ play_move_leftright::$4 ] reg byte a [ play_move_leftright::$8 ] reg byte a [ play_move_leftright::key_event#0 ] zp ZP_BYTE:54 [ play_move_leftright::return#2 ]
Limited combination testing to 100 combinations of 1024 possible.
Uplifting [render_show] best 4267354 combination reg byte a [ render_show::d018val#3 ]
Uplifting [render_score] best 4267354 combination zp ZP_WORD:5 [ render_score::screen#3 ]
Uplifting [sid_rnd_init] best 4267354 combination
Uplifting [render_screen_swap] best 4267354 combination
Uplifting [sprites_irq_init] best 4267354 combination
Uplifting [render_show] best 4267353 combination reg byte a [ render_show::d018val#3 ]
Uplifting [render_score] best 4267353 combination zp ZP_WORD:5 [ render_score::screen#3 ]
Uplifting [sid_rnd_init] best 4267353 combination
Uplifting [render_screen_swap] best 4267353 combination
Uplifting [sprites_irq_init] best 4267353 combination
Attempting to uplift remaining variables inzp ZP_BYTE:94 [ keyboard_events_size#10 keyboard_events_size#29 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#30 keyboard_events_size#2 keyboard_events_size#1 ]
Uplifting [] best 4267354 combination zp ZP_BYTE:94 [ keyboard_events_size#10 keyboard_events_size#29 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#30 keyboard_events_size#2 keyboard_events_size#1 ]
Uplifting [] best 4267353 combination zp ZP_BYTE:94 [ keyboard_events_size#10 keyboard_events_size#29 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#30 keyboard_events_size#2 keyboard_events_size#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ]
Uplifting [play_collision] best 4267354 combination zp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ]
Uplifting [play_collision] best 4267353 combination zp ZP_BYTE:50 [ play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ]
Attempting to uplift remaining variables inzp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
Uplifting [play_lock_current] best 4267354 combination zp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
Uplifting [play_lock_current] best 4267353 combination zp ZP_BYTE:85 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
Attempting to uplift remaining variables inzp ZP_BYTE:92 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
Uplifting [keyboard_event_scan] best 4117354 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
Uplifting [keyboard_event_scan] best 4117353 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ]
Uplifting [play_remove_lines] best 4117354 combination zp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ]
Uplifting [play_remove_lines] best 4117353 combination zp ZP_BYTE:80 [ play_remove_lines::x#2 play_remove_lines::x#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:86 [ play_lock_current::col#2 play_lock_current::col#0 play_lock_current::col#1 ]
Uplifting [play_lock_current] best 4117354 combination zp ZP_BYTE:86 [ play_lock_current::col#2 play_lock_current::col#0 play_lock_current::col#1 ]
Uplifting [play_lock_current] best 4117353 combination zp ZP_BYTE:86 [ play_lock_current::col#2 play_lock_current::col#0 play_lock_current::col#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:51 [ play_collision::col#2 play_collision::col#9 play_collision::col#1 ]
Uplifting [play_collision] best 4117354 combination zp ZP_BYTE:51 [ play_collision::col#2 play_collision::col#9 play_collision::col#1 ]
Uplifting [play_collision] best 4117353 combination zp ZP_BYTE:51 [ play_collision::col#2 play_collision::col#9 play_collision::col#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:93 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 ]
Uplifting [keyboard_event_scan] best 4117354 combination zp ZP_BYTE:93 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 ]
Uplifting [keyboard_event_scan] best 4117353 combination zp ZP_BYTE:93 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 ]
Attempting to uplift remaining variables inzp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ]
Uplifting [play_remove_lines] best 4117354 combination zp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ]
Uplifting [play_remove_lines] best 4117353 combination zp ZP_BYTE:81 [ play_remove_lines::full#4 play_remove_lines::full#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:193 [ play_remove_lines::c#0 ]
Uplifting [play_remove_lines] best 4117354 combination zp ZP_BYTE:193 [ play_remove_lines::c#0 ]
Uplifting [play_remove_lines] best 4117353 combination zp ZP_BYTE:193 [ play_remove_lines::c#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
Uplifting [render_moving] best 4117354 combination zp ZP_BYTE:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
Uplifting [render_moving] best 4117353 combination zp ZP_BYTE:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
Uplifting [play_remove_lines] best 4117354 combination zp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
Uplifting [play_remove_lines] best 4117353 combination zp ZP_BYTE:78 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:196 [ play_lock_current::i#1 ]
Uplifting [play_lock_current] best 4117354 combination zp ZP_BYTE:196 [ play_lock_current::i#1 ]
Uplifting [play_lock_current] best 4117353 combination zp ZP_BYTE:196 [ play_lock_current::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#31 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ]
Uplifting [] best 4117354 combination zp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#31 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ]
Uplifting [] best 4117353 combination zp ZP_BYTE:74 [ next_piece_idx#17 next_piece_idx#31 next_piece_idx#10 next_piece_idx#16 play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
Uplifting [keyboard_event_scan] best 4117354 combination zp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
Uplifting [keyboard_event_scan] best 4117353 combination zp ZP_BYTE:90 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:39 [ render_playfield::c#2 render_playfield::c#1 ]
Uplifting [render_playfield] best 4117354 combination zp ZP_BYTE:39 [ render_playfield::c#2 render_playfield::c#1 ]
Uplifting [render_playfield] best 4117353 combination zp ZP_BYTE:39 [ render_playfield::c#2 render_playfield::c#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:33 [ render_moving::c#2 render_moving::c#1 ]
Uplifting [render_moving] best 4117354 combination zp ZP_BYTE:33 [ render_moving::c#2 render_moving::c#1 ]
Uplifting [render_moving] best 4117353 combination zp ZP_BYTE:33 [ render_moving::c#2 render_moving::c#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
Uplifting [play_remove_lines] best 4117354 combination zp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
Uplifting [play_remove_lines] best 4117353 combination zp ZP_BYTE:77 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:162 [ play_collision::i#1 ]
Uplifting [play_collision] best 4117354 combination zp ZP_BYTE:162 [ play_collision::i#1 ]
Uplifting [play_collision] best 4117353 combination zp ZP_BYTE:162 [ play_collision::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:36 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
Uplifting [render_playfield] best 4117354 combination zp ZP_BYTE:36 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
Uplifting [render_playfield] best 4117353 combination zp ZP_BYTE:36 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
Uplifting [render_moving] best 4117354 combination zp ZP_BYTE:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
Uplifting [render_moving] best 4117353 combination zp ZP_BYTE:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:48 [ play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 ]
Uplifting [play_collision] best 4117354 combination zp ZP_BYTE:48 [ play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 ]
Uplifting [play_collision] best 4117353 combination zp ZP_BYTE:48 [ play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:203 [ keyboard_event_scan::row_scan#0 ]
Uplifting [keyboard_event_scan] best 4117354 combination zp ZP_BYTE:203 [ keyboard_event_scan::row_scan#0 ]
Uplifting [keyboard_event_scan] best 4117353 combination zp ZP_BYTE:203 [ keyboard_event_scan::row_scan#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ]
Uplifting [play_lock_current] best 4117354 combination zp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ]
Uplifting [play_lock_current] best 4117353 combination zp ZP_BYTE:84 [ play_lock_current::l#6 play_lock_current::l#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ]
Uplifting [play_collision] best 4117354 combination zp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ]
Uplifting [play_collision] best 4117353 combination zp ZP_BYTE:49 [ play_collision::l#6 play_collision::l#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:83 [ play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 ]
Uplifting [play_lock_current] best 4117354 combination zp ZP_BYTE:83 [ play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 ]
Uplifting [play_lock_current] best 4117353 combination zp ZP_BYTE:83 [ play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:138 [ render_moving::$2 ]
Uplifting [render_moving] best 4116954 combination reg byte a [ render_moving::$2 ]
Uplifting [render_moving] best 4116953 combination reg byte a [ render_moving::$2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:68 [ current_piece_char#30 current_piece_char#10 current_piece_char#16 current_piece_char#5 ]
Uplifting [] best 4116954 combination zp ZP_BYTE:68 [ current_piece_char#30 current_piece_char#10 current_piece_char#16 current_piece_char#5 ]
Uplifting [] best 4116953 combination zp ZP_BYTE:68 [ current_piece_char#30 current_piece_char#10 current_piece_char#16 current_piece_char#5 ]
Attempting to uplift remaining variables inzp ZP_BYTE:35 [ render_playfield::l#2 render_playfield::l#1 ]
Uplifting [render_playfield] best 4116954 combination zp ZP_BYTE:35 [ render_playfield::l#2 render_playfield::l#1 ]
Uplifting [render_playfield] best 4116953 combination zp ZP_BYTE:35 [ render_playfield::l#2 render_playfield::l#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:17 [ render_next::l#7 render_next::l#1 ]
Uplifting [render_next] best 4116954 combination zp ZP_BYTE:17 [ render_next::l#7 render_next::l#1 ]
Uplifting [render_next] best 4116953 combination zp ZP_BYTE:17 [ render_next::l#7 render_next::l#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:30 [ render_moving::l#4 render_moving::l#1 ]
Uplifting [render_moving] best 4116954 combination zp ZP_BYTE:30 [ render_moving::l#4 render_moving::l#1 ]
Uplifting [render_moving] best 4116953 combination zp ZP_BYTE:30 [ render_moving::l#4 render_moving::l#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:29 [ render_moving::ypos2#2 render_moving::ypos2#0 render_moving::ypos2#1 ]
Uplifting [render_moving] best 4116954 combination zp ZP_BYTE:29 [ render_moving::ypos2#2 render_moving::ypos2#0 render_moving::ypos2#1 ]
Uplifting [render_moving] best 4116953 combination zp ZP_BYTE:29 [ render_moving::ypos2#2 render_moving::ypos2#0 render_moving::ypos2#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:136 [ render_next::next_piece_char#0 ]
Uplifting [render_next] best 4116954 combination zp ZP_BYTE:136 [ render_next::next_piece_char#0 ]
Uplifting [render_next] best 4116953 combination zp ZP_BYTE:136 [ render_next::next_piece_char#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
Uplifting [play_collision] best 4116954 combination zp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
Uplifting [play_collision] best 4116953 combination zp ZP_BYTE:47 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
Attempting to uplift remaining variables inzp ZP_BYTE:72 [ current_xpos#44 current_xpos#122 current_xpos#19 current_xpos#103 current_xpos#22 current_xpos#26 current_xpos#8 current_xpos#6 ]
Uplifting [] best 4116954 combination zp ZP_BYTE:72 [ current_xpos#44 current_xpos#122 current_xpos#19 current_xpos#103 current_xpos#22 current_xpos#26 current_xpos#8 current_xpos#6 ]
Uplifting [] best 4116953 combination zp ZP_BYTE:72 [ current_xpos#44 current_xpos#122 current_xpos#19 current_xpos#103 current_xpos#22 current_xpos#26 current_xpos#8 current_xpos#6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:40 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
Uplifting [play_movement] best 4116954 combination zp ZP_BYTE:40 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
Uplifting [play_movement] best 4116953 combination zp ZP_BYTE:40 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:16 [ next_piece_idx#12 next_piece_idx#84 next_piece_idx#85 ]
Uplifting [] best 4116917 combination reg byte y [ next_piece_idx#12 next_piece_idx#84 next_piece_idx#85 ]
Uplifting [] best 4116916 combination reg byte y [ next_piece_idx#12 next_piece_idx#84 next_piece_idx#85 ]
Attempting to uplift remaining variables inzp ZP_BYTE:15 [ render_screen_render#15 render_screen_render#68 ]
Uplifting [] best 4116881 combination reg byte a [ render_screen_render#15 render_screen_render#68 ]
Uplifting [] best 4116880 combination reg byte a [ render_screen_render#15 render_screen_render#68 ]
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ current_ypos#13 current_ypos#104 current_ypos#105 ]
Uplifting [] best 4116847 combination reg byte y [ current_ypos#13 current_ypos#104 current_ypos#105 ]
Uplifting [] best 4116846 combination reg byte y [ current_ypos#13 current_ypos#104 current_ypos#105 ]
Attempting to uplift remaining variables inzp ZP_BYTE:212 [ keyboard_modifiers#5 ]
Uplifting [] best 4116844 combination reg byte a [ keyboard_modifiers#5 ]
Uplifting [] best 4116843 combination reg byte a [ keyboard_modifiers#5 ]
Attempting to uplift remaining variables inzp ZP_BYTE:218 [ render_screen_showing#1 ]
Uplifting [] best 4116844 combination zp ZP_BYTE:218 [ render_screen_showing#1 ]
Uplifting [] best 4116843 combination zp ZP_BYTE:218 [ render_screen_showing#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:231 [ irq_sprite_ypos#3 ]
Uplifting [] best 4116844 combination zp ZP_BYTE:231 [ irq_sprite_ypos#3 ]
Uplifting [] best 4116843 combination zp ZP_BYTE:231 [ irq_sprite_ypos#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:232 [ irq_sprite_ptr#3 ]
Uplifting [] best 4116844 combination zp ZP_BYTE:232 [ irq_sprite_ptr#3 ]
Uplifting [] best 4116843 combination zp ZP_BYTE:232 [ irq_sprite_ptr#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:233 [ irq_cnt#2 ]
Uplifting [] best 4116844 combination zp ZP_BYTE:233 [ irq_cnt#2 ]
Uplifting [] best 4116843 combination zp ZP_BYTE:233 [ irq_cnt#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:234 [ irq_sprite_ypos#2 ]
Uplifting [] best 4116844 combination zp ZP_BYTE:234 [ irq_sprite_ypos#2 ]
Uplifting [] best 4116843 combination zp ZP_BYTE:234 [ irq_sprite_ypos#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:235 [ irq_sprite_ptr#2 ]
Uplifting [] best 4116844 combination zp ZP_BYTE:235 [ irq_sprite_ptr#2 ]
Uplifting [] best 4116843 combination zp ZP_BYTE:235 [ irq_sprite_ptr#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:236 [ irq_sprite_ypos#1 ]
Uplifting [] best 4116844 combination zp ZP_BYTE:236 [ irq_sprite_ypos#1 ]
Uplifting [] best 4116843 combination zp ZP_BYTE:236 [ irq_sprite_ypos#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:237 [ irq_sprite_ptr#1 ]
Uplifting [] best 4116844 combination zp ZP_BYTE:237 [ irq_sprite_ptr#1 ]
Uplifting [] best 4116843 combination zp ZP_BYTE:237 [ irq_sprite_ptr#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:65 [ level_bcd#32 level_bcd#19 level_bcd#11 level_bcd#17 level_bcd#64 level_bcd#21 level_bcd#8 ]
Uplifting [] best 4116844 combination zp ZP_BYTE:65 [ level_bcd#32 level_bcd#19 level_bcd#11 level_bcd#17 level_bcd#64 level_bcd#21 level_bcd#8 ]
Uplifting [] best 4116843 combination zp ZP_BYTE:65 [ level_bcd#32 level_bcd#19 level_bcd#11 level_bcd#17 level_bcd#64 level_bcd#21 level_bcd#8 ]
Attempting to uplift remaining variables inzp ZP_BYTE:45 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
Uplifting [play_collision] best 4116828 combination reg byte x [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
Uplifting [play_collision] best 4116827 combination reg byte x [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:108 [ render_screen_original::y#6 render_screen_original::y#1 ]
Uplifting [render_screen_original] best 4116828 combination zp ZP_BYTE:108 [ render_screen_original::y#6 render_screen_original::y#1 ]
Uplifting [render_screen_original] best 4116827 combination zp ZP_BYTE:108 [ render_screen_original::y#6 render_screen_original::y#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:69 [ current_orientation#38 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ]
Uplifting [] best 4116828 combination zp ZP_BYTE:69 [ current_orientation#38 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ]
Uplifting [] best 4116827 combination zp ZP_BYTE:69 [ current_orientation#38 current_orientation#13 current_orientation#17 current_orientation#20 current_orientation#25 current_orientation#7 ]
Attempting to uplift remaining variables inzp ZP_BYTE:64 [ current_movedown_slow#38 current_movedown_slow#23 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#69 current_movedown_slow#10 ]
Uplifting [] best 4116828 combination zp ZP_BYTE:64 [ current_movedown_slow#38 current_movedown_slow#23 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#69 current_movedown_slow#10 ]
Uplifting [] best 4116827 combination zp ZP_BYTE:64 [ current_movedown_slow#38 current_movedown_slow#23 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#69 current_movedown_slow#10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:102 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
Uplifting [sprites_init] best 4116828 combination zp ZP_BYTE:102 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
Uplifting [sprites_init] best 4116827 combination zp ZP_BYTE:102 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:56 [ current_ypos#39 current_ypos#11 current_ypos#19 current_ypos#6 current_ypos#3 ]
Uplifting [] best 4116828 combination zp ZP_BYTE:56 [ current_ypos#39 current_ypos#11 current_ypos#19 current_ypos#6 current_ypos#3 ]
Uplifting [] best 4116827 combination zp ZP_BYTE:56 [ current_ypos#39 current_ypos#11 current_ypos#19 current_ypos#6 current_ypos#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:75 [ game_over#65 game_over#28 game_over#10 game_over#15 game_over#52 ]
Uplifting [] best 4116828 combination zp ZP_BYTE:75 [ game_over#65 game_over#28 game_over#10 game_over#15 game_over#52 ]
Uplifting [] best 4116827 combination zp ZP_BYTE:75 [ game_over#65 game_over#28 game_over#10 game_over#15 game_over#52 ]
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ current_xpos#59 current_xpos#128 current_xpos#129 ]
Uplifting [] best 4116828 combination zp ZP_BYTE:25 [ current_xpos#59 current_xpos#128 current_xpos#129 ]
Uplifting [] best 4116827 combination zp ZP_BYTE:25 [ current_xpos#59 current_xpos#128 current_xpos#129 ]
Attempting to uplift remaining variables inzp ZP_BYTE:99 [ play_init::idx#2 play_init::idx#1 ]
Uplifting [play_init] best 4116828 combination zp ZP_BYTE:99 [ play_init::idx#2 play_init::idx#1 ]
Uplifting [play_init] best 4116827 combination zp ZP_BYTE:99 [ play_init::idx#2 play_init::idx#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:46 [ play_collision::ypos#5 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 ]
Uplifting [play_collision] best 4116828 combination zp ZP_BYTE:46 [ play_collision::ypos#5 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 ]
Uplifting [play_collision] best 4116827 combination zp ZP_BYTE:46 [ play_collision::ypos#5 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 ]
Attempting to uplift remaining variables inzp ZP_BYTE:63 [ level#34 level#19 level#10 level#17 level#21 ]
Uplifting [] best 4116828 combination zp ZP_BYTE:63 [ level#34 level#19 level#10 level#17 level#21 ]
Uplifting [] best 4116827 combination zp ZP_BYTE:63 [ level#34 level#19 level#10 level#17 level#21 ]
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ]
Uplifting [] best 4116828 combination zp ZP_BYTE:4 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ]
Uplifting [] best 4116827 combination zp ZP_BYTE:4 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 ]
Attempting to uplift remaining variables inzp ZP_BYTE:118 [ irq_raster_next#4 irq_raster_next#3 irq_raster_next#1 irq_raster_next#2 ]
Uplifting [] best 4116828 combination zp ZP_BYTE:118 [ irq_raster_next#4 irq_raster_next#3 irq_raster_next#1 irq_raster_next#2 ]
Uplifting [] best 4116827 combination zp ZP_BYTE:118 [ irq_raster_next#4 irq_raster_next#3 irq_raster_next#1 irq_raster_next#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:91 [ keyboard_modifiers#13 keyboard_modifiers#4 keyboard_modifiers#12 keyboard_modifiers#3 keyboard_modifiers#11 ]
Uplifting [] best 4116817 combination reg byte x [ keyboard_modifiers#13 keyboard_modifiers#4 keyboard_modifiers#12 keyboard_modifiers#3 keyboard_modifiers#11 ]
Uplifting [] best 4116816 combination reg byte x [ keyboard_modifiers#13 keyboard_modifiers#4 keyboard_modifiers#12 keyboard_modifiers#3 keyboard_modifiers#11 ]
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ render_screen_render#33 render_screen_render#69 ]
Uplifting [] best 4116817 combination zp ZP_BYTE:24 [ render_screen_render#33 render_screen_render#69 ]
Uplifting [] best 4116816 combination zp ZP_BYTE:24 [ render_screen_render#33 render_screen_render#69 ]
Attempting to uplift remaining variables inzp ZP_BYTE:126 [ play_movement::key_event#0 ]
Uplifting [play_movement] best 4116817 combination zp ZP_BYTE:126 [ play_movement::key_event#0 ]
Uplifting [play_movement] best 4116816 combination zp ZP_BYTE:126 [ play_movement::key_event#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:42 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
Uplifting [play_move_rotate] best 4116817 combination zp ZP_BYTE:42 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
Uplifting [play_move_rotate] best 4116816 combination zp ZP_BYTE:42 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:226 [ sprites_irq::raster_sprite_gfx_modify#0 ]
Uplifting [sprites_irq] best 4116817 combination zp ZP_BYTE:226 [ sprites_irq::raster_sprite_gfx_modify#0 ]
Uplifting [sprites_irq] best 4116816 combination zp ZP_BYTE:226 [ sprites_irq::raster_sprite_gfx_modify#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ]
Uplifting [] best 4116817 combination zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ]
Uplifting [] best 4116816 combination zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 ]
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ]
Uplifting [] best 4116817 combination zp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ]
Uplifting [] best 4116816 combination zp ZP_BYTE:3 [ render_screen_render#18 render_screen_render#11 ]
Attempting to uplift remaining variables inzp ZP_BYTE:132 [ render_bcd::$6 ]
Uplifting [render_bcd] best 4116811 combination reg byte a [ render_bcd::$6 ]
Uplifting [render_bcd] best 4116810 combination reg byte a [ render_bcd::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:149 [ play_movement::$3 ]
Uplifting [play_movement] best 4116805 combination reg byte a [ play_movement::$3 ]
Uplifting [play_movement] best 4116804 combination reg byte a [ play_movement::$3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:153 [ play_movement::$4 ]
Uplifting [play_movement] best 4116799 combination reg byte a [ play_movement::$4 ]
Uplifting [play_movement] best 4116798 combination reg byte a [ play_movement::$4 ]
Attempting to uplift remaining variables inzp ZP_BYTE:155 [ play_collision::return#14 ]
Uplifting [play_collision] best 4116793 combination reg byte a [ play_collision::return#14 ]
Uplifting [play_collision] best 4116792 combination reg byte a [ play_collision::return#14 ]
Attempting to uplift remaining variables inzp ZP_BYTE:157 [ play_move_rotate::$4 ]
Uplifting [play_move_rotate] best 4116787 combination reg byte a [ play_move_rotate::$4 ]
Uplifting [play_move_rotate] best 4116786 combination reg byte a [ play_move_rotate::$4 ]
Attempting to uplift remaining variables inzp ZP_BYTE:164 [ play_collision::return#13 ]
Uplifting [play_collision] best 4116781 combination reg byte a [ play_collision::return#13 ]
Uplifting [play_collision] best 4116780 combination reg byte a [ play_collision::return#13 ]
Attempting to uplift remaining variables inzp ZP_BYTE:166 [ play_collision::return#1 ]
Uplifting [play_collision] best 4116775 combination reg byte a [ play_collision::return#1 ]
Uplifting [play_collision] best 4116774 combination reg byte a [ play_collision::return#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:170 [ play_collision::return#0 ]
Uplifting [play_collision] best 4116769 combination reg byte a [ play_collision::return#0 ]
Uplifting [play_collision] best 4116768 combination reg byte a [ play_collision::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:172 [ play_remove_lines::return#0 ]
Uplifting [play_remove_lines] best 4116763 combination reg byte a [ play_remove_lines::return#0 ]
Uplifting [play_remove_lines] best 4116762 combination reg byte a [ play_remove_lines::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:173 [ play_move_down::removed#0 ]
Uplifting [play_move_down] best 4116757 combination reg byte a [ play_move_down::removed#0 ]
Uplifting [play_move_down] best 4116756 combination reg byte a [ play_move_down::removed#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:177 [ play_collision::return#10 ]
Uplifting [play_collision] best 4116751 combination reg byte a [ play_collision::return#10 ]
Uplifting [play_collision] best 4116750 combination reg byte a [ play_collision::return#10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:205 [ keyboard_event_scan::$14 ]
Uplifting [keyboard_event_scan] best 4116745 combination reg byte a [ keyboard_event_scan::$14 ]
Uplifting [keyboard_event_scan] best 4116744 combination reg byte a [ keyboard_event_scan::$14 ]
Attempting to uplift remaining variables inzp ZP_BYTE:206 [ keyboard_event_pressed::return#1 ]
Uplifting [keyboard_event_pressed] best 4116739 combination reg byte a [ keyboard_event_pressed::return#1 ]
Uplifting [keyboard_event_pressed] best 4116738 combination reg byte a [ keyboard_event_pressed::return#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:207 [ keyboard_event_scan::$18 ]
Uplifting [keyboard_event_scan] best 4116733 combination reg byte a [ keyboard_event_scan::$18 ]
Uplifting [keyboard_event_scan] best 4116732 combination reg byte a [ keyboard_event_scan::$18 ]
Attempting to uplift remaining variables inzp ZP_BYTE:208 [ keyboard_event_pressed::return#2 ]
Uplifting [keyboard_event_pressed] best 4116727 combination reg byte a [ keyboard_event_pressed::return#2 ]
Uplifting [keyboard_event_pressed] best 4116726 combination reg byte a [ keyboard_event_pressed::return#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:209 [ keyboard_event_scan::$22 ]
Uplifting [keyboard_event_scan] best 4116721 combination reg byte a [ keyboard_event_scan::$22 ]
Uplifting [keyboard_event_scan] best 4116720 combination reg byte a [ keyboard_event_scan::$22 ]
Attempting to uplift remaining variables inzp ZP_BYTE:210 [ keyboard_event_pressed::return#10 ]
Uplifting [keyboard_event_pressed] best 4116715 combination reg byte a [ keyboard_event_pressed::return#10 ]
Uplifting [keyboard_event_pressed] best 4116714 combination reg byte a [ keyboard_event_pressed::return#10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:211 [ keyboard_event_scan::$26 ]
Uplifting [keyboard_event_scan] best 4116709 combination reg byte a [ keyboard_event_scan::$26 ]
Uplifting [keyboard_event_scan] best 4116708 combination reg byte a [ keyboard_event_scan::$26 ]
Attempting to uplift remaining variables inzp ZP_BYTE:151 [ play_move_rotate::key_event#0 ]
Uplifting [play_move_rotate] best 4116700 combination reg byte a [ play_move_rotate::key_event#0 ]
Uplifting [play_move_rotate] best 4116699 combination reg byte a [ play_move_rotate::key_event#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:230 [ irq_cnt#1 ]
Uplifting [] best 4116700 combination zp ZP_BYTE:230 [ irq_cnt#1 ]
Uplifting [] best 4116699 combination zp ZP_BYTE:230 [ irq_cnt#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:238 [ sprites_irq::ptr#1 ]
Uplifting [sprites_irq] best 4116690 combination reg byte a [ sprites_irq::ptr#1 ]
Uplifting [sprites_irq] best 4116689 combination reg byte a [ sprites_irq::ptr#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:224 [ sprites_irq::ypos#0 ]
Uplifting [sprites_irq] best 4116675 combination reg byte a [ sprites_irq::ypos#0 ]
Uplifting [sprites_irq] best 4116674 combination reg byte a [ sprites_irq::ypos#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:227 [ sprites_irq::ptr#0 ]
Uplifting [sprites_irq] best 4116664 combination reg byte x [ sprites_irq::ptr#0 ]
Uplifting [sprites_irq] best 4116663 combination reg byte x [ sprites_irq::ptr#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:144 [ play_move_down::key_event#0 ]
Uplifting [play_move_down] best 4116658 combination reg byte a [ play_move_down::key_event#0 ]
Uplifting [play_move_down] best 4116657 combination reg byte a [ play_move_down::key_event#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:198 [ keyboard_event_pressed::row_bits#0 ]
Uplifting [keyboard_event_pressed] best 4116658 combination zp ZP_BYTE:198 [ keyboard_event_pressed::row_bits#0 ]
Uplifting [keyboard_event_pressed] best 4116657 combination zp ZP_BYTE:198 [ keyboard_event_pressed::row_bits#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:200 [ keyboard_event_pressed::return#11 ]
Uplifting [keyboard_event_pressed] best 4116640 combination reg byte a [ keyboard_event_pressed::return#11 ]
Uplifting [keyboard_event_pressed] best 4116639 combination reg byte a [ keyboard_event_pressed::return#11 ]
Attempting to uplift remaining variables inzp ZP_BYTE:53 [ play_collision::return#15 ]
Uplifting [play_collision] best 4116610 combination reg byte a [ play_collision::return#15 ]
Uplifting [play_collision] best 4116609 combination reg byte a [ play_collision::return#15 ]
Attempting to uplift remaining variables inzp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
Uplifting [keyboard_event_pressed] best 4116610 combination zp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
Uplifting [keyboard_event_pressed] best 4116609 combination zp ZP_BYTE:88 [ keyboard_event_pressed::keycode#5 ]
Attempting to uplift remaining variables inzp ZP_BYTE:174 [ play_update_score::removed#0 ]
Uplifting [play_update_score] best 4116604 combination reg byte x [ play_update_score::removed#0 ]
Uplifting [play_update_score] best 4116603 combination reg byte x [ play_update_score::removed#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:11 [ render_bcd::only_low#6 ]
Uplifting [render_bcd] best 4116583 combination reg byte y [ render_bcd::only_low#6 ]
Uplifting [render_bcd] best 4116582 combination reg byte y [ render_bcd::only_low#6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:150 [ play_movement::render#2 ]
Uplifting [play_movement] best 4116583 combination zp ZP_BYTE:150 [ play_movement::render#2 ]
Uplifting [play_movement] best 4116582 combination zp ZP_BYTE:150 [ play_movement::render#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:41 [ play_move_rotate::return#2 ]
Uplifting [play_move_rotate] best 4116574 combination reg byte a [ play_move_rotate::return#2 ]
Uplifting [play_move_rotate] best 4116573 combination reg byte a [ play_move_rotate::return#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:54 [ play_move_leftright::return#2 ]
Uplifting [play_move_leftright] best 4116565 combination reg byte a [ play_move_leftright::return#2 ]
Uplifting [play_move_leftright] best 4116564 combination reg byte a [ play_move_leftright::return#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:73 [ play_move_down::return#3 ]
Uplifting [play_move_down] best 4116558 combination reg byte x [ play_move_down::return#3 ]
Uplifting [play_move_down] best 4116557 combination reg byte x [ play_move_down::return#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:183 [ play_update_score::lines_before#0 ]
Uplifting [play_update_score] best 4116558 combination zp ZP_BYTE:183 [ play_update_score::lines_before#0 ]
Uplifting [play_update_score] best 4116557 combination zp ZP_BYTE:183 [ play_update_score::lines_before#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:119 [ render_screen_showing#0 ]
Uplifting [] best 4116558 combination zp ZP_BYTE:119 [ render_screen_showing#0 ]
Uplifting [] best 4116557 combination zp ZP_BYTE:119 [ render_screen_showing#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:120 [ irq_raster_next#0 ]
Uplifting [] best 4116558 combination zp ZP_BYTE:120 [ irq_raster_next#0 ]
Uplifting [] best 4116557 combination zp ZP_BYTE:120 [ irq_raster_next#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:121 [ irq_sprite_ypos#0 ]
Uplifting [] best 4116558 combination zp ZP_BYTE:121 [ irq_sprite_ypos#0 ]
Uplifting [] best 4116557 combination zp ZP_BYTE:121 [ irq_sprite_ypos#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:122 [ irq_sprite_ptr#0 ]
Uplifting [] best 4116558 combination zp ZP_BYTE:122 [ irq_sprite_ptr#0 ]
Uplifting [] best 4116557 combination zp ZP_BYTE:122 [ irq_sprite_ptr#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:123 [ irq_cnt#0 ]
Uplifting [] best 4116558 combination zp ZP_BYTE:123 [ irq_cnt#0 ]
Uplifting [] best 4116557 combination zp ZP_BYTE:123 [ irq_cnt#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:176 [ play_spawn_current::$0 ]
Uplifting [play_spawn_current] best 4116558 combination zp ZP_BYTE:176 [ play_spawn_current::$0 ]
Uplifting [play_spawn_current] best 4116557 combination zp ZP_BYTE:176 [ play_spawn_current::$0 ]
Coalescing zero page register with common assignment [ zp ZP_WORD:5 [ render_score::screen#3 ] ] with [ zp ZP_WORD:7 [ render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 ] ] - score: 6
Coalescing zero page register with common assignment [ zp ZP_BYTE:40 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] ] with [ zp ZP_BYTE:150 [ play_movement::render#2 ] ] - score: 2
Coalescing zero page register with common assignment [ zp ZP_BYTE:118 [ irq_raster_next#4 irq_raster_next#3 irq_raster_next#1 irq_raster_next#2 ] ] with [ zp ZP_BYTE:120 [ irq_raster_next#0 ] ] - score: 2
@ -18791,9 +18791,9 @@ render_next: {
//SEG312 render_next::@11
b11:
//SEG313 [124] (byte*) render_next::screen_next_area#4 ← (byte*) render_next::screen_next_area#3 + (byte/signed byte/word/signed word/dword/signed dword) $24 -- pbuz1=pbuz1_plus_vbuc1
lda screen_next_area
lda #$24
clc
adc #$24
adc screen_next_area
sta screen_next_area
bcc !+
inc screen_next_area+1
@ -19225,9 +19225,9 @@ play_collision: {
clc
adc piece_gfx
sta piece_gfx
lda #0
adc piece_gfx+1
sta piece_gfx+1
bcc !+
inc piece_gfx+1
!:
//SEG464 [203] (byte) play_collision::ypos2#0 ← (byte) play_collision::ypos#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1
asl ypos2
//SEG465 [204] phi from play_collision to play_collision::@1 [phi:play_collision->play_collision::@1]
@ -19886,9 +19886,9 @@ play_update_score: {
clc
adc lines_bcd
sta lines_bcd
lda #0
adc lines_bcd+1
sta lines_bcd+1
bcc !+
inc lines_bcd+1
!:
//SEG751 [318] (dword) score_bcd#30 ← (dword) score_bcd#18 + (dword) play_update_score::add_bcd#0 -- vduz1=vduz1_plus_vduz2
lda score_bcd
clc
@ -20742,9 +20742,9 @@ play_init: {
lda idx
sta playfield_lines_idx,x
//SEG1058 [465] (byte*) play_init::pli#1 ← (byte*) play_init::pli#2 + (const byte) PLAYFIELD_COLS#0 -- pbuz1=pbuz1_plus_vbuc1
lda pli
lda #PLAYFIELD_COLS
clc
adc #PLAYFIELD_COLS
adc pli
sta pli
bcc !+
inc pli+1
@ -21021,17 +21021,17 @@ render_init: {
lda li_2+1
sta screen_lines_2+1,y
//SEG1145 [519] (byte*) render_init::li_1#1 ← (byte*) render_init::li_1#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda li_1
lda #$28
clc
adc #$28
adc li_1
sta li_1
bcc !+
inc li_1+1
!:
//SEG1146 [520] (byte*) render_init::li_2#1 ← (byte*) render_init::li_2#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda li_2
lda #$28
clc
adc #$28
adc li_2
sta li_2
bcc !+
inc li_2+1
@ -23474,7 +23474,7 @@ reg byte a [ sprites_irq::ptr#2 ]
FINAL ASSEMBLER
Score: 3365355
Score: 3365353
//SEG0 File Comments
// Tetris Game for the Commodore 64
@ -24238,9 +24238,9 @@ render_next: {
bne b4
//SEG312 render_next::@11
//SEG313 [124] (byte*) render_next::screen_next_area#4 ← (byte*) render_next::screen_next_area#3 + (byte/signed byte/word/signed word/dword/signed dword) $24 -- pbuz1=pbuz1_plus_vbuc1
lda screen_next_area
lda #$24
clc
adc #$24
adc screen_next_area
sta screen_next_area
bcc !+
inc screen_next_area+1
@ -24616,9 +24616,9 @@ play_collision: {
clc
adc piece_gfx
sta piece_gfx
lda #0
adc piece_gfx+1
sta piece_gfx+1
bcc !+
inc piece_gfx+1
!:
//SEG464 [203] (byte) play_collision::ypos2#0 ← (byte) play_collision::ypos#5 << (byte/signed byte/word/signed word/dword/signed dword) 1 -- vbuz1=vbuz1_rol_1
asl ypos2
//SEG465 [204] phi from play_collision to play_collision::@1 [phi:play_collision->play_collision::@1]
@ -25174,9 +25174,9 @@ play_update_score: {
clc
adc lines_bcd
sta lines_bcd
lda #0
adc lines_bcd+1
sta lines_bcd+1
bcc !+
inc lines_bcd+1
!:
//SEG751 [318] (dword) score_bcd#30 ← (dword) score_bcd#18 + (dword) play_update_score::add_bcd#0 -- vduz1=vduz1_plus_vduz2
lda score_bcd
clc
@ -25878,9 +25878,9 @@ play_init: {
lda idx
sta playfield_lines_idx,x
//SEG1058 [465] (byte*) play_init::pli#1 ← (byte*) play_init::pli#2 + (const byte) PLAYFIELD_COLS#0 -- pbuz1=pbuz1_plus_vbuc1
lda pli
lda #PLAYFIELD_COLS
clc
adc #PLAYFIELD_COLS
adc pli
sta pli
bcc !+
inc pli+1
@ -26120,17 +26120,17 @@ render_init: {
lda li_2+1
sta screen_lines_2+1,y
//SEG1145 [519] (byte*) render_init::li_1#1 ← (byte*) render_init::li_1#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda li_1
lda #$28
clc
adc #$28
adc li_1
sta li_1
bcc !+
inc li_1+1
!:
//SEG1146 [520] (byte*) render_init::li_2#1 ← (byte*) render_init::li_2#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda li_2
lda #$28
clc
adc #$28
adc li_2
sta li_2
bcc !+
inc li_2+1

View File

@ -127,9 +127,9 @@ print_str: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -1659,9 +1659,9 @@ print_ln: {
//SEG108 print_ln::@1
b1:
//SEG109 [45] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#24 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -2287,9 +2287,9 @@ print_ln: {
//SEG108 print_ln::@1
b1:
//SEG109 [45] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#24 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -2998,9 +2998,9 @@ print_ln: {
//SEG108 print_ln::@1
b1:
//SEG109 [45] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#24 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -883,9 +883,9 @@ debug_print_init: {
clc
adc _60
sta _60
lda #0
adc _60+1
sta _60+1
bcc !+
inc _60+1
!:
lda col
ldy #0
sta (_60),y
@ -900,10 +900,11 @@ debug_print_init: {
clc
adc _64
sta _64
tya
adc _64+1
sta _64+1
bcc !+
inc _64+1
!:
lda col
ldy #0
sta (_64),y
lda c
clc
@ -916,10 +917,11 @@ debug_print_init: {
clc
adc _68
sta _68
tya
adc _68+1
sta _68+1
bcc !+
inc _68+1
!:
lda col
ldy #0
sta (_68),y
lda c
clc
@ -932,10 +934,11 @@ debug_print_init: {
clc
adc _72
sta _72
tya
adc _72+1
sta _72+1
bcc !+
inc _72+1
!:
lda col
ldy #0
sta (_72),y
lda c
clc
@ -948,10 +951,11 @@ debug_print_init: {
clc
adc _76
sta _76
tya
adc _76+1
sta _76+1
bcc !+
inc _76+1
!:
lda col
ldy #0
sta (_76),y
lda c
clc
@ -964,10 +968,11 @@ debug_print_init: {
clc
adc _80
sta _80
tya
adc _80+1
sta _80+1
bcc !+
inc _80+1
!:
lda col
ldy #0
sta (_80),y
lda c
clc
@ -980,10 +985,11 @@ debug_print_init: {
clc
adc _84
sta _84
tya
adc _84+1
sta _84+1
bcc !+
inc _84+1
!:
lda col
ldy #0
sta (_84),y
lda c
clc
@ -996,10 +1002,11 @@ debug_print_init: {
clc
adc _88
sta _88
tya
adc _88+1
sta _88+1
bcc !+
inc _88+1
!:
lda col
ldy #0
sta (_88),y
lda c
clc
@ -1012,10 +1019,11 @@ debug_print_init: {
clc
adc _92
sta _92
tya
adc _92+1
sta _92+1
bcc !+
inc _92+1
!:
lda col
ldy #0
sta (_92),y
inx
cpx #4

View File

@ -10452,9 +10452,9 @@ debug_print_init: {
clc
adc _60
sta _60
lda #0
adc _60+1
sta _60+1
bcc !+
inc _60+1
!:
//SEG446 [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -10472,9 +10472,9 @@ debug_print_init: {
clc
adc _64
sta _64
lda #0
adc _64+1
sta _64+1
bcc !+
inc _64+1
!:
//SEG449 [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -10492,9 +10492,9 @@ debug_print_init: {
clc
adc _68
sta _68
lda #0
adc _68+1
sta _68+1
bcc !+
inc _68+1
!:
//SEG452 [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -10512,9 +10512,9 @@ debug_print_init: {
clc
adc _72
sta _72
lda #0
adc _72+1
sta _72+1
bcc !+
inc _72+1
!:
//SEG455 [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -10532,9 +10532,9 @@ debug_print_init: {
clc
adc _76
sta _76
lda #0
adc _76+1
sta _76+1
bcc !+
inc _76+1
!:
//SEG458 [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -10552,9 +10552,9 @@ debug_print_init: {
clc
adc _80
sta _80
lda #0
adc _80+1
sta _80+1
bcc !+
inc _80+1
!:
//SEG461 [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -10572,9 +10572,9 @@ debug_print_init: {
clc
adc _84
sta _84
lda #0
adc _84+1
sta _84+1
bcc !+
inc _84+1
!:
//SEG464 [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -10592,9 +10592,9 @@ debug_print_init: {
clc
adc _88
sta _88
lda #0
adc _88+1
sta _88+1
bcc !+
inc _88+1
!:
//SEG467 [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -10612,9 +10612,9 @@ debug_print_init: {
clc
adc _92
sta _92
lda #0
adc _92+1
sta _92+1
bcc !+
inc _92+1
!:
//SEG470 [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -10985,22 +10985,6 @@ Replacing instruction lda i with TYA
Replacing instruction ldx zr with TAX
Removing instruction ldx t1
Removing instruction ldx t3
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Replacing instruction lda #0 with TYA
Removing instruction ldy #0
Removing instruction ldy #0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label b13_from_b29 with b13
@ -11170,8 +11154,8 @@ Succesful ASM optimization Pass5NextJumpElimination
Removing instruction bbegin:
Succesful ASM optimization Pass5UnusedLabelElimination
Fixing long branch [331] bne b1 to beq
Fixing long branch [1021] bne b2 to beq
Fixing long branch [1031] bne b1 to beq
Fixing long branch [1029] bne b2 to beq
Fixing long branch [1039] bne b1 to beq
FINAL SYMBOL TABLE
(label) @33
@ -11794,7 +11778,7 @@ reg byte a [ calculate_matrix::$34 ]
FINAL ASSEMBLER
Score: 84079
Score: 85229
//SEG0 File Comments
// 3D Rotation using a Rotation Matrix
@ -13127,9 +13111,9 @@ debug_print_init: {
clc
adc _60
sta _60
lda #0
adc _60+1
sta _60+1
bcc !+
inc _60+1
!:
//SEG446 [229] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
@ -13147,11 +13131,12 @@ debug_print_init: {
clc
adc _64
sta _64
tya
adc _64+1
sta _64+1
bcc !+
inc _64+1
!:
//SEG449 [232] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
sta (_64),y
//SEG450 [233] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2
lda c
@ -13166,11 +13151,12 @@ debug_print_init: {
clc
adc _68
sta _68
tya
adc _68+1
sta _68+1
bcc !+
inc _68+1
!:
//SEG452 [235] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
sta (_68),y
//SEG453 [236] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2
lda c
@ -13185,11 +13171,12 @@ debug_print_init: {
clc
adc _72
sta _72
tya
adc _72+1
sta _72+1
bcc !+
inc _72+1
!:
//SEG455 [238] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
sta (_72),y
//SEG456 [239] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2
lda c
@ -13204,11 +13191,12 @@ debug_print_init: {
clc
adc _76
sta _76
tya
adc _76+1
sta _76+1
bcc !+
inc _76+1
!:
//SEG458 [241] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
sta (_76),y
//SEG459 [242] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2
lda c
@ -13223,11 +13211,12 @@ debug_print_init: {
clc
adc _80
sta _80
tya
adc _80+1
sta _80+1
bcc !+
inc _80+1
!:
//SEG461 [244] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
sta (_80),y
//SEG462 [245] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2
lda c
@ -13242,11 +13231,12 @@ debug_print_init: {
clc
adc _84
sta _84
tya
adc _84+1
sta _84+1
bcc !+
inc _84+1
!:
//SEG464 [247] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
sta (_84),y
//SEG465 [248] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2
lda c
@ -13261,11 +13251,12 @@ debug_print_init: {
clc
adc _88
sta _88
tya
adc _88+1
sta _88+1
bcc !+
inc _88+1
!:
//SEG467 [250] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
sta (_88),y
//SEG468 [251] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2 -- pbuz1=pbuc1_plus_vbuz2
lda c
@ -13280,11 +13271,12 @@ debug_print_init: {
clc
adc _92
sta _92
tya
adc _92+1
sta _92+1
bcc !+
inc _92+1
!:
//SEG470 [253] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0 -- _deref_pbuz1=vbuz2
lda col
ldy #0
sta (_92),y
//SEG471 [254] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2 -- vbuxx=_inc_vbuxx
inx

View File

@ -94,9 +94,9 @@ print_ln: {
lda #>$400
sta print_line_cursor+1
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -2278,9 +2278,9 @@ print_ln: {
//SEG100 print_ln::@1
b1:
//SEG101 [41] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -3092,9 +3092,9 @@ print_ln: {
//SEG100 print_ln::@1
b1:
//SEG101 [41] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -4054,9 +4054,9 @@ print_ln: {
//SEG100 print_ln::@1
b1:
//SEG101 [41] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -289,9 +289,9 @@ plot_chargen: {
inx
cpx #8
bne b3
lda sc
lda #$20
clc
adc #$20
adc sc
sta sc
bcc !+
inc sc+1

View File

@ -3327,9 +3327,9 @@ plot_chargen: {
//SEG219 plot_chargen::@7
b7:
//SEG220 [97] (byte*) plot_chargen::sc#2 ← (byte*) plot_chargen::sc#1 + (byte/signed byte/word/signed word/dword/signed dword) $20 -- pbuz1=pbuz1_plus_vbuc1
lda sc
lda #$20
clc
adc #$20
adc sc
sta sc
bcc !+
inc sc+1
@ -4415,9 +4415,9 @@ plot_chargen: {
//SEG219 plot_chargen::@7
b7:
//SEG220 [97] (byte*) plot_chargen::sc#2 ← (byte*) plot_chargen::sc#1 + (byte/signed byte/word/signed word/dword/signed dword) $20 -- pbuz1=pbuz1_plus_vbuc1
lda sc
lda #$20
clc
adc #$20
adc sc
sta sc
bcc !+
inc sc+1
@ -5781,9 +5781,9 @@ plot_chargen: {
bne b3
//SEG219 plot_chargen::@7
//SEG220 [97] (byte*) plot_chargen::sc#2 ← (byte*) plot_chargen::sc#1 + (byte/signed byte/word/signed word/dword/signed dword) $20 -- pbuz1=pbuz1_plus_vbuc1
lda sc
lda #$20
clc
adc #$20
adc sc
sta sc
bcc !+
inc sc+1

View File

@ -40,9 +40,9 @@ main: {
lda at+1
sta print_sbyte_at.at+1
jsr print_sbyte_at
lda at
lda #4
clc
adc #4
adc at
sta at
bcc !+
inc at+1
@ -57,9 +57,9 @@ main: {
lda #>$400
sta at_line+1
b2:
lda at
lda #$28
clc
adc #$28
adc at
sta at
bcc !+
inc at+1
@ -79,9 +79,9 @@ main: {
lda #0
sta j
b3:
lda at_3
lda #4
clc
adc #4
adc at_3
sta at_3
bcc !+
inc at_3+1
@ -214,9 +214,9 @@ init_screen: {
sta (COLS),y
ldy #3
sta (COLS),y
lda COLS
lda #$28
clc
adc #$28
adc COLS
sta COLS
bcc !+
inc COLS+1

View File

@ -1469,9 +1469,9 @@ main: {
//SEG27 main::@8
b8:
//SEG28 [11] (byte*) main::at#1 ← (byte*) main::at#4 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz1_plus_vbuc1
lda at
lda #4
clc
adc #4
adc at
sta at
bcc !+
inc at+1
@ -1501,9 +1501,9 @@ main: {
//SEG37 main::@2
b2:
//SEG38 [15] (byte*) main::at#2 ← (byte*) main::at_line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda at_2
lda #$28
clc
adc #$28
adc at_2
sta at_2
bcc !+
inc at_2+1
@ -1543,9 +1543,9 @@ main: {
//SEG52 main::@3
b3:
//SEG53 [21] (byte*) main::at#3 ← (byte*) main::at#6 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz1_plus_vbuc1
lda at_3
lda #4
clc
adc #4
adc at_3
sta at_3
bcc !+
inc at_3+1
@ -1857,9 +1857,9 @@ init_screen: {
ldy #3
sta (COLS),y
//SEG148 [74] (byte*) init_screen::COLS#1 ← (byte*) init_screen::COLS#3 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda COLS
lda #$28
clc
adc #$28
adc COLS
sta COLS
bcc !+
inc COLS+1
@ -2186,9 +2186,9 @@ main: {
//SEG27 main::@8
b8:
//SEG28 [11] (byte*) main::at#1 ← (byte*) main::at#4 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz1_plus_vbuc1
lda at
lda #4
clc
adc #4
adc at
sta at
bcc !+
inc at+1
@ -2217,9 +2217,9 @@ main: {
//SEG37 main::@2
b2:
//SEG38 [15] (byte*) main::at#2 ← (byte*) main::at_line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda at
lda #$28
clc
adc #$28
adc at
sta at
bcc !+
inc at+1
@ -2259,9 +2259,9 @@ main: {
//SEG52 main::@3
b3:
//SEG53 [21] (byte*) main::at#3 ← (byte*) main::at#6 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz1_plus_vbuc1
lda at_3
lda #4
clc
adc #4
adc at_3
sta at_3
bcc !+
inc at_3+1
@ -2532,9 +2532,9 @@ init_screen: {
ldy #3
sta (COLS),y
//SEG148 [74] (byte*) init_screen::COLS#1 ← (byte*) init_screen::COLS#3 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda COLS
lda #$28
clc
adc #$28
adc COLS
sta COLS
bcc !+
inc COLS+1
@ -2914,9 +2914,9 @@ main: {
jsr print_sbyte_at
//SEG27 main::@8
//SEG28 [11] (byte*) main::at#1 ← (byte*) main::at#4 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz1_plus_vbuc1
lda at
lda #4
clc
adc #4
adc at
sta at
bcc !+
inc at+1
@ -2941,9 +2941,9 @@ main: {
//SEG37 main::@2
b2:
//SEG38 [15] (byte*) main::at#2 ← (byte*) main::at_line#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda at
lda #$28
clc
adc #$28
adc at
sta at
bcc !+
inc at+1
@ -2978,9 +2978,9 @@ main: {
//SEG52 main::@3
b3:
//SEG53 [21] (byte*) main::at#3 ← (byte*) main::at#6 + (byte/signed byte/word/signed word/dword/signed dword) 4 -- pbuz1=pbuz1_plus_vbuc1
lda at_3
lda #4
clc
adc #4
adc at_3
sta at_3
bcc !+
inc at_3+1
@ -3208,9 +3208,9 @@ init_screen: {
ldy #3
sta (COLS),y
//SEG148 [74] (byte*) init_screen::COLS#1 ← (byte*) init_screen::COLS#3 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda COLS
lda #$28
clc
adc #$28
adc COLS
sta COLS
bcc !+
inc COLS+1

View File

@ -16,9 +16,9 @@ print_ln: {
lda #>$400
sta print_line_cursor+1
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -383,9 +383,9 @@ print_ln: {
//SEG24 print_ln::@1
b1:
//SEG25 [11] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#6 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -546,9 +546,9 @@ print_ln: {
//SEG24 print_ln::@1
b1:
//SEG25 [11] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#6 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -740,9 +740,9 @@ print_ln: {
//SEG24 print_ln::@1
b1:
//SEG25 [11] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#6 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -240,9 +240,9 @@ init: {
clc
adc xp
sta xp
lda #0
adc xp+1
sta xp+1
bcc !+
inc xp+1
!:
inx
cpx #PLEX_COUNT-1+1
bne b1

View File

@ -3001,9 +3001,9 @@ init: {
clc
adc xp
sta xp
lda #0
adc xp+1
sta xp+1
bcc !+
inc xp+1
!:
//SEG166 [88] (byte) init::sx#1 ← ++ (byte) init::sx#2 -- vbuz1=_inc_vbuz1
inc sx
//SEG167 [89] if((byte) init::sx#1!=(const byte) PLEX_COUNT#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@1 -- vbuz1_neq_vbuc1_then_la1
@ -3232,58 +3232,58 @@ Uplift Scope [plexInit] 38.5: zp ZP_BYTE:17 [ plexInit::i#2 plexInit::i#1 ]
Uplift Scope [plexShowSprite] 4: zp ZP_BYTE:22 [ plexShowSprite::plexFreeAdd1_$0#0 ] 4: zp ZP_BYTE:23 [ plexShowSprite::plexFreeAdd1_$1#0 ] 4: zp ZP_BYTE:25 [ plexShowSprite::$3 ] 4: zp ZP_BYTE:26 [ plexShowSprite::$4 ] 4: zp ZP_BYTE:27 [ plexShowSprite::$6 ] 4: zp ZP_BYTE:28 [ plexShowSprite::$7 ] 3: zp ZP_BYTE:21 [ plexShowSprite::plexFreeAdd1_ypos#0 ] 2: zp ZP_BYTE:24 [ plexShowSprite::xpos_idx#0 ] 0.6: zp ZP_BYTE:20 [ plexShowSprite::plex_sprite_idx2#0 ]
Uplift Scope [main]
Uplifting [plexSort] best 82589 combination reg byte x [ plexSort::s#3 plexSort::s#1 plexSort::s#6 ] reg byte x [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ] zp ZP_BYTE:31 [ plexSort::s#2 ] zp ZP_BYTE:10 [ plexSort::m#2 plexSort::m#1 ] zp ZP_BYTE:30 [ plexSort::nxt_y#0 ] zp ZP_BYTE:29 [ plexSort::nxt_idx#0 ]
Uplifting [plexSort] best 82584 combination reg byte x [ plexSort::s#3 plexSort::s#1 plexSort::s#6 ] reg byte x [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ] zp ZP_BYTE:31 [ plexSort::s#2 ] zp ZP_BYTE:10 [ plexSort::m#2 plexSort::m#1 ] zp ZP_BYTE:30 [ plexSort::nxt_y#0 ] zp ZP_BYTE:29 [ plexSort::nxt_idx#0 ]
Limited combination testing to 10 combinations of 972 possible.
Uplifting [loop] best 81389 combination zp ZP_BYTE:19 [ loop::plexFreeNextYpos1_return#0 ] reg byte x [ loop::sy#2 loop::sy#1 ] zp ZP_BYTE:3 [ loop::y_idx#2 loop::y_idx#3 loop::y_idx#1 ] zp ZP_BYTE:18 [ loop::$4 ] zp ZP_BYTE:9 [ loop::ss#6 loop::ss#1 ] zp ZP_BYTE:2 [ loop::sin_idx#6 loop::sin_idx#1 ]
Uplifting [loop] best 81384 combination zp ZP_BYTE:19 [ loop::plexFreeNextYpos1_return#0 ] reg byte x [ loop::sy#2 loop::sy#1 ] zp ZP_BYTE:3 [ loop::y_idx#2 loop::y_idx#3 loop::y_idx#1 ] zp ZP_BYTE:18 [ loop::$4 ] zp ZP_BYTE:9 [ loop::ss#6 loop::ss#1 ] zp ZP_BYTE:2 [ loop::sin_idx#6 loop::sin_idx#1 ]
Limited combination testing to 10 combinations of 576 possible.
Uplifting [init] best 81139 combination reg byte x [ init::ss#2 init::ss#1 ] reg byte x [ init::sx#2 init::sx#1 ] zp ZP_BYTE:32 [ init::$6 ] zp ZP_WORD:14 [ init::xp#2 init::xp#1 ]
Uplifting [init] best 81134 combination reg byte x [ init::ss#2 init::ss#1 ] reg byte x [ init::sx#2 init::sx#1 ] zp ZP_BYTE:32 [ init::$6 ] zp ZP_WORD:14 [ init::xp#2 init::xp#1 ]
Limited combination testing to 10 combinations of 36 possible.
Uplifting [] best 80831 combination zp ZP_BYTE:8 [ plex_sprite_msb#44 plex_sprite_msb#16 plex_sprite_msb#25 ] zp ZP_BYTE:5 [ plex_free_next#17 plex_free_next#13 ] zp ZP_BYTE:7 [ plex_show_idx#44 plex_show_idx#15 ] reg byte x [ plex_sprite_idx#44 plex_sprite_idx#15 ]
Uplifting [] best 80826 combination zp ZP_BYTE:8 [ plex_sprite_msb#44 plex_sprite_msb#16 plex_sprite_msb#25 ] zp ZP_BYTE:5 [ plex_free_next#17 plex_free_next#13 ] zp ZP_BYTE:7 [ plex_show_idx#44 plex_show_idx#15 ] reg byte x [ plex_sprite_idx#44 plex_sprite_idx#15 ]
Limited combination testing to 10 combinations of 16 possible.
Uplifting [plexInit] best 80711 combination reg byte x [ plexInit::i#2 plexInit::i#1 ]
Uplifting [plexShowSprite] best 80701 combination reg byte a [ plexShowSprite::plexFreeAdd1_$0#0 ] reg byte a [ plexShowSprite::plexFreeAdd1_$1#0 ] zp ZP_BYTE:25 [ plexShowSprite::$3 ] zp ZP_BYTE:26 [ plexShowSprite::$4 ] zp ZP_BYTE:27 [ plexShowSprite::$6 ] zp ZP_BYTE:28 [ plexShowSprite::$7 ] zp ZP_BYTE:21 [ plexShowSprite::plexFreeAdd1_ypos#0 ] zp ZP_BYTE:24 [ plexShowSprite::xpos_idx#0 ] zp ZP_BYTE:20 [ plexShowSprite::plex_sprite_idx2#0 ]
Uplifting [plexInit] best 80706 combination reg byte x [ plexInit::i#2 plexInit::i#1 ]
Uplifting [plexShowSprite] best 80696 combination reg byte a [ plexShowSprite::plexFreeAdd1_$0#0 ] reg byte a [ plexShowSprite::plexFreeAdd1_$1#0 ] zp ZP_BYTE:25 [ plexShowSprite::$3 ] zp ZP_BYTE:26 [ plexShowSprite::$4 ] zp ZP_BYTE:27 [ plexShowSprite::$6 ] zp ZP_BYTE:28 [ plexShowSprite::$7 ] zp ZP_BYTE:21 [ plexShowSprite::plexFreeAdd1_ypos#0 ] zp ZP_BYTE:24 [ plexShowSprite::xpos_idx#0 ] zp ZP_BYTE:20 [ plexShowSprite::plex_sprite_idx2#0 ]
Limited combination testing to 10 combinations of 98304 possible.
Uplifting [main] best 80701 combination
Uplifting [main] best 80696 combination
Attempting to uplift remaining variables inzp ZP_BYTE:19 [ loop::plexFreeNextYpos1_return#0 ]
Uplifting [loop] best 80701 combination zp ZP_BYTE:19 [ loop::plexFreeNextYpos1_return#0 ]
Uplifting [loop] best 80696 combination zp ZP_BYTE:19 [ loop::plexFreeNextYpos1_return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ loop::y_idx#2 loop::y_idx#3 loop::y_idx#1 ]
Uplifting [loop] best 80171 combination reg byte y [ loop::y_idx#2 loop::y_idx#3 loop::y_idx#1 ]
Uplifting [loop] best 80166 combination reg byte y [ loop::y_idx#2 loop::y_idx#3 loop::y_idx#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ loop::$4 ]
Uplifting [loop] best 79571 combination reg byte a [ loop::$4 ]
Uplifting [loop] best 79566 combination reg byte a [ loop::$4 ]
Attempting to uplift remaining variables inzp ZP_BYTE:31 [ plexSort::s#2 ]
Uplifting [plexSort] best 78971 combination reg byte x [ plexSort::s#2 ]
Uplifting [plexSort] best 78966 combination reg byte x [ plexSort::s#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:10 [ plexSort::m#2 plexSort::m#1 ]
Uplifting [plexSort] best 78971 combination zp ZP_BYTE:10 [ plexSort::m#2 plexSort::m#1 ]
Uplifting [plexSort] best 78966 combination zp ZP_BYTE:10 [ plexSort::m#2 plexSort::m#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:9 [ loop::ss#6 loop::ss#1 ]
Uplifting [loop] best 78971 combination zp ZP_BYTE:9 [ loop::ss#6 loop::ss#1 ]
Uplifting [loop] best 78966 combination zp ZP_BYTE:9 [ loop::ss#6 loop::ss#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:30 [ plexSort::nxt_y#0 ]
Uplifting [plexSort] best 78971 combination zp ZP_BYTE:30 [ plexSort::nxt_y#0 ]
Uplifting [plexSort] best 78966 combination zp ZP_BYTE:30 [ plexSort::nxt_y#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:29 [ plexSort::nxt_idx#0 ]
Uplifting [plexSort] best 78971 combination zp ZP_BYTE:29 [ plexSort::nxt_idx#0 ]
Uplifting [plexSort] best 78966 combination zp ZP_BYTE:29 [ plexSort::nxt_idx#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:8 [ plex_sprite_msb#44 plex_sprite_msb#16 plex_sprite_msb#25 ]
Uplifting [] best 78971 combination zp ZP_BYTE:8 [ plex_sprite_msb#44 plex_sprite_msb#16 plex_sprite_msb#25 ]
Uplifting [] best 78966 combination zp ZP_BYTE:8 [ plex_sprite_msb#44 plex_sprite_msb#16 plex_sprite_msb#25 ]
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ plex_free_next#17 plex_free_next#13 ]
Uplifting [] best 78971 combination zp ZP_BYTE:5 [ plex_free_next#17 plex_free_next#13 ]
Uplifting [] best 78966 combination zp ZP_BYTE:5 [ plex_free_next#17 plex_free_next#13 ]
Attempting to uplift remaining variables inzp ZP_BYTE:32 [ init::$6 ]
Uplifting [init] best 78931 combination reg byte a [ init::$6 ]
Uplifting [init] best 78926 combination reg byte a [ init::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ plex_show_idx#44 plex_show_idx#15 ]
Uplifting [] best 78931 combination zp ZP_BYTE:7 [ plex_show_idx#44 plex_show_idx#15 ]
Uplifting [] best 78926 combination zp ZP_BYTE:7 [ plex_show_idx#44 plex_show_idx#15 ]
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ loop::sin_idx#6 loop::sin_idx#1 ]
Uplifting [loop] best 78931 combination zp ZP_BYTE:2 [ loop::sin_idx#6 loop::sin_idx#1 ]
Uplifting [loop] best 78926 combination zp ZP_BYTE:2 [ loop::sin_idx#6 loop::sin_idx#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ plexShowSprite::$3 ]
Uplifting [plexShowSprite] best 78925 combination reg byte a [ plexShowSprite::$3 ]
Uplifting [plexShowSprite] best 78920 combination reg byte a [ plexShowSprite::$3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:26 [ plexShowSprite::$4 ]
Uplifting [plexShowSprite] best 78919 combination reg byte a [ plexShowSprite::$4 ]
Uplifting [plexShowSprite] best 78914 combination reg byte a [ plexShowSprite::$4 ]
Attempting to uplift remaining variables inzp ZP_BYTE:27 [ plexShowSprite::$6 ]
Uplifting [plexShowSprite] best 78913 combination reg byte a [ plexShowSprite::$6 ]
Uplifting [plexShowSprite] best 78908 combination reg byte a [ plexShowSprite::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:28 [ plexShowSprite::$7 ]
Uplifting [plexShowSprite] best 78909 combination reg byte x [ plexShowSprite::$7 ]
Uplifting [plexShowSprite] best 78904 combination reg byte x [ plexShowSprite::$7 ]
Attempting to uplift remaining variables inzp ZP_BYTE:21 [ plexShowSprite::plexFreeAdd1_ypos#0 ]
Uplifting [plexShowSprite] best 78900 combination reg byte a [ plexShowSprite::plexFreeAdd1_ypos#0 ]
Uplifting [plexShowSprite] best 78895 combination reg byte a [ plexShowSprite::plexFreeAdd1_ypos#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ plexShowSprite::xpos_idx#0 ]
Uplifting [plexShowSprite] best 78900 combination zp ZP_BYTE:24 [ plexShowSprite::xpos_idx#0 ]
Uplifting [plexShowSprite] best 78895 combination zp ZP_BYTE:24 [ plexShowSprite::xpos_idx#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:20 [ plexShowSprite::plex_sprite_idx2#0 ]
Uplifting [plexShowSprite] best 78900 combination zp ZP_BYTE:20 [ plexShowSprite::plex_sprite_idx2#0 ]
Uplifting [plexShowSprite] best 78895 combination zp ZP_BYTE:20 [ plexShowSprite::plex_sprite_idx2#0 ]
Coalescing zero page register [ zp ZP_BYTE:5 [ plex_free_next#17 plex_free_next#13 ] ] with [ zp ZP_BYTE:10 [ plexSort::m#2 plexSort::m#1 ] ]
Coalescing zero page register [ zp ZP_BYTE:7 [ plex_show_idx#44 plex_show_idx#15 ] ] with [ zp ZP_BYTE:29 [ plexSort::nxt_idx#0 ] ]
Coalescing zero page register [ zp ZP_BYTE:8 [ plex_sprite_msb#44 plex_sprite_msb#16 plex_sprite_msb#25 ] ] with [ zp ZP_BYTE:30 [ plexSort::nxt_y#0 ] ]
@ -3793,9 +3793,9 @@ init: {
clc
adc xp
sta xp
lda #0
adc xp+1
sta xp+1
bcc !+
inc xp+1
!:
//SEG166 [88] (byte) init::sx#1 ← ++ (byte) init::sx#2 -- vbuxx=_inc_vbuxx
inx
//SEG167 [89] if((byte) init::sx#1!=(const byte) PLEX_COUNT#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@1 -- vbuxx_neq_vbuc1_then_la1
@ -4293,7 +4293,7 @@ reg byte a [ init::$6 ]
FINAL ASSEMBLER
Score: 63460
Score: 63455
//SEG0 File Comments
// A simple usage of the flexible sprite multiplexer routine
@ -4703,9 +4703,9 @@ init: {
clc
adc xp
sta xp
lda #0
adc xp+1
sta xp+1
bcc !+
inc xp+1
!:
//SEG166 [88] (byte) init::sx#1 ← ++ (byte) init::sx#2 -- vbuxx=_inc_vbuxx
inx
//SEG167 [89] if((byte) init::sx#1!=(const byte) PLEX_COUNT#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@1 -- vbuxx_neq_vbuc1_then_la1

View File

@ -275,9 +275,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
inc sqr1_lo
bne !+
inc sqr1_lo+1

View File

@ -2932,9 +2932,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG189 [108] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+
@ -3267,43 +3267,43 @@ Uplift Scope [mulf8u_prepared] 4: zp ZP_WORD:63 [ mulf8u_prepared::return#2 ] 1.
Uplift Scope [main]
Uplift Scope []
Uplifting [anim] best 53519 combination zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ] zp ZP_WORD:28 [ anim::$4 ] zp ZP_WORD:34 [ anim::$6 ] zp ZP_WORD:40 [ anim::$9 ] zp ZP_WORD:42 [ anim::$10 ] zp ZP_WORD:48 [ anim::$11 ] zp ZP_WORD:50 [ anim::$12 ] reg byte a [ anim::$15 ] reg byte a [ anim::$18 ] reg byte a [ anim::$22 ] zp ZP_BYTE:62 [ anim::$25 ] zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ] zp ZP_BYTE:54 [ anim::$13 ] zp ZP_BYTE:61 [ anim::i2#0 ] zp ZP_BYTE:60 [ anim::ypos#0 ] zp ZP_WORD:56 [ anim::xpos#0 ] zp ZP_WORD:44 [ anim::xr#1 ] zp ZP_WORD:52 [ anim::yr#1 ] zp ZP_BYTE:25 [ anim::y#0 ] zp ZP_WORD:30 [ anim::xr#0 ] zp ZP_WORD:36 [ anim::yr#0 ] zp ZP_BYTE:24 [ anim::x#0 ] zp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
Uplifting [anim] best 53514 combination zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ] zp ZP_WORD:28 [ anim::$4 ] zp ZP_WORD:34 [ anim::$6 ] zp ZP_WORD:40 [ anim::$9 ] zp ZP_WORD:42 [ anim::$10 ] zp ZP_WORD:48 [ anim::$11 ] zp ZP_WORD:50 [ anim::$12 ] reg byte a [ anim::$15 ] reg byte a [ anim::$18 ] reg byte a [ anim::$22 ] zp ZP_BYTE:62 [ anim::$25 ] zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ] zp ZP_BYTE:54 [ anim::$13 ] zp ZP_BYTE:61 [ anim::i2#0 ] zp ZP_BYTE:60 [ anim::ypos#0 ] zp ZP_WORD:56 [ anim::xpos#0 ] zp ZP_WORD:44 [ anim::xr#1 ] zp ZP_WORD:52 [ anim::yr#1 ] zp ZP_BYTE:25 [ anim::y#0 ] zp ZP_WORD:30 [ anim::xr#0 ] zp ZP_WORD:36 [ anim::yr#0 ] zp ZP_BYTE:24 [ anim::x#0 ] zp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
Limited combination testing to 100 combinations of 368640 possible.
Uplifting [mulf8s_prepared] best 52298 combination reg byte y [ mulf8s_prepared::b#4 mulf8s_prepared::b#0 mulf8s_prepared::b#2 mulf8s_prepared::b#1 mulf8s_prepared::b#3 ] zp ZP_WORD:26 [ mulf8s_prepared::return#2 ] zp ZP_WORD:32 [ mulf8s_prepared::return#3 ] zp ZP_WORD:38 [ mulf8s_prepared::return#4 ] zp ZP_WORD:46 [ mulf8s_prepared::return#10 ] zp ZP_WORD:6 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 ] reg byte a [ mulf8s_prepared::$5 ] reg byte a [ mulf8s_prepared::$15 ] reg byte a [ mulf8s_prepared::$11 ] zp ZP_BYTE:68 [ mulf8s_prepared::$16 ]
Uplifting [mulf8s_prepared] best 52293 combination reg byte y [ mulf8s_prepared::b#4 mulf8s_prepared::b#0 mulf8s_prepared::b#2 mulf8s_prepared::b#1 mulf8s_prepared::b#3 ] zp ZP_WORD:26 [ mulf8s_prepared::return#2 ] zp ZP_WORD:32 [ mulf8s_prepared::return#3 ] zp ZP_WORD:38 [ mulf8s_prepared::return#4 ] zp ZP_WORD:46 [ mulf8s_prepared::return#10 ] zp ZP_WORD:6 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 ] reg byte a [ mulf8s_prepared::$5 ] reg byte a [ mulf8s_prepared::$15 ] reg byte a [ mulf8s_prepared::$11 ] zp ZP_BYTE:68 [ mulf8s_prepared::$16 ]
Limited combination testing to 100 combinations of 512 possible.
Uplifting [mulf8u_prepare] best 51695 combination reg byte a [ mulf8u_prepare::a#2 mulf8u_prepare::a#3 mulf8u_prepare::a#4 ]
Uplifting [mulf_init] best 51445 combination zp ZP_WORD:16 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:15 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:19 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:11 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:18 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:21 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:23 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:13 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Uplifting [mulf8u_prepare] best 51690 combination reg byte a [ mulf8u_prepare::a#2 mulf8u_prepare::a#3 mulf8u_prepare::a#4 ]
Uplifting [mulf_init] best 51440 combination zp ZP_WORD:16 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:15 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:19 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:11 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:18 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:21 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:23 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:13 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Limited combination testing to 100 combinations of 1024 possible.
Uplifting [init] best 51295 combination reg byte x [ init::i#2 init::i#1 ]
Uplifting [mulf8u_prepared] best 51295 combination zp ZP_WORD:63 [ mulf8u_prepared::return#2 ] zp ZP_WORD:69 [ mulf8u_prepared::return#0 ]
Uplifting [main] best 51295 combination
Uplifting [] best 51295 combination
Uplifting [init] best 51290 combination reg byte x [ init::i#2 init::i#1 ]
Uplifting [mulf8u_prepared] best 51290 combination zp ZP_WORD:63 [ mulf8u_prepared::return#2 ] zp ZP_WORD:69 [ mulf8u_prepared::return#0 ]
Uplifting [main] best 51290 combination
Uplifting [] best 51290 combination
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ]
Uplifting [anim] best 51295 combination zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ]
Uplifting [anim] best 51290 combination zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:62 [ anim::$25 ]
Uplifting [anim] best 50695 combination reg byte a [ anim::$25 ]
Uplifting [anim] best 50690 combination reg byte a [ anim::$25 ]
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ anim::i#10 anim::i#1 ]
Uplifting [anim] best 50695 combination zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ]
Uplifting [anim] best 50690 combination zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:54 [ anim::$13 ]
Uplifting [anim] best 50095 combination reg byte a [ anim::$13 ]
Uplifting [anim] best 50090 combination reg byte a [ anim::$13 ]
Attempting to uplift remaining variables inzp ZP_BYTE:61 [ anim::i2#0 ]
Uplifting [anim] best 49395 combination reg byte x [ anim::i2#0 ]
Uplifting [anim] best 49390 combination reg byte x [ anim::i2#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:60 [ anim::ypos#0 ]
Uplifting [anim] best 49195 combination reg byte y [ anim::ypos#0 ]
Uplifting [anim] best 49190 combination reg byte y [ anim::ypos#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:15 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 49195 combination zp ZP_BYTE:15 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 49190 combination zp ZP_BYTE:15 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ anim::y#0 ]
Uplifting [anim] best 49195 combination zp ZP_BYTE:25 [ anim::y#0 ]
Uplifting [anim] best 49190 combination zp ZP_BYTE:25 [ anim::y#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 49055 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 49050 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ anim::x#0 ]
Uplifting [anim] best 49055 combination zp ZP_BYTE:24 [ anim::x#0 ]
Uplifting [anim] best 49050 combination zp ZP_BYTE:24 [ anim::x#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 49055 combination zp ZP_BYTE:23 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 49050 combination zp ZP_BYTE:23 [ mulf_init::dir#2 mulf_init::dir#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
Uplifting [anim] best 49055 combination zp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
Uplifting [anim] best 49050 combination zp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:68 [ mulf8s_prepared::$16 ]
Uplifting [mulf8s_prepared] best 49049 combination reg byte a [ mulf8s_prepared::$16 ]
Uplifting [mulf8s_prepared] best 49044 combination reg byte a [ mulf8s_prepared::$16 ]
Coalescing zero page register with common assignment [ zp ZP_WORD:6 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 ] ] with [ zp ZP_WORD:26 [ mulf8s_prepared::return#2 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:6 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 mulf8s_prepared::return#2 ] ] with [ zp ZP_WORD:32 [ mulf8s_prepared::return#3 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:6 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 mulf8s_prepared::return#2 mulf8s_prepared::return#3 ] ] with [ zp ZP_WORD:38 [ mulf8s_prepared::return#4 ] ] - score: 1
@ -3895,9 +3895,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG189 [108] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+
@ -4484,7 +4484,7 @@ reg byte a [ mulf_init::$6 ]
FINAL ASSEMBLER
Score: 34700
Score: 34695
//SEG0 File Comments
// 2D rotattion of 8 sprites
@ -4952,9 +4952,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG189 [108] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+

View File

@ -100,9 +100,9 @@ scroll_bit: {
b3:
ldy #0
sta (sc),y
lda sc
lda #$28
clc
adc #$28
adc sc
sta sc
bcc !+
inc sc+1

View File

@ -1843,9 +1843,9 @@ scroll_bit: {
ldy #0
sta (sc),y
//SEG97 [39] (byte*) scroll_bit::sc#1 ← (byte*) scroll_bit::sc#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda sc
lda #$28
clc
adc #$28
adc sc
sta sc
bcc !+
inc sc+1
@ -2370,9 +2370,9 @@ scroll_bit: {
ldy #0
sta (sc),y
//SEG97 [39] (byte*) scroll_bit::sc#1 ← (byte*) scroll_bit::sc#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda sc
lda #$28
clc
adc #$28
adc sc
sta sc
bcc !+
inc sc+1
@ -2941,9 +2941,9 @@ scroll_bit: {
ldy #0
sta (sc),y
//SEG97 [39] (byte*) scroll_bit::sc#1 ← (byte*) scroll_bit::sc#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda sc
lda #$28
clc
adc #$28
adc sc
sta sc
bcc !+
inc sc+1

View File

@ -459,9 +459,9 @@ gen_sprites: {
lda spr+1
sta gen_chargen_sprite.sprite+1
jsr gen_chargen_sprite
lda spr
lda #$40
clc
adc #$40
adc spr
sta spr
bcc !+
inc spr+1
@ -563,9 +563,9 @@ gen_chargen_sprite: {
lda x
cmp #8
bne b2
lda sprite
lda #6
clc
adc #6
adc sprite
sta sprite
bcc !+
inc sprite+1

View File

@ -4600,9 +4600,9 @@ gen_sprites: {
//SEG359 gen_sprites::@3
b3:
//SEG360 [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) $40 -- pbuz1=pbuz1_plus_vbuc1
lda spr
lda #$40
clc
adc #$40
adc spr
sta spr
bcc !+
inc spr+1
@ -4832,9 +4832,9 @@ gen_chargen_sprite: {
//SEG436 gen_chargen_sprite::@9
b9:
//SEG437 [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz1_plus_vbuc1
lda sprite
lda #6
clc
adc #6
adc sprite
sta sprite
bcc !+
inc sprite+1
@ -6336,9 +6336,9 @@ gen_sprites: {
//SEG359 gen_sprites::@3
b3:
//SEG360 [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) $40 -- pbuz1=pbuz1_plus_vbuc1
lda spr
lda #$40
clc
adc #$40
adc spr
sta spr
bcc !+
inc spr+1
@ -6550,9 +6550,9 @@ gen_chargen_sprite: {
//SEG436 gen_chargen_sprite::@9
b9:
//SEG437 [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz1_plus_vbuc1
lda sprite
lda #6
clc
adc #6
adc sprite
sta sprite
bcc !+
inc sprite+1
@ -8202,9 +8202,9 @@ gen_sprites: {
jsr gen_chargen_sprite
//SEG359 gen_sprites::@3
//SEG360 [175] (byte*) gen_sprites::spr#1 ← (byte*) gen_sprites::spr#2 + (byte/signed byte/word/signed word/dword/signed dword) $40 -- pbuz1=pbuz1_plus_vbuc1
lda spr
lda #$40
clc
adc #$40
adc spr
sta spr
bcc !+
inc spr+1
@ -8383,9 +8383,9 @@ gen_chargen_sprite: {
bne b2
//SEG436 gen_chargen_sprite::@9
//SEG437 [206] (byte*) gen_chargen_sprite::sprite#2 ← (byte*) gen_chargen_sprite::sprite#4 + (byte/signed byte/word/signed word/dword/signed dword) 6 -- pbuz1=pbuz1_plus_vbuc1
lda sprite
lda #6
clc
adc #6
adc sprite
sta sprite
bcc !+
inc sprite+1

View File

@ -42,9 +42,9 @@ plot: {
iny
cpy #$10
bcc b2
lda line
lda #$28
clc
adc #$28
adc line
sta line
bcc !+
inc line+1

View File

@ -839,9 +839,9 @@ plot: {
//SEG54 plot::@3
b3:
//SEG55 [22] (byte*) plot::line#1 ← (byte*) plot::line#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda line
lda #$28
clc
adc #$28
adc line
sta line
bcc !+
inc line+1
@ -1192,9 +1192,9 @@ plot: {
//SEG54 plot::@3
b3:
//SEG55 [22] (byte*) plot::line#1 ← (byte*) plot::line#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda line
lda #$28
clc
adc #$28
adc line
sta line
bcc !+
inc line+1
@ -1602,9 +1602,9 @@ plot: {
bcc b2
//SEG54 plot::@3
//SEG55 [22] (byte*) plot::line#1 ← (byte*) plot::line#4 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda line
lda #$28
clc
adc #$28
adc line
sta line
bcc !+
inc line+1

View File

@ -13,9 +13,9 @@ main: {
clc
adc w
sta w
lda #0
adc w+1
sta w+1
bcc !+
inc w+1
!:
inx
cpx #$b
bne b1

View File

@ -185,9 +185,9 @@ main: {
clc
adc w
sta w
lda #0
adc w+1
sta w+1
bcc !+
inc w+1
!:
//SEG19 [7] (byte) main::j#1 ← ++ (byte) main::i#1 -- vbuz1=_inc_vbuz1
inc j
//SEG20 [8] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuz1_neq_vbuc1_then_la1
@ -212,8 +212,8 @@ REGISTER UPLIFT SCOPES
Uplift Scope [main] 33: zp ZP_BYTE:2 [ main::i#1 main::j#1 ] 29.33: zp ZP_WORD:3 [ main::w#2 main::w#1 ]
Uplift Scope []
Uplifting [main] best 473 combination reg byte x [ main::i#1 main::j#1 ] zp ZP_WORD:3 [ main::w#2 main::w#1 ]
Uplifting [] best 473 combination
Uplifting [main] best 468 combination reg byte x [ main::i#1 main::j#1 ] zp ZP_WORD:3 [ main::w#2 main::w#1 ]
Uplifting [] best 468 combination
Allocated (was zp ZP_WORD:3) zp ZP_WORD:2 [ main::w#2 main::w#1 ]
ASSEMBLER BEFORE OPTIMIZATION
@ -265,9 +265,9 @@ main: {
clc
adc w
sta w
lda #0
adc w+1
sta w+1
bcc !+
inc w+1
!:
//SEG19 [7] (byte) main::j#1 ← ++ (byte) main::i#1 -- vbuxx=_inc_vbuxx
inx
//SEG20 [8] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1
@ -328,7 +328,7 @@ zp ZP_WORD:2 [ main::w#2 main::w#1 ]
FINAL ASSEMBLER
Score: 351
Score: 346
//SEG0 File Comments
// Tests that immediate zero values are reused - even when assigning to words
@ -364,9 +364,9 @@ main: {
clc
adc w
sta w
lda #0
adc w+1
sta w+1
bcc !+
inc w+1
!:
//SEG19 [7] (byte) main::j#1 ← ++ (byte) main::i#1 -- vbuxx=_inc_vbuxx
inx
//SEG20 [8] if((byte) main::j#1!=(byte/signed byte/word/signed word/dword/signed dword) $b) goto main::@1 -- vbuxx_neq_vbuc1_then_la1

View File

@ -35,9 +35,9 @@ main: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -603,9 +603,9 @@ print_ln: {
//SEG39 print_ln::@1
b1:
//SEG40 [17] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -862,9 +862,9 @@ print_ln: {
//SEG39 print_ln::@1
b1:
//SEG40 [17] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -1158,9 +1158,9 @@ print_ln: {
//SEG39 print_ln::@1
b1:
//SEG40 [17] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -61,12 +61,12 @@ main: {
clc
adc line1_pos
sta line1_pos
tya
adc line1_pos+1
sta line1_pos+1
lda cur_line
bcc !+
inc line1_pos+1
!:
lda #$28
clc
adc #$28
adc cur_line
sta cur_line
bcc !+
inc cur_line+1
@ -98,12 +98,12 @@ main: {
clc
adc line2_pos
sta line2_pos
tya
adc line2_pos+1
sta line2_pos+1
lda cur_line
bcc !+
inc line2_pos+1
!:
lda #$28
clc
adc #$28
adc cur_line
sta cur_line
bcc !+
inc cur_line+1

View File

@ -674,13 +674,13 @@ main: {
clc
adc line1_pos
sta line1_pos
lda #0
adc line1_pos+1
sta line1_pos+1
bcc !+
inc line1_pos+1
!:
//SEG36 [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cur_line
lda #$28
clc
adc #$28
adc cur_line
sta cur_line
bcc !+
inc cur_line+1
@ -746,13 +746,13 @@ main: {
clc
adc line2_pos
sta line2_pos
lda #0
adc line2_pos+1
sta line2_pos+1
bcc !+
inc line2_pos+1
!:
//SEG56 [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cur_line_11
lda #$28
clc
adc #$28
adc cur_line_11
sta cur_line_11
bcc !+
inc cur_line_11+1
@ -815,8 +815,8 @@ REGISTER UPLIFT SCOPES
Uplift Scope [main] 33: zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] 22: zp ZP_BYTE:14 [ main::plot1_xpos#0 ] 22: zp ZP_WORD:15 [ main::plot1_$0#0 ] 22: zp ZP_BYTE:17 [ main::plot2_xpos#0 ] 22: zp ZP_WORD:18 [ main::plot2_$0#0 ] 20.17: zp ZP_BYTE:8 [ main::line1_i#2 main::line1_i#1 ] 20.17: zp ZP_BYTE:13 [ main::line2_i#2 main::line2_i#1 ] 13.75: zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] 13.75: zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ]
Uplift Scope [] 13.93: zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] 13.93: zp ZP_WORD:11 [ cur_line#10 cur_line#11 ]
Uplifting [main] best 2714 combination zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] reg byte a [ main::plot1_xpos#0 ] zp ZP_WORD:15 [ main::plot1_$0#0 ] reg byte a [ main::plot2_xpos#0 ] zp ZP_WORD:18 [ main::plot2_$0#0 ] reg byte x [ main::line1_i#2 main::line1_i#1 ] reg byte x [ main::line2_i#2 main::line2_i#1 ] zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ]
Uplifting [] best 2714 combination zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] zp ZP_WORD:11 [ cur_line#10 cur_line#11 ]
Uplifting [main] best 2704 combination zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] reg byte a [ main::plot1_xpos#0 ] zp ZP_WORD:15 [ main::plot1_$0#0 ] reg byte a [ main::plot2_xpos#0 ] zp ZP_WORD:18 [ main::plot2_$0#0 ] reg byte x [ main::line1_i#2 main::line1_i#1 ] reg byte x [ main::line2_i#2 main::line2_i#1 ] zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ]
Uplifting [] best 2704 combination zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] zp ZP_WORD:11 [ cur_line#10 cur_line#11 ]
Coalescing zero page register [ zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] ] with [ zp ZP_WORD:4 [ main::line1_pos#2 main::line1_pos#1 ] ]
Coalescing zero page register [ zp ZP_WORD:2 [ main::sc#2 main::sc#1 main::line1_pos#2 main::line1_pos#1 ] ] with [ zp ZP_WORD:9 [ main::line2_pos#2 main::line2_pos#1 ] ]
Coalescing zero page register [ zp ZP_WORD:6 [ cur_line#13 cur_line#1 ] ] with [ zp ZP_WORD:11 [ cur_line#10 cur_line#11 ] ]
@ -948,13 +948,13 @@ main: {
clc
adc line1_pos
sta line1_pos
lda #0
adc line1_pos+1
sta line1_pos+1
bcc !+
inc line1_pos+1
!:
//SEG36 [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cur_line
lda #$28
clc
adc #$28
adc cur_line
sta cur_line
bcc !+
inc cur_line+1
@ -1016,13 +1016,13 @@ main: {
clc
adc line2_pos
sta line2_pos
lda #0
adc line2_pos+1
sta line2_pos+1
bcc !+
inc line2_pos+1
!:
//SEG56 [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cur_line
lda #$28
clc
adc #$28
adc cur_line
sta cur_line
bcc !+
inc cur_line+1
@ -1086,8 +1086,6 @@ Removing instruction jmp b1
Removing instruction jmp line1_b1
Removing instruction jmp line2_b1
Succesful ASM optimization Pass5NextJumpElimination
Replacing instruction lda #0 with TYA
Replacing instruction lda #0 with TYA
Removing instruction bbegin:
Succesful ASM optimization Pass5UnusedLabelElimination
@ -1167,7 +1165,7 @@ reg byte a [ main::plot2_xpos#0 ]
FINAL ASSEMBLER
Score: 2366
Score: 2356
//SEG0 File Comments
// Inline functions in two levels
@ -1268,13 +1266,13 @@ main: {
clc
adc line1_pos
sta line1_pos
tya
adc line1_pos+1
sta line1_pos+1
bcc !+
inc line1_pos+1
!:
//SEG36 [15] (byte*) cur_line#1 ← (byte*) cur_line#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cur_line
lda #$28
clc
adc #$28
adc cur_line
sta cur_line
bcc !+
inc cur_line+1
@ -1325,13 +1323,13 @@ main: {
clc
adc line2_pos
sta line2_pos
tya
adc line2_pos+1
sta line2_pos+1
bcc !+
inc line2_pos+1
!:
//SEG56 [24] (byte*) cur_line#11 ← (byte*) cur_line#10 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cur_line
lda #$28
clc
adc #$28
adc cur_line
sta cur_line
bcc !+
inc cur_line+1

View File

@ -19,18 +19,18 @@ main: {
ldy sintab,x
lda #'*'
sta (screen),y
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
!:
lda #1
sta (cols),y
lda cols
lda #$28
clc
adc #$28
adc cols
sta cols
bcc !+
inc cols+1

View File

@ -220,9 +220,9 @@ main: {
ldy sin
sta (screen),y
//SEG23 [8] (byte*) main::screen#1 ← (byte*) main::screen#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
@ -232,9 +232,9 @@ main: {
ldy sin
sta (cols),y
//SEG25 [10] (byte*) main::cols#1 ← (byte*) main::cols#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cols
lda #$28
clc
adc #$28
adc cols
sta cols
bcc !+
inc cols+1
@ -339,9 +339,9 @@ main: {
lda #'*'
sta (screen),y
//SEG23 [8] (byte*) main::screen#1 ← (byte*) main::screen#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
@ -350,9 +350,9 @@ main: {
lda #1
sta (cols),y
//SEG25 [10] (byte*) main::cols#1 ← (byte*) main::cols#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cols
lda #$28
clc
adc #$28
adc cols
sta cols
bcc !+
inc cols+1
@ -472,9 +472,9 @@ main: {
lda #'*'
sta (screen),y
//SEG23 [8] (byte*) main::screen#1 ← (byte*) main::screen#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
@ -483,9 +483,9 @@ main: {
lda #1
sta (cols),y
//SEG25 [10] (byte*) main::cols#1 ← (byte*) main::cols#2 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda cols
lda #$28
clc
adc #$28
adc cols
sta cols
bcc !+
inc cols+1

View File

@ -179,9 +179,9 @@ main: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -2474,9 +2474,9 @@ print_ln: {
//SEG167 print_ln::@1
b1:
//SEG168 [63] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -3607,9 +3607,9 @@ print_ln: {
//SEG167 print_ln::@1
b1:
//SEG168 [63] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -4824,9 +4824,9 @@ print_ln: {
//SEG167 print_ln::@1
b1:
//SEG168 [63] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -256,9 +256,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
inc sqr1_lo
bne !+
inc sqr1_lo+1

View File

@ -1822,9 +1822,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG124 [62] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+
@ -2050,22 +2050,22 @@ Uplift Scope [] 9.84: zp ZP_WORD:6 [ print_char_cursor#27 print_char_cursor#36 p
Uplift Scope [print_dword] 5: zp ZP_DWORD:30 [ print_dword::dw#0 ]
Uplift Scope [print_set_screen]
Uplifting [mulf_init] best 6051 combination zp ZP_WORD:14 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:13 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:17 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:9 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:16 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:19 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:21 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:11 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Uplifting [mulf_init] best 6046 combination zp ZP_WORD:14 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:13 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:17 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:9 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:16 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:19 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:21 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:11 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Limited combination testing to 100 combinations of 1024 possible.
Uplifting [mulf16u] best 6051 combination zp ZP_DWORD:22 [ mulf16u::return#0 ] zp ZP_DWORD:36 [ mulf16u::return#1 ]
Uplifting [print_byte] best 6039 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [print_char] best 6030 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ]
Uplifting [main] best 6030 combination zp ZP_DWORD:26 [ main::r#0 ]
Uplifting [print_word] best 6030 combination zp ZP_WORD:2 [ print_word::w#2 print_word::w#0 print_word::w#1 ]
Uplifting [] best 6030 combination zp ZP_WORD:6 [ print_char_cursor#27 print_char_cursor#36 print_char_cursor#34 print_char_cursor#16 print_char_cursor#10 ]
Uplifting [print_dword] best 6030 combination zp ZP_DWORD:30 [ print_dword::dw#0 ]
Uplifting [print_set_screen] best 6030 combination
Uplifting [mulf16u] best 6046 combination zp ZP_DWORD:22 [ mulf16u::return#0 ] zp ZP_DWORD:36 [ mulf16u::return#1 ]
Uplifting [print_byte] best 6034 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [print_char] best 6025 combination reg byte a [ print_char::ch#2 print_char::ch#0 print_char::ch#1 ]
Uplifting [main] best 6025 combination zp ZP_DWORD:26 [ main::r#0 ]
Uplifting [print_word] best 6025 combination zp ZP_WORD:2 [ print_word::w#2 print_word::w#0 print_word::w#1 ]
Uplifting [] best 6025 combination zp ZP_WORD:6 [ print_char_cursor#27 print_char_cursor#36 print_char_cursor#34 print_char_cursor#16 print_char_cursor#10 ]
Uplifting [print_dword] best 6025 combination zp ZP_DWORD:30 [ print_dword::dw#0 ]
Uplifting [print_set_screen] best 6025 combination
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 6030 combination zp ZP_BYTE:13 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 6025 combination zp ZP_BYTE:13 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:16 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 5890 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 5885 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:21 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 5890 combination zp ZP_BYTE:21 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 5885 combination zp ZP_BYTE:21 [ mulf_init::dir#2 mulf_init::dir#3 ]
Coalescing zero page register with common assignment [ zp ZP_DWORD:22 [ mulf16u::return#0 ] ] with [ zp ZP_DWORD:26 [ main::r#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_DWORD:22 [ mulf16u::return#0 main::r#0 ] ] with [ zp ZP_DWORD:36 [ mulf16u::return#1 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_DWORD:22 [ mulf16u::return#0 main::r#0 mulf16u::return#1 ] ] with [ zp ZP_DWORD:30 [ print_dword::dw#0 ] ] - score: 1
@ -2522,9 +2522,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG124 [62] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+
@ -2886,7 +2886,7 @@ reg byte a [ mulf_init::$6 ]
FINAL ASSEMBLER
Score: 4318
Score: 4313
//SEG0 File Comments
//SEG1 Basic Upstart
@ -3270,9 +3270,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG124 [62] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+

View File

@ -21,9 +21,9 @@ main: {
lda charset_spec_row+1,y
sta gen_char3.spec+1
jsr gen_char3
lda charset
lda #8
clc
adc #8
adc charset
sta charset
bcc !+
inc charset+1

View File

@ -562,9 +562,9 @@ main: {
//SEG22 main::@3
b3:
//SEG23 [9] (byte*) main::charset#1 ← (byte*) main::charset#2 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vbuc1
lda charset
lda #8
clc
adc #8
adc charset
sta charset
bcc !+
inc charset+1
@ -803,9 +803,9 @@ main: {
//SEG22 main::@3
b3:
//SEG23 [9] (byte*) main::charset#1 ← (byte*) main::charset#2 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vbuc1
lda charset
lda #8
clc
adc #8
adc charset
sta charset
bcc !+
inc charset+1
@ -1088,9 +1088,9 @@ main: {
jsr gen_char3
//SEG22 main::@3
//SEG23 [9] (byte*) main::charset#1 ← (byte*) main::charset#2 + (byte/signed byte/word/signed word/dword/signed dword) 8 -- pbuz1=pbuz1_plus_vbuc1
lda charset
lda #8
clc
adc #8
adc charset
sta charset
bcc !+
inc charset+1

View File

@ -43,9 +43,9 @@ main: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -566,9 +566,9 @@ print_ln: {
//SEG47 print_ln::@1
b1:
//SEG48 [19] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#8 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -784,9 +784,9 @@ print_ln: {
//SEG47 print_ln::@1
b1:
//SEG48 [19] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#8 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -1048,9 +1048,9 @@ print_ln: {
//SEG47 print_ln::@1
b1:
//SEG48 [19] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#8 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -19,9 +19,9 @@ main: {
clc
adc xpos
sta xpos
lda #0
adc xpos+1
sta xpos+1
bcc !+
inc xpos+1
!:
inx
cpx #8
bne b1

View File

@ -712,9 +712,9 @@ main: {
clc
adc xpos
sta xpos
lda #0
adc xpos+1
sta xpos+1
bcc !+
inc xpos+1
!:
//SEG23 [10] (byte) main::s#1 ← ++ (byte) main::s#2 -- vbuz1=_inc_vbuz1
inc s
//SEG24 [11] if((byte) main::s#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto main::@1 -- vbuz1_neq_vbuc1_then_la1
@ -857,16 +857,16 @@ Uplift Scope [main] 23.1: zp ZP_BYTE:2 [ main::s#2 main::s#1 ] 15.58: zp ZP_WORD
Uplift Scope [position_sprite] 4: zp ZP_BYTE:8 [ position_sprite::$0 ] 4: zp ZP_BYTE:10 [ position_sprite::$2 ] 4: zp ZP_BYTE:11 [ position_sprite::$4 ] 4: zp ZP_BYTE:12 [ position_sprite::$5 ] 4: zp ZP_BYTE:13 [ position_sprite::$6 ] 2.5: zp ZP_WORD:6 [ position_sprite::x#0 ] 2.38: zp ZP_BYTE:5 [ position_sprite::spriteno#0 ] 2: zp ZP_BYTE:9 [ position_sprite::$1 ]
Uplift Scope []
Uplifting [main] best 854 combination reg byte x [ main::s#2 main::s#1 ] zp ZP_WORD:3 [ main::xpos#2 main::xpos#1 ]
Uplifting [position_sprite] best 832 combination reg byte a [ position_sprite::$0 ] reg byte a [ position_sprite::$2 ] reg byte a [ position_sprite::$4 ] reg byte a [ position_sprite::$5 ] zp ZP_BYTE:13 [ position_sprite::$6 ] zp ZP_WORD:6 [ position_sprite::x#0 ] zp ZP_BYTE:5 [ position_sprite::spriteno#0 ] zp ZP_BYTE:9 [ position_sprite::$1 ]
Uplifting [main] best 849 combination reg byte x [ main::s#2 main::s#1 ] zp ZP_WORD:3 [ main::xpos#2 main::xpos#1 ]
Uplifting [position_sprite] best 827 combination reg byte a [ position_sprite::$0 ] reg byte a [ position_sprite::$2 ] reg byte a [ position_sprite::$4 ] reg byte a [ position_sprite::$5 ] zp ZP_BYTE:13 [ position_sprite::$6 ] zp ZP_WORD:6 [ position_sprite::x#0 ] zp ZP_BYTE:5 [ position_sprite::spriteno#0 ] zp ZP_BYTE:9 [ position_sprite::$1 ]
Limited combination testing to 100 combinations of 9216 possible.
Uplifting [] best 832 combination
Uplifting [] best 827 combination
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ position_sprite::$6 ]
Uplifting [position_sprite] best 826 combination reg byte a [ position_sprite::$6 ]
Uplifting [position_sprite] best 821 combination reg byte a [ position_sprite::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ position_sprite::spriteno#0 ]
Uplifting [position_sprite] best 826 combination zp ZP_BYTE:5 [ position_sprite::spriteno#0 ]
Uplifting [position_sprite] best 821 combination zp ZP_BYTE:5 [ position_sprite::spriteno#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:9 [ position_sprite::$1 ]
Uplifting [position_sprite] best 822 combination reg byte y [ position_sprite::$1 ]
Uplifting [position_sprite] best 817 combination reg byte y [ position_sprite::$1 ]
Coalescing zero page register with common assignment [ zp ZP_WORD:3 [ main::xpos#2 main::xpos#1 ] ] with [ zp ZP_WORD:6 [ position_sprite::x#0 ] ] - score: 1
Allocated (was zp ZP_WORD:3) zp ZP_WORD:2 [ main::xpos#2 main::xpos#1 position_sprite::x#0 ]
Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:4 [ position_sprite::spriteno#0 ]
@ -931,9 +931,9 @@ main: {
clc
adc xpos
sta xpos
lda #0
adc xpos+1
sta xpos+1
bcc !+
inc xpos+1
!:
//SEG23 [10] (byte) main::s#1 ← ++ (byte) main::s#2 -- vbuxx=_inc_vbuxx
inx
//SEG24 [11] if((byte) main::s#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto main::@1 -- vbuxx_neq_vbuc1_then_la1
@ -1171,7 +1171,7 @@ reg byte a [ position_sprite::$6 ]
FINAL ASSEMBLER
Score: 564
Score: 559
//SEG0 File Comments
// Tests rolling sprite MSB by variable amount
@ -1217,9 +1217,9 @@ main: {
clc
adc xpos
sta xpos
lda #0
adc xpos+1
sta xpos+1
bcc !+
inc xpos+1
!:
//SEG23 [10] (byte) main::s#1 ← ++ (byte) main::s#2 -- vbuxx=_inc_vbuxx
inx
//SEG24 [11] if((byte) main::s#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto main::@1 -- vbuxx_neq_vbuc1_then_la1

View File

@ -53,9 +53,9 @@ main: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -1119,9 +1119,9 @@ print_ln: {
//SEG67 print_ln::@1
b1:
//SEG68 [29] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -1598,9 +1598,9 @@ print_ln: {
//SEG67 print_ln::@1
b1:
//SEG68 [29] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -2139,9 +2139,9 @@ print_ln: {
//SEG67 print_ln::@1
b1:
//SEG68 [29] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -79,9 +79,9 @@ main: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -1305,9 +1305,9 @@ print_ln: {
//SEG87 print_ln::@1
b1:
//SEG88 [40] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#6 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -1987,9 +1987,9 @@ print_ln: {
//SEG87 print_ln::@1
b1:
//SEG88 [40] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#6 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -2721,9 +2721,9 @@ print_ln: {
//SEG87 print_ln::@1
b1:
//SEG88 [40] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#6 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -195,9 +195,9 @@ sin8u_table: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -3970,9 +3970,9 @@ print_ln: {
//SEG166 print_ln::@1
b1:
//SEG167 [71] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -5722,9 +5722,9 @@ print_ln: {
//SEG166 print_ln::@1
b1:
//SEG167 [71] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -7599,9 +7599,9 @@ print_ln: {
//SEG166 print_ln::@1
b1:
//SEG167 [71] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#12 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -87,9 +87,9 @@ main: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -2677,9 +2677,9 @@ print_ln: {
//SEG84 print_ln::@1
b1:
//SEG85 [32] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -3698,9 +3698,9 @@ print_ln: {
//SEG84 print_ln::@1
b1:
//SEG85 [32] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -4980,9 +4980,9 @@ print_ln: {
//SEG84 print_ln::@1
b1:
//SEG85 [32] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -80,9 +80,9 @@ main: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -2432,9 +2432,9 @@ print_ln: {
//SEG84 print_ln::@1
b1:
//SEG85 [32] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -3351,9 +3351,9 @@ print_ln: {
//SEG84 print_ln::@1
b1:
//SEG85 [32] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -4498,9 +4498,9 @@ print_ln: {
//SEG84 print_ln::@1
b1:
//SEG85 [32] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -384,9 +384,9 @@ main: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -4249,9 +4249,9 @@ print_ln: {
//SEG439 print_ln::@1
b1:
//SEG440 [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -5720,9 +5720,9 @@ print_ln: {
//SEG439 print_ln::@1
b1:
//SEG440 [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -7334,9 +7334,9 @@ print_ln: {
//SEG439 print_ln::@1
b1:
//SEG440 [164] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -81,9 +81,9 @@ test_16s: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -4760,9 +4760,9 @@ print_ln: {
//SEG97 print_ln::@1
b1:
//SEG98 [46] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#20 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -7010,9 +7010,9 @@ print_ln: {
//SEG97 print_ln::@1
b1:
//SEG98 [46] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#20 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -9400,9 +9400,9 @@ print_ln: {
//SEG97 print_ln::@1
b1:
//SEG98 [46] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#20 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -118,9 +118,9 @@ main: {
iny
cpy #8
bne b7
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
@ -129,9 +129,9 @@ main: {
lda row
cmp #8
bne b6
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1

View File

@ -1825,9 +1825,9 @@ main: {
//SEG53 main::@20
b20:
//SEG54 [24] (byte*) main::screen#1 ← (byte*) main::screen#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
@ -2385,9 +2385,9 @@ main: {
//SEG53 main::@20
b20:
//SEG54 [24] (byte*) main::screen#1 ← (byte*) main::screen#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
@ -2402,9 +2402,9 @@ main: {
//SEG57 main::@21
b21:
//SEG58 [27] (byte*) main::screen#2 ← (byte*) main::screen#1 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
@ -3184,9 +3184,9 @@ main: {
bne b7
//SEG53 main::@20
//SEG54 [24] (byte*) main::screen#1 ← (byte*) main::screen#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1
@ -3199,9 +3199,9 @@ main: {
bne b6
//SEG57 main::@21
//SEG58 [27] (byte*) main::screen#2 ← (byte*) main::screen#1 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda screen
lda #$28
clc
adc #$28
adc screen
sta screen
bcc !+
inc screen+1

View File

@ -147,9 +147,9 @@ main: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -1442,9 +1442,9 @@ print_ln: {
//SEG120 print_ln::@1
b1:
//SEG121 [51] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -2096,9 +2096,9 @@ print_ln: {
//SEG120 print_ln::@1
b1:
//SEG121 [51] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -2774,9 +2774,9 @@ print_ln: {
//SEG120 print_ln::@1
b1:
//SEG121 [51] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#9 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -128,9 +128,9 @@ mul16s_compare: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -1019,9 +1019,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
inc sqr1_lo
bne !+
inc sqr1_lo+1

View File

@ -5136,9 +5136,9 @@ print_ln: {
//SEG127 print_ln::@1
b1:
//SEG128 [61] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#22 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -7020,9 +7020,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG636 [289] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+
@ -7602,39 +7602,39 @@ Uplift Scope [mul16s_error] 0.57: zp ZP_WORD:126 [ mul16s_error::a#0 ] 0.4: zp Z
Uplift Scope [print_ln]
Uplift Scope [main]
Uplifting [muls16s] best 550891 combination zp ZP_DWORD:55 [ muls16s::m#5 muls16s::return#0 muls16s::m#3 muls16s::m#1 muls16s::m#2 ] zp ZP_WORD:53 [ muls16s::j#2 muls16s::j#1 ] zp ZP_WORD:59 [ muls16s::i#2 muls16s::i#1 ] zp ZP_DWORD:94 [ muls16s::return#2 ] zp ZP_WORD:92 [ muls16s::b#0 ] zp ZP_WORD:90 [ muls16s::a#0 ]
Uplifting [mul16u] best 544891 combination zp ZP_DWORD:45 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp ZP_DWORD:49 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp ZP_WORD:43 [ mul16u::a#3 mul16u::a#6 mul16u::a#8 mul16u::a#2 mul16u::a#0 ] zp ZP_WORD:41 [ mul16u::b#2 mul16u::b#3 mul16u::b#1 ] zp ZP_DWORD:193 [ mul16u::return#3 ] zp ZP_DWORD:164 [ mul16u::return#2 ]
Uplifting [muls16u] best 544891 combination zp ZP_DWORD:70 [ muls16u::return#0 muls16u::m#3 muls16u::m#1 ] zp ZP_WORD:68 [ muls16u::i#2 muls16u::i#1 ] zp ZP_DWORD:185 [ muls16u::return#2 ] zp ZP_WORD:183 [ muls16u::b#0 ] zp ZP_WORD:181 [ muls16u::a#0 ]
Uplifting [mul16u_compare] best 542791 combination zp ZP_WORD:62 [ mul16u_compare::a#2 mul16u_compare::a#6 mul16u_compare::a#1 ] reg byte x [ mul16u_compare::ok#3 mul16u_compare::ok#4 ] reg byte y [ mul16u_compare::j#10 mul16u_compare::j#1 ] zp ZP_WORD:64 [ mul16u_compare::b#2 mul16u_compare::b#6 mul16u_compare::b#1 ] zp ZP_BYTE:61 [ mul16u_compare::i#12 mul16u_compare::i#1 ] zp ZP_DWORD:205 [ mul16u_compare::mf#0 ] zp ZP_DWORD:189 [ mul16u_compare::ms#0 ] zp ZP_DWORD:197 [ mul16u_compare::mn#0 ]
Uplifting [mul16s_compare] best 540691 combination zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#6 mul16s_compare::a#1 ] reg byte x [ mul16s_compare::ok#3 mul16s_compare::ok#4 ] reg byte y [ mul16s_compare::j#10 mul16s_compare::j#1 ] zp ZP_WORD:5 [ mul16s_compare::b#2 mul16s_compare::b#6 mul16s_compare::b#1 ] zp ZP_BYTE:2 [ mul16s_compare::i#12 mul16s_compare::i#1 ] zp ZP_DWORD:122 [ mul16s_compare::mf#0 ] zp ZP_DWORD:98 [ mul16s_compare::ms#0 ] zp ZP_DWORD:110 [ mul16s_compare::mn#0 ]
Uplifting [mulf16u] best 540691 combination zp ZP_WORD:35 [ mulf16u::b#2 mulf16u::b#1 mulf16u::b#4 ] zp ZP_WORD:33 [ mulf16u::a#2 mulf16u::a#1 mulf16u::a#4 ] zp ZP_DWORD:201 [ mulf16u::return#3 ] zp ZP_DWORD:160 [ mulf16u::return#0 ] zp ZP_DWORD:144 [ mulf16u::return#2 ]
Uplifting [print_str] best 540691 combination zp ZP_WORD:11 [ print_str::str#15 print_str::str#17 print_str::str#0 ]
Uplifting [mul16s] best 540691 combination zp ZP_DWORD:106 [ mul16s::return#2 ] zp ZP_DWORD:176 [ mul16s::return#0 ] zp ZP_DWORD:37 [ mul16s::m#4 mul16s::m#5 mul16s::m#1 mul16s::m#0 mul16s::m#2 ] zp ZP_WORD:104 [ mul16s::b#0 ] zp ZP_WORD:102 [ mul16s::a#0 ] zp ZP_WORD:168 [ mul16s::$6 ] zp ZP_WORD:170 [ mul16s::$16 ] zp ZP_WORD:172 [ mul16s::$12 ] zp ZP_WORD:174 [ mul16s::$17 ]
Uplifting [mulf16s] best 540691 combination zp ZP_DWORD:118 [ mulf16s::return#2 ] zp ZP_DWORD:156 [ mulf16s::return#0 ] zp ZP_DWORD:29 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] zp ZP_WORD:116 [ mulf16s::b#0 ] zp ZP_WORD:114 [ mulf16s::a#0 ] zp ZP_WORD:148 [ mulf16s::$6 ] zp ZP_WORD:150 [ mulf16s::$16 ] zp ZP_WORD:152 [ mulf16s::$12 ] zp ZP_WORD:154 [ mulf16s::$17 ]
Uplifting [] best 540691 combination zp ZP_WORD:25 [ print_char_cursor#84 print_char_cursor#136 print_char_cursor#132 print_char_cursor#133 print_char_cursor#134 print_char_cursor#148 print_char_cursor#129 print_char_cursor#143 print_char_cursor#176 print_char_cursor#128 print_char_cursor#20 print_char_cursor#185 print_char_cursor#139 print_char_cursor#192 print_char_cursor#1 print_char_cursor#130 ] zp ZP_WORD:9 [ print_line_cursor#22 print_line_cursor#43 print_line_cursor#1 ]
Uplifting [mulf_init] best 540441 combination zp ZP_WORD:80 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:79 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:83 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:75 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:82 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:85 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:87 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:77 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Uplifting [muls16s] best 550886 combination zp ZP_DWORD:55 [ muls16s::m#5 muls16s::return#0 muls16s::m#3 muls16s::m#1 muls16s::m#2 ] zp ZP_WORD:53 [ muls16s::j#2 muls16s::j#1 ] zp ZP_WORD:59 [ muls16s::i#2 muls16s::i#1 ] zp ZP_DWORD:94 [ muls16s::return#2 ] zp ZP_WORD:92 [ muls16s::b#0 ] zp ZP_WORD:90 [ muls16s::a#0 ]
Uplifting [mul16u] best 544886 combination zp ZP_DWORD:45 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 ] zp ZP_DWORD:49 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ] reg byte a [ mul16u::$1 ] zp ZP_WORD:43 [ mul16u::a#3 mul16u::a#6 mul16u::a#8 mul16u::a#2 mul16u::a#0 ] zp ZP_WORD:41 [ mul16u::b#2 mul16u::b#3 mul16u::b#1 ] zp ZP_DWORD:193 [ mul16u::return#3 ] zp ZP_DWORD:164 [ mul16u::return#2 ]
Uplifting [muls16u] best 544886 combination zp ZP_DWORD:70 [ muls16u::return#0 muls16u::m#3 muls16u::m#1 ] zp ZP_WORD:68 [ muls16u::i#2 muls16u::i#1 ] zp ZP_DWORD:185 [ muls16u::return#2 ] zp ZP_WORD:183 [ muls16u::b#0 ] zp ZP_WORD:181 [ muls16u::a#0 ]
Uplifting [mul16u_compare] best 542786 combination zp ZP_WORD:62 [ mul16u_compare::a#2 mul16u_compare::a#6 mul16u_compare::a#1 ] reg byte x [ mul16u_compare::ok#3 mul16u_compare::ok#4 ] reg byte y [ mul16u_compare::j#10 mul16u_compare::j#1 ] zp ZP_WORD:64 [ mul16u_compare::b#2 mul16u_compare::b#6 mul16u_compare::b#1 ] zp ZP_BYTE:61 [ mul16u_compare::i#12 mul16u_compare::i#1 ] zp ZP_DWORD:205 [ mul16u_compare::mf#0 ] zp ZP_DWORD:189 [ mul16u_compare::ms#0 ] zp ZP_DWORD:197 [ mul16u_compare::mn#0 ]
Uplifting [mul16s_compare] best 540686 combination zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#6 mul16s_compare::a#1 ] reg byte x [ mul16s_compare::ok#3 mul16s_compare::ok#4 ] reg byte y [ mul16s_compare::j#10 mul16s_compare::j#1 ] zp ZP_WORD:5 [ mul16s_compare::b#2 mul16s_compare::b#6 mul16s_compare::b#1 ] zp ZP_BYTE:2 [ mul16s_compare::i#12 mul16s_compare::i#1 ] zp ZP_DWORD:122 [ mul16s_compare::mf#0 ] zp ZP_DWORD:98 [ mul16s_compare::ms#0 ] zp ZP_DWORD:110 [ mul16s_compare::mn#0 ]
Uplifting [mulf16u] best 540686 combination zp ZP_WORD:35 [ mulf16u::b#2 mulf16u::b#1 mulf16u::b#4 ] zp ZP_WORD:33 [ mulf16u::a#2 mulf16u::a#1 mulf16u::a#4 ] zp ZP_DWORD:201 [ mulf16u::return#3 ] zp ZP_DWORD:160 [ mulf16u::return#0 ] zp ZP_DWORD:144 [ mulf16u::return#2 ]
Uplifting [print_str] best 540686 combination zp ZP_WORD:11 [ print_str::str#15 print_str::str#17 print_str::str#0 ]
Uplifting [mul16s] best 540686 combination zp ZP_DWORD:106 [ mul16s::return#2 ] zp ZP_DWORD:176 [ mul16s::return#0 ] zp ZP_DWORD:37 [ mul16s::m#4 mul16s::m#5 mul16s::m#1 mul16s::m#0 mul16s::m#2 ] zp ZP_WORD:104 [ mul16s::b#0 ] zp ZP_WORD:102 [ mul16s::a#0 ] zp ZP_WORD:168 [ mul16s::$6 ] zp ZP_WORD:170 [ mul16s::$16 ] zp ZP_WORD:172 [ mul16s::$12 ] zp ZP_WORD:174 [ mul16s::$17 ]
Uplifting [mulf16s] best 540686 combination zp ZP_DWORD:118 [ mulf16s::return#2 ] zp ZP_DWORD:156 [ mulf16s::return#0 ] zp ZP_DWORD:29 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] zp ZP_WORD:116 [ mulf16s::b#0 ] zp ZP_WORD:114 [ mulf16s::a#0 ] zp ZP_WORD:148 [ mulf16s::$6 ] zp ZP_WORD:150 [ mulf16s::$16 ] zp ZP_WORD:152 [ mulf16s::$12 ] zp ZP_WORD:154 [ mulf16s::$17 ]
Uplifting [] best 540686 combination zp ZP_WORD:25 [ print_char_cursor#84 print_char_cursor#136 print_char_cursor#132 print_char_cursor#133 print_char_cursor#134 print_char_cursor#148 print_char_cursor#129 print_char_cursor#143 print_char_cursor#176 print_char_cursor#128 print_char_cursor#20 print_char_cursor#185 print_char_cursor#139 print_char_cursor#192 print_char_cursor#1 print_char_cursor#130 ] zp ZP_WORD:9 [ print_line_cursor#22 print_line_cursor#43 print_line_cursor#1 ]
Uplifting [mulf_init] best 540436 combination zp ZP_WORD:80 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:79 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:83 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:75 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:82 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:85 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:87 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:77 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Limited combination testing to 100 combinations of 1024 possible.
Uplifting [print_cls] best 540441 combination zp ZP_WORD:88 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [print_sdword] best 540441 combination zp ZP_DWORD:13 [ print_sdword::dw#5 print_sdword::dw#4 print_sdword::dw#1 print_sdword::dw#2 print_sdword::dw#3 print_sdword::dw#0 ]
Uplifting [print_word] best 540441 combination zp ZP_WORD:21 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ]
Uplifting [print_dword] best 540441 combination zp ZP_DWORD:17 [ print_dword::dw#4 print_dword::dw#1 print_dword::dw#2 print_dword::dw#3 print_dword::dw#0 ]
Uplifting [print_sword] best 540441 combination zp ZP_WORD:27 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ]
Uplifting [print_byte] best 540429 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [print_char] best 540414 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ]
Uplifting [mul16u_error] best 540414 combination zp ZP_WORD:209 [ mul16u_error::a#0 ] zp ZP_WORD:211 [ mul16u_error::b#0 ] zp ZP_DWORD:213 [ mul16u_error::ms#0 ] zp ZP_DWORD:217 [ mul16u_error::mn#0 ] zp ZP_DWORD:221 [ mul16u_error::mf#0 ]
Uplifting [mul16s_error] best 540414 combination zp ZP_WORD:126 [ mul16s_error::a#0 ] zp ZP_WORD:128 [ mul16s_error::b#0 ] zp ZP_DWORD:130 [ mul16s_error::ms#0 ] zp ZP_DWORD:134 [ mul16s_error::mn#0 ] zp ZP_DWORD:138 [ mul16s_error::mf#0 ]
Uplifting [print_ln] best 540414 combination
Uplifting [main] best 540414 combination
Uplifting [print_cls] best 540436 combination zp ZP_WORD:88 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [print_sdword] best 540436 combination zp ZP_DWORD:13 [ print_sdword::dw#5 print_sdword::dw#4 print_sdword::dw#1 print_sdword::dw#2 print_sdword::dw#3 print_sdword::dw#0 ]
Uplifting [print_word] best 540436 combination zp ZP_WORD:21 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ]
Uplifting [print_dword] best 540436 combination zp ZP_DWORD:17 [ print_dword::dw#4 print_dword::dw#1 print_dword::dw#2 print_dword::dw#3 print_dword::dw#0 ]
Uplifting [print_sword] best 540436 combination zp ZP_WORD:27 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ]
Uplifting [print_byte] best 540424 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [print_char] best 540409 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ]
Uplifting [mul16u_error] best 540409 combination zp ZP_WORD:209 [ mul16u_error::a#0 ] zp ZP_WORD:211 [ mul16u_error::b#0 ] zp ZP_DWORD:213 [ mul16u_error::ms#0 ] zp ZP_DWORD:217 [ mul16u_error::mn#0 ] zp ZP_DWORD:221 [ mul16u_error::mf#0 ]
Uplifting [mul16s_error] best 540409 combination zp ZP_WORD:126 [ mul16s_error::a#0 ] zp ZP_WORD:128 [ mul16s_error::b#0 ] zp ZP_DWORD:130 [ mul16s_error::ms#0 ] zp ZP_DWORD:134 [ mul16s_error::mn#0 ] zp ZP_DWORD:138 [ mul16s_error::mf#0 ]
Uplifting [print_ln] best 540409 combination
Uplifting [main] best 540409 combination
Attempting to uplift remaining variables inzp ZP_BYTE:79 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 540414 combination zp ZP_BYTE:79 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 540409 combination zp ZP_BYTE:79 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ mul16s_compare::i#12 mul16s_compare::i#1 ]
Uplifting [mul16s_compare] best 540414 combination zp ZP_BYTE:2 [ mul16s_compare::i#12 mul16s_compare::i#1 ]
Uplifting [mul16s_compare] best 540409 combination zp ZP_BYTE:2 [ mul16s_compare::i#12 mul16s_compare::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:61 [ mul16u_compare::i#12 mul16u_compare::i#1 ]
Uplifting [mul16u_compare] best 540414 combination zp ZP_BYTE:61 [ mul16u_compare::i#12 mul16u_compare::i#1 ]
Uplifting [mul16u_compare] best 540409 combination zp ZP_BYTE:61 [ mul16u_compare::i#12 mul16u_compare::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:82 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 540274 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 540269 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:87 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 540274 combination zp ZP_BYTE:87 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 540269 combination zp ZP_BYTE:87 [ mulf_init::dir#2 mulf_init::dir#3 ]
Coalescing zero page register with common assignment [ zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#6 mul16s_compare::a#1 ] ] with [ zp ZP_WORD:90 [ muls16s::a#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#6 mul16s_compare::a#1 muls16s::a#0 ] ] with [ zp ZP_WORD:102 [ mul16s::a#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#6 mul16s_compare::a#1 muls16s::a#0 mul16s::a#0 ] ] with [ zp ZP_WORD:114 [ mulf16s::a#0 ] ] - score: 1
@ -8037,9 +8037,9 @@ print_ln: {
//SEG127 print_ln::@1
b1:
//SEG128 [61] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#22 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -9700,9 +9700,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG636 [289] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+
@ -10741,7 +10741,7 @@ reg byte a [ mulf_init::$6 ]
FINAL ASSEMBLER
Score: 436915
Score: 436910
//SEG0 File Comments
// Test the fast multiplication library
@ -11002,9 +11002,9 @@ print_ln: {
//SEG127 print_ln::@1
b1:
//SEG128 [61] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#22 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -12400,9 +12400,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG636 [289] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+

View File

@ -90,9 +90,9 @@ mul8s_compare: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -612,9 +612,9 @@ muls8u: {
clc
adc m
sta m
lda #0
adc m+1
sta m+1
bcc !+
inc m+1
!:
iny
cpy a
bne b2
@ -813,9 +813,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
inc sqr1_lo
bne !+
inc sqr1_lo+1

View File

@ -5260,9 +5260,9 @@ print_ln: {
//SEG112 print_ln::@1
b1:
//SEG113 [60] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#23 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -6683,9 +6683,9 @@ muls8u: {
clc
adc m
sta m
lda #0
adc m+1
sta m+1
bcc !+
inc m+1
!:
//SEG578 [276] (byte) muls8u::i#1 ← ++ (byte) muls8u::i#2 -- vbuz1=_inc_vbuz1
inc i
//SEG579 [277] if((byte) muls8u::i#1!=(byte) muls8u::a#0) goto muls8u::@2 -- vbuz1_neq_vbuz2_then_la1
@ -7053,9 +7053,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG683 [321] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+
@ -7599,65 +7599,65 @@ Uplift Scope [print_ln]
Uplift Scope [main]
Uplift Scope [mulf_init_asm]
Uplifting [muls8s] best 318118 combination zp ZP_WORD:31 [ muls8s::m#5 muls8s::return#0 muls8s::m#3 muls8s::m#1 muls8s::m#2 ] reg byte y [ muls8s::j#2 muls8s::j#1 ] reg byte y [ muls8s::i#2 muls8s::i#1 ] zp ZP_WORD:62 [ muls8s::return#2 ] reg byte x [ muls8s::b#0 ] zp ZP_BYTE:60 [ muls8s::a#0 ]
Uplifting [mul8u] best 308509 combination zp ZP_WORD:22 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:24 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] reg byte a [ mul8u::b#2 mul8u::b#3 mul8u::b#1 ] zp ZP_WORD:120 [ mul8u::return#3 ] zp ZP_WORD:88 [ mul8u::return#2 ]
Uplifting [muls8u] best 298209 combination zp ZP_WORD:38 [ muls8u::return#0 muls8u::m#3 muls8u::m#1 ] reg byte y [ muls8u::i#2 muls8u::i#1 ] zp ZP_WORD:110 [ muls8u::return#2 ] reg byte x [ muls8u::b#0 ] zp ZP_BYTE:108 [ muls8u::a#0 ]
Uplifting [mul8u_compare] best 297009 combination reg byte x [ mul8u_compare::ok#3 mul8u_compare::ok#4 ] zp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ] zp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ] zp ZP_WORD:122 [ mul8u_compare::mn#0 ] zp ZP_WORD:112 [ mul8u_compare::ms#0 ] zp ZP_WORD:118 [ mul8u_compare::mf#0 ]
Uplifting [mul8s_compare] best 295809 combination reg byte x [ mul8s_compare::ok#3 mul8s_compare::ok#4 ] zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ] zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ] zp ZP_WORD:76 [ mul8s_compare::mn#0 ] zp ZP_WORD:64 [ mul8s_compare::ms#0 ] zp ZP_WORD:70 [ mul8s_compare::mf#0 ]
Uplifting [mulf8u] best 295203 combination zp ZP_WORD:116 [ mulf8u::return#2 ] reg byte a [ mulf8u::a#0 ] reg byte x [ mulf8u::b#0 ] zp ZP_WORD:134 [ mulf8u::return#0 ]
Uplifting [mulf8s] best 294597 combination zp ZP_WORD:68 [ mulf8s::return#2 ] zp ZP_WORD:98 [ mulf8s::return#0 ] reg byte a [ mulf8s::a#0 ] reg byte x [ mulf8s::b#0 ]
Uplifting [mulf_init] best 294347 combination zp ZP_WORD:50 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:53 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:45 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:52 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:55 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:47 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Uplifting [muls8s] best 317613 combination zp ZP_WORD:31 [ muls8s::m#5 muls8s::return#0 muls8s::m#3 muls8s::m#1 muls8s::m#2 ] reg byte y [ muls8s::j#2 muls8s::j#1 ] reg byte y [ muls8s::i#2 muls8s::i#1 ] zp ZP_WORD:62 [ muls8s::return#2 ] reg byte x [ muls8s::b#0 ] zp ZP_BYTE:60 [ muls8s::a#0 ]
Uplifting [mul8u] best 308004 combination zp ZP_WORD:22 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:24 [ mul8u::mb#2 mul8u::mb#0 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#3 mul8u::a#6 mul8u::a#8 mul8u::a#2 mul8u::a#0 ] reg byte a [ mul8u::b#2 mul8u::b#3 mul8u::b#1 ] zp ZP_WORD:120 [ mul8u::return#3 ] zp ZP_WORD:88 [ mul8u::return#2 ]
Uplifting [muls8u] best 297704 combination zp ZP_WORD:38 [ muls8u::return#0 muls8u::m#3 muls8u::m#1 ] reg byte y [ muls8u::i#2 muls8u::i#1 ] zp ZP_WORD:110 [ muls8u::return#2 ] reg byte x [ muls8u::b#0 ] zp ZP_BYTE:108 [ muls8u::a#0 ]
Uplifting [mul8u_compare] best 296504 combination reg byte x [ mul8u_compare::ok#3 mul8u_compare::ok#4 ] zp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ] zp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ] zp ZP_WORD:122 [ mul8u_compare::mn#0 ] zp ZP_WORD:112 [ mul8u_compare::ms#0 ] zp ZP_WORD:118 [ mul8u_compare::mf#0 ]
Uplifting [mul8s_compare] best 295304 combination reg byte x [ mul8s_compare::ok#3 mul8s_compare::ok#4 ] zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ] zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ] zp ZP_WORD:76 [ mul8s_compare::mn#0 ] zp ZP_WORD:64 [ mul8s_compare::ms#0 ] zp ZP_WORD:70 [ mul8s_compare::mf#0 ]
Uplifting [mulf8u] best 294698 combination zp ZP_WORD:116 [ mulf8u::return#2 ] reg byte a [ mulf8u::a#0 ] reg byte x [ mulf8u::b#0 ] zp ZP_WORD:134 [ mulf8u::return#0 ]
Uplifting [mulf8s] best 294092 combination zp ZP_WORD:68 [ mulf8s::return#2 ] zp ZP_WORD:98 [ mulf8s::return#0 ] reg byte a [ mulf8s::a#0 ] reg byte x [ mulf8s::b#0 ]
Uplifting [mulf_init] best 293842 combination zp ZP_WORD:50 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:53 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:45 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:52 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:55 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:47 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Limited combination testing to 100 combinations of 1024 possible.
Uplifting [mul8s] best 294034 combination zp ZP_WORD:74 [ mul8s::return#2 ] zp ZP_WORD:18 [ mul8s::m#4 mul8s::m#5 mul8s::m#1 mul8s::m#0 mul8s::m#2 ] reg byte y [ mul8s::b#0 ] zp ZP_BYTE:72 [ mul8s::a#0 ] reg byte a [ mul8s::$6 ] reg byte a [ mul8s::$16 ] zp ZP_BYTE:92 [ mul8s::$12 ] zp ZP_BYTE:93 [ mul8s::$17 ]
Uplifting [mul8s] best 293529 combination zp ZP_WORD:74 [ mul8s::return#2 ] zp ZP_WORD:18 [ mul8s::m#4 mul8s::m#5 mul8s::m#1 mul8s::m#0 mul8s::m#2 ] reg byte y [ mul8s::b#0 ] zp ZP_BYTE:72 [ mul8s::a#0 ] reg byte a [ mul8s::$6 ] reg byte a [ mul8s::$16 ] zp ZP_BYTE:92 [ mul8s::$12 ] zp ZP_BYTE:93 [ mul8s::$17 ]
Limited combination testing to 100 combinations of 2304 possible.
Uplifting [] best 294034 combination zp ZP_WORD:15 [ print_char_cursor#84 print_char_cursor#140 print_char_cursor#139 print_char_cursor#134 print_char_cursor#152 print_char_cursor#192 print_char_cursor#193 print_char_cursor#133 print_char_cursor#132 print_char_cursor#18 print_char_cursor#31 print_char_cursor#1 print_char_cursor#225 ] zp ZP_WORD:5 [ print_line_cursor#23 print_line_cursor#45 print_line_cursor#1 print_line_cursor#10 ]
Uplifting [mulf_tables_cmp] best 294034 combination zp ZP_WORD:40 [ mulf_tables_cmp::kc_sqr#2 mulf_tables_cmp::kc_sqr#1 ] zp ZP_WORD:42 [ mulf_tables_cmp::asm_sqr#2 mulf_tables_cmp::asm_sqr#1 ]
Uplifting [print_str] best 294034 combination zp ZP_WORD:7 [ print_str::str#16 print_str::str#18 print_str::str#0 ]
Uplifting [mulf8s_prepared] best 294010 combination zp ZP_WORD:26 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 ] zp ZP_WORD:96 [ mulf8s_prepared::return#2 ] reg byte a [ mulf8s_prepared::$5 ] reg byte a [ mulf8s_prepared::$15 ] reg byte a [ mulf8s_prepared::$11 ] reg byte a [ mulf8s_prepared::$16 ] zp ZP_BYTE:95 [ mulf8s_prepared::b#0 ]
Uplifting [] best 293529 combination zp ZP_WORD:15 [ print_char_cursor#84 print_char_cursor#140 print_char_cursor#139 print_char_cursor#134 print_char_cursor#152 print_char_cursor#192 print_char_cursor#193 print_char_cursor#133 print_char_cursor#132 print_char_cursor#18 print_char_cursor#31 print_char_cursor#1 print_char_cursor#225 ] zp ZP_WORD:5 [ print_line_cursor#23 print_line_cursor#45 print_line_cursor#1 print_line_cursor#10 ]
Uplifting [mulf_tables_cmp] best 293529 combination zp ZP_WORD:40 [ mulf_tables_cmp::kc_sqr#2 mulf_tables_cmp::kc_sqr#1 ] zp ZP_WORD:42 [ mulf_tables_cmp::asm_sqr#2 mulf_tables_cmp::asm_sqr#1 ]
Uplifting [print_str] best 293529 combination zp ZP_WORD:7 [ print_str::str#16 print_str::str#18 print_str::str#0 ]
Uplifting [mulf8s_prepared] best 293505 combination zp ZP_WORD:26 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 ] zp ZP_WORD:96 [ mulf8s_prepared::return#2 ] reg byte a [ mulf8s_prepared::$5 ] reg byte a [ mulf8s_prepared::$15 ] reg byte a [ mulf8s_prepared::$11 ] reg byte a [ mulf8s_prepared::$16 ] zp ZP_BYTE:95 [ mulf8s_prepared::b#0 ]
Limited combination testing to 100 combinations of 512 possible.
Uplifting [print_cls] best 294010 combination zp ZP_WORD:58 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [print_byte] best 293989 combination reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [print_word] best 293989 combination zp ZP_WORD:11 [ print_word::w#6 print_word::w#3 print_word::w#4 print_word::w#5 print_word::w#11 print_word::w#12 print_word::w#13 ]
Uplifting [mulf8u_prepared] best 293980 combination reg byte x [ mulf8u_prepared::b#2 mulf8u_prepared::b#3 mulf8u_prepared::b#0 ] zp ZP_WORD:100 [ mulf8u_prepared::return#3 ] zp ZP_WORD:132 [ mulf8u_prepared::return#2 ] zp ZP_WORD:106 [ mulf8u_prepared::return#0 ]
Uplifting [print_sword] best 293980 combination zp ZP_WORD:9 [ print_sword::w#5 print_sword::w#4 print_sword::w#1 print_sword::w#2 print_sword::w#3 print_sword::w#0 ]
Uplifting [print_sbyte] best 293968 combination reg byte x [ print_sbyte::b#5 print_sbyte::b#0 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 ]
Uplifting [print_char] best 293950 combination reg byte a [ print_char::ch#5 print_char::ch#3 print_char::ch#4 ]
Uplifting [mulf8u_prepare] best 293941 combination reg byte a [ mulf8u_prepare::a#2 mulf8u_prepare::a#3 mulf8u_prepare::a#0 ]
Uplifting [mul8u_error] best 293935 combination reg byte x [ mul8u_error::a#0 ] zp ZP_BYTE:125 [ mul8u_error::b#0 ] zp ZP_WORD:126 [ mul8u_error::ms#0 ] zp ZP_WORD:128 [ mul8u_error::mn#0 ] zp ZP_WORD:130 [ mul8u_error::mf#0 ]
Uplifting [mul8s_error] best 293929 combination reg byte x [ mul8s_error::a#0 ] zp ZP_BYTE:79 [ mul8s_error::b#0 ] zp ZP_WORD:80 [ mul8s_error::ms#0 ] zp ZP_WORD:82 [ mul8s_error::mn#0 ] zp ZP_WORD:84 [ mul8s_error::mf#0 ]
Uplifting [print_ln] best 293929 combination
Uplifting [main] best 293929 combination
Uplifting [mulf_init_asm] best 293929 combination
Uplifting [print_cls] best 293505 combination zp ZP_WORD:58 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [print_byte] best 293484 combination reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [print_word] best 293484 combination zp ZP_WORD:11 [ print_word::w#6 print_word::w#3 print_word::w#4 print_word::w#5 print_word::w#11 print_word::w#12 print_word::w#13 ]
Uplifting [mulf8u_prepared] best 293475 combination reg byte x [ mulf8u_prepared::b#2 mulf8u_prepared::b#3 mulf8u_prepared::b#0 ] zp ZP_WORD:100 [ mulf8u_prepared::return#3 ] zp ZP_WORD:132 [ mulf8u_prepared::return#2 ] zp ZP_WORD:106 [ mulf8u_prepared::return#0 ]
Uplifting [print_sword] best 293475 combination zp ZP_WORD:9 [ print_sword::w#5 print_sword::w#4 print_sword::w#1 print_sword::w#2 print_sword::w#3 print_sword::w#0 ]
Uplifting [print_sbyte] best 293463 combination reg byte x [ print_sbyte::b#5 print_sbyte::b#0 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 ]
Uplifting [print_char] best 293445 combination reg byte a [ print_char::ch#5 print_char::ch#3 print_char::ch#4 ]
Uplifting [mulf8u_prepare] best 293436 combination reg byte a [ mulf8u_prepare::a#2 mulf8u_prepare::a#3 mulf8u_prepare::a#0 ]
Uplifting [mul8u_error] best 293430 combination reg byte x [ mul8u_error::a#0 ] zp ZP_BYTE:125 [ mul8u_error::b#0 ] zp ZP_WORD:126 [ mul8u_error::ms#0 ] zp ZP_WORD:128 [ mul8u_error::mn#0 ] zp ZP_WORD:130 [ mul8u_error::mf#0 ]
Uplifting [mul8s_error] best 293424 combination reg byte x [ mul8s_error::a#0 ] zp ZP_BYTE:79 [ mul8s_error::b#0 ] zp ZP_WORD:80 [ mul8s_error::ms#0 ] zp ZP_WORD:82 [ mul8s_error::mn#0 ] zp ZP_WORD:84 [ mul8s_error::mf#0 ]
Uplifting [print_ln] best 293424 combination
Uplifting [main] best 293424 combination
Uplifting [mulf_init_asm] best 293424 combination
Attempting to uplift remaining variables inzp ZP_BYTE:60 [ muls8s::a#0 ]
Uplifting [muls8s] best 293929 combination zp ZP_BYTE:60 [ muls8s::a#0 ]
Uplifting [muls8s] best 293424 combination zp ZP_BYTE:60 [ muls8s::a#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ]
Uplifting [mul8s_compare] best 293929 combination zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ]
Uplifting [mul8s_compare] best 293424 combination zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ]
Uplifting [mul8u_compare] best 293929 combination zp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ]
Uplifting [mul8u_compare] best 293424 combination zp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:108 [ muls8u::a#0 ]
Uplifting [muls8u] best 293929 combination zp ZP_BYTE:108 [ muls8u::a#0 ]
Uplifting [muls8u] best 293424 combination zp ZP_BYTE:108 [ muls8u::a#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ]
Uplifting [mul8s_compare] best 293929 combination zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ]
Uplifting [mul8s_compare] best 293424 combination zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ]
Uplifting [mul8u_compare] best 293929 combination zp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ]
Uplifting [mul8u_compare] best 293424 combination zp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 293929 combination zp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 293424 combination zp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:52 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 293789 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 293284 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 293789 combination zp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 293284 combination zp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:72 [ mul8s::a#0 ]
Uplifting [mul8s] best 293789 combination zp ZP_BYTE:72 [ mul8s::a#0 ]
Uplifting [mul8s] best 293284 combination zp ZP_BYTE:72 [ mul8s::a#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:92 [ mul8s::$12 ]
Uplifting [mul8s] best 293783 combination reg byte a [ mul8s::$12 ]
Uplifting [mul8s] best 293278 combination reg byte a [ mul8s::$12 ]
Attempting to uplift remaining variables inzp ZP_BYTE:93 [ mul8s::$17 ]
Uplifting [mul8s] best 293777 combination reg byte a [ mul8s::$17 ]
Uplifting [mul8s] best 293272 combination reg byte a [ mul8s::$17 ]
Attempting to uplift remaining variables inzp ZP_BYTE:79 [ mul8s_error::b#0 ]
Uplifting [mul8s_error] best 293777 combination zp ZP_BYTE:79 [ mul8s_error::b#0 ]
Uplifting [mul8s_error] best 293272 combination zp ZP_BYTE:79 [ mul8s_error::b#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:95 [ mulf8s_prepared::b#0 ]
Uplifting [mulf8s_prepared] best 293777 combination zp ZP_BYTE:95 [ mulf8s_prepared::b#0 ]
Uplifting [mulf8s_prepared] best 293272 combination zp ZP_BYTE:95 [ mulf8s_prepared::b#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:125 [ mul8u_error::b#0 ]
Uplifting [mul8u_error] best 293777 combination zp ZP_BYTE:125 [ mul8u_error::b#0 ]
Uplifting [mul8u_error] best 293272 combination zp ZP_BYTE:125 [ mul8u_error::b#0 ]
Coalescing zero page register with common assignment [ zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ] ] with [ zp ZP_BYTE:60 [ muls8s::a#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 muls8s::a#0 ] ] with [ zp ZP_BYTE:72 [ mul8s::a#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ] ] with [ zp ZP_BYTE:79 [ mul8s_error::b#0 ] ] - score: 1
@ -7992,9 +7992,9 @@ print_ln: {
//SEG112 print_ln::@1
b1:
//SEG113 [60] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#23 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -9234,9 +9234,9 @@ muls8u: {
clc
adc m
sta m
lda #0
adc m+1
sta m+1
bcc !+
inc m+1
!:
//SEG578 [276] (byte) muls8u::i#1 ← ++ (byte) muls8u::i#2 -- vbuyy=_inc_vbuyy
iny
//SEG579 [277] if((byte) muls8u::i#1!=(byte) muls8u::a#0) goto muls8u::@2 -- vbuyy_neq_vbuz1_then_la1
@ -9587,9 +9587,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG683 [321] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+
@ -10731,7 +10731,7 @@ reg byte a [ mulf_init::$6 ]
FINAL ASSEMBLER
Score: 224894
Score: 224389
//SEG0 File Comments
// Test the fast multiplication library
@ -10939,9 +10939,9 @@ print_ln: {
//SEG112 print_ln::@1
b1:
//SEG113 [60] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#23 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -11925,9 +11925,9 @@ muls8u: {
clc
adc m
sta m
lda #0
adc m+1
sta m+1
bcc !+
inc m+1
!:
//SEG578 [276] (byte) muls8u::i#1 ← ++ (byte) muls8u::i#2 -- vbuyy=_inc_vbuyy
iny
//SEG579 [277] if((byte) muls8u::i#1!=(byte) muls8u::a#0) goto muls8u::@2 -- vbuyy_neq_vbuz1_then_la1
@ -12231,9 +12231,9 @@ mulf_init: {
clc
adc sqr
sta sqr
lda #0
adc sqr+1
sta sqr+1
bcc !+
inc sqr+1
!:
//SEG683 [321] (byte*) mulf_init::sqr1_lo#1 ← ++ (byte*) mulf_init::sqr1_lo#2 -- pbuz1=_inc_pbuz1
inc sqr1_lo
bne !+

View File

@ -54,9 +54,10 @@ scrollup3: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
lda line+1
cmp #>$28*$18
bcc b1
bne !+
@ -152,9 +153,10 @@ scrollup1: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
lda line+1
cmp #>$28*$18
bcc b1
bne !+

View File

@ -628,9 +628,9 @@ scrollup3: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
//SEG43 [20] if((word) scrollup3::line#1<(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18) goto scrollup3::@1 -- vwuz1_lt_vwuc1_then_la1
lda line+1
cmp #>$28*$18
@ -809,9 +809,9 @@ scrollup1: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
//SEG93 [42] if((word) scrollup1::line#1<(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18) goto scrollup1::@1 -- vwuz1_lt_vwuc1_then_la1
lda line+1
cmp #>$28*$18
@ -874,13 +874,13 @@ Uplift Scope [scrollup3] 296.83: zp ZP_WORD:4 [ scrollup3::l2#2 scrollup3::l2#4
Uplift Scope [main]
Uplift Scope []
Uplifting [scrollup2] best 27488 combination zp ZP_WORD:10 [ scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] reg byte x [ scrollup2::c#2 scrollup2::c#1 ] zp ZP_WORD:8 [ scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 ] zp ZP_BYTE:7 [ scrollup2::l#4 scrollup2::l#1 ]
Uplifting [scrollup1] best 26388 combination reg byte x [ scrollup1::c#2 scrollup1::c#1 ] zp ZP_WORD:18 [ scrollup1::$2 ] zp ZP_WORD:16 [ scrollup1::$0 ] zp ZP_WORD:13 [ scrollup1::line#4 scrollup1::line#1 ]
Uplifting [scrollup3] best 25488 combination zp ZP_WORD:4 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] reg byte x [ scrollup3::c#2 scrollup3::c#1 ] zp ZP_WORD:2 [ scrollup3::l2#0 scrollup3::line#1 ]
Uplifting [main] best 25488 combination
Uplifting [] best 25488 combination
Uplifting [scrollup2] best 27478 combination zp ZP_WORD:10 [ scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] reg byte x [ scrollup2::c#2 scrollup2::c#1 ] zp ZP_WORD:8 [ scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 ] zp ZP_BYTE:7 [ scrollup2::l#4 scrollup2::l#1 ]
Uplifting [scrollup1] best 26378 combination reg byte x [ scrollup1::c#2 scrollup1::c#1 ] zp ZP_WORD:18 [ scrollup1::$2 ] zp ZP_WORD:16 [ scrollup1::$0 ] zp ZP_WORD:13 [ scrollup1::line#4 scrollup1::line#1 ]
Uplifting [scrollup3] best 25478 combination zp ZP_WORD:4 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] reg byte x [ scrollup3::c#2 scrollup3::c#1 ] zp ZP_WORD:2 [ scrollup3::l2#0 scrollup3::line#1 ]
Uplifting [main] best 25478 combination
Uplifting [] best 25478 combination
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ scrollup2::l#4 scrollup2::l#1 ]
Uplifting [scrollup2] best 25488 combination zp ZP_BYTE:7 [ scrollup2::l#4 scrollup2::l#1 ]
Uplifting [scrollup2] best 25478 combination zp ZP_BYTE:7 [ scrollup2::l#4 scrollup2::l#1 ]
Coalescing zero page register [ zp ZP_WORD:2 [ scrollup3::l2#0 scrollup3::line#1 ] ] with [ zp ZP_WORD:8 [ scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 ] ]
Coalescing zero page register [ zp ZP_WORD:2 [ scrollup3::l2#0 scrollup3::line#1 scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 ] ] with [ zp ZP_WORD:13 [ scrollup1::line#4 scrollup1::line#1 ] ]
Coalescing zero page register [ zp ZP_WORD:4 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] ] with [ zp ZP_WORD:10 [ scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] ]
@ -1019,9 +1019,9 @@ scrollup3: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
//SEG43 [20] if((word) scrollup3::line#1<(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18) goto scrollup3::@1 -- vwuz1_lt_vwuc1_then_la1
lda line+1
cmp #>$28*$18
@ -1194,9 +1194,9 @@ scrollup1: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
//SEG93 [42] if((word) scrollup1::line#1<(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18) goto scrollup1::@1 -- vwuz1_lt_vwuc1_then_la1
lda line+1
cmp #>$28*$18
@ -1233,10 +1233,8 @@ Removing instruction jmp b3
Removing instruction jmp breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #0
Removing instruction lda line+1
Removing instruction ldy #0
Removing instruction lda #0
Removing instruction lda line+1
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label b2_from_b2 with b2
Replacing label b1_from_b3 with b1
@ -1360,7 +1358,7 @@ zp ZP_WORD:7 [ scrollup1::$2 ]
FINAL ASSEMBLER
Score: 22197
Score: 22247
//SEG0 File Comments
// Tests different ways of scrolling up the screen
@ -1461,10 +1459,11 @@ scrollup3: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
//SEG43 [20] if((word) scrollup3::line#1<(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18) goto scrollup3::@1 -- vwuz1_lt_vwuc1_then_la1
lda line+1
cmp #>$28*$18
bcc b1
bne !+
@ -1609,10 +1608,11 @@ scrollup1: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
//SEG93 [42] if((word) scrollup1::line#1<(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18) goto scrollup1::@1 -- vwuz1_lt_vwuc1_then_la1
lda line+1
cmp #>$28*$18
bcc b1
bne !+

View File

@ -52,9 +52,10 @@ main: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
lda line+1
cmp #>$28*$18
bcc b1
bne !+

View File

@ -355,9 +355,9 @@ main: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
//SEG28 [13] if((word) main::line#2<(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18) goto main::@1 -- vwuz1_lt_vwuc1_then_la1
lda line+1
cmp #>$28*$18
@ -440,8 +440,8 @@ REGISTER UPLIFT SCOPES
Uplift Scope [main] 252.5: zp ZP_BYTE:4 [ main::c#4 main::c#1 ] 202: zp ZP_WORD:8 [ main::$2 ] 101: zp ZP_WORD:6 [ main::$0 ] 38.29: zp ZP_WORD:2 [ main::line#6 main::line#2 ] 27.5: zp ZP_BYTE:5 [ main::c#5 main::c#3 ] 22: zp ZP_WORD:10 [ main::$6 ]
Uplift Scope []
Uplifting [main] best 11298 combination reg byte x [ main::c#4 main::c#1 ] zp ZP_WORD:8 [ main::$2 ] zp ZP_WORD:6 [ main::$0 ] zp ZP_WORD:2 [ main::line#6 main::line#2 ] reg byte x [ main::c#5 main::c#3 ] zp ZP_WORD:10 [ main::$6 ]
Uplifting [] best 11298 combination
Uplifting [main] best 11293 combination reg byte x [ main::c#4 main::c#1 ] zp ZP_WORD:8 [ main::$2 ] zp ZP_WORD:6 [ main::$0 ] zp ZP_WORD:2 [ main::line#6 main::line#2 ] reg byte x [ main::c#5 main::c#3 ] zp ZP_WORD:10 [ main::$6 ]
Uplifting [] best 11293 combination
Coalescing zero page register [ zp ZP_WORD:6 [ main::$0 ] ] with [ zp ZP_WORD:10 [ main::$6 ] ]
Allocated (was zp ZP_WORD:6) zp ZP_WORD:4 [ main::$0 main::$6 ]
Allocated (was zp ZP_WORD:8) zp ZP_WORD:6 [ main::$2 ]
@ -549,9 +549,9 @@ main: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
//SEG28 [13] if((word) main::line#2<(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18) goto main::@1 -- vwuz1_lt_vwuc1_then_la1
lda line+1
cmp #>$28*$18
@ -614,7 +614,6 @@ Removing instruction jmp b3
Removing instruction jmp breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #0
Removing instruction lda line+1
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label b2_from_b2 with b2
Replacing label b1_from_b4 with b1
@ -677,7 +676,7 @@ zp ZP_WORD:6 [ main::$2 ]
FINAL ASSEMBLER
Score: 10186
Score: 10211
//SEG0 File Comments
//SEG1 Basic Upstart
@ -761,10 +760,11 @@ main: {
clc
adc line
sta line
lda #0
adc line+1
sta line+1
bcc !+
inc line+1
!:
//SEG28 [13] if((word) main::line#2<(byte/signed byte/word/signed word/dword/signed dword) $28*(byte/signed byte/word/signed word/dword/signed dword) $18) goto main::@1 -- vwuz1_lt_vwuc1_then_la1
lda line+1
cmp #>$28*$18
bcc b1
bne !+

View File

@ -58,9 +58,9 @@ print_str_ln: {
// Print a newline
print_ln: {
b1:
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -854,9 +854,9 @@ print_ln: {
//SEG54 print_ln::@1
b1:
//SEG55 [24] (byte*) print_line_cursor#14 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -1170,9 +1170,9 @@ print_ln: {
//SEG54 print_ln::@1
b1:
//SEG55 [24] (byte*) print_line_cursor#14 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1
@ -1541,9 +1541,9 @@ print_ln: {
//SEG54 print_ln::@1
b1:
//SEG55 [24] (byte*) print_line_cursor#14 ← (byte*) print_line_cursor#13 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda print_line_cursor
lda #$28
clc
adc #$28
adc print_line_cursor
sta print_line_cursor
bcc !+
inc print_line_cursor+1

View File

@ -93,9 +93,9 @@ render: {
lda x
cmp #$28
bne b2
lda colline
lda #$28
clc
adc #$28
adc colline
sta colline
bcc !+
inc colline+1

View File

@ -1459,9 +1459,9 @@ render: {
//SEG81 render::@3
b3:
//SEG82 [47] (byte*) render::colline#1 ← (byte*) render::colline#5 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda colline
lda #$28
clc
adc #$28
adc colline
sta colline
bcc !+
inc colline+1
@ -2062,9 +2062,9 @@ render: {
//SEG81 render::@3
b3:
//SEG82 [47] (byte*) render::colline#1 ← (byte*) render::colline#5 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda colline
lda #$28
clc
adc #$28
adc colline
sta colline
bcc !+
inc colline+1
@ -2703,9 +2703,9 @@ render: {
bne b2
//SEG81 render::@3
//SEG82 [47] (byte*) render::colline#1 ← (byte*) render::colline#5 + (byte/signed byte/word/signed word/dword/signed dword) $28 -- pbuz1=pbuz1_plus_vbuc1
lda colline
lda #$28
clc
adc #$28
adc colline
sta colline
bcc !+
inc colline+1