From cc7e7829cb0f73f05b1e8fde978b843c7a04b93d Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Thu, 29 Aug 2019 15:40:41 +0200 Subject: [PATCH] Fixed tests. --- src/test/ref/c64dtv-gfxexplorer.asm | 7 +- src/test/ref/c64dtv-gfxexplorer.log | 399 +++++++++--------- .../ref/function-pointer-noarg-call-7.asm | 6 +- .../ref/function-pointer-noarg-call-7.log | 30 +- src/test/ref/helloworld2.asm | 19 +- src/test/ref/helloworld2.log | 67 ++- src/test/ref/helloworld2.sym | 6 +- src/test/ref/local-string.asm | 12 +- src/test/ref/local-string.log | 48 +-- src/test/ref/local-string.sym | 6 +- src/test/ref/loop-for-continue.asm | 16 +- src/test/ref/loop-for-continue.log | 76 ++-- src/test/ref/loop-for-continue.sym | 14 +- src/test/ref/string-escapes-0.asm | 12 +- src/test/ref/string-escapes-0.log | 48 +-- src/test/ref/string-escapes-0.sym | 6 +- 16 files changed, 368 insertions(+), 404 deletions(-) diff --git a/src/test/ref/c64dtv-gfxexplorer.asm b/src/test/ref/c64dtv-gfxexplorer.asm index c60dd2fe0..040fe32b3 100644 --- a/src/test/ref/c64dtv-gfxexplorer.asm +++ b/src/test/ref/c64dtv-gfxexplorer.asm @@ -1364,10 +1364,9 @@ form_control: { ldx.z form_field_idx inc form_fields_val,x ldy.z form_field_idx - lda form_fields_val,y - cmp form_fields_max,y - bcc b16 - beq b16 + lda form_fields_max,y + cmp form_fields_val,y + bcs b16 lda #0 sta form_fields_val,y jmp b16 diff --git a/src/test/ref/c64dtv-gfxexplorer.log b/src/test/ref/c64dtv-gfxexplorer.log index 37d694c06..63911107a 100644 --- a/src/test/ref/c64dtv-gfxexplorer.log +++ b/src/test/ref/c64dtv-gfxexplorer.log @@ -18140,10 +18140,9 @@ form_control: { inc form_fields_val,x // [396] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@16 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy.z form_field_idx - lda form_fields_val,y - cmp form_fields_max,y - bcc b16 - beq b16 + lda form_fields_max,y + cmp form_fields_val,y + bcs b16 jmp b17 // form_control::@17 b17: @@ -22153,358 +22152,358 @@ Uplift Scope [gfx_init_plane_vertical2] Uplift Scope [gfx_init_plane_blank] Uplift Scope [gfx_init_plane_full] -Uplifting [keyboard_event_scan] best 15481010 combination reg byte a [ keyboard_event_scan::$15 ] reg byte a [ keyboard_event_scan::$16 ] zp ZP_BYTE:252 [ keyboard_event_scan::event_type#0 ] zp ZP_BYTE:253 [ keyboard_event_scan::$23 ] zp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:241 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:243 [ keyboard_event_scan::$0 ] zp ZP_BYTE:245 [ keyboard_event_scan::$3 ] zp ZP_BYTE:247 [ keyboard_event_scan::$6 ] zp ZP_BYTE:249 [ keyboard_event_scan::$9 ] +Uplifting [keyboard_event_scan] best 15481007 combination reg byte a [ keyboard_event_scan::$15 ] reg byte a [ keyboard_event_scan::$16 ] zp ZP_BYTE:252 [ keyboard_event_scan::event_type#0 ] zp ZP_BYTE:253 [ keyboard_event_scan::$23 ] zp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:241 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:243 [ keyboard_event_scan::$0 ] zp ZP_BYTE:245 [ keyboard_event_scan::$3 ] zp ZP_BYTE:247 [ keyboard_event_scan::$6 ] zp ZP_BYTE:249 [ keyboard_event_scan::$9 ] Limited combination testing to 10 combinations of 5308416 possible. -Uplifting [] best 15480992 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#109 keyboard_events_size#99 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#108 keyboard_events_size#1 keyboard_events_size#2 ] zp ZP_WORD:52 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#73 print_char_cursor#74 print_char_cursor#38 print_char_cursor#1 ] zp ZP_WORD:54 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#6 form_field_idx#5 ] reg byte x [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#18 keyboard_modifiers#3 keyboard_modifiers#4 keyboard_modifiers#5 ] +Uplifting [] best 15480989 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#109 keyboard_events_size#99 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#108 keyboard_events_size#1 keyboard_events_size#2 ] zp ZP_WORD:52 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#73 print_char_cursor#74 print_char_cursor#38 print_char_cursor#1 ] zp ZP_WORD:54 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#6 form_field_idx#5 ] reg byte x [ keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#18 keyboard_modifiers#3 keyboard_modifiers#4 keyboard_modifiers#5 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [keyboard_matrix_read] best 15390989 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] zp ZP_BYTE:258 [ keyboard_matrix_read::return#0 ] +Uplifting [keyboard_matrix_read] best 15390986 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] zp ZP_BYTE:258 [ keyboard_matrix_read::return#0 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [gfx_init_plane_charset8] best 15375989 combination reg byte a [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] reg byte a [ gfx_init_plane_charset8::$7 ] zp ZP_BYTE:88 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] zp ZP_WORD:85 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] zp ZP_WORD:81 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Uplifting [gfx_init_plane_charset8] best 15375986 combination reg byte a [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] reg byte a [ gfx_init_plane_charset8::$7 ] zp ZP_BYTE:88 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] zp ZP_WORD:85 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] zp ZP_WORD:81 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Limited combination testing to 10 combinations of 1152 possible. -Uplifting [print_str_at] best 15375989 combination zp ZP_WORD:37 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] zp ZP_WORD:39 [ print_str_at::at#2 print_str_at::at#0 ] -Uplifting [apply_preset] best 15363656 combination reg byte y [ apply_preset::i#2 apply_preset::i#1 ] zp ZP_WORD:43 [ apply_preset::preset#15 ] reg byte a [ apply_preset::idx#0 ] +Uplifting [print_str_at] best 15375986 combination zp ZP_WORD:37 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] zp ZP_WORD:39 [ print_str_at::at#2 print_str_at::at#0 ] +Uplifting [apply_preset] best 15363653 combination reg byte y [ apply_preset::i#2 apply_preset::i#1 ] zp ZP_WORD:43 [ apply_preset::preset#15 ] reg byte a [ apply_preset::idx#0 ] Limited combination testing to 10 combinations of 12 possible. -Uplifting [form_render_values] best 15348656 combination reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] -Uplifting [form_mode] best 15341456 combination reg byte a [ form_mode::$36 ] zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] reg byte x [ form_mode::i#2 form_mode::i#1 ] +Uplifting [form_render_values] best 15348653 combination reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] +Uplifting [form_mode] best 15341453 combination reg byte a [ form_mode::$36 ] zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] reg byte x [ form_mode::i#2 form_mode::i#1 ] Limited combination testing to 10 combinations of 24 possible. -Uplifting [print_str_lines] best 15329456 combination zp ZP_WORD:50 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] -Uplifting [form_field_ptr] best 15326443 combination reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp ZP_BYTE:265 [ form_field_ptr::x#0 ] reg byte a [ form_field_ptr::y#0 ] zp ZP_WORD:263 [ form_field_ptr::line#0 ] +Uplifting [print_str_lines] best 15329453 combination zp ZP_WORD:50 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] +Uplifting [form_field_ptr] best 15326440 combination reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp ZP_BYTE:265 [ form_field_ptr::x#0 ] reg byte a [ form_field_ptr::y#0 ] zp ZP_WORD:263 [ form_field_ptr::line#0 ] Limited combination testing to 10 combinations of 24 possible. -Uplifting [form_control] best 15319434 combination reg byte a [ form_control::return#0 ] reg byte x [ form_control::return#2 ] zp ZP_BYTE:266 [ form_control::$13 ] zp ZP_BYTE:269 [ form_control::$15 ] zp ZP_BYTE:270 [ form_control::$16 ] zp ZP_BYTE:271 [ form_control::$24 ] zp ZP_BYTE:272 [ form_control::$14 ] zp ZP_BYTE:268 [ form_control::key_event#0 ] +Uplifting [form_control] best 15319431 combination reg byte a [ form_control::return#0 ] reg byte x [ form_control::return#2 ] zp ZP_BYTE:266 [ form_control::$13 ] zp ZP_BYTE:269 [ form_control::$15 ] zp ZP_BYTE:270 [ form_control::$16 ] zp ZP_BYTE:271 [ form_control::$24 ] zp ZP_BYTE:272 [ form_control::$14 ] zp ZP_BYTE:268 [ form_control::key_event#0 ] Limited combination testing to 10 combinations of 65536 possible. -Uplifting [bitmap_plot] best 15317025 combination reg byte y [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] reg byte x [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] zp ZP_WORD:313 [ bitmap_plot::plotter_y#0 ] zp ZP_BYTE:317 [ bitmap_plot::$1 ] zp ZP_WORD:311 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:315 [ bitmap_plot::plotter#0 ] +Uplifting [bitmap_plot] best 15317022 combination reg byte y [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] reg byte x [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] zp ZP_WORD:313 [ bitmap_plot::plotter_y#0 ] zp ZP_BYTE:317 [ bitmap_plot::$1 ] zp ZP_WORD:311 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:315 [ bitmap_plot::plotter#0 ] Limited combination testing to 10 combinations of 36 possible. -Uplifting [gfx_init_screen2] best 15315825 combination reg byte a [ gfx_init_screen2::$0 ] reg byte a [ gfx_init_screen2::$3 ] zp ZP_BYTE:336 [ gfx_init_screen2::$4 ] zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] zp ZP_BYTE:333 [ gfx_init_screen2::col#0 ] zp ZP_WORD:148 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] zp ZP_BYTE:334 [ gfx_init_screen2::col2#0 ] zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplifting [gfx_init_screen2] best 15315822 combination reg byte a [ gfx_init_screen2::$0 ] reg byte a [ gfx_init_screen2::$3 ] zp ZP_BYTE:336 [ gfx_init_screen2::$4 ] zp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] zp ZP_BYTE:333 [ gfx_init_screen2::col#0 ] zp ZP_WORD:148 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] zp ZP_BYTE:334 [ gfx_init_screen2::col2#0 ] zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Limited combination testing to 10 combinations of 2304 possible. -Uplifting [gfx_init_plane_8bppchunky] best 15314595 combination reg byte x [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] zp ZP_WORD:94 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] reg byte a [ gfx_init_plane_8bppchunky::c#0 ] zp ZP_WORD:91 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] zp ZP_WORD:297 [ gfx_init_plane_8bppchunky::$8 ] zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplifting [gfx_init_plane_8bppchunky] best 15314592 combination reg byte x [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] zp ZP_WORD:94 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] reg byte a [ gfx_init_plane_8bppchunky::c#0 ] zp ZP_WORD:91 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] zp ZP_WORD:297 [ gfx_init_plane_8bppchunky::$8 ] zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [bitmap_line_xdyi] best 15313995 combination zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] reg byte x [ bitmap_line_xdyi::$6 ] zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] +Uplifting [bitmap_line_xdyi] best 15313992 combination zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] reg byte x [ bitmap_line_xdyi::$6 ] zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_xdyd] best 15313395 combination zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] reg byte x [ bitmap_line_xdyd::$6 ] zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] +Uplifting [bitmap_line_xdyd] best 15313392 combination zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] reg byte x [ bitmap_line_xdyd::$6 ] zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_ydxi] best 15312389 combination zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] reg byte x [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] reg byte a [ bitmap_line_ydxi::$6 ] zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] +Uplifting [bitmap_line_ydxi] best 15312386 combination zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] reg byte x [ bitmap_line_ydxi::x#3 bitmap_line_ydxi::x#5 bitmap_line_ydxi::x#1 bitmap_line_ydxi::x#0 bitmap_line_ydxi::x#6 bitmap_line_ydxi::x#2 ] reg byte a [ bitmap_line_ydxi::$6 ] zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_ydxd] best 15311383 combination zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] reg byte x [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte a [ bitmap_line_ydxd::$6 ] zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] +Uplifting [bitmap_line_ydxd] best 15311380 combination zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] reg byte x [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte a [ bitmap_line_ydxd::$6 ] zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [gfx_init_screen0] best 15310183 combination reg byte a [ gfx_init_screen0::$0 ] reg byte a [ gfx_init_screen0::$2 ] zp ZP_BYTE:342 [ gfx_init_screen0::$3 ] zp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] zp ZP_WORD:156 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] zp ZP_BYTE:340 [ gfx_init_screen0::$1 ] zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplifting [gfx_init_screen0] best 15310180 combination reg byte a [ gfx_init_screen0::$0 ] reg byte a [ gfx_init_screen0::$2 ] zp ZP_BYTE:342 [ gfx_init_screen0::$3 ] zp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] zp ZP_WORD:156 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] zp ZP_BYTE:340 [ gfx_init_screen0::$1 ] zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Limited combination testing to 10 combinations of 768 possible. -Uplifting [gfx_init_screen3] best 15308983 combination reg byte a [ gfx_init_screen3::$0 ] reg byte a [ gfx_init_screen3::$2 ] zp ZP_BYTE:331 [ gfx_init_screen3::$3 ] zp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] zp ZP_WORD:144 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] zp ZP_BYTE:329 [ gfx_init_screen3::$1 ] zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplifting [gfx_init_screen3] best 15308980 combination reg byte a [ gfx_init_screen3::$0 ] reg byte a [ gfx_init_screen3::$2 ] zp ZP_BYTE:331 [ gfx_init_screen3::$3 ] zp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] zp ZP_WORD:144 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] zp ZP_BYTE:329 [ gfx_init_screen3::$1 ] zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Limited combination testing to 10 combinations of 768 possible. -Uplifting [gfx_init_plane_horisontal] best 15307483 combination zp ZP_WORD:77 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] reg byte a [ gfx_init_plane_horisontal::$7 ] reg byte x [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] +Uplifting [gfx_init_plane_horisontal] best 15307480 combination zp ZP_WORD:77 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] reg byte a [ gfx_init_plane_horisontal::$7 ] reg byte x [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [gfx_init_screen1] best 15305883 combination reg byte x [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] reg byte a [ gfx_init_screen1::$0 ] zp ZP_BYTE:338 [ gfx_init_screen1::$1 ] zp ZP_WORD:152 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] +Uplifting [gfx_init_screen1] best 15305880 combination reg byte x [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] reg byte a [ gfx_init_screen1::$0 ] zp ZP_BYTE:338 [ gfx_init_screen1::$1 ] zp ZP_WORD:152 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [form_set_screen] best 15303783 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] zp ZP_BYTE:274 [ form_set_screen::$1 ] zp ZP_WORD:47 [ form_set_screen::line#2 form_set_screen::line#1 ] +Uplifting [form_set_screen] best 15303780 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] zp ZP_BYTE:274 [ form_set_screen::$1 ] zp ZP_WORD:47 [ form_set_screen::line#2 form_set_screen::line#1 ] Limited combination testing to 10 combinations of 48 possible. -Uplifting [gfx_init_plane_horisontal2] best 15302783 combination reg byte a [ gfx_init_plane_horisontal2::$7 ] reg byte a [ gfx_init_plane_horisontal2::row#0 ] zp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] zp ZP_WORD:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] +Uplifting [gfx_init_plane_horisontal2] best 15302780 combination reg byte a [ gfx_init_plane_horisontal2::$7 ] reg byte a [ gfx_init_plane_horisontal2::row#0 ] zp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] zp ZP_WORD:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [gfx_init_charset] best 15301883 combination zp ZP_WORD:135 [ gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] reg byte x [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] zp ZP_WORD:133 [ gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 ] zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] -Uplifting [gfx_init_plane_fill] best 15300977 combination zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] reg byte x [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] zp ZP_DWORD:280 [ gfx_init_plane_fill::$0 ] zp ZP_WORD:284 [ gfx_init_plane_fill::$1 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] zp ZP_WORD:287 [ gfx_init_plane_fill::$4 ] zp ZP_WORD:289 [ gfx_init_plane_fill::$5 ] zp ZP_WORD:291 [ gfx_init_plane_fill::gfxb#0 ] zp ZP_DWORD:58 [ gfx_init_plane_fill::plane_addr#3 ] +Uplifting [gfx_init_charset] best 15301880 combination zp ZP_WORD:135 [ gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] reg byte x [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] zp ZP_WORD:133 [ gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 ] zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] +Uplifting [gfx_init_plane_fill] best 15300974 combination zp ZP_WORD:64 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] reg byte x [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] zp ZP_DWORD:280 [ gfx_init_plane_fill::$0 ] zp ZP_WORD:284 [ gfx_init_plane_fill::$1 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] zp ZP_WORD:287 [ gfx_init_plane_fill::$4 ] zp ZP_WORD:289 [ gfx_init_plane_fill::$5 ] zp ZP_WORD:291 [ gfx_init_plane_fill::gfxb#0 ] zp ZP_DWORD:58 [ gfx_init_plane_fill::plane_addr#3 ] Limited combination testing to 10 combinations of 32 possible. -Uplifting [bitmap_clear] best 15300077 combination zp ZP_WORD:124 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] reg byte x [ bitmap_clear::x#2 bitmap_clear::x#1 ] zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp ZP_WORD:321 [ bitmap_clear::bitmap#0 ] -Uplifting [gfx_init_screen4] best 15299177 combination zp ZP_WORD:139 [ gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 ] reg byte x [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] -Uplifting [gfx_init_plane_vertical] best 15298277 combination zp ZP_WORD:73 [ gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 ] reg byte x [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] -Uplifting [memset] best 15298277 combination zp ZP_WORD:56 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp ZP_WORD:278 [ memset::end#0 ] zp ZP_WORD:276 [ memset::str#0 ] -Uplifting [dtvSetCpuBankSegment1] best 15298138 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] -Uplifting [keyboard_event_get] best 15297229 combination reg byte a [ keyboard_event_get::return#3 ] reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] zp ZP_BYTE:267 [ keyboard_event_get::return#4 ] +Uplifting [bitmap_clear] best 15300074 combination zp ZP_WORD:124 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] reg byte x [ bitmap_clear::x#2 bitmap_clear::x#1 ] zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp ZP_WORD:321 [ bitmap_clear::bitmap#0 ] +Uplifting [gfx_init_screen4] best 15299174 combination zp ZP_WORD:139 [ gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 ] reg byte x [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] +Uplifting [gfx_init_plane_vertical] best 15298274 combination zp ZP_WORD:73 [ gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 ] reg byte x [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] +Uplifting [memset] best 15298274 combination zp ZP_WORD:56 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp ZP_WORD:278 [ memset::end#0 ] zp ZP_WORD:276 [ memset::str#0 ] +Uplifting [dtvSetCpuBankSegment1] best 15298135 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] +Uplifting [keyboard_event_get] best 15297226 combination reg byte a [ keyboard_event_get::return#3 ] reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] zp ZP_BYTE:267 [ keyboard_event_get::return#4 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [render_preset_name] best 15296893 combination reg byte a [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] zp ZP_WORD:35 [ render_preset_name::name#13 ] -Uplifting [bitmap_init] best 15296593 combination zp ZP_WORD:130 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ] zp ZP_BYTE:129 [ bitmap_init::y#2 bitmap_init::y#1 ] zp ZP_BYTE:323 [ bitmap_init::$0 ] zp ZP_BYTE:325 [ bitmap_init::$7 ] zp ZP_BYTE:326 [ bitmap_init::$8 ] zp ZP_BYTE:327 [ bitmap_init::$9 ] zp ZP_BYTE:324 [ bitmap_init::$10 ] +Uplifting [render_preset_name] best 15296890 combination reg byte a [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] zp ZP_WORD:35 [ render_preset_name::name#13 ] +Uplifting [bitmap_init] best 15296590 combination zp ZP_WORD:130 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ] zp ZP_BYTE:129 [ bitmap_init::y#2 bitmap_init::y#1 ] zp ZP_BYTE:323 [ bitmap_init::$0 ] zp ZP_BYTE:325 [ bitmap_init::$7 ] zp ZP_BYTE:326 [ bitmap_init::$8 ] zp ZP_BYTE:327 [ bitmap_init::$9 ] zp ZP_BYTE:324 [ bitmap_init::$10 ] Limited combination testing to 10 combinations of 34560 possible. -Uplifting [gfx_init_vic_bitmap] best 15296593 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Uplifting [keyboard_event_pressed] best 15296581 combination reg byte a [ keyboard_event_pressed::return#0 ] reg byte a [ keyboard_event_pressed::return#1 ] zp ZP_BYTE:246 [ keyboard_event_pressed::return#2 ] zp ZP_BYTE:248 [ keyboard_event_pressed::return#3 ] zp ZP_BYTE:254 [ keyboard_event_pressed::$0 ] zp ZP_BYTE:256 [ keyboard_event_pressed::$1 ] zp ZP_BYTE:255 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:257 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] +Uplifting [gfx_init_vic_bitmap] best 15296590 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] +Uplifting [keyboard_event_pressed] best 15296578 combination reg byte a [ keyboard_event_pressed::return#0 ] reg byte a [ keyboard_event_pressed::return#1 ] zp ZP_BYTE:246 [ keyboard_event_pressed::return#2 ] zp ZP_BYTE:248 [ keyboard_event_pressed::return#3 ] zp ZP_BYTE:254 [ keyboard_event_pressed::$0 ] zp ZP_BYTE:256 [ keyboard_event_pressed::$1 ] zp ZP_BYTE:255 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:257 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] Limited combination testing to 10 combinations of 147456 possible. -Uplifting [get_vic_screen] best 15296560 combination reg byte a [ get_vic_screen::idx#2 get_vic_screen::idx#0 get_vic_screen::idx#1 ] zp ZP_WORD:208 [ get_vic_screen::return#10 ] zp ZP_WORD:227 [ get_vic_screen::return#11 ] zp ZP_WORD:21 [ get_vic_screen::return#5 ] -Uplifting [get_plane] best 15296512 combination reg byte a [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ] zp ZP_DWORD:160 [ get_plane::return#16 ] zp ZP_DWORD:185 [ get_plane::return#17 ] zp ZP_DWORD:26 [ get_plane::return#14 ] -Uplifting [bitmap_line] best 15296466 combination zp ZP_BYTE:303 [ bitmap_line::y1#0 ] zp ZP_BYTE:302 [ bitmap_line::y0#0 ] reg byte x [ bitmap_line::x1#0 ] zp ZP_BYTE:300 [ bitmap_line::x0#0 ] zp ZP_BYTE:305 [ bitmap_line::yd#2 ] zp ZP_BYTE:306 [ bitmap_line::yd#1 ] zp ZP_BYTE:308 [ bitmap_line::yd#10 ] zp ZP_BYTE:309 [ bitmap_line::yd#11 ] zp ZP_BYTE:304 [ bitmap_line::xd#2 ] zp ZP_BYTE:307 [ bitmap_line::xd#1 ] +Uplifting [get_vic_screen] best 15296557 combination reg byte a [ get_vic_screen::idx#2 get_vic_screen::idx#0 get_vic_screen::idx#1 ] zp ZP_WORD:208 [ get_vic_screen::return#10 ] zp ZP_WORD:227 [ get_vic_screen::return#11 ] zp ZP_WORD:21 [ get_vic_screen::return#5 ] +Uplifting [get_plane] best 15296509 combination reg byte a [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ] zp ZP_DWORD:160 [ get_plane::return#16 ] zp ZP_DWORD:185 [ get_plane::return#17 ] zp ZP_DWORD:26 [ get_plane::return#14 ] +Uplifting [bitmap_line] best 15296463 combination zp ZP_BYTE:303 [ bitmap_line::y1#0 ] zp ZP_BYTE:302 [ bitmap_line::y0#0 ] reg byte x [ bitmap_line::x1#0 ] zp ZP_BYTE:300 [ bitmap_line::x0#0 ] zp ZP_BYTE:305 [ bitmap_line::yd#2 ] zp ZP_BYTE:306 [ bitmap_line::yd#1 ] zp ZP_BYTE:308 [ bitmap_line::yd#10 ] zp ZP_BYTE:309 [ bitmap_line::yd#11 ] zp ZP_BYTE:304 [ bitmap_line::xd#2 ] zp ZP_BYTE:307 [ bitmap_line::xd#1 ] Limited combination testing to 10 combinations of 186624 possible. -Uplifting [get_vic_charset] best 15296457 combination zp ZP_WORD:218 [ get_vic_charset::return#4 ] reg byte a [ get_vic_charset::idx#0 ] zp ZP_WORD:23 [ get_vic_charset::return#2 ] -Uplifting [RADIX] best 15296457 combination -Uplifting [print_ln] best 15296457 combination -Uplifting [print_cls] best 15296457 combination -Uplifting [print_set_screen] best 15296457 combination -Uplifting [keyboard_init] best 15296457 combination -Uplifting [main] best 15296457 combination -Uplifting [gfx_init] best 15296457 combination -Uplifting [gfx_init_plane_vertical2] best 15296457 combination -Uplifting [gfx_init_plane_blank] best 15296457 combination -Uplifting [gfx_init_plane_full] best 15296457 combination +Uplifting [get_vic_charset] best 15296454 combination zp ZP_WORD:218 [ get_vic_charset::return#4 ] reg byte a [ get_vic_charset::idx#0 ] zp ZP_WORD:23 [ get_vic_charset::return#2 ] +Uplifting [RADIX] best 15296454 combination +Uplifting [print_ln] best 15296454 combination +Uplifting [print_cls] best 15296454 combination +Uplifting [print_set_screen] best 15296454 combination +Uplifting [keyboard_init] best 15296454 combination +Uplifting [main] best 15296454 combination +Uplifting [gfx_init] best 15296454 combination +Uplifting [gfx_init_plane_vertical2] best 15296454 combination +Uplifting [gfx_init_plane_blank] best 15296454 combination +Uplifting [gfx_init_plane_full] best 15296454 combination Attempting to uplift remaining variables inzp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#109 keyboard_events_size#99 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#108 keyboard_events_size#1 keyboard_events_size#2 ] -Uplifting [] best 15296457 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#109 keyboard_events_size#99 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#108 keyboard_events_size#1 keyboard_events_size#2 ] +Uplifting [] best 15296454 combination zp ZP_BYTE:18 [ keyboard_events_size#18 keyboard_events_size#109 keyboard_events_size#99 keyboard_events_size#47 keyboard_events_size#27 keyboard_events_size#24 keyboard_events_size#100 keyboard_events_size#4 keyboard_events_size#108 keyboard_events_size#1 keyboard_events_size#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:252 [ keyboard_event_scan::event_type#0 ] -Uplifting [keyboard_event_scan] best 14696457 combination reg byte a [ keyboard_event_scan::event_type#0 ] +Uplifting [keyboard_event_scan] best 14696454 combination reg byte a [ keyboard_event_scan::event_type#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:253 [ keyboard_event_scan::$23 ] -Uplifting [keyboard_event_scan] best 14096457 combination reg byte a [ keyboard_event_scan::$23 ] +Uplifting [keyboard_event_scan] best 14096454 combination reg byte a [ keyboard_event_scan::$23 ] Attempting to uplift remaining variables inzp ZP_BYTE:16 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] -Uplifting [keyboard_event_scan] best 12596457 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] +Uplifting [keyboard_event_scan] best 12596454 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] -Uplifting [keyboard_event_scan] best 12596457 combination zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] +Uplifting [keyboard_event_scan] best 12596454 combination zp ZP_BYTE:17 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Uplifting [keyboard_event_scan] best 12596457 combination zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] +Uplifting [keyboard_event_scan] best 12596454 combination zp ZP_BYTE:14 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:241 [ keyboard_event_scan::row_scan#0 ] -Uplifting [keyboard_event_scan] best 12596457 combination zp ZP_BYTE:241 [ keyboard_event_scan::row_scan#0 ] +Uplifting [keyboard_event_scan] best 12596454 combination zp ZP_BYTE:241 [ keyboard_event_scan::row_scan#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:258 [ keyboard_matrix_read::return#0 ] -Uplifting [keyboard_matrix_read] best 12566454 combination reg byte a [ keyboard_matrix_read::return#0 ] +Uplifting [keyboard_matrix_read] best 12566451 combination reg byte a [ keyboard_matrix_read::return#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:10 [ gfx_mode::cx#2 gfx_mode::cx#1 ] -Uplifting [gfx_mode] best 12557454 combination reg byte x [ gfx_mode::cx#2 gfx_mode::cx#1 ] +Uplifting [gfx_mode] best 12557451 combination reg byte x [ gfx_mode::cx#2 gfx_mode::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:88 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] -Uplifting [gfx_init_plane_charset8] best 12548454 combination reg byte x [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] +Uplifting [gfx_init_plane_charset8] best 12548451 combination reg byte x [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] -Uplifting [gfx_init_plane_charset8] best 12548454 combination zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] +Uplifting [gfx_init_plane_charset8] best 12548451 combination zp ZP_BYTE:84 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] -Uplifting [gfx_init_plane_charset8] best 12548454 combination zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] +Uplifting [gfx_init_plane_charset8] best 12548451 combination zp ZP_BYTE:87 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] -Uplifting [bitmap_line_xdyi] best 12548454 combination zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] +Uplifting [bitmap_line_xdyi] best 12548451 combination zp ZP_BYTE:102 [ bitmap_line_xdyi::e#3 bitmap_line_xdyi::e#0 bitmap_line_xdyi::e#6 bitmap_line_xdyi::e#2 bitmap_line_xdyi::e#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] -Uplifting [bitmap_line_ydxi] best 12548454 combination zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] +Uplifting [bitmap_line_ydxi] best 12548451 combination zp ZP_BYTE:110 [ bitmap_line_ydxi::e#3 bitmap_line_ydxi::e#0 bitmap_line_ydxi::e#6 bitmap_line_ydxi::e#2 bitmap_line_ydxi::e#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] -Uplifting [bitmap_line_xdyd] best 12548454 combination zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] +Uplifting [bitmap_line_xdyd] best 12548451 combination zp ZP_BYTE:116 [ bitmap_line_xdyd::e#3 bitmap_line_xdyd::e#0 bitmap_line_xdyd::e#6 bitmap_line_xdyd::e#2 bitmap_line_xdyd::e#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] -Uplifting [bitmap_line_ydxd] best 12548454 combination zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] +Uplifting [bitmap_line_ydxd] best 12548451 combination zp ZP_BYTE:122 [ bitmap_line_ydxd::e#3 bitmap_line_ydxd::e#0 bitmap_line_ydxd::e#6 bitmap_line_ydxd::e#2 bitmap_line_ydxd::e#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] -Uplifting [form_mode] best 12548454 combination zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] +Uplifting [form_mode] best 12548451 combination zp ZP_BYTE:33 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:11 [ gfx_mode::j#2 gfx_mode::j#1 ] -Uplifting [gfx_mode] best 12547254 combination reg byte x [ gfx_mode::j#2 gfx_mode::j#1 ] +Uplifting [gfx_mode] best 12547251 combination reg byte x [ gfx_mode::j#2 gfx_mode::j#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:12 [ gfx_mode::i#2 gfx_mode::i#1 ] -Uplifting [gfx_mode] best 12546054 combination reg byte x [ gfx_mode::i#2 gfx_mode::i#1 ] +Uplifting [gfx_mode] best 12546051 combination reg byte x [ gfx_mode::i#2 gfx_mode::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -Uplifting [] best 12546054 combination zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] +Uplifting [] best 12546051 combination zp ZP_BYTE:31 [ form_cursor_count#21 form_cursor_count#1 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] Attempting to uplift remaining variables inzp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] -Uplifting [bitmap_line_xdyi] best 12546054 combination zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] +Uplifting [bitmap_line_xdyi] best 12546051 combination zp ZP_BYTE:101 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] -Uplifting [bitmap_line_xdyd] best 12546054 combination zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] +Uplifting [bitmap_line_xdyd] best 12546051 combination zp ZP_BYTE:115 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:238 [ gfx_mode::keyboard_event#0 ] -Uplifting [gfx_mode] best 12545454 combination reg byte a [ gfx_mode::keyboard_event#0 ] +Uplifting [gfx_mode] best 12545451 combination reg byte a [ gfx_mode::keyboard_event#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:274 [ form_set_screen::$1 ] -Uplifting [form_set_screen] best 12544854 combination reg byte a [ form_set_screen::$1 ] +Uplifting [form_set_screen] best 12544851 combination reg byte a [ form_set_screen::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:331 [ gfx_init_screen3::$3 ] -Uplifting [gfx_init_screen3] best 12544254 combination reg byte a [ gfx_init_screen3::$3 ] +Uplifting [gfx_init_screen3] best 12544251 combination reg byte a [ gfx_init_screen3::$3 ] Attempting to uplift remaining variables inzp ZP_BYTE:336 [ gfx_init_screen2::$4 ] -Uplifting [gfx_init_screen2] best 12543654 combination reg byte a [ gfx_init_screen2::$4 ] +Uplifting [gfx_init_screen2] best 12543651 combination reg byte a [ gfx_init_screen2::$4 ] Attempting to uplift remaining variables inzp ZP_BYTE:338 [ gfx_init_screen1::$1 ] -Uplifting [gfx_init_screen1] best 12543054 combination reg byte a [ gfx_init_screen1::$1 ] +Uplifting [gfx_init_screen1] best 12543051 combination reg byte a [ gfx_init_screen1::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:342 [ gfx_init_screen0::$3 ] -Uplifting [gfx_init_screen0] best 12542454 combination reg byte a [ gfx_init_screen0::$3 ] +Uplifting [gfx_init_screen0] best 12542451 combination reg byte a [ gfx_init_screen0::$3 ] Attempting to uplift remaining variables inzp ZP_BYTE:143 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] -Uplifting [gfx_init_screen3] best 12541454 combination reg byte x [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] +Uplifting [gfx_init_screen3] best 12541451 combination reg byte x [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:155 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] -Uplifting [gfx_init_screen0] best 12540454 combination reg byte x [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] +Uplifting [gfx_init_screen0] best 12540451 combination reg byte x [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] -Uplifting [gfx_init_plane_horisontal2] best 12539554 combination reg byte x [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] +Uplifting [gfx_init_plane_horisontal2] best 12539551 combination reg byte x [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:147 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] -Uplifting [gfx_init_screen2] best 12538554 combination reg byte x [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] +Uplifting [gfx_init_screen2] best 12538551 combination reg byte x [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ] -Uplifting [gfx_mode] best 12538554 combination zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ] +Uplifting [gfx_mode] best 12538551 combination zp ZP_BYTE:5 [ gfx_mode::cy#4 gfx_mode::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] -Uplifting [gfx_init_plane_charset8] best 12538554 combination zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] +Uplifting [gfx_init_plane_charset8] best 12538551 combination zp ZP_BYTE:83 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:333 [ gfx_init_screen2::col#0 ] -Uplifting [gfx_init_screen2] best 12538454 combination reg byte y [ gfx_init_screen2::col#0 ] +Uplifting [gfx_init_screen2] best 12538451 combination reg byte y [ gfx_init_screen2::col#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] -Uplifting [bitmap_line_xdyi] best 12538454 combination zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] +Uplifting [bitmap_line_xdyi] best 12538451 combination zp ZP_BYTE:100 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] -Uplifting [bitmap_line_ydxi] best 12538454 combination zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] +Uplifting [bitmap_line_ydxi] best 12538451 combination zp ZP_BYTE:109 [ bitmap_line_ydxi::y#3 bitmap_line_ydxi::y#6 bitmap_line_ydxi::y#1 bitmap_line_ydxi::y#0 bitmap_line_ydxi::y#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] -Uplifting [bitmap_line_xdyd] best 12538454 combination zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] +Uplifting [bitmap_line_xdyd] best 12538451 combination zp ZP_BYTE:114 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] -Uplifting [bitmap_line_ydxd] best 12538454 combination zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] +Uplifting [bitmap_line_ydxd] best 12538451 combination zp ZP_BYTE:121 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#6 form_field_idx#5 ] -Uplifting [] best 12538454 combination zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#6 form_field_idx#5 ] +Uplifting [] best 12538451 combination zp ZP_BYTE:32 [ form_field_idx#28 form_field_idx#1 form_field_idx#18 form_field_idx#31 form_field_idx#6 form_field_idx#5 ] Attempting to uplift remaining variables inzp ZP_BYTE:329 [ gfx_init_screen3::$1 ] -Uplifting [gfx_init_screen3] best 12538454 combination zp ZP_BYTE:329 [ gfx_init_screen3::$1 ] +Uplifting [gfx_init_screen3] best 12538451 combination zp ZP_BYTE:329 [ gfx_init_screen3::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:334 [ gfx_init_screen2::col2#0 ] -Uplifting [gfx_init_screen2] best 12538454 combination zp ZP_BYTE:334 [ gfx_init_screen2::col2#0 ] +Uplifting [gfx_init_screen2] best 12538451 combination zp ZP_BYTE:334 [ gfx_init_screen2::col2#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:340 [ gfx_init_screen0::$1 ] -Uplifting [gfx_init_screen0] best 12538454 combination zp ZP_BYTE:340 [ gfx_init_screen0::$1 ] +Uplifting [gfx_init_screen0] best 12538451 combination zp ZP_BYTE:340 [ gfx_init_screen0::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] -Uplifting [gfx_mode] best 12538435 combination reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] +Uplifting [gfx_mode] best 12538432 combination reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:265 [ form_field_ptr::x#0 ] -Uplifting [form_field_ptr] best 12538435 combination zp ZP_BYTE:265 [ form_field_ptr::x#0 ] +Uplifting [form_field_ptr] best 12538432 combination zp ZP_BYTE:265 [ form_field_ptr::x#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Uplifting [gfx_init_vic_bitmap] best 12538435 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] +Uplifting [gfx_init_vic_bitmap] best 12538432 combination zp ZP_BYTE:96 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] -Uplifting [gfx_init_plane_horisontal2] best 12538435 combination zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] +Uplifting [gfx_init_plane_horisontal2] best 12538432 combination zp ZP_BYTE:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] -Uplifting [gfx_init_screen1] best 12538435 combination zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] +Uplifting [gfx_init_screen1] best 12538432 combination zp ZP_BYTE:150 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] -Uplifting [gfx_init_screen3] best 12538435 combination zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplifting [gfx_init_screen3] best 12538432 combination zp ZP_BYTE:142 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] -Uplifting [gfx_init_screen0] best 12538435 combination zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplifting [gfx_init_screen0] best 12538432 combination zp ZP_BYTE:154 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] -Uplifting [gfx_init_plane_horisontal] best 12538435 combination zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] +Uplifting [gfx_init_plane_horisontal] best 12538432 combination zp ZP_BYTE:76 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] -Uplifting [gfx_init_screen2] best 12538435 combination zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplifting [gfx_init_screen2] best 12538432 combination zp ZP_BYTE:146 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] -Uplifting [gfx_init_plane_8bppchunky] best 12538435 combination zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplifting [gfx_init_plane_8bppchunky] best 12538432 combination zp ZP_BYTE:90 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:129 [ bitmap_init::y#2 bitmap_init::y#1 ] -Uplifting [bitmap_init] best 12538255 combination reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] +Uplifting [bitmap_init] best 12538252 combination reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:323 [ bitmap_init::$0 ] -Uplifting [bitmap_init] best 12538215 combination reg byte a [ bitmap_init::$0 ] +Uplifting [bitmap_init] best 12538212 combination reg byte a [ bitmap_init::$0 ] Attempting to uplift remaining variables inzp ZP_BYTE:325 [ bitmap_init::$7 ] -Uplifting [bitmap_init] best 12538155 combination reg byte a [ bitmap_init::$7 ] +Uplifting [bitmap_init] best 12538152 combination reg byte a [ bitmap_init::$7 ] Attempting to uplift remaining variables inzp ZP_BYTE:326 [ bitmap_init::$8 ] -Uplifting [bitmap_init] best 12538095 combination reg byte a [ bitmap_init::$8 ] +Uplifting [bitmap_init] best 12538092 combination reg byte a [ bitmap_init::$8 ] Attempting to uplift remaining variables inzp ZP_BYTE:327 [ bitmap_init::$9 ] -Uplifting [bitmap_init] best 12538035 combination reg byte a [ bitmap_init::$9 ] +Uplifting [bitmap_init] best 12538032 combination reg byte a [ bitmap_init::$9 ] Attempting to uplift remaining variables inzp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] -Uplifting [gfx_init_plane_fill] best 12538035 combination zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] +Uplifting [gfx_init_plane_fill] best 12538032 combination zp ZP_BYTE:63 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] -Uplifting [gfx_init_plane_vertical] best 12538035 combination zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] +Uplifting [gfx_init_plane_vertical] best 12538032 combination zp ZP_BYTE:72 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] -Uplifting [bitmap_clear] best 12538035 combination zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] +Uplifting [bitmap_clear] best 12538032 combination zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] -Uplifting [gfx_init_screen4] best 12538035 combination zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] +Uplifting [gfx_init_screen4] best 12538032 combination zp ZP_BYTE:138 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] -Uplifting [gfx_init_charset] best 12538035 combination zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] +Uplifting [gfx_init_charset] best 12538032 combination zp ZP_BYTE:132 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] -Uplifting [bitmap_line_xdyi] best 12538035 combination zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] +Uplifting [bitmap_line_xdyi] best 12538032 combination zp ZP_BYTE:98 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] -Uplifting [bitmap_line_ydxi] best 12538035 combination zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] +Uplifting [bitmap_line_ydxi] best 12538032 combination zp ZP_BYTE:106 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] -Uplifting [bitmap_line_xdyd] best 12538035 combination zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] +Uplifting [bitmap_line_xdyd] best 12538032 combination zp ZP_BYTE:112 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] -Uplifting [bitmap_line_ydxd] best 12538035 combination zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] +Uplifting [bitmap_line_ydxd] best 12538032 combination zp ZP_BYTE:118 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] -Uplifting [gfx_init_plane_charset8] best 12538035 combination zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Uplifting [gfx_init_plane_charset8] best 12538032 combination zp ZP_BYTE:80 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] -Uplifting [bitmap_line_xdyi] best 12538035 combination zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] +Uplifting [bitmap_line_xdyi] best 12538032 combination zp ZP_BYTE:97 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] -Uplifting [bitmap_line_ydxi] best 12538035 combination zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] +Uplifting [bitmap_line_ydxi] best 12538032 combination zp ZP_BYTE:105 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] -Uplifting [bitmap_line_xdyd] best 12538035 combination zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] +Uplifting [bitmap_line_xdyd] best 12538032 combination zp ZP_BYTE:111 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] -Uplifting [bitmap_line_ydxd] best 12538035 combination zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] +Uplifting [bitmap_line_ydxd] best 12538032 combination zp ZP_BYTE:117 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] -Uplifting [gfx_mode] best 12538024 combination reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +Uplifting [gfx_mode] best 12538021 combination reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] Attempting to uplift remaining variables inzp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] -Uplifting [bitmap_line_xdyi] best 12538024 combination zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] +Uplifting [bitmap_line_xdyi] best 12538021 combination zp ZP_BYTE:99 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] -Uplifting [bitmap_line_ydxi] best 12538024 combination zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] +Uplifting [bitmap_line_ydxi] best 12538021 combination zp ZP_BYTE:107 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] -Uplifting [bitmap_line_xdyd] best 12538024 combination zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] +Uplifting [bitmap_line_xdyd] best 12538021 combination zp ZP_BYTE:113 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] -Uplifting [bitmap_line_ydxd] best 12538024 combination zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] +Uplifting [bitmap_line_ydxd] best 12538021 combination zp ZP_BYTE:119 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] -Uplifting [gfx_init_plane_fill] best 12538024 combination zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] +Uplifting [gfx_init_plane_fill] best 12538021 combination zp ZP_BYTE:62 [ gfx_init_plane_fill::fill#6 ] Attempting to uplift remaining variables inzp ZP_BYTE:324 [ bitmap_init::$10 ] -Uplifting [bitmap_init] best 12538024 combination zp ZP_BYTE:324 [ bitmap_init::$10 ] +Uplifting [bitmap_init] best 12538021 combination zp ZP_BYTE:324 [ bitmap_init::$10 ] Attempting to uplift remaining variables inzp ZP_BYTE:158 [ gfx_mode::$20 ] -Uplifting [gfx_mode] best 12538018 combination reg byte a [ gfx_mode::$20 ] +Uplifting [gfx_mode] best 12538015 combination reg byte a [ gfx_mode::$20 ] Attempting to uplift remaining variables inzp ZP_BYTE:174 [ gfx_mode::$25 ] -Uplifting [gfx_mode] best 12538012 combination reg byte a [ gfx_mode::$25 ] +Uplifting [gfx_mode] best 12538009 combination reg byte a [ gfx_mode::$25 ] Attempting to uplift remaining variables inzp ZP_BYTE:175 [ gfx_mode::$27 ] -Uplifting [gfx_mode] best 12538006 combination reg byte a [ gfx_mode::$27 ] +Uplifting [gfx_mode] best 12538003 combination reg byte a [ gfx_mode::$27 ] Attempting to uplift remaining variables inzp ZP_BYTE:178 [ gfx_mode::$29 ] -Uplifting [gfx_mode] best 12538000 combination reg byte a [ gfx_mode::$29 ] +Uplifting [gfx_mode] best 12537997 combination reg byte a [ gfx_mode::$29 ] Attempting to uplift remaining variables inzp ZP_BYTE:179 [ gfx_mode::$30 ] -Uplifting [gfx_mode] best 12537994 combination reg byte a [ gfx_mode::$30 ] +Uplifting [gfx_mode] best 12537991 combination reg byte a [ gfx_mode::$30 ] Attempting to uplift remaining variables inzp ZP_BYTE:180 [ gfx_mode::$31 ] -Uplifting [gfx_mode] best 12537988 combination reg byte a [ gfx_mode::$31 ] +Uplifting [gfx_mode] best 12537985 combination reg byte a [ gfx_mode::$31 ] Attempting to uplift remaining variables inzp ZP_BYTE:181 [ gfx_mode::$32 ] -Uplifting [gfx_mode] best 12537982 combination reg byte a [ gfx_mode::$32 ] +Uplifting [gfx_mode] best 12537979 combination reg byte a [ gfx_mode::$32 ] Attempting to uplift remaining variables inzp ZP_BYTE:182 [ gfx_mode::$33 ] -Uplifting [gfx_mode] best 12537976 combination reg byte a [ gfx_mode::$33 ] +Uplifting [gfx_mode] best 12537973 combination reg byte a [ gfx_mode::$33 ] Attempting to uplift remaining variables inzp ZP_BYTE:183 [ gfx_mode::$34 ] -Uplifting [gfx_mode] best 12537970 combination reg byte a [ gfx_mode::$34 ] +Uplifting [gfx_mode] best 12537967 combination reg byte a [ gfx_mode::$34 ] Attempting to uplift remaining variables inzp ZP_BYTE:199 [ gfx_mode::$39 ] -Uplifting [gfx_mode] best 12537964 combination reg byte a [ gfx_mode::$39 ] +Uplifting [gfx_mode] best 12537961 combination reg byte a [ gfx_mode::$39 ] Attempting to uplift remaining variables inzp ZP_BYTE:200 [ gfx_mode::$41 ] -Uplifting [gfx_mode] best 12537958 combination reg byte a [ gfx_mode::$41 ] +Uplifting [gfx_mode] best 12537955 combination reg byte a [ gfx_mode::$41 ] Attempting to uplift remaining variables inzp ZP_BYTE:203 [ gfx_mode::$43 ] -Uplifting [gfx_mode] best 12537952 combination reg byte a [ gfx_mode::$43 ] +Uplifting [gfx_mode] best 12537949 combination reg byte a [ gfx_mode::$43 ] Attempting to uplift remaining variables inzp ZP_BYTE:204 [ gfx_mode::$44 ] -Uplifting [gfx_mode] best 12537946 combination reg byte a [ gfx_mode::$44 ] +Uplifting [gfx_mode] best 12537943 combination reg byte a [ gfx_mode::$44 ] Attempting to uplift remaining variables inzp ZP_BYTE:205 [ gfx_mode::$45 ] -Uplifting [gfx_mode] best 12537940 combination reg byte a [ gfx_mode::$45 ] +Uplifting [gfx_mode] best 12537937 combination reg byte a [ gfx_mode::$45 ] Attempting to uplift remaining variables inzp ZP_BYTE:206 [ gfx_mode::$46 ] -Uplifting [gfx_mode] best 12537934 combination reg byte a [ gfx_mode::$46 ] +Uplifting [gfx_mode] best 12537931 combination reg byte a [ gfx_mode::$46 ] Attempting to uplift remaining variables inzp ZP_BYTE:207 [ gfx_mode::$47 ] -Uplifting [gfx_mode] best 12537928 combination reg byte a [ gfx_mode::$47 ] +Uplifting [gfx_mode] best 12537925 combination reg byte a [ gfx_mode::$47 ] Attempting to uplift remaining variables inzp ZP_BYTE:224 [ gfx_mode::$60 ] -Uplifting [gfx_mode] best 12537922 combination reg byte a [ gfx_mode::$60 ] +Uplifting [gfx_mode] best 12537919 combination reg byte a [ gfx_mode::$60 ] Attempting to uplift remaining variables inzp ZP_BYTE:225 [ gfx_mode::$61 ] -Uplifting [gfx_mode] best 12537916 combination reg byte a [ gfx_mode::$61 ] +Uplifting [gfx_mode] best 12537913 combination reg byte a [ gfx_mode::$61 ] Attempting to uplift remaining variables inzp ZP_BYTE:226 [ gfx_mode::$62 ] -Uplifting [gfx_mode] best 12537910 combination reg byte a [ gfx_mode::$62 ] +Uplifting [gfx_mode] best 12537907 combination reg byte a [ gfx_mode::$62 ] Attempting to uplift remaining variables inzp ZP_BYTE:229 [ gfx_mode::$64 ] -Uplifting [gfx_mode] best 12537904 combination reg byte a [ gfx_mode::$64 ] +Uplifting [gfx_mode] best 12537901 combination reg byte a [ gfx_mode::$64 ] Attempting to uplift remaining variables inzp ZP_BYTE:230 [ gfx_mode::$65 ] -Uplifting [gfx_mode] best 12537898 combination reg byte a [ gfx_mode::$65 ] +Uplifting [gfx_mode] best 12537895 combination reg byte a [ gfx_mode::$65 ] Attempting to uplift remaining variables inzp ZP_BYTE:231 [ gfx_mode::$66 ] -Uplifting [gfx_mode] best 12537892 combination reg byte a [ gfx_mode::$66 ] +Uplifting [gfx_mode] best 12537889 combination reg byte a [ gfx_mode::$66 ] Attempting to uplift remaining variables inzp ZP_BYTE:232 [ gfx_mode::$67 ] -Uplifting [gfx_mode] best 12537886 combination reg byte a [ gfx_mode::$67 ] +Uplifting [gfx_mode] best 12537883 combination reg byte a [ gfx_mode::$67 ] Attempting to uplift remaining variables inzp ZP_BYTE:233 [ gfx_mode::$68 ] -Uplifting [gfx_mode] best 12537880 combination reg byte a [ gfx_mode::$68 ] +Uplifting [gfx_mode] best 12537877 combination reg byte a [ gfx_mode::$68 ] Attempting to uplift remaining variables inzp ZP_BYTE:234 [ gfx_mode::$69 ] -Uplifting [gfx_mode] best 12537874 combination reg byte a [ gfx_mode::$69 ] +Uplifting [gfx_mode] best 12537871 combination reg byte a [ gfx_mode::$69 ] Attempting to uplift remaining variables inzp ZP_BYTE:235 [ gfx_mode::$70 ] -Uplifting [gfx_mode] best 12537868 combination reg byte a [ gfx_mode::$70 ] +Uplifting [gfx_mode] best 12537865 combination reg byte a [ gfx_mode::$70 ] Attempting to uplift remaining variables inzp ZP_BYTE:236 [ gfx_mode::$71 ] -Uplifting [gfx_mode] best 12537862 combination reg byte a [ gfx_mode::$71 ] +Uplifting [gfx_mode] best 12537859 combination reg byte a [ gfx_mode::$71 ] Attempting to uplift remaining variables inzp ZP_BYTE:243 [ keyboard_event_scan::$0 ] -Uplifting [keyboard_event_scan] best 12537856 combination reg byte a [ keyboard_event_scan::$0 ] +Uplifting [keyboard_event_scan] best 12537853 combination reg byte a [ keyboard_event_scan::$0 ] Attempting to uplift remaining variables inzp ZP_BYTE:245 [ keyboard_event_scan::$3 ] -Uplifting [keyboard_event_scan] best 12537850 combination reg byte a [ keyboard_event_scan::$3 ] +Uplifting [keyboard_event_scan] best 12537847 combination reg byte a [ keyboard_event_scan::$3 ] Attempting to uplift remaining variables inzp ZP_BYTE:246 [ keyboard_event_pressed::return#2 ] -Uplifting [keyboard_event_pressed] best 12537844 combination reg byte a [ keyboard_event_pressed::return#2 ] +Uplifting [keyboard_event_pressed] best 12537841 combination reg byte a [ keyboard_event_pressed::return#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:247 [ keyboard_event_scan::$6 ] -Uplifting [keyboard_event_scan] best 12537838 combination reg byte a [ keyboard_event_scan::$6 ] +Uplifting [keyboard_event_scan] best 12537835 combination reg byte a [ keyboard_event_scan::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:248 [ keyboard_event_pressed::return#3 ] -Uplifting [keyboard_event_pressed] best 12537832 combination reg byte a [ keyboard_event_pressed::return#3 ] +Uplifting [keyboard_event_pressed] best 12537829 combination reg byte a [ keyboard_event_pressed::return#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:249 [ keyboard_event_scan::$9 ] -Uplifting [keyboard_event_scan] best 12537826 combination reg byte a [ keyboard_event_scan::$9 ] +Uplifting [keyboard_event_scan] best 12537823 combination reg byte a [ keyboard_event_scan::$9 ] Attempting to uplift remaining variables inzp ZP_BYTE:254 [ keyboard_event_pressed::$0 ] -Uplifting [keyboard_event_pressed] best 12537822 combination reg byte a [ keyboard_event_pressed::$0 ] +Uplifting [keyboard_event_pressed] best 12537819 combination reg byte a [ keyboard_event_pressed::$0 ] Attempting to uplift remaining variables inzp ZP_BYTE:256 [ keyboard_event_pressed::$1 ] -Uplifting [keyboard_event_pressed] best 12537818 combination reg byte a [ keyboard_event_pressed::$1 ] +Uplifting [keyboard_event_pressed] best 12537815 combination reg byte a [ keyboard_event_pressed::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:266 [ form_control::$13 ] -Uplifting [form_control] best 12537812 combination reg byte a [ form_control::$13 ] +Uplifting [form_control] best 12537809 combination reg byte a [ form_control::$13 ] Attempting to uplift remaining variables inzp ZP_BYTE:267 [ keyboard_event_get::return#4 ] -Uplifting [keyboard_event_get] best 12537806 combination reg byte a [ keyboard_event_get::return#4 ] +Uplifting [keyboard_event_get] best 12537803 combination reg byte a [ keyboard_event_get::return#4 ] Attempting to uplift remaining variables inzp ZP_BYTE:269 [ form_control::$15 ] -Uplifting [form_control] best 12537800 combination reg byte a [ form_control::$15 ] +Uplifting [form_control] best 12537797 combination reg byte a [ form_control::$15 ] Attempting to uplift remaining variables inzp ZP_BYTE:270 [ form_control::$16 ] -Uplifting [form_control] best 12537796 combination reg byte a [ form_control::$16 ] +Uplifting [form_control] best 12537793 combination reg byte a [ form_control::$16 ] Attempting to uplift remaining variables inzp ZP_BYTE:271 [ form_control::$24 ] -Uplifting [form_control] best 12537792 combination reg byte a [ form_control::$24 ] +Uplifting [form_control] best 12537789 combination reg byte a [ form_control::$24 ] Attempting to uplift remaining variables inzp ZP_BYTE:272 [ form_control::$14 ] -Uplifting [form_control] best 12537786 combination reg byte a [ form_control::$14 ] +Uplifting [form_control] best 12537783 combination reg byte a [ form_control::$14 ] Attempting to uplift remaining variables inzp ZP_BYTE:317 [ bitmap_plot::$1 ] -Uplifting [bitmap_plot] best 12537780 combination reg byte a [ bitmap_plot::$1 ] +Uplifting [bitmap_plot] best 12537777 combination reg byte a [ bitmap_plot::$1 ] Attempting to uplift remaining variables inzp ZP_BYTE:268 [ form_control::key_event#0 ] -Uplifting [form_control] best 12537768 combination reg byte a [ form_control::key_event#0 ] +Uplifting [form_control] best 12537765 combination reg byte a [ form_control::key_event#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:4 [ gfx_mode::vic_control2#2 ] -Uplifting [gfx_mode] best 12537759 combination reg byte a [ gfx_mode::vic_control2#2 ] +Uplifting [gfx_mode] best 12537756 combination reg byte a [ gfx_mode::vic_control2#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:255 [ keyboard_event_pressed::row_bits#0 ] -Uplifting [keyboard_event_pressed] best 12537759 combination zp ZP_BYTE:255 [ keyboard_event_pressed::row_bits#0 ] +Uplifting [keyboard_event_pressed] best 12537756 combination zp ZP_BYTE:255 [ keyboard_event_pressed::row_bits#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:303 [ bitmap_line::y1#0 ] -Uplifting [bitmap_line] best 12537759 combination zp ZP_BYTE:303 [ bitmap_line::y1#0 ] +Uplifting [bitmap_line] best 12537756 combination zp ZP_BYTE:303 [ bitmap_line::y1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:302 [ bitmap_line::y0#0 ] -Uplifting [bitmap_line] best 12537759 combination zp ZP_BYTE:302 [ bitmap_line::y0#0 ] +Uplifting [bitmap_line] best 12537756 combination zp ZP_BYTE:302 [ bitmap_line::y0#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:257 [ keyboard_event_pressed::return#10 ] -Uplifting [keyboard_event_pressed] best 12537744 combination reg byte a [ keyboard_event_pressed::return#10 ] +Uplifting [keyboard_event_pressed] best 12537741 combination reg byte a [ keyboard_event_pressed::return#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] -Uplifting [keyboard_event_pressed] best 12537744 combination zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] +Uplifting [keyboard_event_pressed] best 12537741 combination zp ZP_BYTE:19 [ keyboard_event_pressed::keycode#4 ] Attempting to uplift remaining variables inzp ZP_BYTE:300 [ bitmap_line::x0#0 ] -Uplifting [bitmap_line] best 12537744 combination zp ZP_BYTE:300 [ bitmap_line::x0#0 ] +Uplifting [bitmap_line] best 12537741 combination zp ZP_BYTE:300 [ bitmap_line::x0#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:305 [ bitmap_line::yd#2 ] -Uplifting [bitmap_line] best 12537734 combination reg byte y [ bitmap_line::yd#2 ] +Uplifting [bitmap_line] best 12537731 combination reg byte y [ bitmap_line::yd#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:306 [ bitmap_line::yd#1 ] -Uplifting [bitmap_line] best 12537724 combination reg byte y [ bitmap_line::yd#1 ] +Uplifting [bitmap_line] best 12537721 combination reg byte y [ bitmap_line::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:308 [ bitmap_line::yd#10 ] -Uplifting [bitmap_line] best 12537714 combination reg byte y [ bitmap_line::yd#10 ] +Uplifting [bitmap_line] best 12537711 combination reg byte y [ bitmap_line::yd#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:309 [ bitmap_line::yd#11 ] -Uplifting [bitmap_line] best 12537704 combination reg byte y [ bitmap_line::yd#11 ] +Uplifting [bitmap_line] best 12537701 combination reg byte y [ bitmap_line::yd#11 ] Attempting to uplift remaining variables inzp ZP_BYTE:159 [ gfx_mode::plane_a_offs#0 ] -Uplifting [gfx_mode] best 12537702 combination reg byte x [ gfx_mode::plane_a_offs#0 ] +Uplifting [gfx_mode] best 12537699 combination reg byte x [ gfx_mode::plane_a_offs#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:184 [ gfx_mode::plane_b_offs#0 ] -Uplifting [gfx_mode] best 12537700 combination reg byte x [ gfx_mode::plane_b_offs#0 ] +Uplifting [gfx_mode] best 12537697 combination reg byte x [ gfx_mode::plane_b_offs#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:304 [ bitmap_line::xd#2 ] -Uplifting [bitmap_line] best 12537700 combination zp ZP_BYTE:304 [ bitmap_line::xd#2 ] +Uplifting [bitmap_line] best 12537697 combination zp ZP_BYTE:304 [ bitmap_line::xd#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:307 [ bitmap_line::xd#1 ] -Uplifting [bitmap_line] best 12537700 combination zp ZP_BYTE:307 [ bitmap_line::xd#1 ] +Uplifting [bitmap_line] best 12537697 combination zp ZP_BYTE:307 [ bitmap_line::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:216 [ gfx_mode::$56 ] -Uplifting [gfx_mode] best 12537700 combination zp ZP_BYTE:216 [ gfx_mode::$56 ] +Uplifting [gfx_mode] best 12537697 combination zp ZP_BYTE:216 [ gfx_mode::$56 ] Coalescing zero page register [ zp ZP_WORD:6 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 ] ] with [ zp ZP_WORD:227 [ get_vic_screen::return#11 ] ] - score: 1 Coalescing zero page register [ zp ZP_WORD:21 [ get_vic_screen::return#5 ] ] with [ zp ZP_WORD:208 [ get_vic_screen::return#10 ] ] - score: 1 Coalescing zero page register [ zp ZP_WORD:23 [ get_vic_charset::return#2 ] ] with [ zp ZP_WORD:218 [ get_vic_charset::return#4 ] ] - score: 1 @@ -25211,10 +25210,9 @@ form_control: { inc form_fields_val,x // [396] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@16 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy.z form_field_idx - lda form_fields_val,y - cmp form_fields_max,y - bcc b16 - beq b16 + lda form_fields_max,y + cmp form_fields_val,y + bcs b16 jmp b17 // form_control::@17 b17: @@ -30454,7 +30452,7 @@ reg byte a [ gfx_init_screen0::$3 ] FINAL ASSEMBLER -Score: 10133400 +Score: 10133397 // File Comments // Interactive Explorer for C64DTV Screen Modes @@ -32904,10 +32902,9 @@ form_control: { inc form_fields_val,x // [396] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#28)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#28)) goto form_control::@16 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy.z form_field_idx - lda form_fields_val,y - cmp form_fields_max,y - bcc b16 - beq b16 + lda form_fields_max,y + cmp form_fields_val,y + bcs b16 // form_control::@17 // form_fields_val[form_field_idx] = 0 // [397] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#28) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 diff --git a/src/test/ref/function-pointer-noarg-call-7.asm b/src/test/ref/function-pointer-noarg-call-7.asm index c404ea470..a10f497db 100644 --- a/src/test/ref/function-pointer-noarg-call-7.asm +++ b/src/test/ref/function-pointer-noarg-call-7.asm @@ -33,10 +33,8 @@ hello: { sta SCREEN,y inc.z idx inx - txa - tay - lda #0 - cmp msg,y + lda msg,x + cmp #0 bne b1 rts } diff --git a/src/test/ref/function-pointer-noarg-call-7.log b/src/test/ref/function-pointer-noarg-call-7.log index e5c221047..203e3bf37 100644 --- a/src/test/ref/function-pointer-noarg-call-7.log +++ b/src/test/ref/function-pointer-noarg-call-7.log @@ -404,10 +404,10 @@ Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ do Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ do10::i#2 do10::i#1 ] Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ hello::i#2 hello::i#1 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:3 [ hello::i#2 hello::i#1 ] -Statement [19] if((byte) 0!=*((const byte[]) msg#0 + (byte) hello::i#1)) goto hello::@1 [ idx#0 hello::i#1 idx#1 ] ( main:3::do10:6::hello:10 [ do10::i#2 idx#0 hello::i#1 idx#1 ] ) always clobbers reg byte a reg byte y +Statement [19] if((byte) 0!=*((const byte[]) msg#0 + (byte) hello::i#1)) goto hello::@1 [ idx#0 hello::i#1 idx#1 ] ( main:3::do10:6::hello:10 [ do10::i#2 idx#0 hello::i#1 idx#1 ] ) always clobbers reg byte a Statement [1] (byte) idx#0 ← (byte) 0 [ idx#0 ] ( [ idx#0 ] ) always clobbers reg byte a Statement [16] *((const byte*) SCREEN#0 + (byte) idx#3) ← *((const byte[]) msg#0 + (byte) hello::i#2) [ idx#0 hello::i#2 idx#3 ] ( main:3::do10:6::hello:10 [ do10::i#2 idx#0 hello::i#2 idx#3 ] ) always clobbers reg byte a reg byte y -Statement [19] if((byte) 0!=*((const byte[]) msg#0 + (byte) hello::i#1)) goto hello::@1 [ idx#0 hello::i#1 idx#1 ] ( main:3::do10:6::hello:10 [ do10::i#2 idx#0 hello::i#1 idx#1 ] ) always clobbers reg byte a reg byte y +Statement [19] if((byte) 0!=*((const byte[]) msg#0 + (byte) hello::i#1)) goto hello::@1 [ idx#0 hello::i#1 idx#1 ] ( main:3::do10:6::hello:10 [ do10::i#2 idx#0 hello::i#1 idx#1 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ do10::i#2 do10::i#1 ] : zp ZP_BYTE:2 , reg byte x , Potential registers zp ZP_BYTE:3 [ hello::i#2 hello::i#1 ] : zp ZP_BYTE:3 , reg byte x , Potential registers zp ZP_BYTE:4 [ idx#0 idx#3 idx#7 idx#1 ] : zp ZP_BYTE:4 , @@ -418,14 +418,14 @@ Uplift Scope [] 224.1: zp ZP_BYTE:4 [ idx#0 idx#3 idx#7 idx#1 ] Uplift Scope [do10] 27.5: zp ZP_BYTE:2 [ do10::i#2 do10::i#1 ] Uplift Scope [main] -Uplifting [hello] best 4749 combination reg byte x [ hello::i#2 hello::i#1 ] -Uplifting [] best 4749 combination zp ZP_BYTE:4 [ idx#0 idx#3 idx#7 idx#1 ] -Uplifting [do10] best 4749 combination zp ZP_BYTE:2 [ do10::i#2 do10::i#1 ] -Uplifting [main] best 4749 combination +Uplifting [hello] best 4349 combination reg byte x [ hello::i#2 hello::i#1 ] +Uplifting [] best 4349 combination zp ZP_BYTE:4 [ idx#0 idx#3 idx#7 idx#1 ] +Uplifting [do10] best 4349 combination zp ZP_BYTE:2 [ do10::i#2 do10::i#1 ] +Uplifting [main] best 4349 combination Attempting to uplift remaining variables inzp ZP_BYTE:4 [ idx#0 idx#3 idx#7 idx#1 ] -Uplifting [] best 4749 combination zp ZP_BYTE:4 [ idx#0 idx#3 idx#7 idx#1 ] +Uplifting [] best 4349 combination zp ZP_BYTE:4 [ idx#0 idx#3 idx#7 idx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ do10::i#2 do10::i#1 ] -Uplifting [do10] best 4749 combination zp ZP_BYTE:2 [ do10::i#2 do10::i#1 ] +Uplifting [do10] best 4349 combination zp ZP_BYTE:2 [ do10::i#2 do10::i#1 ] Allocated (was zp ZP_BYTE:4) zp ZP_BYTE:3 [ idx#0 idx#3 idx#7 idx#1 ] ASSEMBLER BEFORE OPTIMIZATION @@ -526,10 +526,8 @@ hello: { // [18] (byte) hello::i#1 ← ++ (byte) hello::i#2 -- vbuxx=_inc_vbuxx inx // [19] if((byte) 0!=*((const byte[]) msg#0 + (byte) hello::i#1)) goto hello::@1 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 - txa - tay - lda #0 - cmp msg,y + lda msg,x + cmp #0 bne b1_from_b1 jmp breturn // hello::@return @@ -612,7 +610,7 @@ zp ZP_BYTE:3 [ idx#0 idx#3 idx#7 idx#1 ] FINAL ASSEMBLER -Score: 3726 +Score: 3326 // File Comments // Tests calling into a function pointer with local variables @@ -699,10 +697,8 @@ hello: { inx // while(msg[i]) // [19] if((byte) 0!=*((const byte[]) msg#0 + (byte) hello::i#1)) goto hello::@1 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 - txa - tay - lda #0 - cmp msg,y + lda msg,x + cmp #0 bne b1 // hello::@return // } diff --git a/src/test/ref/helloworld2.asm b/src/test/ref/helloworld2.asm index fa54e4e1c..5033811b8 100644 --- a/src/test/ref/helloworld2.asm +++ b/src/test/ref/helloworld2.asm @@ -19,26 +19,19 @@ main: { } // print2(byte* zeropage(2) at) print2: { - .label j = 4 .label at = 2 - lda #0 - sta.z j - tax + ldy #0 + ldx #0 b1: - txa - tay - lda #0 - cmp main.hello,y + lda main.hello,x + cmp #0 bne b2 rts b2: lda main.hello,x - ldy.z j sta (at),y - tya - clc - adc #2 - sta.z j + iny + iny inx jmp b1 } diff --git a/src/test/ref/helloworld2.log b/src/test/ref/helloworld2.log index af6e6299d..74808f2d3 100644 --- a/src/test/ref/helloworld2.log +++ b/src/test/ref/helloworld2.log @@ -380,12 +380,9 @@ Uplift Scope [print2] 33: zp ZP_BYTE:4 [ print2::i#2 print2::i#1 ] 22: zp ZP_BYT Uplift Scope [main] Uplift Scope [] -Uplifting [print2] best 607 combination reg byte x [ print2::i#2 print2::i#1 ] zp ZP_BYTE:5 [ print2::j#2 print2::j#1 ] zp ZP_WORD:2 [ print2::at#4 ] -Uplifting [main] best 607 combination -Uplifting [] best 607 combination -Attempting to uplift remaining variables inzp ZP_BYTE:5 [ print2::j#2 print2::j#1 ] -Uplifting [print2] best 607 combination zp ZP_BYTE:5 [ print2::j#2 print2::j#1 ] -Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:4 [ print2::j#2 print2::j#1 ] +Uplifting [print2] best 447 combination reg byte x [ print2::i#2 print2::i#1 ] reg byte y [ print2::j#2 print2::j#1 ] zp ZP_WORD:2 [ print2::at#4 ] +Uplifting [main] best 447 combination +Uplifting [] best 447 combination ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -447,23 +444,19 @@ main: { // print2 // print2(byte* zeropage(2) at) print2: { - .label j = 4 .label at = 2 // [10] phi from print2 to print2::@1 [phi:print2->print2::@1] b1_from_print2: - // [10] phi (byte) print2::j#2 = (byte) 0 [phi:print2->print2::@1#0] -- vbuz1=vbuc1 - lda #0 - sta.z j + // [10] phi (byte) print2::j#2 = (byte) 0 [phi:print2->print2::@1#0] -- vbuyy=vbuc1 + ldy #0 // [10] phi (byte) print2::i#2 = (byte) 0 [phi:print2->print2::@1#1] -- vbuxx=vbuc1 ldx #0 jmp b1 // print2::@1 b1: // [11] if((byte) 0!=*((const byte*) main::hello#0 + (byte) print2::i#2)) goto print2::@2 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 - txa - tay - lda #0 - cmp main.hello,y + lda main.hello,x + cmp #0 bne b2 jmp breturn // print2::@return @@ -472,15 +465,12 @@ print2: { rts // print2::@2 b2: - // [13] *((byte*) print2::at#4 + (byte) print2::j#2) ← *((const byte*) main::hello#0 + (byte) print2::i#2) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx + // [13] *((byte*) print2::at#4 + (byte) print2::j#2) ← *((const byte*) main::hello#0 + (byte) print2::i#2) -- pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx lda main.hello,x - ldy.z j sta (at),y - // [14] (byte) print2::j#1 ← (byte) print2::j#2 + (byte) 2 -- vbuz1=vbuz1_plus_2 - lda.z j - clc - adc #2 - sta.z j + // [14] (byte) print2::j#1 ← (byte) print2::j#2 + (byte) 2 -- vbuyy=vbuyy_plus_2 + iny + iny // [15] (byte) print2::i#1 ← ++ (byte) print2::i#2 -- vbuxx=_inc_vbuxx inx // [10] phi from print2::@2 to print2::@1 [phi:print2::@2->print2::@1] @@ -499,8 +489,6 @@ Removing instruction jmp breturn Removing instruction jmp b1 Removing instruction jmp breturn Succesful ASM optimization Pass5NextJumpElimination -Replacing instruction ldx #0 with TAX -Replacing instruction lda.z j with TYA Removing instruction b1_from_bbegin: Removing instruction b1: Removing instruction main_from_b1: @@ -541,19 +529,19 @@ FINAL SYMBOL TABLE (byte) print2::i#1 reg byte x 22.0 (byte) print2::i#2 reg byte x 11.0 (byte) print2::j -(byte) print2::j#1 j zp ZP_BYTE:4 11.0 -(byte) print2::j#2 j zp ZP_BYTE:4 11.0 +(byte) print2::j#1 reg byte y 11.0 +(byte) print2::j#2 reg byte y 11.0 (byte*) print2::msg (byte*) screen (const byte*) screen#0 screen = (byte*) 1024 zp ZP_WORD:2 [ print2::at#4 ] reg byte x [ print2::i#2 print2::i#1 ] -zp ZP_BYTE:4 [ print2::j#2 print2::j#1 ] +reg byte y [ print2::j#2 print2::j#1 ] FINAL ASSEMBLER -Score: 519 +Score: 369 // File Comments // Upstart @@ -601,22 +589,18 @@ main: { // print2 // print2(byte* zeropage(2) at) print2: { - .label j = 4 .label at = 2 // [10] phi from print2 to print2::@1 [phi:print2->print2::@1] - // [10] phi (byte) print2::j#2 = (byte) 0 [phi:print2->print2::@1#0] -- vbuz1=vbuc1 - lda #0 - sta.z j + // [10] phi (byte) print2::j#2 = (byte) 0 [phi:print2->print2::@1#0] -- vbuyy=vbuc1 + ldy #0 // [10] phi (byte) print2::i#2 = (byte) 0 [phi:print2->print2::@1#1] -- vbuxx=vbuc1 - tax + ldx #0 // print2::@1 b1: // for(byte i=0; msg[i]; i++) // [11] if((byte) 0!=*((const byte*) main::hello#0 + (byte) print2::i#2)) goto print2::@2 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 - txa - tay - lda #0 - cmp main.hello,y + lda main.hello,x + cmp #0 bne b2 // print2::@return // } @@ -625,16 +609,13 @@ print2: { // print2::@2 b2: // at[j] = msg[i] - // [13] *((byte*) print2::at#4 + (byte) print2::j#2) ← *((const byte*) main::hello#0 + (byte) print2::i#2) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx + // [13] *((byte*) print2::at#4 + (byte) print2::j#2) ← *((const byte*) main::hello#0 + (byte) print2::i#2) -- pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx lda main.hello,x - ldy.z j sta (at),y // j += 2 - // [14] (byte) print2::j#1 ← (byte) print2::j#2 + (byte) 2 -- vbuz1=vbuz1_plus_2 - tya - clc - adc #2 - sta.z j + // [14] (byte) print2::j#1 ← (byte) print2::j#2 + (byte) 2 -- vbuyy=vbuyy_plus_2 + iny + iny // for(byte i=0; msg[i]; i++) // [15] (byte) print2::i#1 ← ++ (byte) print2::i#2 -- vbuxx=_inc_vbuxx inx diff --git a/src/test/ref/helloworld2.sym b/src/test/ref/helloworld2.sym index 29eb782fe..0ec1e51c6 100644 --- a/src/test/ref/helloworld2.sym +++ b/src/test/ref/helloworld2.sym @@ -16,12 +16,12 @@ (byte) print2::i#1 reg byte x 22.0 (byte) print2::i#2 reg byte x 11.0 (byte) print2::j -(byte) print2::j#1 j zp ZP_BYTE:4 11.0 -(byte) print2::j#2 j zp ZP_BYTE:4 11.0 +(byte) print2::j#1 reg byte y 11.0 +(byte) print2::j#2 reg byte y 11.0 (byte*) print2::msg (byte*) screen (const byte*) screen#0 screen = (byte*) 1024 zp ZP_WORD:2 [ print2::at#4 ] reg byte x [ print2::i#2 print2::i#1 ] -zp ZP_BYTE:4 [ print2::j#2 print2::j#1 ] +reg byte y [ print2::j#2 print2::j#1 ] diff --git a/src/test/ref/local-string.asm b/src/test/ref/local-string.asm index 71172714d..e4bb2c986 100644 --- a/src/test/ref/local-string.asm +++ b/src/test/ref/local-string.asm @@ -4,16 +4,16 @@ .pc = $80d "Program" main: { .label screen = $400 - ldy #0 + ldx #0 b1: - lda #0 - cmp msg,y + lda msg,x + cmp #0 bne b2 rts b2: - lda msg,y - sta screen,y - iny + lda msg,x + sta screen,x + inx jmp b1 msg: .text "message 2 " .byte 0 diff --git a/src/test/ref/local-string.log b/src/test/ref/local-string.log index 7f614a72c..a84fa5955 100644 --- a/src/test/ref/local-string.log +++ b/src/test/ref/local-string.log @@ -212,7 +212,7 @@ REGISTER UPLIFT SCOPES Uplift Scope [main] 40.33: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Uplift Scope [] -Uplifting [main] best 333 combination reg byte y [ main::i#2 main::i#1 ] +Uplifting [main] best 333 combination reg byte x [ main::i#2 main::i#1 ] Uplifting [] best 333 combination ASSEMBLER BEFORE OPTIMIZATION @@ -244,14 +244,14 @@ main: { .label screen = $400 // [5] phi from main to main::@1 [phi:main->main::@1] b1_from_main: - // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuyy=vbuc1 - ldy #0 + // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 + ldx #0 jmp b1 // main::@1 b1: - // [6] if((byte) 0!=*((const byte[]) main::msg#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuyy_then_la1 - lda #0 - cmp msg,y + // [6] if((byte) 0!=*((const byte[]) main::msg#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 + lda msg,x + cmp #0 bne b2 jmp breturn // main::@return @@ -260,11 +260,11 @@ main: { rts // main::@2 b2: - // [8] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte[]) main::msg#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy - lda msg,y - sta screen,y - // [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuyy=_inc_vbuyy - iny + // [8] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte[]) main::msg#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda msg,x + sta screen,x + // [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + inx // [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] b1_from_b2: // [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@2->main::@1#0] -- register_copy @@ -305,14 +305,14 @@ FINAL SYMBOL TABLE (label) main::@2 (label) main::@return (byte) main::i -(byte) main::i#1 reg byte y 22.0 -(byte) main::i#2 reg byte y 18.333333333333332 +(byte) main::i#1 reg byte x 22.0 +(byte) main::i#2 reg byte x 18.333333333333332 (byte[]) main::msg (const byte[]) main::msg#0 msg = (string) "message 2 " (byte*) main::screen (const byte*) main::screen#0 screen = (byte*) 1024 -reg byte y [ main::i#2 main::i#1 ] +reg byte x [ main::i#2 main::i#1 ] FINAL ASSEMBLER @@ -336,14 +336,14 @@ Score: 261 main: { .label screen = $400 // [5] phi from main to main::@1 [phi:main->main::@1] - // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuyy=vbuc1 - ldy #0 + // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 + ldx #0 // main::@1 b1: // while(msg[i]) - // [6] if((byte) 0!=*((const byte[]) main::msg#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuyy_then_la1 - lda #0 - cmp msg,y + // [6] if((byte) 0!=*((const byte[]) main::msg#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 + lda msg,x + cmp #0 bne b2 // main::@return // } @@ -352,12 +352,12 @@ main: { // main::@2 b2: // screen[i++] = msg[i] - // [8] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte[]) main::msg#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy - lda msg,y - sta screen,y + // [8] *((const byte*) main::screen#0 + (byte) main::i#2) ← *((const byte[]) main::msg#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda msg,x + sta screen,x // screen[i++] = msg[i]; - // [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuyy=_inc_vbuyy - iny + // [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + inx // [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] // [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@2->main::@1#0] -- register_copy jmp b1 diff --git a/src/test/ref/local-string.sym b/src/test/ref/local-string.sym index f97f9efd1..22022a0a4 100644 --- a/src/test/ref/local-string.sym +++ b/src/test/ref/local-string.sym @@ -6,11 +6,11 @@ (label) main::@2 (label) main::@return (byte) main::i -(byte) main::i#1 reg byte y 22.0 -(byte) main::i#2 reg byte y 18.333333333333332 +(byte) main::i#1 reg byte x 22.0 +(byte) main::i#2 reg byte x 18.333333333333332 (byte[]) main::msg (const byte[]) main::msg#0 msg = (string) "message 2 " (byte*) main::screen (const byte*) main::screen#0 screen = (byte*) 1024 -reg byte y [ main::i#2 main::i#1 ] +reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/loop-for-continue.asm b/src/test/ref/loop-for-continue.asm index b42adaad9..1f9f6658b 100644 --- a/src/test/ref/loop-for-continue.asm +++ b/src/test/ref/loop-for-continue.asm @@ -4,22 +4,22 @@ .pc = $80d "Program" .label SCREEN = $400 main: { - ldx #0 ldy #0 + ldx #0 b1: - lda #0 - cmp MESSAGE,y + lda MESSAGE,x + cmp #0 bne b2 rts b2: - lda MESSAGE,y + lda MESSAGE,x cmp #' ' beq b4 - lda MESSAGE,y - sta SCREEN,x - inx - b4: + lda MESSAGE,x + sta SCREEN,y iny + b4: + inx jmp b1 } MESSAGE: .text "hello brave new world!" diff --git a/src/test/ref/loop-for-continue.log b/src/test/ref/loop-for-continue.log index 61ab2d361..af5fb47ea 100644 --- a/src/test/ref/loop-for-continue.log +++ b/src/test/ref/loop-for-continue.log @@ -305,7 +305,7 @@ REGISTER UPLIFT SCOPES Uplift Scope [main] 49.5: zp ZP_BYTE:3 [ main::idx#2 main::idx#5 main::idx#1 ] 31.17: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Uplift Scope [] -Uplifting [main] best 523 combination reg byte x [ main::idx#2 main::idx#5 main::idx#1 ] reg byte y [ main::i#2 main::i#1 ] +Uplifting [main] best 523 combination reg byte y [ main::idx#2 main::idx#5 main::idx#1 ] reg byte x [ main::i#2 main::i#1 ] Uplifting [] best 523 combination ASSEMBLER BEFORE OPTIMIZATION @@ -337,16 +337,16 @@ bend: main: { // [5] phi from main to main::@1 [phi:main->main::@1] b1_from_main: - // [5] phi (byte) main::idx#2 = (byte) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 - ldx #0 - // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#1] -- vbuyy=vbuc1 + // [5] phi (byte) main::idx#2 = (byte) 0 [phi:main->main::@1#0] -- vbuyy=vbuc1 ldy #0 + // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#1] -- vbuxx=vbuc1 + ldx #0 jmp b1 // main::@1 b1: - // [6] if((byte) 0!=*((const byte[]) MESSAGE#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuyy_then_la1 - lda #0 - cmp MESSAGE,y + // [6] if((byte) 0!=*((const byte[]) MESSAGE#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 + lda MESSAGE,x + cmp #0 bne b2 jmp breturn // main::@return @@ -355,18 +355,18 @@ main: { rts // main::@2 b2: - // [8] if(*((const byte[]) MESSAGE#0 + (byte) main::i#2)==(byte) ' ') goto main::@4 -- pbuc1_derefidx_vbuyy_eq_vbuc2_then_la1 - lda MESSAGE,y + // [8] if(*((const byte[]) MESSAGE#0 + (byte) main::i#2)==(byte) ' ') goto main::@4 -- pbuc1_derefidx_vbuxx_eq_vbuc2_then_la1 + lda MESSAGE,x cmp #' ' beq b4_from_b2 jmp b3 // main::@3 b3: - // [9] *((const byte*) SCREEN#0 + (byte) main::idx#2) ← *((const byte[]) MESSAGE#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuyy - lda MESSAGE,y - sta SCREEN,x - // [10] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuxx=_inc_vbuxx - inx + // [9] *((const byte*) SCREEN#0 + (byte) main::idx#2) ← *((const byte[]) MESSAGE#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuxx + lda MESSAGE,x + sta SCREEN,y + // [10] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuyy=_inc_vbuyy + iny // [11] phi from main::@2 main::@3 to main::@4 [phi:main::@2/main::@3->main::@4] b4_from_b2: b4_from_b3: @@ -374,8 +374,8 @@ main: { jmp b4 // main::@4 b4: - // [12] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuyy=_inc_vbuyy - iny + // [12] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + inx // [5] phi from main::@4 to main::@1 [phi:main::@4->main::@1] b1_from_b4: // [5] phi (byte) main::idx#2 = (byte) main::idx#5 [phi:main::@4->main::@1#0] -- register_copy @@ -429,15 +429,15 @@ FINAL SYMBOL TABLE (label) main::@4 (label) main::@return (byte) main::i -(byte) main::i#1 reg byte y 22.0 -(byte) main::i#2 reg byte y 9.166666666666666 +(byte) main::i#1 reg byte x 22.0 +(byte) main::i#2 reg byte x 9.166666666666666 (byte) main::idx -(byte) main::idx#1 reg byte x 22.0 -(byte) main::idx#2 reg byte x 11.0 -(byte) main::idx#5 reg byte x 16.5 +(byte) main::idx#1 reg byte y 22.0 +(byte) main::idx#2 reg byte y 11.0 +(byte) main::idx#5 reg byte y 16.5 -reg byte y [ main::i#2 main::i#1 ] -reg byte x [ main::idx#2 main::idx#5 main::idx#1 ] +reg byte x [ main::i#2 main::i#1 ] +reg byte y [ main::idx#2 main::idx#5 main::idx#1 ] FINAL ASSEMBLER @@ -461,16 +461,16 @@ Score: 391 // main main: { // [5] phi from main to main::@1 [phi:main->main::@1] - // [5] phi (byte) main::idx#2 = (byte) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 - ldx #0 - // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#1] -- vbuyy=vbuc1 + // [5] phi (byte) main::idx#2 = (byte) 0 [phi:main->main::@1#0] -- vbuyy=vbuc1 ldy #0 + // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#1] -- vbuxx=vbuc1 + ldx #0 // main::@1 b1: // for( char i =0; MESSAGE[i]; i++) - // [6] if((byte) 0!=*((const byte[]) MESSAGE#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuyy_then_la1 - lda #0 - cmp MESSAGE,y + // [6] if((byte) 0!=*((const byte[]) MESSAGE#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 + lda MESSAGE,x + cmp #0 bne b2 // main::@return // } @@ -479,25 +479,25 @@ main: { // main::@2 b2: // if(MESSAGE[i]==' ') - // [8] if(*((const byte[]) MESSAGE#0 + (byte) main::i#2)==(byte) ' ') goto main::@4 -- pbuc1_derefidx_vbuyy_eq_vbuc2_then_la1 - lda MESSAGE,y + // [8] if(*((const byte[]) MESSAGE#0 + (byte) main::i#2)==(byte) ' ') goto main::@4 -- pbuc1_derefidx_vbuxx_eq_vbuc2_then_la1 + lda MESSAGE,x cmp #' ' beq b4 // main::@3 // SCREEN[idx++] = MESSAGE[i] - // [9] *((const byte*) SCREEN#0 + (byte) main::idx#2) ← *((const byte[]) MESSAGE#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuyy - lda MESSAGE,y - sta SCREEN,x + // [9] *((const byte*) SCREEN#0 + (byte) main::idx#2) ← *((const byte[]) MESSAGE#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuxx + lda MESSAGE,x + sta SCREEN,y // SCREEN[idx++] = MESSAGE[i]; - // [10] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuxx=_inc_vbuxx - inx + // [10] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuyy=_inc_vbuyy + iny // [11] phi from main::@2 main::@3 to main::@4 [phi:main::@2/main::@3->main::@4] // [11] phi (byte) main::idx#5 = (byte) main::idx#2 [phi:main::@2/main::@3->main::@4#0] -- register_copy // main::@4 b4: // for( char i =0; MESSAGE[i]; i++) - // [12] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuyy=_inc_vbuyy - iny + // [12] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + inx // [5] phi from main::@4 to main::@1 [phi:main::@4->main::@1] // [5] phi (byte) main::idx#2 = (byte) main::idx#5 [phi:main::@4->main::@1#0] -- register_copy // [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@4->main::@1#1] -- register_copy diff --git a/src/test/ref/loop-for-continue.sym b/src/test/ref/loop-for-continue.sym index 5541bef21..94303d6e6 100644 --- a/src/test/ref/loop-for-continue.sym +++ b/src/test/ref/loop-for-continue.sym @@ -12,12 +12,12 @@ (label) main::@4 (label) main::@return (byte) main::i -(byte) main::i#1 reg byte y 22.0 -(byte) main::i#2 reg byte y 9.166666666666666 +(byte) main::i#1 reg byte x 22.0 +(byte) main::i#2 reg byte x 9.166666666666666 (byte) main::idx -(byte) main::idx#1 reg byte x 22.0 -(byte) main::idx#2 reg byte x 11.0 -(byte) main::idx#5 reg byte x 16.5 +(byte) main::idx#1 reg byte y 22.0 +(byte) main::idx#2 reg byte y 11.0 +(byte) main::idx#5 reg byte y 16.5 -reg byte y [ main::i#2 main::i#1 ] -reg byte x [ main::idx#2 main::idx#5 main::idx#1 ] +reg byte x [ main::i#2 main::i#1 ] +reg byte y [ main::idx#2 main::idx#5 main::idx#1 ] diff --git a/src/test/ref/string-escapes-0.asm b/src/test/ref/string-escapes-0.asm index ce490105f..62eab77ab 100644 --- a/src/test/ref/string-escapes-0.asm +++ b/src/test/ref/string-escapes-0.asm @@ -4,16 +4,16 @@ .pc = $80d "Program" .label SCREEN = $400 main: { - ldy #0 + ldx #0 b1: - lda #0 - cmp MESSAGE,y + lda MESSAGE,x + cmp #0 bne b2 rts b2: - lda MESSAGE,y - sta SCREEN,y - iny + lda MESSAGE,x + sta SCREEN,x + inx jmp b1 } MESSAGE: .text @"\r\f\n\"'\\" diff --git a/src/test/ref/string-escapes-0.log b/src/test/ref/string-escapes-0.log index 9bd4b777a..8962e57c2 100644 --- a/src/test/ref/string-escapes-0.log +++ b/src/test/ref/string-escapes-0.log @@ -213,7 +213,7 @@ REGISTER UPLIFT SCOPES Uplift Scope [main] 40.33: zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Uplift Scope [] -Uplifting [main] best 333 combination reg byte y [ main::i#2 main::i#1 ] +Uplifting [main] best 333 combination reg byte x [ main::i#2 main::i#1 ] Uplifting [] best 333 combination ASSEMBLER BEFORE OPTIMIZATION @@ -245,14 +245,14 @@ bend: main: { // [5] phi from main to main::@1 [phi:main->main::@1] b1_from_main: - // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuyy=vbuc1 - ldy #0 + // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 + ldx #0 jmp b1 // main::@1 b1: - // [6] if((byte) 0!=*((const byte[]) MESSAGE#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuyy_then_la1 - lda #0 - cmp MESSAGE,y + // [6] if((byte) 0!=*((const byte[]) MESSAGE#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 + lda MESSAGE,x + cmp #0 bne b2 jmp breturn // main::@return @@ -261,11 +261,11 @@ main: { rts // main::@2 b2: - // [8] *((const byte*) SCREEN#0 + (byte) main::i#2) ← *((const byte[]) MESSAGE#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy - lda MESSAGE,y - sta SCREEN,y - // [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuyy=_inc_vbuyy - iny + // [8] *((const byte*) SCREEN#0 + (byte) main::i#2) ← *((const byte[]) MESSAGE#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda MESSAGE,x + sta SCREEN,x + // [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + inx // [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] b1_from_b2: // [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@2->main::@1#0] -- register_copy @@ -311,10 +311,10 @@ FINAL SYMBOL TABLE (label) main::@2 (label) main::@return (byte) main::i -(byte) main::i#1 reg byte y 22.0 -(byte) main::i#2 reg byte y 18.333333333333332 +(byte) main::i#1 reg byte x 22.0 +(byte) main::i#2 reg byte x 18.333333333333332 -reg byte y [ main::i#2 main::i#1 ] +reg byte x [ main::i#2 main::i#1 ] FINAL ASSEMBLER @@ -338,14 +338,14 @@ Score: 261 // main main: { // [5] phi from main to main::@1 [phi:main->main::@1] - // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuyy=vbuc1 - ldy #0 + // [5] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 + ldx #0 // main::@1 b1: // while(MESSAGE[i]) - // [6] if((byte) 0!=*((const byte[]) MESSAGE#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuyy_then_la1 - lda #0 - cmp MESSAGE,y + // [6] if((byte) 0!=*((const byte[]) MESSAGE#0 + (byte) main::i#2)) goto main::@2 -- vbuc1_neq_pbuc2_derefidx_vbuxx_then_la1 + lda MESSAGE,x + cmp #0 bne b2 // main::@return // } @@ -354,12 +354,12 @@ main: { // main::@2 b2: // SCREEN[i] = MESSAGE[i++] - // [8] *((const byte*) SCREEN#0 + (byte) main::i#2) ← *((const byte[]) MESSAGE#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuyy=pbuc2_derefidx_vbuyy - lda MESSAGE,y - sta SCREEN,y + // [8] *((const byte*) SCREEN#0 + (byte) main::i#2) ← *((const byte[]) MESSAGE#0 + (byte) main::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda MESSAGE,x + sta SCREEN,x // SCREEN[i] = MESSAGE[i++]; - // [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuyy=_inc_vbuyy - iny + // [9] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + inx // [5] phi from main::@2 to main::@1 [phi:main::@2->main::@1] // [5] phi (byte) main::i#2 = (byte) main::i#1 [phi:main::@2->main::@1#0] -- register_copy jmp b1 diff --git a/src/test/ref/string-escapes-0.sym b/src/test/ref/string-escapes-0.sym index 605a182f8..c7f8ad40b 100644 --- a/src/test/ref/string-escapes-0.sym +++ b/src/test/ref/string-escapes-0.sym @@ -11,7 +11,7 @@ (label) main::@2 (label) main::@return (byte) main::i -(byte) main::i#1 reg byte y 22.0 -(byte) main::i#2 reg byte y 18.333333333333332 +(byte) main::i#1 reg byte x 22.0 +(byte) main::i#2 reg byte x 18.333333333333332 -reg byte y [ main::i#2 main::i#1 ] +reg byte x [ main::i#2 main::i#1 ]