1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-01-14 09:30:57 +00:00

Lowered uplift combinations further for higher speed

This commit is contained in:
jespergravgaard 2018-04-01 12:17:13 +02:00
parent 617b85ba8d
commit 10fd6ff19a
29 changed files with 785 additions and 626 deletions

View File

@ -311,14 +311,14 @@ public class Compiler {
// Attempt uplifting registers through a lot of combinations // Attempt uplifting registers through a lot of combinations
//getLog().setVerboseUplift(true); //getLog().setVerboseUplift(true);
new Pass4RegisterUpliftCombinations(program).performUplift(1_000); new Pass4RegisterUpliftCombinations(program).performUplift(100);
//getLog().setVerboseUplift(true); //getLog().setVerboseUplift(true);
//new Pass4RegisterUpliftStatic(program).performUplift(); //new Pass4RegisterUpliftStatic(program).performUplift();
//getLog().setVerboseUplift(false); //getLog().setVerboseUplift(false);
// Attempt uplifting registers one at a time to catch remaining potential not realized by combination search // Attempt uplifting registers one at a time to catch remaining potential not realized by combination search
new Pass4RegisterUpliftRemains(program).performUplift(1_000); new Pass4RegisterUpliftRemains(program).performUplift(100);
// Final register coalesce and finalization // Final register coalesce and finalization
new Pass4ZeroPageCoalesceAssignment(program).coalesce(); new Pass4ZeroPageCoalesceAssignment(program).coalesce();

View File

@ -5985,64 +5985,72 @@ Uplift Scope []
Uplifting [bitmap_plot] best 316487 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:53 [ bitmap_plot::plotter_y#0 ] reg byte a [ bitmap_plot::$1 ] zp ZP_WORD:51 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:55 [ bitmap_plot::$0 ] Uplifting [bitmap_plot] best 316487 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:53 [ bitmap_plot::plotter_y#0 ] reg byte a [ bitmap_plot::$1 ] zp ZP_WORD:51 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:55 [ bitmap_plot::$0 ]
Uplifting [bitmap_line_xdyi] best 307481 combination zp ZP_BYTE:16 [ 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:15 [ 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 ] zp ZP_BYTE:58 [ bitmap_line_xdyi::$6 ] reg byte x [ 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:12 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] zp ZP_BYTE:11 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] zp ZP_BYTE:13 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] Uplifting [bitmap_line_xdyi] best 307481 combination zp ZP_BYTE:16 [ 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:15 [ 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 ] zp ZP_BYTE:58 [ bitmap_line_xdyi::$6 ] reg byte x [ 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:12 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] zp ZP_BYTE:11 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] zp ZP_BYTE:13 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
Limited combination testing to 100 combinations of 256 possible.
Uplifting [bitmap_line_xdyd] best 298475 combination zp ZP_BYTE:28 [ 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:27 [ 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 ] zp ZP_BYTE:60 [ bitmap_line_xdyd::$6 ] reg byte x [ 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:24 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] zp ZP_BYTE:23 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] zp ZP_BYTE:25 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] Uplifting [bitmap_line_xdyd] best 298475 combination zp ZP_BYTE:28 [ 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:27 [ 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 ] zp ZP_BYTE:60 [ bitmap_line_xdyd::$6 ] reg byte x [ 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:24 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] zp ZP_BYTE:23 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] zp ZP_BYTE:25 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
Limited combination testing to 100 combinations of 256 possible.
Uplifting [bitmap_line_ydxi] best 286469 combination zp ZP_BYTE:8 [ 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 y [ bitmap_line_ydxi::$6 ] zp ZP_BYTE:7 [ 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:4 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp ZP_BYTE:3 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp ZP_BYTE:5 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Uplifting [bitmap_line_ydxi] best 286469 combination zp ZP_BYTE:8 [ 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 y [ bitmap_line_ydxi::$6 ] zp ZP_BYTE:7 [ 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:4 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp ZP_BYTE:3 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp ZP_BYTE:5 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
Limited combination testing to 100 combinations of 256 possible.
Uplifting [bitmap_line_ydxd] best 274463 combination zp ZP_BYTE:22 [ 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#1 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte y [ bitmap_line_ydxd::$6 ] zp ZP_BYTE:21 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:18 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ] zp ZP_BYTE:17 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ] zp ZP_BYTE:19 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ] Uplifting [bitmap_line_ydxd] best 274463 combination zp ZP_BYTE:22 [ 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#1 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte y [ bitmap_line_ydxd::$6 ] zp ZP_BYTE:21 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:18 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ] zp ZP_BYTE:17 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ] zp ZP_BYTE:19 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ]
Limited combination testing to 100 combinations of 256 possible.
Uplifting [bitmap_clear] best 273563 combination zp ZP_WORD:32 [ 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:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp ZP_WORD:61 [ bitmap_clear::$3 ] Uplifting [bitmap_clear] best 273563 combination zp ZP_WORD:32 [ 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:31 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp ZP_WORD:61 [ bitmap_clear::$3 ]
Uplifting [lines] best 273563 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] Uplifting [lines] best 273563 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
Uplifting [bitmap_init] best 272993 combination zp ZP_WORD:38 [ 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 ] reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] reg byte a [ bitmap_init::$0 ] reg byte a [ bitmap_init::$7 ] reg byte a [ bitmap_init::$8 ] zp ZP_BYTE:67 [ bitmap_init::$9 ] zp ZP_BYTE:68 [ bitmap_init::$10 ] zp ZP_BYTE:64 [ bitmap_init::$6 ] Uplifting [bitmap_init] best 273113 combination zp ZP_WORD:38 [ 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 ] reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] reg byte a [ bitmap_init::$0 ] zp ZP_BYTE:65 [ bitmap_init::$7 ] zp ZP_BYTE:66 [ bitmap_init::$8 ] zp ZP_BYTE:67 [ bitmap_init::$9 ] zp ZP_BYTE:68 [ bitmap_init::$10 ] zp ZP_BYTE:64 [ bitmap_init::$6 ]
Limited combination testing to 1000 combinations of 138240 possible. Limited combination testing to 100 combinations of 138240 possible.
Uplifting [init_screen] best 272993 combination zp ZP_WORD:29 [ init_screen::c#2 init_screen::c#1 ] Uplifting [init_screen] best 273113 combination zp ZP_WORD:29 [ init_screen::c#2 init_screen::c#1 ]
Uplifting [bitmap_line] best 272681 combination reg byte y [ bitmap_line::y1#0 ] zp ZP_BYTE:42 [ bitmap_line::y0#0 ] zp ZP_BYTE:41 [ bitmap_line::x1#0 ] zp ZP_BYTE:40 [ bitmap_line::x0#0 ] zp ZP_BYTE:45 [ bitmap_line::yd#1 ] zp ZP_BYTE:46 [ bitmap_line::yd#0 ] zp ZP_BYTE:48 [ bitmap_line::yd#3 ] zp ZP_BYTE:49 [ bitmap_line::yd#10 ] zp ZP_BYTE:44 [ bitmap_line::xd#1 ] zp ZP_BYTE:47 [ bitmap_line::xd#0 ] Uplifting [bitmap_line] best 272801 combination reg byte y [ bitmap_line::y1#0 ] zp ZP_BYTE:42 [ bitmap_line::y0#0 ] zp ZP_BYTE:41 [ bitmap_line::x1#0 ] zp ZP_BYTE:40 [ bitmap_line::x0#0 ] zp ZP_BYTE:45 [ bitmap_line::yd#1 ] zp ZP_BYTE:46 [ bitmap_line::yd#0 ] zp ZP_BYTE:48 [ bitmap_line::yd#3 ] zp ZP_BYTE:49 [ bitmap_line::yd#10 ] zp ZP_BYTE:44 [ bitmap_line::xd#1 ] zp ZP_BYTE:47 [ bitmap_line::xd#0 ]
Limited combination testing to 1000 combinations of 186624 possible. Limited combination testing to 100 combinations of 186624 possible.
Uplifting [main] best 272681 combination Uplifting [main] best 272801 combination
Uplifting [] best 272681 combination Uplifting [] best 272801 combination
Attempting to uplift remaining variables inzp ZP_BYTE:8 [ 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:8 [ 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 272681 combination zp ZP_BYTE:8 [ 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 272801 combination zp ZP_BYTE:8 [ 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:16 [ 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:16 [ 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 272681 combination zp ZP_BYTE:16 [ 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 272801 combination zp ZP_BYTE:16 [ 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:22 [ 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:22 [ 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 272681 combination zp ZP_BYTE:22 [ 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 272801 combination zp ZP_BYTE:22 [ 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:28 [ 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:28 [ 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 272681 combination zp ZP_BYTE:28 [ 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 272801 combination zp ZP_BYTE:28 [ 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:15 [ 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:15 [ 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 272681 combination zp ZP_BYTE:15 [ 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 272801 combination zp ZP_BYTE:15 [ 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:27 [ 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:27 [ 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 272681 combination zp ZP_BYTE:27 [ 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 272801 combination zp ZP_BYTE:27 [ 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:58 [ bitmap_line_xdyi::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:58 [ bitmap_line_xdyi::$6 ]
Uplifting [bitmap_line_xdyi] best 272681 combination zp ZP_BYTE:58 [ bitmap_line_xdyi::$6 ] Uplifting [bitmap_line_xdyi] best 272801 combination zp ZP_BYTE:58 [ bitmap_line_xdyi::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:60 [ bitmap_line_xdyd::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:60 [ bitmap_line_xdyd::$6 ]
Uplifting [bitmap_line_xdyd] best 272681 combination zp ZP_BYTE:60 [ bitmap_line_xdyd::$6 ] Uplifting [bitmap_line_xdyd] best 272801 combination zp ZP_BYTE:60 [ bitmap_line_xdyd::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ 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:7 [ 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 272681 combination zp ZP_BYTE:7 [ 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 272801 combination zp ZP_BYTE:7 [ 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:21 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:21 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ]
Uplifting [bitmap_line_ydxd] best 272681 combination zp ZP_BYTE:21 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ] Uplifting [bitmap_line_ydxd] best 272801 combination zp ZP_BYTE:21 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
Uplifting [lines] best 272681 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ] Uplifting [lines] best 272801 combination zp ZP_BYTE:2 [ lines::l#2 lines::l#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:4 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
Uplifting [bitmap_line_ydxi] best 272681 combination zp ZP_BYTE:4 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] Uplifting [bitmap_line_ydxi] best 272801 combination zp ZP_BYTE:4 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:12 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:12 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
Uplifting [bitmap_line_xdyi] best 272681 combination zp ZP_BYTE:12 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] Uplifting [bitmap_line_xdyi] best 272801 combination zp ZP_BYTE:12 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:18 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ]
Uplifting [bitmap_line_ydxd] best 272681 combination zp ZP_BYTE:18 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ] Uplifting [bitmap_line_ydxd] best 272801 combination zp ZP_BYTE:18 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:24 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
Uplifting [bitmap_line_xdyd] best 272681 combination zp ZP_BYTE:24 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] Uplifting [bitmap_line_xdyd] best 272801 combination zp ZP_BYTE:24 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
Uplifting [bitmap_line_ydxi] best 272681 combination zp ZP_BYTE:3 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] Uplifting [bitmap_line_ydxi] best 272801 combination zp ZP_BYTE:3 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:11 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:11 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
Uplifting [bitmap_line_xdyi] best 272681 combination zp ZP_BYTE:11 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] Uplifting [bitmap_line_xdyi] best 272801 combination zp ZP_BYTE:11 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:17 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:17 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ]
Uplifting [bitmap_line_ydxd] best 272681 combination zp ZP_BYTE:17 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ] Uplifting [bitmap_line_ydxd] best 272801 combination zp ZP_BYTE:17 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:23 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
Uplifting [bitmap_line_xdyd] best 272681 combination zp ZP_BYTE:23 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] Uplifting [bitmap_line_xdyd] best 272801 combination zp ZP_BYTE:23 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
Uplifting [bitmap_line_ydxi] best 272681 combination zp ZP_BYTE:5 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Uplifting [bitmap_line_ydxi] best 272801 combination zp ZP_BYTE:5 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:13 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
Uplifting [bitmap_line_xdyi] best 272681 combination zp ZP_BYTE:13 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] Uplifting [bitmap_line_xdyi] best 272801 combination zp ZP_BYTE:13 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:19 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:19 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ]
Uplifting [bitmap_line_ydxd] best 272681 combination zp ZP_BYTE:19 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ] Uplifting [bitmap_line_ydxd] best 272801 combination zp ZP_BYTE:19 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:25 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
Uplifting [bitmap_line_xdyd] best 272681 combination zp ZP_BYTE:25 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] Uplifting [bitmap_line_xdyd] best 272801 combination zp ZP_BYTE:25 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:65 [ bitmap_init::$7 ]
Uplifting [bitmap_init] best 272741 combination reg byte a [ bitmap_init::$7 ]
Attempting to uplift remaining variables inzp ZP_BYTE:66 [ bitmap_init::$8 ]
Uplifting [bitmap_init] best 272681 combination reg byte a [ bitmap_init::$8 ]
Attempting to uplift remaining variables inzp ZP_BYTE:67 [ bitmap_init::$9 ] Attempting to uplift remaining variables inzp ZP_BYTE:67 [ bitmap_init::$9 ]
Uplifting [bitmap_init] best 272621 combination reg byte a [ bitmap_init::$9 ] Uplifting [bitmap_init] best 272621 combination reg byte a [ bitmap_init::$9 ]
Attempting to uplift remaining variables inzp ZP_BYTE:68 [ bitmap_init::$10 ] Attempting to uplift remaining variables inzp ZP_BYTE:68 [ bitmap_init::$10 ]

View File

@ -2251,23 +2251,31 @@ Uplift Scope [main]
Uplift Scope [] Uplift Scope []
Uplifting [plots] best 8971 combination reg byte x [ plots::i#2 plots::i#1 ] Uplifting [plots] best 8971 combination reg byte x [ plots::i#2 plots::i#1 ]
Uplifting [init_plot_tables] best 8401 combination zp ZP_WORD:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] reg byte y [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ] reg byte x [ init_plot_tables::y#2 init_plot_tables::y#1 ] reg byte a [ init_plot_tables::$0 ] reg byte a [ init_plot_tables::$7 ] reg byte a [ init_plot_tables::$8 ] zp ZP_BYTE:33 [ init_plot_tables::$9 ] zp ZP_BYTE:34 [ init_plot_tables::$10 ] zp ZP_BYTE:30 [ init_plot_tables::$6 ] Uplifting [init_plot_tables] best 8521 combination zp ZP_WORD:6 [ init_plot_tables::yoffs#2 init_plot_tables::yoffs#4 init_plot_tables::yoffs#1 ] reg byte y [ init_plot_tables::bits#3 init_plot_tables::bits#4 init_plot_tables::bits#1 ] reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ] reg byte x [ init_plot_tables::y#2 init_plot_tables::y#1 ] reg byte a [ init_plot_tables::$0 ] zp ZP_BYTE:31 [ init_plot_tables::$7 ] zp ZP_BYTE:32 [ init_plot_tables::$8 ] zp ZP_BYTE:33 [ init_plot_tables::$9 ] zp ZP_BYTE:34 [ init_plot_tables::$10 ] zp ZP_BYTE:30 [ init_plot_tables::$6 ]
Limited combination testing to 1000 combinations of 138240 possible. Limited combination testing to 100 combinations of 138240 possible.
Uplifting [init_screen] best 8401 combination zp ZP_WORD:8 [ init_screen::b#2 init_screen::b#1 ] zp ZP_WORD:10 [ init_screen::c#2 init_screen::c#1 ] Uplifting [init_screen] best 8521 combination zp ZP_WORD:8 [ init_screen::b#2 init_screen::b#1 ] zp ZP_WORD:10 [ init_screen::c#2 init_screen::c#1 ]
Uplifting [plot] best 8377 combination zp ZP_BYTE:13 [ plot::y#0 ] zp ZP_BYTE:12 [ plot::x#0 ] reg byte a [ plot::$6 ] reg byte a [ plot::$7 ] reg byte a [ plot::$8 ] reg byte a [ plot::$9 ] zp ZP_WORD:24 [ plot::plotter_y#2 ] zp ZP_BYTE:28 [ plot::$5 ] zp ZP_WORD:26 [ plot::plotter#0 ] zp ZP_WORD:15 [ plot::plotter_x#1 ] zp ZP_WORD:21 [ plot::plotter_y#1 ] zp ZP_WORD:18 [ plot::plotter_x#2 ] Uplifting [plot] best 8509 combination zp ZP_BYTE:13 [ plot::y#0 ] zp ZP_BYTE:12 [ plot::x#0 ] reg byte a [ plot::$6 ] reg byte a [ plot::$7 ] zp ZP_BYTE:20 [ plot::$8 ] zp ZP_BYTE:23 [ plot::$9 ] zp ZP_WORD:24 [ plot::plotter_y#2 ] zp ZP_BYTE:28 [ plot::$5 ] zp ZP_WORD:26 [ plot::plotter#0 ] zp ZP_WORD:15 [ plot::plotter_x#1 ] zp ZP_WORD:21 [ plot::plotter_y#1 ] zp ZP_WORD:18 [ plot::plotter_x#2 ]
Limited combination testing to 1000 combinations of 9216 possible. Limited combination testing to 100 combinations of 9216 possible.
Uplifting [main] best 8377 combination Uplifting [main] best 8509 combination
Uplifting [] best 8377 combination Uplifting [] best 8509 combination
Attempting to uplift remaining variables inzp ZP_BYTE:31 [ init_plot_tables::$7 ]
Uplifting [init_plot_tables] best 8449 combination reg byte a [ init_plot_tables::$7 ]
Attempting to uplift remaining variables inzp ZP_BYTE:32 [ init_plot_tables::$8 ]
Uplifting [init_plot_tables] best 8389 combination reg byte a [ init_plot_tables::$8 ]
Attempting to uplift remaining variables inzp ZP_BYTE:33 [ init_plot_tables::$9 ] Attempting to uplift remaining variables inzp ZP_BYTE:33 [ init_plot_tables::$9 ]
Uplifting [init_plot_tables] best 8317 combination reg byte a [ init_plot_tables::$9 ] Uplifting [init_plot_tables] best 8329 combination reg byte a [ init_plot_tables::$9 ]
Attempting to uplift remaining variables inzp ZP_BYTE:34 [ init_plot_tables::$10 ] Attempting to uplift remaining variables inzp ZP_BYTE:34 [ init_plot_tables::$10 ]
Uplifting [init_plot_tables] best 8257 combination reg byte a [ init_plot_tables::$10 ] Uplifting [init_plot_tables] best 8269 combination reg byte a [ init_plot_tables::$10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ plot::y#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:13 [ plot::y#0 ]
Uplifting [plot] best 8257 combination zp ZP_BYTE:13 [ plot::y#0 ] Uplifting [plot] best 8269 combination zp ZP_BYTE:13 [ plot::y#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:30 [ init_plot_tables::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:30 [ init_plot_tables::$6 ]
Uplifting [init_plot_tables] best 8257 combination zp ZP_BYTE:30 [ init_plot_tables::$6 ] Uplifting [init_plot_tables] best 8269 combination zp ZP_BYTE:30 [ init_plot_tables::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:12 [ plot::x#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:12 [ plot::x#0 ]
Uplifting [plot] best 8257 combination zp ZP_BYTE:12 [ plot::x#0 ] Uplifting [plot] best 8269 combination zp ZP_BYTE:12 [ plot::x#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:20 [ plot::$8 ]
Uplifting [plot] best 8263 combination reg byte a [ plot::$8 ]
Attempting to uplift remaining variables inzp ZP_BYTE:23 [ plot::$9 ]
Uplifting [plot] best 8257 combination reg byte a [ plot::$9 ]
Attempting to uplift remaining variables inzp ZP_BYTE:28 [ plot::$5 ] Attempting to uplift remaining variables inzp ZP_BYTE:28 [ plot::$5 ]
Uplifting [plot] best 8251 combination reg byte a [ plot::$5 ] Uplifting [plot] best 8251 combination reg byte a [ plot::$5 ]
Coalescing zero page register with common assignment [ zp ZP_WORD:15 [ plot::plotter_x#1 ] ] with [ zp ZP_WORD:18 [ plot::plotter_x#2 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:15 [ plot::plotter_x#1 ] ] with [ zp ZP_WORD:18 [ plot::plotter_x#2 ] ] - score: 1

View File

@ -27540,264 +27540,310 @@ Uplift Scope [print_ln]
Uplift Scope [print_set_screen] Uplift Scope [print_set_screen]
Uplift Scope [main] Uplift Scope [main]
Uplifting [mode_8bpppixelcell] best 3145484 combination reg byte a [ mode_8bpppixelcell::c#2 mode_8bpppixelcell::c#3 ] reg byte a [ mode_8bpppixelcell::$19 ] reg byte x [ mode_8bpppixelcell::cp#2 mode_8bpppixelcell::cp#1 ] zp ZP_BYTE:25 [ mode_8bpppixelcell::bits#2 mode_8bpppixelcell::bits#0 mode_8bpppixelcell::bits#1 ] zp ZP_WORD:26 [ mode_8bpppixelcell::gfxb#2 mode_8bpppixelcell::gfxb#5 mode_8bpppixelcell::gfxb#7 mode_8bpppixelcell::gfxb#1 ] zp ZP_BYTE:28 [ mode_8bpppixelcell::col#2 mode_8bpppixelcell::col#5 mode_8bpppixelcell::col#7 mode_8bpppixelcell::col#1 ] reg byte a [ mode_8bpppixelcell::$13 ] reg byte a [ mode_8bpppixelcell::$15 ] zp ZP_BYTE:214 [ mode_8bpppixelcell::$16 ] zp ZP_BYTE:18 [ mode_8bpppixelcell::ax#2 mode_8bpppixelcell::ax#1 ] zp ZP_WORD:22 [ mode_8bpppixelcell::chargen#2 mode_8bpppixelcell::chargen#4 mode_8bpppixelcell::chargen#1 ] zp ZP_BYTE:24 [ mode_8bpppixelcell::cr#6 mode_8bpppixelcell::cr#1 ] zp ZP_WORD:19 [ mode_8bpppixelcell::gfxa#2 mode_8bpppixelcell::gfxa#3 mode_8bpppixelcell::gfxa#1 ] zp ZP_BYTE:212 [ mode_8bpppixelcell::$14 ] zp ZP_BYTE:16 [ mode_8bpppixelcell::i#2 mode_8bpppixelcell::i#1 ] zp ZP_BYTE:17 [ mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 ] zp ZP_BYTE:21 [ mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 ] Uplifting [mode_8bpppixelcell] best 3157484 combination reg byte a [ mode_8bpppixelcell::c#2 mode_8bpppixelcell::c#3 ] reg byte a [ mode_8bpppixelcell::$19 ] reg byte x [ mode_8bpppixelcell::cp#2 mode_8bpppixelcell::cp#1 ] zp ZP_BYTE:25 [ mode_8bpppixelcell::bits#2 mode_8bpppixelcell::bits#0 mode_8bpppixelcell::bits#1 ] zp ZP_WORD:26 [ mode_8bpppixelcell::gfxb#2 mode_8bpppixelcell::gfxb#5 mode_8bpppixelcell::gfxb#7 mode_8bpppixelcell::gfxb#1 ] zp ZP_BYTE:28 [ mode_8bpppixelcell::col#2 mode_8bpppixelcell::col#5 mode_8bpppixelcell::col#7 mode_8bpppixelcell::col#1 ] zp ZP_BYTE:211 [ mode_8bpppixelcell::$13 ] zp ZP_BYTE:213 [ mode_8bpppixelcell::$15 ] zp ZP_BYTE:214 [ mode_8bpppixelcell::$16 ] zp ZP_BYTE:18 [ mode_8bpppixelcell::ax#2 mode_8bpppixelcell::ax#1 ] zp ZP_WORD:22 [ mode_8bpppixelcell::chargen#2 mode_8bpppixelcell::chargen#4 mode_8bpppixelcell::chargen#1 ] zp ZP_BYTE:24 [ mode_8bpppixelcell::cr#6 mode_8bpppixelcell::cr#1 ] zp ZP_WORD:19 [ mode_8bpppixelcell::gfxa#2 mode_8bpppixelcell::gfxa#3 mode_8bpppixelcell::gfxa#1 ] zp ZP_BYTE:212 [ mode_8bpppixelcell::$14 ] zp ZP_BYTE:16 [ mode_8bpppixelcell::i#2 mode_8bpppixelcell::i#1 ] zp ZP_BYTE:17 [ mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 ] zp ZP_BYTE:21 [ mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 ]
Limited combination testing to 1000 combinations of 1572864 possible. Limited combination testing to 100 combinations of 1572864 possible.
Uplifting [mode_twoplanebitmap] best 3104484 combination zp ZP_WORD:50 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] zp ZP_WORD:54 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] reg byte x [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] reg byte a [ mode_twoplanebitmap::$15 ] reg byte a [ mode_twoplanebitmap::$17 ] reg byte a [ mode_twoplanebitmap::$18 ] reg byte a [ mode_twoplanebitmap::$21 ] reg byte x [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] zp ZP_BYTE:52 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] zp ZP_WORD:47 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] zp ZP_BYTE:221 [ mode_twoplanebitmap::$16 ] zp ZP_BYTE:44 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] zp ZP_BYTE:45 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] zp ZP_BYTE:49 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] zp ZP_BYTE:53 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] Uplifting [mode_twoplanebitmap] best 3130484 combination zp ZP_WORD:50 [ mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 ] zp ZP_WORD:54 [ mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 ] reg byte x [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ] reg byte a [ mode_twoplanebitmap::$15 ] reg byte a [ mode_twoplanebitmap::$17 ] reg byte a [ mode_twoplanebitmap::$18 ] zp ZP_BYTE:224 [ mode_twoplanebitmap::$21 ] zp ZP_BYTE:46 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ] zp ZP_BYTE:52 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] zp ZP_WORD:47 [ mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 ] zp ZP_BYTE:221 [ mode_twoplanebitmap::$16 ] zp ZP_BYTE:44 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] zp ZP_BYTE:45 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] zp ZP_BYTE:49 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] zp ZP_BYTE:53 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ]
Limited combination testing to 1000 combinations of 196608 possible. Limited combination testing to 100 combinations of 196608 possible.
Uplifting [mode_sixsfred2] best 3067484 combination zp ZP_WORD:67 [ mode_sixsfred2::gfxb#2 mode_sixsfred2::gfxb#3 mode_sixsfred2::gfxb#1 ] reg byte x [ mode_sixsfred2::bx#2 mode_sixsfred2::bx#1 ] reg byte a [ mode_sixsfred2::$14 ] reg byte a [ mode_sixsfred2::$16 ] reg byte a [ mode_sixsfred2::$17 ] reg byte a [ mode_sixsfred2::$20 ] reg byte a [ mode_sixsfred2::row#0 ] zp ZP_BYTE:59 [ mode_sixsfred2::cx#2 mode_sixsfred2::cx#1 ] zp ZP_BYTE:65 [ mode_sixsfred2::ax#2 mode_sixsfred2::ax#1 ] zp ZP_WORD:63 [ mode_sixsfred2::gfxa#2 mode_sixsfred2::gfxa#3 mode_sixsfred2::gfxa#1 ] zp ZP_WORD:60 [ mode_sixsfred2::col#2 mode_sixsfred2::col#3 mode_sixsfred2::col#1 ] zp ZP_BYTE:226 [ mode_sixsfred2::$15 ] zp ZP_BYTE:57 [ mode_sixsfred2::i#2 mode_sixsfred2::i#1 ] zp ZP_BYTE:62 [ mode_sixsfred2::ay#4 mode_sixsfred2::ay#1 ] zp ZP_BYTE:58 [ mode_sixsfred2::cy#4 mode_sixsfred2::cy#1 ] zp ZP_BYTE:66 [ mode_sixsfred2::by#4 mode_sixsfred2::by#1 ] Uplifting [mode_sixsfred2] best 3103484 combination zp ZP_WORD:67 [ mode_sixsfred2::gfxb#2 mode_sixsfred2::gfxb#3 mode_sixsfred2::gfxb#1 ] reg byte x [ mode_sixsfred2::bx#2 mode_sixsfred2::bx#1 ] reg byte a [ mode_sixsfred2::$14 ] reg byte a [ mode_sixsfred2::$16 ] reg byte a [ mode_sixsfred2::$17 ] zp ZP_BYTE:229 [ mode_sixsfred2::$20 ] zp ZP_BYTE:230 [ mode_sixsfred2::row#0 ] zp ZP_BYTE:59 [ mode_sixsfred2::cx#2 mode_sixsfred2::cx#1 ] zp ZP_BYTE:65 [ mode_sixsfred2::ax#2 mode_sixsfred2::ax#1 ] zp ZP_WORD:63 [ mode_sixsfred2::gfxa#2 mode_sixsfred2::gfxa#3 mode_sixsfred2::gfxa#1 ] zp ZP_WORD:60 [ mode_sixsfred2::col#2 mode_sixsfred2::col#3 mode_sixsfred2::col#1 ] zp ZP_BYTE:226 [ mode_sixsfred2::$15 ] zp ZP_BYTE:57 [ mode_sixsfred2::i#2 mode_sixsfred2::i#1 ] zp ZP_BYTE:62 [ mode_sixsfred2::ay#4 mode_sixsfred2::ay#1 ] zp ZP_BYTE:58 [ mode_sixsfred2::cy#4 mode_sixsfred2::cy#1 ] zp ZP_BYTE:66 [ mode_sixsfred2::by#4 mode_sixsfred2::by#1 ]
Limited combination testing to 1000 combinations of 786432 possible. Limited combination testing to 100 combinations of 786432 possible.
Uplifting [mode_sixsfred] best 3026484 combination zp ZP_WORD:41 [ mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] reg byte x [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] reg byte x [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] reg byte a [ mode_sixsfred::$16 ] reg byte a [ mode_sixsfred::$17 ] reg byte a [ mode_sixsfred::$20 ] reg byte a [ mode_sixsfred::row#0 ] zp ZP_BYTE:39 [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] zp ZP_WORD:34 [ mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] zp ZP_WORD:37 [ mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] zp ZP_BYTE:31 [ mode_sixsfred::i#2 mode_sixsfred::i#1 ] zp ZP_BYTE:32 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] zp ZP_BYTE:36 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] zp ZP_BYTE:40 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] Uplifting [mode_sixsfred] best 3066484 combination zp ZP_WORD:41 [ mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 ] reg byte x [ mode_sixsfred::bx#2 mode_sixsfred::bx#1 ] reg byte x [ mode_sixsfred::cx#2 mode_sixsfred::cx#1 ] reg byte a [ mode_sixsfred::$16 ] reg byte a [ mode_sixsfred::$17 ] reg byte a [ mode_sixsfred::$20 ] zp ZP_BYTE:219 [ mode_sixsfred::row#0 ] zp ZP_BYTE:39 [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] zp ZP_WORD:34 [ mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 ] zp ZP_WORD:37 [ mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 ] zp ZP_BYTE:31 [ mode_sixsfred::i#2 mode_sixsfred::i#1 ] zp ZP_BYTE:32 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] zp ZP_BYTE:36 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] zp ZP_BYTE:40 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ]
Limited combination testing to 1000 combinations of 65536 possible. Limited combination testing to 100 combinations of 65536 possible.
Uplifting [mode_stdchar] best 2996484 combination reg byte a [ mode_stdchar::$24 ] reg byte a [ mode_stdchar::$25 ] reg byte a [ mode_stdchar::$26 ] reg byte a [ mode_stdchar::$28 ] reg byte a [ mode_stdchar::$29 ] zp ZP_BYTE:148 [ mode_stdchar::cx#2 mode_stdchar::cx#1 ] zp ZP_WORD:149 [ mode_stdchar::col#2 mode_stdchar::col#3 mode_stdchar::col#1 ] zp ZP_BYTE:292 [ mode_stdchar::$27 ] zp ZP_WORD:151 [ mode_stdchar::ch#2 mode_stdchar::ch#3 mode_stdchar::ch#1 ] zp ZP_BYTE:146 [ mode_stdchar::i#2 mode_stdchar::i#1 ] zp ZP_BYTE:147 [ mode_stdchar::cy#4 mode_stdchar::cy#1 ] Uplifting [mode_stdchar] best 3042484 combination reg byte a [ mode_stdchar::$24 ] reg byte a [ mode_stdchar::$25 ] reg byte a [ mode_stdchar::$26 ] reg byte a [ mode_stdchar::$28 ] zp ZP_BYTE:294 [ mode_stdchar::$29 ] zp ZP_BYTE:148 [ mode_stdchar::cx#2 mode_stdchar::cx#1 ] zp ZP_WORD:149 [ mode_stdchar::col#2 mode_stdchar::col#3 mode_stdchar::col#1 ] zp ZP_BYTE:292 [ mode_stdchar::$27 ] zp ZP_WORD:151 [ mode_stdchar::ch#2 mode_stdchar::ch#3 mode_stdchar::ch#1 ] zp ZP_BYTE:146 [ mode_stdchar::i#2 mode_stdchar::i#1 ] zp ZP_BYTE:147 [ mode_stdchar::cy#4 mode_stdchar::cy#1 ]
Limited combination testing to 1000 combinations of 36864 possible. Limited combination testing to 100 combinations of 36864 possible.
Uplifting [mode_ecmchar] best 2966484 combination reg byte a [ mode_ecmchar::$25 ] reg byte a [ mode_ecmchar::$26 ] reg byte a [ mode_ecmchar::$27 ] reg byte a [ mode_ecmchar::$29 ] reg byte a [ mode_ecmchar::$30 ] zp ZP_BYTE:141 [ mode_ecmchar::cx#2 mode_ecmchar::cx#1 ] zp ZP_WORD:142 [ mode_ecmchar::col#2 mode_ecmchar::col#3 mode_ecmchar::col#1 ] zp ZP_BYTE:286 [ mode_ecmchar::$28 ] zp ZP_WORD:144 [ mode_ecmchar::ch#2 mode_ecmchar::ch#3 mode_ecmchar::ch#1 ] zp ZP_BYTE:139 [ mode_ecmchar::i#2 mode_ecmchar::i#1 ] zp ZP_BYTE:140 [ mode_ecmchar::cy#4 mode_ecmchar::cy#1 ] Uplifting [mode_ecmchar] best 3018484 combination reg byte a [ mode_ecmchar::$25 ] reg byte a [ mode_ecmchar::$26 ] reg byte a [ mode_ecmchar::$27 ] reg byte a [ mode_ecmchar::$29 ] zp ZP_BYTE:288 [ mode_ecmchar::$30 ] zp ZP_BYTE:141 [ mode_ecmchar::cx#2 mode_ecmchar::cx#1 ] zp ZP_WORD:142 [ mode_ecmchar::col#2 mode_ecmchar::col#3 mode_ecmchar::col#1 ] zp ZP_BYTE:286 [ mode_ecmchar::$28 ] zp ZP_WORD:144 [ mode_ecmchar::ch#2 mode_ecmchar::ch#3 mode_ecmchar::ch#1 ] zp ZP_BYTE:139 [ mode_ecmchar::i#2 mode_ecmchar::i#1 ] zp ZP_BYTE:140 [ mode_ecmchar::cy#4 mode_ecmchar::cy#1 ]
Limited combination testing to 1000 combinations of 36864 possible. Limited combination testing to 100 combinations of 36864 possible.
Uplifting [mode_mcchar] best 2936484 combination reg byte a [ mode_mcchar::$25 ] reg byte a [ mode_mcchar::$26 ] reg byte a [ mode_mcchar::$27 ] reg byte a [ mode_mcchar::$29 ] reg byte a [ mode_mcchar::$30 ] zp ZP_BYTE:134 [ mode_mcchar::cx#2 mode_mcchar::cx#1 ] zp ZP_WORD:135 [ mode_mcchar::col#2 mode_mcchar::col#3 mode_mcchar::col#1 ] zp ZP_BYTE:280 [ mode_mcchar::$28 ] zp ZP_WORD:137 [ mode_mcchar::ch#2 mode_mcchar::ch#3 mode_mcchar::ch#1 ] zp ZP_BYTE:132 [ mode_mcchar::i#2 mode_mcchar::i#1 ] zp ZP_BYTE:133 [ mode_mcchar::cy#4 mode_mcchar::cy#1 ] Uplifting [mode_mcchar] best 2994484 combination reg byte a [ mode_mcchar::$25 ] reg byte a [ mode_mcchar::$26 ] reg byte a [ mode_mcchar::$27 ] reg byte a [ mode_mcchar::$29 ] zp ZP_BYTE:282 [ mode_mcchar::$30 ] zp ZP_BYTE:134 [ mode_mcchar::cx#2 mode_mcchar::cx#1 ] zp ZP_WORD:135 [ mode_mcchar::col#2 mode_mcchar::col#3 mode_mcchar::col#1 ] zp ZP_BYTE:280 [ mode_mcchar::$28 ] zp ZP_WORD:137 [ mode_mcchar::ch#2 mode_mcchar::ch#3 mode_mcchar::ch#1 ] zp ZP_BYTE:132 [ mode_mcchar::i#2 mode_mcchar::i#1 ] zp ZP_BYTE:133 [ mode_mcchar::cy#4 mode_mcchar::cy#1 ]
Limited combination testing to 1000 combinations of 36864 possible. Limited combination testing to 100 combinations of 36864 possible.
Uplifting [bitmap_plot] best 2912469 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:261 [ bitmap_plot::plotter_y#0 ] reg byte a [ bitmap_plot::$1 ] zp ZP_WORD:259 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:263 [ bitmap_plot::$0 ] Uplifting [bitmap_plot] best 2970469 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:261 [ bitmap_plot::plotter_y#0 ] reg byte a [ bitmap_plot::$1 ] zp ZP_WORD:259 [ bitmap_plot::plotter_x#0 ] zp ZP_WORD:263 [ bitmap_plot::$0 ]
Uplifting [mode_8bppchunkybmm] best 2898969 combination reg byte x [ mode_8bppchunkybmm::gfxbCpuBank#4 mode_8bppchunkybmm::gfxbCpuBank#7 mode_8bppchunkybmm::gfxbCpuBank#8 mode_8bppchunkybmm::gfxbCpuBank#2 ] zp ZP_WORD:11 [ mode_8bppchunkybmm::gfxb#4 mode_8bppchunkybmm::gfxb#3 mode_8bppchunkybmm::gfxb#5 mode_8bppchunkybmm::gfxb#1 ] zp ZP_WORD:185 [ mode_8bppchunkybmm::$23 ] reg byte a [ mode_8bppchunkybmm::c#0 ] zp ZP_WORD:8 [ mode_8bppchunkybmm::x#2 mode_8bppchunkybmm::x#1 ] reg byte x [ mode_8bppchunkybmm::i#2 mode_8bppchunkybmm::i#1 ] zp ZP_BYTE:7 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 ] Uplifting [mode_8bppchunkybmm] best 2956969 combination reg byte x [ mode_8bppchunkybmm::gfxbCpuBank#4 mode_8bppchunkybmm::gfxbCpuBank#7 mode_8bppchunkybmm::gfxbCpuBank#8 mode_8bppchunkybmm::gfxbCpuBank#2 ] zp ZP_WORD:11 [ mode_8bppchunkybmm::gfxb#4 mode_8bppchunkybmm::gfxb#3 mode_8bppchunkybmm::gfxb#5 mode_8bppchunkybmm::gfxb#1 ] zp ZP_WORD:185 [ mode_8bppchunkybmm::$23 ] reg byte a [ mode_8bppchunkybmm::c#0 ] zp ZP_WORD:8 [ mode_8bppchunkybmm::x#2 mode_8bppchunkybmm::x#1 ] reg byte x [ mode_8bppchunkybmm::i#2 mode_8bppchunkybmm::i#1 ] zp ZP_BYTE:7 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 ]
Uplifting [mode_stdbitmap] best 2869969 combination reg byte a [ mode_stdbitmap::$19 ] reg byte a [ mode_stdbitmap::$22 ] reg byte a [ mode_stdbitmap::$23 ] reg byte x [ mode_stdbitmap::cx#2 mode_stdbitmap::cx#1 ] reg byte y [ mode_stdbitmap::col#0 ] zp ZP_WORD:94 [ mode_stdbitmap::ch#2 mode_stdbitmap::ch#3 mode_stdbitmap::ch#1 ] zp ZP_BYTE:245 [ mode_stdbitmap::col2#0 ] zp ZP_BYTE:91 [ mode_stdbitmap::i#2 mode_stdbitmap::i#1 ] zp ZP_BYTE:92 [ mode_stdbitmap::cy#4 mode_stdbitmap::cy#1 ] zp ZP_BYTE:96 [ mode_stdbitmap::l#2 mode_stdbitmap::l#1 ] Uplifting [mode_stdbitmap] best 2928969 combination reg byte a [ mode_stdbitmap::$19 ] reg byte a [ mode_stdbitmap::$22 ] reg byte a [ mode_stdbitmap::$23 ] reg byte x [ mode_stdbitmap::cx#2 mode_stdbitmap::cx#1 ] zp ZP_BYTE:244 [ mode_stdbitmap::col#0 ] zp ZP_WORD:94 [ mode_stdbitmap::ch#2 mode_stdbitmap::ch#3 mode_stdbitmap::ch#1 ] zp ZP_BYTE:245 [ mode_stdbitmap::col2#0 ] zp ZP_BYTE:91 [ mode_stdbitmap::i#2 mode_stdbitmap::i#1 ] zp ZP_BYTE:92 [ mode_stdbitmap::cy#4 mode_stdbitmap::cy#1 ] zp ZP_BYTE:96 [ mode_stdbitmap::l#2 mode_stdbitmap::l#1 ]
Limited combination testing to 1000 combinations of 13824 possible. Limited combination testing to 100 combinations of 13824 possible.
Uplifting [bitmap_line_xdyi] best 2860963 combination zp ZP_BYTE:110 [ 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:109 [ 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 ] zp ZP_BYTE:266 [ bitmap_line_xdyi::$6 ] reg byte x [ 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:106 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] zp ZP_BYTE:105 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] zp ZP_BYTE:107 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] Uplifting [bitmap_line_xdyi] best 2919963 combination zp ZP_BYTE:110 [ 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:109 [ 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 ] zp ZP_BYTE:266 [ bitmap_line_xdyi::$6 ] reg byte x [ 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:106 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] zp ZP_BYTE:105 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] zp ZP_BYTE:107 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
Uplifting [bitmap_line_xdyd] best 2851957 combination zp ZP_BYTE:122 [ 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:121 [ 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 ] zp ZP_BYTE:268 [ bitmap_line_xdyd::$6 ] reg byte x [ 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:118 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] zp ZP_BYTE:117 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] zp ZP_BYTE:119 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] Limited combination testing to 100 combinations of 256 possible.
Uplifting [bitmap_line_ydxi] best 2839951 combination zp ZP_BYTE:102 [ 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 y [ bitmap_line_ydxi::$6 ] zp ZP_BYTE:101 [ 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:98 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp ZP_BYTE:97 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp ZP_BYTE:99 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Uplifting [bitmap_line_xdyd] best 2910957 combination zp ZP_BYTE:122 [ 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:121 [ 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 ] zp ZP_BYTE:268 [ bitmap_line_xdyd::$6 ] reg byte x [ 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:118 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] zp ZP_BYTE:117 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] zp ZP_BYTE:119 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
Uplifting [bitmap_line_ydxd] best 2827945 combination zp ZP_BYTE:116 [ 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#1 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte y [ bitmap_line_ydxd::$6 ] zp ZP_BYTE:115 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:112 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ] zp ZP_BYTE:111 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ] zp ZP_BYTE:113 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ] Limited combination testing to 100 combinations of 256 possible.
Uplifting [mode_hicolstdchar] best 2795745 combination reg byte a [ mode_hicolstdchar::$24 ] reg byte a [ mode_hicolstdchar::$26 ] reg byte x [ mode_hicolstdchar::cx#2 mode_hicolstdchar::cx#1 ] zp ZP_WORD:87 [ mode_hicolstdchar::col#2 mode_hicolstdchar::col#3 mode_hicolstdchar::col#1 ] zp ZP_WORD:89 [ mode_hicolstdchar::ch#2 mode_hicolstdchar::ch#3 mode_hicolstdchar::ch#1 ] zp ZP_BYTE:240 [ mode_hicolstdchar::$25 ] reg byte a [ mode_hicolstdchar::v#0 ] reg byte x [ mode_hicolstdchar::i#2 mode_hicolstdchar::i#1 ] zp ZP_BYTE:85 [ mode_hicolstdchar::cy#4 mode_hicolstdchar::cy#1 ] Uplifting [bitmap_line_ydxi] best 2898951 combination zp ZP_BYTE:102 [ 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 y [ bitmap_line_ydxi::$6 ] zp ZP_BYTE:101 [ 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:98 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp ZP_BYTE:97 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp ZP_BYTE:99 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
Limited combination testing to 1000 combinations of 2304 possible. Limited combination testing to 100 combinations of 256 possible.
Uplifting [mode_hicolecmchar] best 2763545 combination reg byte a [ mode_hicolecmchar::$25 ] reg byte a [ mode_hicolecmchar::$27 ] reg byte x [ mode_hicolecmchar::cx#2 mode_hicolecmchar::cx#1 ] zp ZP_WORD:80 [ mode_hicolecmchar::col#2 mode_hicolecmchar::col#3 mode_hicolecmchar::col#1 ] zp ZP_WORD:82 [ mode_hicolecmchar::ch#2 mode_hicolecmchar::ch#3 mode_hicolecmchar::ch#1 ] zp ZP_BYTE:236 [ mode_hicolecmchar::$26 ] reg byte a [ mode_hicolecmchar::v#0 ] reg byte x [ mode_hicolecmchar::i#2 mode_hicolecmchar::i#1 ] zp ZP_BYTE:78 [ mode_hicolecmchar::cy#4 mode_hicolecmchar::cy#1 ] Uplifting [bitmap_line_ydxd] best 2886945 combination zp ZP_BYTE:116 [ 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#1 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte y [ bitmap_line_ydxd::$6 ] zp ZP_BYTE:115 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ] zp ZP_BYTE:112 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ] zp ZP_BYTE:111 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ] zp ZP_BYTE:113 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ]
Limited combination testing to 1000 combinations of 2304 possible. Limited combination testing to 100 combinations of 256 possible.
Uplifting [mode_hicolmcchar] best 2731345 combination reg byte a [ mode_hicolmcchar::$25 ] reg byte a [ mode_hicolmcchar::$27 ] reg byte x [ mode_hicolmcchar::cx#2 mode_hicolmcchar::cx#1 ] zp ZP_WORD:73 [ mode_hicolmcchar::col#2 mode_hicolmcchar::col#3 mode_hicolmcchar::col#1 ] zp ZP_WORD:75 [ mode_hicolmcchar::ch#2 mode_hicolmcchar::ch#3 mode_hicolmcchar::ch#1 ] zp ZP_BYTE:232 [ mode_hicolmcchar::$26 ] reg byte a [ mode_hicolmcchar::v#0 ] reg byte x [ mode_hicolmcchar::i#2 mode_hicolmcchar::i#1 ] zp ZP_BYTE:71 [ mode_hicolmcchar::cy#4 mode_hicolmcchar::cy#1 ] Uplifting [mode_hicolstdchar] best 2864945 combination reg byte a [ mode_hicolstdchar::$24 ] reg byte a [ mode_hicolstdchar::$26 ] reg byte x [ mode_hicolstdchar::cx#2 mode_hicolstdchar::cx#1 ] zp ZP_WORD:87 [ mode_hicolstdchar::col#2 mode_hicolstdchar::col#3 mode_hicolstdchar::col#1 ] zp ZP_WORD:89 [ mode_hicolstdchar::ch#2 mode_hicolstdchar::ch#3 mode_hicolstdchar::ch#1 ] zp ZP_BYTE:240 [ mode_hicolstdchar::$25 ] zp ZP_BYTE:242 [ mode_hicolstdchar::v#0 ] zp ZP_BYTE:84 [ mode_hicolstdchar::i#2 mode_hicolstdchar::i#1 ] zp ZP_BYTE:85 [ mode_hicolstdchar::cy#4 mode_hicolstdchar::cy#1 ]
Limited combination testing to 1000 combinations of 2304 possible. Limited combination testing to 100 combinations of 2304 possible.
Uplifting [] best 2731264 combination zp ZP_WORD:155 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#101 print_char_cursor#32 print_char_cursor#1 ] zp ZP_WORD:157 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] reg byte x [ dtv_control#1 dtv_control#3 dtv_control#119 dtv_control#153 dtv_control#19 dtv_control#18 ] Uplifting [mode_hicolecmchar] best 2842945 combination reg byte a [ mode_hicolecmchar::$25 ] reg byte a [ mode_hicolecmchar::$27 ] reg byte x [ mode_hicolecmchar::cx#2 mode_hicolecmchar::cx#1 ] zp ZP_WORD:80 [ mode_hicolecmchar::col#2 mode_hicolecmchar::col#3 mode_hicolecmchar::col#1 ] zp ZP_WORD:82 [ mode_hicolecmchar::ch#2 mode_hicolecmchar::ch#3 mode_hicolecmchar::ch#1 ] zp ZP_BYTE:236 [ mode_hicolecmchar::$26 ] zp ZP_BYTE:238 [ mode_hicolecmchar::v#0 ] zp ZP_BYTE:77 [ mode_hicolecmchar::i#2 mode_hicolecmchar::i#1 ] zp ZP_BYTE:78 [ mode_hicolecmchar::cy#4 mode_hicolecmchar::cy#1 ]
Uplifting [bitmap_clear] best 2722264 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:269 [ bitmap_clear::$3 ] Limited combination testing to 100 combinations of 2304 possible.
Uplifting [menu] best 2719464 combination reg byte y [ menu::i#2 menu::i#1 ] zp ZP_WORD:4 [ menu::c#2 menu::c#1 ] reg byte a [ menu::$29 ] reg byte a [ menu::$33 ] reg byte a [ menu::$37 ] reg byte a [ menu::$41 ] zp ZP_BYTE:170 [ menu::$45 ] zp ZP_BYTE:172 [ menu::$49 ] zp ZP_BYTE:174 [ menu::$53 ] zp ZP_BYTE:176 [ menu::$57 ] zp ZP_BYTE:178 [ menu::$61 ] zp ZP_BYTE:180 [ menu::$65 ] zp ZP_BYTE:182 [ menu::$69 ] zp ZP_BYTE:184 [ menu::$73 ] Uplifting [mode_hicolmcchar] best 2820945 combination reg byte a [ mode_hicolmcchar::$25 ] reg byte a [ mode_hicolmcchar::$27 ] reg byte x [ mode_hicolmcchar::cx#2 mode_hicolmcchar::cx#1 ] zp ZP_WORD:73 [ mode_hicolmcchar::col#2 mode_hicolmcchar::col#3 mode_hicolmcchar::col#1 ] zp ZP_WORD:75 [ mode_hicolmcchar::ch#2 mode_hicolmcchar::ch#3 mode_hicolmcchar::ch#1 ] zp ZP_BYTE:232 [ mode_hicolmcchar::$26 ] zp ZP_BYTE:234 [ mode_hicolmcchar::v#0 ] zp ZP_BYTE:70 [ mode_hicolmcchar::i#2 mode_hicolmcchar::i#1 ] zp ZP_BYTE:71 [ mode_hicolmcchar::cy#4 mode_hicolmcchar::cy#1 ]
Limited combination testing to 1000 combinations of 50331648 possible. Limited combination testing to 100 combinations of 2304 possible.
Uplifting [dtvSetCpuBankSegment1] best 2718455 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ] Uplifting [] best 2820864 combination zp ZP_WORD:155 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#101 print_char_cursor#32 print_char_cursor#1 ] zp ZP_WORD:157 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] reg byte x [ dtv_control#1 dtv_control#3 dtv_control#119 dtv_control#153 dtv_control#19 dtv_control#18 ]
Uplifting [print_str_lines] best 2706455 combination zp ZP_WORD:153 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] Uplifting [bitmap_clear] best 2811864 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:269 [ bitmap_clear::$3 ]
Uplifting [bitmap_init] best 2700755 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 ] reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] reg byte a [ bitmap_init::$0 ] reg byte a [ bitmap_init::$7 ] reg byte a [ bitmap_init::$8 ] zp ZP_BYTE:275 [ bitmap_init::$9 ] zp ZP_BYTE:276 [ bitmap_init::$10 ] zp ZP_BYTE:272 [ bitmap_init::$6 ] Uplifting [menu] best 2809464 combination reg byte y [ menu::i#2 menu::i#1 ] zp ZP_WORD:4 [ menu::c#2 menu::c#1 ] reg byte a [ menu::$29 ] reg byte a [ menu::$33 ] reg byte a [ menu::$37 ] zp ZP_BYTE:168 [ menu::$41 ] zp ZP_BYTE:170 [ menu::$45 ] zp ZP_BYTE:172 [ menu::$49 ] zp ZP_BYTE:174 [ menu::$53 ] zp ZP_BYTE:176 [ menu::$57 ] zp ZP_BYTE:178 [ menu::$61 ] zp ZP_BYTE:180 [ menu::$65 ] zp ZP_BYTE:182 [ menu::$69 ] zp ZP_BYTE:184 [ menu::$73 ]
Limited combination testing to 1000 combinations of 138240 possible. Limited combination testing to 100 combinations of 50331648 possible.
Uplifting [print_cls] best 2700755 combination zp ZP_WORD:159 [ print_cls::sc#2 print_cls::sc#1 ] Uplifting [dtvSetCpuBankSegment1] best 2808455 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ]
Uplifting [mode_ctrl] best 2700355 combination reg byte a [ mode_ctrl::$1 ] Uplifting [print_str_lines] best 2796455 combination zp ZP_WORD:153 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ]
Uplifting [mode_ctrl_keys] best 2700339 combination zp ZP_BYTE:13 [ mode_ctrl_keys::ctrl#14 mode_ctrl_keys::ctrl#22 mode_ctrl_keys::ctrl#6 mode_ctrl_keys::ctrl#13 mode_ctrl_keys::ctrl#5 mode_ctrl_keys::ctrl#12 mode_ctrl_keys::ctrl#4 mode_ctrl_keys::ctrl#11 mode_ctrl_keys::ctrl#3 mode_ctrl_keys::ctrl#10 mode_ctrl_keys::ctrl#2 mode_ctrl_keys::ctrl#17 mode_ctrl_keys::ctrl#1 mode_ctrl_keys::ctrl#0 ] reg byte a [ mode_ctrl_keys::$2 ] reg byte a [ mode_ctrl_keys::$6 ] reg byte a [ mode_ctrl_keys::$10 ] reg byte a [ mode_ctrl_keys::$14 ] zp ZP_BYTE:199 [ mode_ctrl_keys::$18 ] zp ZP_BYTE:201 [ mode_ctrl_keys::$22 ] zp ZP_BYTE:203 [ mode_ctrl_keys::$26 ] Uplifting [bitmap_init] best 2791955 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 ] reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] reg byte a [ bitmap_init::$0 ] zp ZP_BYTE:273 [ bitmap_init::$7 ] zp ZP_BYTE:274 [ bitmap_init::$8 ] zp ZP_BYTE:275 [ bitmap_init::$9 ] zp ZP_BYTE:276 [ bitmap_init::$10 ] zp ZP_BYTE:272 [ bitmap_init::$6 ]
Limited combination testing to 1000 combinations of 49152 possible. Limited combination testing to 100 combinations of 138240 possible.
Uplifting [bitmap_line] best 2700027 combination reg byte y [ bitmap_line::y1#0 ] zp ZP_BYTE:250 [ bitmap_line::y0#0 ] zp ZP_BYTE:249 [ bitmap_line::x1#0 ] zp ZP_BYTE:248 [ bitmap_line::x0#0 ] zp ZP_BYTE:253 [ bitmap_line::yd#1 ] zp ZP_BYTE:254 [ bitmap_line::yd#0 ] zp ZP_BYTE:256 [ bitmap_line::yd#3 ] zp ZP_BYTE:257 [ bitmap_line::yd#10 ] zp ZP_BYTE:252 [ bitmap_line::xd#1 ] zp ZP_BYTE:255 [ bitmap_line::xd#0 ] Uplifting [print_cls] best 2791955 combination zp ZP_WORD:159 [ print_cls::sc#2 print_cls::sc#1 ]
Limited combination testing to 1000 combinations of 186624 possible. Uplifting [mode_ctrl] best 2791555 combination reg byte a [ mode_ctrl::$1 ]
Uplifting [keyboard_matrix_read] best 2700009 combination reg byte y [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] Uplifting [mode_ctrl_keys] best 2791543 combination zp ZP_BYTE:13 [ mode_ctrl_keys::ctrl#14 mode_ctrl_keys::ctrl#22 mode_ctrl_keys::ctrl#6 mode_ctrl_keys::ctrl#13 mode_ctrl_keys::ctrl#5 mode_ctrl_keys::ctrl#12 mode_ctrl_keys::ctrl#4 mode_ctrl_keys::ctrl#11 mode_ctrl_keys::ctrl#3 mode_ctrl_keys::ctrl#10 mode_ctrl_keys::ctrl#2 mode_ctrl_keys::ctrl#17 mode_ctrl_keys::ctrl#1 mode_ctrl_keys::ctrl#0 ] reg byte a [ mode_ctrl_keys::$2 ] reg byte a [ mode_ctrl_keys::$6 ] reg byte a [ mode_ctrl_keys::$10 ] zp ZP_BYTE:197 [ mode_ctrl_keys::$14 ] zp ZP_BYTE:199 [ mode_ctrl_keys::$18 ] zp ZP_BYTE:201 [ mode_ctrl_keys::$22 ] zp ZP_BYTE:203 [ mode_ctrl_keys::$26 ]
Uplifting [print_ln] best 2700009 combination Limited combination testing to 100 combinations of 49152 possible.
Uplifting [print_set_screen] best 2700009 combination Uplifting [bitmap_line] best 2791231 combination reg byte y [ bitmap_line::y1#0 ] zp ZP_BYTE:250 [ bitmap_line::y0#0 ] zp ZP_BYTE:249 [ bitmap_line::x1#0 ] zp ZP_BYTE:248 [ bitmap_line::x0#0 ] zp ZP_BYTE:253 [ bitmap_line::yd#1 ] zp ZP_BYTE:254 [ bitmap_line::yd#0 ] zp ZP_BYTE:256 [ bitmap_line::yd#3 ] zp ZP_BYTE:257 [ bitmap_line::yd#10 ] zp ZP_BYTE:252 [ bitmap_line::xd#1 ] zp ZP_BYTE:255 [ bitmap_line::xd#0 ]
Uplifting [main] best 2700009 combination Limited combination testing to 100 combinations of 186624 possible.
Uplifting [keyboard_matrix_read] best 2791213 combination reg byte y [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ]
Uplifting [print_ln] best 2791213 combination
Uplifting [print_set_screen] best 2791213 combination
Uplifting [main] best 2791213 combination
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ mode_8bpppixelcell::bits#2 mode_8bpppixelcell::bits#0 mode_8bpppixelcell::bits#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:25 [ mode_8bpppixelcell::bits#2 mode_8bpppixelcell::bits#0 mode_8bpppixelcell::bits#1 ]
Uplifting [mode_8bpppixelcell] best 2700009 combination zp ZP_BYTE:25 [ mode_8bpppixelcell::bits#2 mode_8bpppixelcell::bits#0 mode_8bpppixelcell::bits#1 ] Uplifting [mode_8bpppixelcell] best 2791213 combination zp ZP_BYTE:25 [ mode_8bpppixelcell::bits#2 mode_8bpppixelcell::bits#0 mode_8bpppixelcell::bits#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:28 [ mode_8bpppixelcell::col#2 mode_8bpppixelcell::col#5 mode_8bpppixelcell::col#7 mode_8bpppixelcell::col#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:28 [ mode_8bpppixelcell::col#2 mode_8bpppixelcell::col#5 mode_8bpppixelcell::col#7 mode_8bpppixelcell::col#1 ]
Uplifting [mode_8bpppixelcell] best 2700009 combination zp ZP_BYTE:28 [ mode_8bpppixelcell::col#2 mode_8bpppixelcell::col#5 mode_8bpppixelcell::col#7 mode_8bpppixelcell::col#1 ] Uplifting [mode_8bpppixelcell] best 2791213 combination zp ZP_BYTE:28 [ mode_8bpppixelcell::col#2 mode_8bpppixelcell::col#5 mode_8bpppixelcell::col#7 mode_8bpppixelcell::col#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:102 [ 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:102 [ 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 2700009 combination zp ZP_BYTE:102 [ 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 2791213 combination zp ZP_BYTE:102 [ 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:110 [ 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_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 2700009 combination zp ZP_BYTE:110 [ 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 2791213 combination zp ZP_BYTE:110 [ 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:116 [ 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:116 [ 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 2700009 combination zp ZP_BYTE:116 [ 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 2791213 combination zp ZP_BYTE:116 [ 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:122 [ 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_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 2700009 combination zp ZP_BYTE:122 [ 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 2791213 combination zp ZP_BYTE:122 [ 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:109 [ 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:109 [ 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 2700009 combination zp ZP_BYTE:109 [ 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 2791213 combination zp ZP_BYTE:109 [ 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:121 [ 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:121 [ 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 2700009 combination zp ZP_BYTE:121 [ 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 2791213 combination zp ZP_BYTE:121 [ 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:211 [ mode_8bpppixelcell::$13 ]
Uplifting [mode_8bpppixelcell] best 2785213 combination reg byte a [ mode_8bpppixelcell::$13 ]
Attempting to uplift remaining variables inzp ZP_BYTE:213 [ mode_8bpppixelcell::$15 ]
Uplifting [mode_8bpppixelcell] best 2779213 combination reg byte a [ mode_8bpppixelcell::$15 ]
Attempting to uplift remaining variables inzp ZP_BYTE:214 [ mode_8bpppixelcell::$16 ] Attempting to uplift remaining variables inzp ZP_BYTE:214 [ mode_8bpppixelcell::$16 ]
Uplifting [mode_8bpppixelcell] best 2694009 combination reg byte a [ mode_8bpppixelcell::$16 ] Uplifting [mode_8bpppixelcell] best 2773213 combination reg byte a [ mode_8bpppixelcell::$16 ]
Attempting to uplift remaining variables inzp ZP_BYTE:219 [ mode_sixsfred::row#0 ]
Uplifting [mode_sixsfred] best 2769213 combination reg byte a [ mode_sixsfred::row#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:224 [ mode_twoplanebitmap::$21 ]
Uplifting [mode_twoplanebitmap] best 2765213 combination reg byte a [ mode_twoplanebitmap::$21 ]
Attempting to uplift remaining variables inzp ZP_BYTE:229 [ mode_sixsfred2::$20 ]
Uplifting [mode_sixsfred2] best 2759213 combination reg byte a [ mode_sixsfred2::$20 ]
Attempting to uplift remaining variables inzp ZP_BYTE:230 [ mode_sixsfred2::row#0 ]
Uplifting [mode_sixsfred2] best 2755213 combination reg byte a [ mode_sixsfred2::row#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:266 [ bitmap_line_xdyi::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:266 [ bitmap_line_xdyi::$6 ]
Uplifting [bitmap_line_xdyi] best 2694009 combination zp ZP_BYTE:266 [ bitmap_line_xdyi::$6 ] Uplifting [bitmap_line_xdyi] best 2755213 combination zp ZP_BYTE:266 [ bitmap_line_xdyi::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:268 [ bitmap_line_xdyd::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:268 [ bitmap_line_xdyd::$6 ]
Uplifting [bitmap_line_xdyd] best 2694009 combination zp ZP_BYTE:268 [ bitmap_line_xdyd::$6 ] Uplifting [bitmap_line_xdyd] best 2755213 combination zp ZP_BYTE:268 [ bitmap_line_xdyd::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:282 [ mode_mcchar::$30 ]
Uplifting [mode_mcchar] best 2749213 combination reg byte a [ mode_mcchar::$30 ]
Attempting to uplift remaining variables inzp ZP_BYTE:288 [ mode_ecmchar::$30 ]
Uplifting [mode_ecmchar] best 2743213 combination reg byte a [ mode_ecmchar::$30 ]
Attempting to uplift remaining variables inzp ZP_BYTE:294 [ mode_stdchar::$29 ]
Uplifting [mode_stdchar] best 2737213 combination reg byte a [ mode_stdchar::$29 ]
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ mode_8bpppixelcell::ax#2 mode_8bpppixelcell::ax#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:18 [ mode_8bpppixelcell::ax#2 mode_8bpppixelcell::ax#1 ]
Uplifting [mode_8bpppixelcell] best 2684009 combination reg byte x [ mode_8bpppixelcell::ax#2 mode_8bpppixelcell::ax#1 ] Uplifting [mode_8bpppixelcell] best 2727213 combination reg byte x [ mode_8bpppixelcell::ax#2 mode_8bpppixelcell::ax#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:46 [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ]
Uplifting [mode_twoplanebitmap] best 2717213 combination reg byte x [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:59 [ mode_sixsfred2::cx#2 mode_sixsfred2::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:59 [ mode_sixsfred2::cx#2 mode_sixsfred2::cx#1 ]
Uplifting [mode_sixsfred2] best 2674009 combination reg byte x [ mode_sixsfred2::cx#2 mode_sixsfred2::cx#1 ] Uplifting [mode_sixsfred2] best 2707213 combination reg byte x [ mode_sixsfred2::cx#2 mode_sixsfred2::cx#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:39 [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:39 [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ]
Uplifting [mode_sixsfred] best 2665009 combination reg byte x [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ] Uplifting [mode_sixsfred] best 2698213 combination reg byte x [ mode_sixsfred::ax#2 mode_sixsfred::ax#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:65 [ mode_sixsfred2::ax#2 mode_sixsfred2::ax#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:65 [ mode_sixsfred2::ax#2 mode_sixsfred2::ax#1 ]
Uplifting [mode_sixsfred2] best 2656009 combination reg byte x [ mode_sixsfred2::ax#2 mode_sixsfred2::ax#1 ] Uplifting [mode_sixsfred2] best 2689213 combination reg byte x [ mode_sixsfred2::ax#2 mode_sixsfred2::ax#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:134 [ mode_mcchar::cx#2 mode_mcchar::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:134 [ mode_mcchar::cx#2 mode_mcchar::cx#1 ]
Uplifting [mode_mcchar] best 2645009 combination reg byte x [ mode_mcchar::cx#2 mode_mcchar::cx#1 ] Uplifting [mode_mcchar] best 2678213 combination reg byte x [ mode_mcchar::cx#2 mode_mcchar::cx#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:141 [ mode_ecmchar::cx#2 mode_ecmchar::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:141 [ mode_ecmchar::cx#2 mode_ecmchar::cx#1 ]
Uplifting [mode_ecmchar] best 2634009 combination reg byte x [ mode_ecmchar::cx#2 mode_ecmchar::cx#1 ] Uplifting [mode_ecmchar] best 2667213 combination reg byte x [ mode_ecmchar::cx#2 mode_ecmchar::cx#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:148 [ mode_stdchar::cx#2 mode_stdchar::cx#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:148 [ mode_stdchar::cx#2 mode_stdchar::cx#1 ]
Uplifting [mode_stdchar] best 2623009 combination reg byte x [ mode_stdchar::cx#2 mode_stdchar::cx#1 ] Uplifting [mode_stdchar] best 2656213 combination reg byte x [ mode_stdchar::cx#2 mode_stdchar::cx#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:52 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:52 [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ]
Uplifting [mode_twoplanebitmap] best 2614009 combination reg byte x [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ] Uplifting [mode_twoplanebitmap] best 2647213 combination reg byte x [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ mode_8bpppixelcell::cr#6 mode_8bpppixelcell::cr#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:24 [ mode_8bpppixelcell::cr#6 mode_8bpppixelcell::cr#1 ]
Uplifting [mode_8bpppixelcell] best 2614009 combination zp ZP_BYTE:24 [ mode_8bpppixelcell::cr#6 mode_8bpppixelcell::cr#1 ] Uplifting [mode_8bpppixelcell] best 2647213 combination zp ZP_BYTE:24 [ mode_8bpppixelcell::cr#6 mode_8bpppixelcell::cr#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:244 [ mode_stdbitmap::col#0 ]
Uplifting [mode_stdbitmap] best 2646213 combination reg byte y [ mode_stdbitmap::col#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:101 [ 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:101 [ 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 2614009 combination zp ZP_BYTE:101 [ 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 2646213 combination zp ZP_BYTE:101 [ 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:115 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:115 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ]
Uplifting [bitmap_line_ydxd] best 2614009 combination zp ZP_BYTE:115 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ] Uplifting [bitmap_line_ydxd] best 2646213 combination zp ZP_BYTE:115 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:212 [ mode_8bpppixelcell::$14 ] Attempting to uplift remaining variables inzp ZP_BYTE:212 [ mode_8bpppixelcell::$14 ]
Uplifting [mode_8bpppixelcell] best 2614009 combination zp ZP_BYTE:212 [ mode_8bpppixelcell::$14 ] Uplifting [mode_8bpppixelcell] best 2646213 combination zp ZP_BYTE:212 [ mode_8bpppixelcell::$14 ]
Attempting to uplift remaining variables inzp ZP_BYTE:221 [ mode_twoplanebitmap::$16 ] Attempting to uplift remaining variables inzp ZP_BYTE:221 [ mode_twoplanebitmap::$16 ]
Uplifting [mode_twoplanebitmap] best 2614009 combination zp ZP_BYTE:221 [ mode_twoplanebitmap::$16 ] Uplifting [mode_twoplanebitmap] best 2646213 combination zp ZP_BYTE:221 [ mode_twoplanebitmap::$16 ]
Attempting to uplift remaining variables inzp ZP_BYTE:226 [ mode_sixsfred2::$15 ] Attempting to uplift remaining variables inzp ZP_BYTE:226 [ mode_sixsfred2::$15 ]
Uplifting [mode_sixsfred2] best 2614009 combination zp ZP_BYTE:226 [ mode_sixsfred2::$15 ] Uplifting [mode_sixsfred2] best 2646213 combination zp ZP_BYTE:226 [ mode_sixsfred2::$15 ]
Attempting to uplift remaining variables inzp ZP_BYTE:232 [ mode_hicolmcchar::$26 ] Attempting to uplift remaining variables inzp ZP_BYTE:232 [ mode_hicolmcchar::$26 ]
Uplifting [mode_hicolmcchar] best 2614009 combination zp ZP_BYTE:232 [ mode_hicolmcchar::$26 ] Uplifting [mode_hicolmcchar] best 2646213 combination zp ZP_BYTE:232 [ mode_hicolmcchar::$26 ]
Attempting to uplift remaining variables inzp ZP_BYTE:234 [ mode_hicolmcchar::v#0 ]
Uplifting [mode_hicolmcchar] best 2637213 combination reg byte a [ mode_hicolmcchar::v#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:236 [ mode_hicolecmchar::$26 ] Attempting to uplift remaining variables inzp ZP_BYTE:236 [ mode_hicolecmchar::$26 ]
Uplifting [mode_hicolecmchar] best 2614009 combination zp ZP_BYTE:236 [ mode_hicolecmchar::$26 ] Uplifting [mode_hicolecmchar] best 2637213 combination zp ZP_BYTE:236 [ mode_hicolecmchar::$26 ]
Attempting to uplift remaining variables inzp ZP_BYTE:238 [ mode_hicolecmchar::v#0 ]
Uplifting [mode_hicolecmchar] best 2628213 combination reg byte a [ mode_hicolecmchar::v#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:240 [ mode_hicolstdchar::$25 ] Attempting to uplift remaining variables inzp ZP_BYTE:240 [ mode_hicolstdchar::$25 ]
Uplifting [mode_hicolstdchar] best 2614009 combination zp ZP_BYTE:240 [ mode_hicolstdchar::$25 ] Uplifting [mode_hicolstdchar] best 2628213 combination zp ZP_BYTE:240 [ mode_hicolstdchar::$25 ]
Attempting to uplift remaining variables inzp ZP_BYTE:242 [ mode_hicolstdchar::v#0 ]
Uplifting [mode_hicolstdchar] best 2619213 combination reg byte a [ mode_hicolstdchar::v#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:245 [ mode_stdbitmap::col2#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:245 [ mode_stdbitmap::col2#0 ]
Uplifting [mode_stdbitmap] best 2614009 combination zp ZP_BYTE:245 [ mode_stdbitmap::col2#0 ] Uplifting [mode_stdbitmap] best 2619213 combination zp ZP_BYTE:245 [ mode_stdbitmap::col2#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:280 [ mode_mcchar::$28 ] Attempting to uplift remaining variables inzp ZP_BYTE:280 [ mode_mcchar::$28 ]
Uplifting [mode_mcchar] best 2614009 combination zp ZP_BYTE:280 [ mode_mcchar::$28 ] Uplifting [mode_mcchar] best 2619213 combination zp ZP_BYTE:280 [ mode_mcchar::$28 ]
Attempting to uplift remaining variables inzp ZP_BYTE:286 [ mode_ecmchar::$28 ] Attempting to uplift remaining variables inzp ZP_BYTE:286 [ mode_ecmchar::$28 ]
Uplifting [mode_ecmchar] best 2614009 combination zp ZP_BYTE:286 [ mode_ecmchar::$28 ] Uplifting [mode_ecmchar] best 2619213 combination zp ZP_BYTE:286 [ mode_ecmchar::$28 ]
Attempting to uplift remaining variables inzp ZP_BYTE:292 [ mode_stdchar::$27 ] Attempting to uplift remaining variables inzp ZP_BYTE:292 [ mode_stdchar::$27 ]
Uplifting [mode_stdchar] best 2614009 combination zp ZP_BYTE:292 [ mode_stdchar::$27 ] Uplifting [mode_stdchar] best 2619213 combination zp ZP_BYTE:292 [ mode_stdchar::$27 ]
Attempting to uplift remaining variables inzp ZP_BYTE:16 [ mode_8bpppixelcell::i#2 mode_8bpppixelcell::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:16 [ mode_8bpppixelcell::i#2 mode_8bpppixelcell::i#1 ]
Uplifting [mode_8bpppixelcell] best 2612809 combination reg byte x [ mode_8bpppixelcell::i#2 mode_8bpppixelcell::i#1 ] Uplifting [mode_8bpppixelcell] best 2618013 combination reg byte x [ mode_8bpppixelcell::i#2 mode_8bpppixelcell::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:31 [ mode_sixsfred::i#2 mode_sixsfred::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:31 [ mode_sixsfred::i#2 mode_sixsfred::i#1 ]
Uplifting [mode_sixsfred] best 2611609 combination reg byte x [ mode_sixsfred::i#2 mode_sixsfred::i#1 ] Uplifting [mode_sixsfred] best 2616813 combination reg byte x [ mode_sixsfred::i#2 mode_sixsfred::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:44 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:44 [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ]
Uplifting [mode_twoplanebitmap] best 2610409 combination reg byte x [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ] Uplifting [mode_twoplanebitmap] best 2615613 combination reg byte x [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:57 [ mode_sixsfred2::i#2 mode_sixsfred2::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:57 [ mode_sixsfred2::i#2 mode_sixsfred2::i#1 ]
Uplifting [mode_sixsfred2] best 2609209 combination reg byte x [ mode_sixsfred2::i#2 mode_sixsfred2::i#1 ] Uplifting [mode_sixsfred2] best 2614413 combination reg byte x [ mode_sixsfred2::i#2 mode_sixsfred2::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:70 [ mode_hicolmcchar::i#2 mode_hicolmcchar::i#1 ]
Uplifting [mode_hicolmcchar] best 2613213 combination reg byte x [ mode_hicolmcchar::i#2 mode_hicolmcchar::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:77 [ mode_hicolecmchar::i#2 mode_hicolecmchar::i#1 ]
Uplifting [mode_hicolecmchar] best 2612013 combination reg byte x [ mode_hicolecmchar::i#2 mode_hicolecmchar::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:84 [ mode_hicolstdchar::i#2 mode_hicolstdchar::i#1 ]
Uplifting [mode_hicolstdchar] best 2610813 combination reg byte x [ mode_hicolstdchar::i#2 mode_hicolstdchar::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:91 [ mode_stdbitmap::i#2 mode_stdbitmap::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:91 [ mode_stdbitmap::i#2 mode_stdbitmap::i#1 ]
Uplifting [mode_stdbitmap] best 2608009 combination reg byte x [ mode_stdbitmap::i#2 mode_stdbitmap::i#1 ] Uplifting [mode_stdbitmap] best 2609613 combination reg byte x [ mode_stdbitmap::i#2 mode_stdbitmap::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:132 [ mode_mcchar::i#2 mode_mcchar::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:132 [ mode_mcchar::i#2 mode_mcchar::i#1 ]
Uplifting [mode_mcchar] best 2606809 combination reg byte x [ mode_mcchar::i#2 mode_mcchar::i#1 ] Uplifting [mode_mcchar] best 2608413 combination reg byte x [ mode_mcchar::i#2 mode_mcchar::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:139 [ mode_ecmchar::i#2 mode_ecmchar::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:139 [ mode_ecmchar::i#2 mode_ecmchar::i#1 ]
Uplifting [mode_ecmchar] best 2605609 combination reg byte x [ mode_ecmchar::i#2 mode_ecmchar::i#1 ] Uplifting [mode_ecmchar] best 2607213 combination reg byte x [ mode_ecmchar::i#2 mode_ecmchar::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:146 [ mode_stdchar::i#2 mode_stdchar::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:146 [ mode_stdchar::i#2 mode_stdchar::i#1 ]
Uplifting [mode_stdchar] best 2604409 combination reg byte x [ mode_stdchar::i#2 mode_stdchar::i#1 ] Uplifting [mode_stdchar] best 2606013 combination reg byte x [ mode_stdchar::i#2 mode_stdchar::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:133 [ mode_mcchar::cy#4 mode_mcchar::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:133 [ mode_mcchar::cy#4 mode_mcchar::cy#1 ]
Uplifting [mode_mcchar] best 2604409 combination zp ZP_BYTE:133 [ mode_mcchar::cy#4 mode_mcchar::cy#1 ] Uplifting [mode_mcchar] best 2606013 combination zp ZP_BYTE:133 [ mode_mcchar::cy#4 mode_mcchar::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:140 [ mode_ecmchar::cy#4 mode_ecmchar::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:140 [ mode_ecmchar::cy#4 mode_ecmchar::cy#1 ]
Uplifting [mode_ecmchar] best 2604409 combination zp ZP_BYTE:140 [ mode_ecmchar::cy#4 mode_ecmchar::cy#1 ] Uplifting [mode_ecmchar] best 2606013 combination zp ZP_BYTE:140 [ mode_ecmchar::cy#4 mode_ecmchar::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:147 [ mode_stdchar::cy#4 mode_stdchar::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:147 [ mode_stdchar::cy#4 mode_stdchar::cy#1 ]
Uplifting [mode_stdchar] best 2604409 combination zp ZP_BYTE:147 [ mode_stdchar::cy#4 mode_stdchar::cy#1 ] Uplifting [mode_stdchar] best 2606013 combination zp ZP_BYTE:147 [ mode_stdchar::cy#4 mode_stdchar::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:32 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:32 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ]
Uplifting [mode_sixsfred] best 2604409 combination zp ZP_BYTE:32 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ] Uplifting [mode_sixsfred] best 2606013 combination zp ZP_BYTE:32 [ mode_sixsfred::cy#4 mode_sixsfred::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:36 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:36 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ]
Uplifting [mode_sixsfred] best 2604409 combination zp ZP_BYTE:36 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ] Uplifting [mode_sixsfred] best 2606013 combination zp ZP_BYTE:36 [ mode_sixsfred::ay#4 mode_sixsfred::ay#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:62 [ mode_sixsfred2::ay#4 mode_sixsfred2::ay#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:62 [ mode_sixsfred2::ay#4 mode_sixsfred2::ay#1 ]
Uplifting [mode_sixsfred2] best 2604409 combination zp ZP_BYTE:62 [ mode_sixsfred2::ay#4 mode_sixsfred2::ay#1 ] Uplifting [mode_sixsfred2] best 2606013 combination zp ZP_BYTE:62 [ mode_sixsfred2::ay#4 mode_sixsfred2::ay#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:17 [ mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:17 [ mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 ]
Uplifting [mode_8bpppixelcell] best 2604409 combination zp ZP_BYTE:17 [ mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 ] Uplifting [mode_8bpppixelcell] best 2606013 combination zp ZP_BYTE:17 [ mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:45 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:45 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ]
Uplifting [mode_twoplanebitmap] best 2604409 combination zp ZP_BYTE:45 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ] Uplifting [mode_twoplanebitmap] best 2606013 combination zp ZP_BYTE:45 [ mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:58 [ mode_sixsfred2::cy#4 mode_sixsfred2::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:58 [ mode_sixsfred2::cy#4 mode_sixsfred2::cy#1 ]
Uplifting [mode_sixsfred2] best 2604409 combination zp ZP_BYTE:58 [ mode_sixsfred2::cy#4 mode_sixsfred2::cy#1 ] Uplifting [mode_sixsfred2] best 2606013 combination zp ZP_BYTE:58 [ mode_sixsfred2::cy#4 mode_sixsfred2::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:49 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:49 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ]
Uplifting [mode_twoplanebitmap] best 2604409 combination zp ZP_BYTE:49 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ] Uplifting [mode_twoplanebitmap] best 2606013 combination zp ZP_BYTE:49 [ mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:92 [ mode_stdbitmap::cy#4 mode_stdbitmap::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:92 [ mode_stdbitmap::cy#4 mode_stdbitmap::cy#1 ]
Uplifting [mode_stdbitmap] best 2604409 combination zp ZP_BYTE:92 [ mode_stdbitmap::cy#4 mode_stdbitmap::cy#1 ] Uplifting [mode_stdbitmap] best 2606013 combination zp ZP_BYTE:92 [ mode_stdbitmap::cy#4 mode_stdbitmap::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:96 [ mode_stdbitmap::l#2 mode_stdbitmap::l#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:96 [ mode_stdbitmap::l#2 mode_stdbitmap::l#1 ]
Uplifting [mode_stdbitmap] best 2604409 combination zp ZP_BYTE:96 [ mode_stdbitmap::l#2 mode_stdbitmap::l#1 ] Uplifting [mode_stdbitmap] best 2606013 combination zp ZP_BYTE:96 [ mode_stdbitmap::l#2 mode_stdbitmap::l#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:71 [ mode_hicolmcchar::cy#4 mode_hicolmcchar::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:71 [ mode_hicolmcchar::cy#4 mode_hicolmcchar::cy#1 ]
Uplifting [mode_hicolmcchar] best 2604409 combination zp ZP_BYTE:71 [ mode_hicolmcchar::cy#4 mode_hicolmcchar::cy#1 ] Uplifting [mode_hicolmcchar] best 2606013 combination zp ZP_BYTE:71 [ mode_hicolmcchar::cy#4 mode_hicolmcchar::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:78 [ mode_hicolecmchar::cy#4 mode_hicolecmchar::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:78 [ mode_hicolecmchar::cy#4 mode_hicolecmchar::cy#1 ]
Uplifting [mode_hicolecmchar] best 2604409 combination zp ZP_BYTE:78 [ mode_hicolecmchar::cy#4 mode_hicolecmchar::cy#1 ] Uplifting [mode_hicolecmchar] best 2606013 combination zp ZP_BYTE:78 [ mode_hicolecmchar::cy#4 mode_hicolecmchar::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:85 [ mode_hicolstdchar::cy#4 mode_hicolstdchar::cy#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:85 [ mode_hicolstdchar::cy#4 mode_hicolstdchar::cy#1 ]
Uplifting [mode_hicolstdchar] best 2604409 combination zp ZP_BYTE:85 [ mode_hicolstdchar::cy#4 mode_hicolstdchar::cy#1 ] Uplifting [mode_hicolstdchar] best 2606013 combination zp ZP_BYTE:85 [ mode_hicolstdchar::cy#4 mode_hicolstdchar::cy#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:7 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 ]
Uplifting [mode_8bppchunkybmm] best 2604409 combination zp ZP_BYTE:7 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 ] Uplifting [mode_8bppchunkybmm] best 2606013 combination zp ZP_BYTE:7 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:161 [ keyboard_key_pressed::return#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:161 [ keyboard_key_pressed::return#2 ]
Uplifting [keyboard_key_pressed] best 2603809 combination reg byte a [ keyboard_key_pressed::return#2 ] Uplifting [keyboard_key_pressed] best 2605413 combination reg byte a [ keyboard_key_pressed::return#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:163 [ keyboard_key_pressed::return#24 ] Attempting to uplift remaining variables inzp ZP_BYTE:163 [ keyboard_key_pressed::return#24 ]
Uplifting [keyboard_key_pressed] best 2603209 combination reg byte a [ keyboard_key_pressed::return#24 ] Uplifting [keyboard_key_pressed] best 2604813 combination reg byte a [ keyboard_key_pressed::return#24 ]
Attempting to uplift remaining variables inzp ZP_BYTE:165 [ keyboard_key_pressed::return#25 ] Attempting to uplift remaining variables inzp ZP_BYTE:165 [ keyboard_key_pressed::return#25 ]
Uplifting [keyboard_key_pressed] best 2602609 combination reg byte a [ keyboard_key_pressed::return#25 ] Uplifting [keyboard_key_pressed] best 2604213 combination reg byte a [ keyboard_key_pressed::return#25 ]
Attempting to uplift remaining variables inzp ZP_BYTE:167 [ keyboard_key_pressed::return#26 ] Attempting to uplift remaining variables inzp ZP_BYTE:167 [ keyboard_key_pressed::return#26 ]
Uplifting [keyboard_key_pressed] best 2602009 combination reg byte a [ keyboard_key_pressed::return#26 ] Uplifting [keyboard_key_pressed] best 2603613 combination reg byte a [ keyboard_key_pressed::return#26 ]
Attempting to uplift remaining variables inzp ZP_BYTE:168 [ menu::$41 ]
Uplifting [menu] best 2603213 combination reg byte a [ menu::$41 ]
Attempting to uplift remaining variables inzp ZP_BYTE:169 [ keyboard_key_pressed::return#27 ] Attempting to uplift remaining variables inzp ZP_BYTE:169 [ keyboard_key_pressed::return#27 ]
Uplifting [keyboard_key_pressed] best 2601409 combination reg byte a [ keyboard_key_pressed::return#27 ] Uplifting [keyboard_key_pressed] best 2602613 combination reg byte a [ keyboard_key_pressed::return#27 ]
Attempting to uplift remaining variables inzp ZP_BYTE:170 [ menu::$45 ] Attempting to uplift remaining variables inzp ZP_BYTE:170 [ menu::$45 ]
Uplifting [menu] best 2601009 combination reg byte a [ menu::$45 ] Uplifting [menu] best 2602213 combination reg byte a [ menu::$45 ]
Attempting to uplift remaining variables inzp ZP_BYTE:171 [ keyboard_key_pressed::return#28 ] Attempting to uplift remaining variables inzp ZP_BYTE:171 [ keyboard_key_pressed::return#28 ]
Uplifting [keyboard_key_pressed] best 2600409 combination reg byte a [ keyboard_key_pressed::return#28 ] Uplifting [keyboard_key_pressed] best 2601613 combination reg byte a [ keyboard_key_pressed::return#28 ]
Attempting to uplift remaining variables inzp ZP_BYTE:172 [ menu::$49 ] Attempting to uplift remaining variables inzp ZP_BYTE:172 [ menu::$49 ]
Uplifting [menu] best 2600009 combination reg byte a [ menu::$49 ] Uplifting [menu] best 2601213 combination reg byte a [ menu::$49 ]
Attempting to uplift remaining variables inzp ZP_BYTE:173 [ keyboard_key_pressed::return#29 ] Attempting to uplift remaining variables inzp ZP_BYTE:173 [ keyboard_key_pressed::return#29 ]
Uplifting [keyboard_key_pressed] best 2599409 combination reg byte a [ keyboard_key_pressed::return#29 ] Uplifting [keyboard_key_pressed] best 2600613 combination reg byte a [ keyboard_key_pressed::return#29 ]
Attempting to uplift remaining variables inzp ZP_BYTE:174 [ menu::$53 ] Attempting to uplift remaining variables inzp ZP_BYTE:174 [ menu::$53 ]
Uplifting [menu] best 2599009 combination reg byte a [ menu::$53 ] Uplifting [menu] best 2600213 combination reg byte a [ menu::$53 ]
Attempting to uplift remaining variables inzp ZP_BYTE:175 [ keyboard_key_pressed::return#30 ] Attempting to uplift remaining variables inzp ZP_BYTE:175 [ keyboard_key_pressed::return#30 ]
Uplifting [keyboard_key_pressed] best 2598409 combination reg byte a [ keyboard_key_pressed::return#30 ] Uplifting [keyboard_key_pressed] best 2599613 combination reg byte a [ keyboard_key_pressed::return#30 ]
Attempting to uplift remaining variables inzp ZP_BYTE:176 [ menu::$57 ] Attempting to uplift remaining variables inzp ZP_BYTE:176 [ menu::$57 ]
Uplifting [menu] best 2598009 combination reg byte a [ menu::$57 ] Uplifting [menu] best 2599213 combination reg byte a [ menu::$57 ]
Attempting to uplift remaining variables inzp ZP_BYTE:177 [ keyboard_key_pressed::return#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:177 [ keyboard_key_pressed::return#10 ]
Uplifting [keyboard_key_pressed] best 2597409 combination reg byte a [ keyboard_key_pressed::return#10 ] Uplifting [keyboard_key_pressed] best 2598613 combination reg byte a [ keyboard_key_pressed::return#10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:178 [ menu::$61 ] Attempting to uplift remaining variables inzp ZP_BYTE:178 [ menu::$61 ]
Uplifting [menu] best 2597009 combination reg byte a [ menu::$61 ] Uplifting [menu] best 2598213 combination reg byte a [ menu::$61 ]
Attempting to uplift remaining variables inzp ZP_BYTE:179 [ keyboard_key_pressed::return#11 ] Attempting to uplift remaining variables inzp ZP_BYTE:179 [ keyboard_key_pressed::return#11 ]
Uplifting [keyboard_key_pressed] best 2596409 combination reg byte a [ keyboard_key_pressed::return#11 ] Uplifting [keyboard_key_pressed] best 2597613 combination reg byte a [ keyboard_key_pressed::return#11 ]
Attempting to uplift remaining variables inzp ZP_BYTE:180 [ menu::$65 ] Attempting to uplift remaining variables inzp ZP_BYTE:180 [ menu::$65 ]
Uplifting [menu] best 2596009 combination reg byte a [ menu::$65 ] Uplifting [menu] best 2597213 combination reg byte a [ menu::$65 ]
Attempting to uplift remaining variables inzp ZP_BYTE:181 [ keyboard_key_pressed::return#12 ] Attempting to uplift remaining variables inzp ZP_BYTE:181 [ keyboard_key_pressed::return#12 ]
Uplifting [keyboard_key_pressed] best 2595409 combination reg byte a [ keyboard_key_pressed::return#12 ] Uplifting [keyboard_key_pressed] best 2596613 combination reg byte a [ keyboard_key_pressed::return#12 ]
Attempting to uplift remaining variables inzp ZP_BYTE:182 [ menu::$69 ] Attempting to uplift remaining variables inzp ZP_BYTE:182 [ menu::$69 ]
Uplifting [menu] best 2595009 combination reg byte a [ menu::$69 ] Uplifting [menu] best 2596213 combination reg byte a [ menu::$69 ]
Attempting to uplift remaining variables inzp ZP_BYTE:183 [ keyboard_key_pressed::return#13 ] Attempting to uplift remaining variables inzp ZP_BYTE:183 [ keyboard_key_pressed::return#13 ]
Uplifting [keyboard_key_pressed] best 2594409 combination reg byte a [ keyboard_key_pressed::return#13 ] Uplifting [keyboard_key_pressed] best 2595613 combination reg byte a [ keyboard_key_pressed::return#13 ]
Attempting to uplift remaining variables inzp ZP_BYTE:184 [ menu::$73 ] Attempting to uplift remaining variables inzp ZP_BYTE:184 [ menu::$73 ]
Uplifting [menu] best 2594009 combination reg byte a [ menu::$73 ] Uplifting [menu] best 2595213 combination reg byte a [ menu::$73 ]
Attempting to uplift remaining variables inzp ZP_BYTE:188 [ keyboard_key_pressed::return#14 ] Attempting to uplift remaining variables inzp ZP_BYTE:188 [ keyboard_key_pressed::return#14 ]
Uplifting [keyboard_key_pressed] best 2593409 combination reg byte a [ keyboard_key_pressed::return#14 ] Uplifting [keyboard_key_pressed] best 2594613 combination reg byte a [ keyboard_key_pressed::return#14 ]
Attempting to uplift remaining variables inzp ZP_BYTE:273 [ bitmap_init::$7 ]
Uplifting [bitmap_init] best 2594013 combination reg byte a [ bitmap_init::$7 ]
Attempting to uplift remaining variables inzp ZP_BYTE:274 [ bitmap_init::$8 ]
Uplifting [bitmap_init] best 2593413 combination reg byte a [ bitmap_init::$8 ]
Attempting to uplift remaining variables inzp ZP_BYTE:275 [ bitmap_init::$9 ] Attempting to uplift remaining variables inzp ZP_BYTE:275 [ bitmap_init::$9 ]
Uplifting [bitmap_init] best 2592809 combination reg byte a [ bitmap_init::$9 ] Uplifting [bitmap_init] best 2592813 combination reg byte a [ bitmap_init::$9 ]
Attempting to uplift remaining variables inzp ZP_BYTE:276 [ bitmap_init::$10 ] Attempting to uplift remaining variables inzp ZP_BYTE:276 [ bitmap_init::$10 ]
Uplifting [bitmap_init] best 2592209 combination reg byte a [ bitmap_init::$10 ] Uplifting [bitmap_init] best 2592213 combination reg byte a [ bitmap_init::$10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:40 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:40 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ]
Uplifting [mode_sixsfred] best 2592209 combination zp ZP_BYTE:40 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ] Uplifting [mode_sixsfred] best 2592213 combination zp ZP_BYTE:40 [ mode_sixsfred::by#4 mode_sixsfred::by#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:53 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:53 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ]
Uplifting [mode_twoplanebitmap] best 2592209 combination zp ZP_BYTE:53 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ] Uplifting [mode_twoplanebitmap] best 2592213 combination zp ZP_BYTE:53 [ mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:66 [ mode_sixsfred2::by#4 mode_sixsfred2::by#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:66 [ mode_sixsfred2::by#4 mode_sixsfred2::by#1 ]
Uplifting [mode_sixsfred2] best 2592209 combination zp ZP_BYTE:66 [ mode_sixsfred2::by#4 mode_sixsfred2::by#1 ] Uplifting [mode_sixsfred2] best 2592213 combination zp ZP_BYTE:66 [ mode_sixsfred2::by#4 mode_sixsfred2::by#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
Uplifting [bitmap_clear] best 2592209 combination zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ] Uplifting [bitmap_clear] best 2592213 combination zp ZP_BYTE:123 [ bitmap_clear::y#4 bitmap_clear::y#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:21 [ mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:21 [ mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 ]
Uplifting [mode_8bpppixelcell] best 2592209 combination zp ZP_BYTE:21 [ mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 ] Uplifting [mode_8bpppixelcell] best 2592213 combination zp ZP_BYTE:21 [ mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:98 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:98 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
Uplifting [bitmap_line_ydxi] best 2592209 combination zp ZP_BYTE:98 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] Uplifting [bitmap_line_ydxi] best 2592213 combination zp ZP_BYTE:98 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:106 [ 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_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
Uplifting [bitmap_line_xdyi] best 2592209 combination zp ZP_BYTE:106 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ] Uplifting [bitmap_line_xdyi] best 2592213 combination zp ZP_BYTE:106 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#0 bitmap_line_xdyi::xd#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:112 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:112 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ]
Uplifting [bitmap_line_ydxd] best 2592209 combination zp ZP_BYTE:112 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ] Uplifting [bitmap_line_ydxd] best 2592213 combination zp ZP_BYTE:112 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#1 bitmap_line_ydxd::yd#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:118 [ 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_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
Uplifting [bitmap_line_xdyd] best 2592209 combination zp ZP_BYTE:118 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ] Uplifting [bitmap_line_xdyd] best 2592213 combination zp ZP_BYTE:118 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#0 bitmap_line_xdyd::xd#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:272 [ bitmap_init::$6 ] Attempting to uplift remaining variables inzp ZP_BYTE:272 [ bitmap_init::$6 ]
Uplifting [bitmap_init] best 2592209 combination zp ZP_BYTE:272 [ bitmap_init::$6 ] Uplifting [bitmap_init] best 2592213 combination zp ZP_BYTE:272 [ bitmap_init::$6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:97 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:97 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
Uplifting [bitmap_line_ydxi] best 2592209 combination zp ZP_BYTE:97 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] Uplifting [bitmap_line_ydxi] best 2592213 combination zp ZP_BYTE:97 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:105 [ 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_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
Uplifting [bitmap_line_xdyi] best 2592209 combination zp ZP_BYTE:105 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ] Uplifting [bitmap_line_xdyi] best 2592213 combination zp ZP_BYTE:105 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#0 bitmap_line_xdyi::yd#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:111 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:111 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ]
Uplifting [bitmap_line_ydxd] best 2592209 combination zp ZP_BYTE:111 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ] Uplifting [bitmap_line_ydxd] best 2592213 combination zp ZP_BYTE:111 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#1 bitmap_line_ydxd::xd#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:117 [ 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_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
Uplifting [bitmap_line_xdyd] best 2592209 combination zp ZP_BYTE:117 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ] Uplifting [bitmap_line_xdyd] best 2592213 combination zp ZP_BYTE:117 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#0 bitmap_line_xdyd::yd#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:99 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:99 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
Uplifting [bitmap_line_ydxi] best 2592209 combination zp ZP_BYTE:99 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Uplifting [bitmap_line_ydxi] best 2592213 combination zp ZP_BYTE:99 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:107 [ 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_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
Uplifting [bitmap_line_xdyi] best 2592209 combination zp ZP_BYTE:107 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ] Uplifting [bitmap_line_xdyi] best 2592213 combination zp ZP_BYTE:107 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#0 bitmap_line_xdyi::x1#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:113 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:113 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ]
Uplifting [bitmap_line_ydxd] best 2592209 combination zp ZP_BYTE:113 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ] Uplifting [bitmap_line_ydxd] best 2592213 combination zp ZP_BYTE:113 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#1 bitmap_line_ydxd::y1#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:119 [ 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_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
Uplifting [bitmap_line_xdyd] best 2592209 combination zp ZP_BYTE:119 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ] Uplifting [bitmap_line_xdyd] best 2592213 combination zp ZP_BYTE:119 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#0 bitmap_line_xdyd::x1#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:209 [ keyboard_key_pressed::return#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:209 [ keyboard_key_pressed::return#0 ]
Uplifting [keyboard_key_pressed] best 2588285 combination reg byte a [ keyboard_key_pressed::return#0 ] Uplifting [keyboard_key_pressed] best 2588289 combination reg byte a [ keyboard_key_pressed::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ mode_ctrl_keys::ctrl#14 mode_ctrl_keys::ctrl#22 mode_ctrl_keys::ctrl#6 mode_ctrl_keys::ctrl#13 mode_ctrl_keys::ctrl#5 mode_ctrl_keys::ctrl#12 mode_ctrl_keys::ctrl#4 mode_ctrl_keys::ctrl#11 mode_ctrl_keys::ctrl#3 mode_ctrl_keys::ctrl#10 mode_ctrl_keys::ctrl#2 mode_ctrl_keys::ctrl#17 mode_ctrl_keys::ctrl#1 mode_ctrl_keys::ctrl#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:13 [ mode_ctrl_keys::ctrl#14 mode_ctrl_keys::ctrl#22 mode_ctrl_keys::ctrl#6 mode_ctrl_keys::ctrl#13 mode_ctrl_keys::ctrl#5 mode_ctrl_keys::ctrl#12 mode_ctrl_keys::ctrl#4 mode_ctrl_keys::ctrl#11 mode_ctrl_keys::ctrl#3 mode_ctrl_keys::ctrl#10 mode_ctrl_keys::ctrl#2 mode_ctrl_keys::ctrl#17 mode_ctrl_keys::ctrl#1 mode_ctrl_keys::ctrl#0 ]
Uplifting [mode_ctrl_keys] best 2588285 combination zp ZP_BYTE:13 [ mode_ctrl_keys::ctrl#14 mode_ctrl_keys::ctrl#22 mode_ctrl_keys::ctrl#6 mode_ctrl_keys::ctrl#13 mode_ctrl_keys::ctrl#5 mode_ctrl_keys::ctrl#12 mode_ctrl_keys::ctrl#4 mode_ctrl_keys::ctrl#11 mode_ctrl_keys::ctrl#3 mode_ctrl_keys::ctrl#10 mode_ctrl_keys::ctrl#2 mode_ctrl_keys::ctrl#17 mode_ctrl_keys::ctrl#1 mode_ctrl_keys::ctrl#0 ] Uplifting [mode_ctrl_keys] best 2588289 combination zp ZP_BYTE:13 [ mode_ctrl_keys::ctrl#14 mode_ctrl_keys::ctrl#22 mode_ctrl_keys::ctrl#6 mode_ctrl_keys::ctrl#13 mode_ctrl_keys::ctrl#5 mode_ctrl_keys::ctrl#12 mode_ctrl_keys::ctrl#4 mode_ctrl_keys::ctrl#11 mode_ctrl_keys::ctrl#3 mode_ctrl_keys::ctrl#10 mode_ctrl_keys::ctrl#2 mode_ctrl_keys::ctrl#17 mode_ctrl_keys::ctrl#1 mode_ctrl_keys::ctrl#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:250 [ bitmap_line::y0#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:250 [ bitmap_line::y0#0 ]
Uplifting [bitmap_line] best 2588285 combination zp ZP_BYTE:250 [ bitmap_line::y0#0 ] Uplifting [bitmap_line] best 2588289 combination zp ZP_BYTE:250 [ bitmap_line::y0#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:249 [ bitmap_line::x1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:249 [ bitmap_line::x1#0 ]
Uplifting [bitmap_line] best 2588285 combination zp ZP_BYTE:249 [ bitmap_line::x1#0 ] Uplifting [bitmap_line] best 2588289 combination zp ZP_BYTE:249 [ bitmap_line::x1#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:248 [ bitmap_line::x0#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:248 [ bitmap_line::x0#0 ]
Uplifting [bitmap_line] best 2588285 combination zp ZP_BYTE:248 [ bitmap_line::x0#0 ] Uplifting [bitmap_line] best 2588289 combination zp ZP_BYTE:248 [ bitmap_line::x0#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:190 [ keyboard_key_pressed::return#15 ] Attempting to uplift remaining variables inzp ZP_BYTE:190 [ keyboard_key_pressed::return#15 ]
Uplifting [keyboard_key_pressed] best 2588279 combination reg byte a [ keyboard_key_pressed::return#15 ] Uplifting [keyboard_key_pressed] best 2588283 combination reg byte a [ keyboard_key_pressed::return#15 ]
Attempting to uplift remaining variables inzp ZP_BYTE:192 [ keyboard_key_pressed::return#16 ] Attempting to uplift remaining variables inzp ZP_BYTE:192 [ keyboard_key_pressed::return#16 ]
Uplifting [keyboard_key_pressed] best 2588273 combination reg byte a [ keyboard_key_pressed::return#16 ] Uplifting [keyboard_key_pressed] best 2588277 combination reg byte a [ keyboard_key_pressed::return#16 ]
Attempting to uplift remaining variables inzp ZP_BYTE:194 [ keyboard_key_pressed::return#17 ] Attempting to uplift remaining variables inzp ZP_BYTE:194 [ keyboard_key_pressed::return#17 ]
Uplifting [keyboard_key_pressed] best 2588267 combination reg byte a [ keyboard_key_pressed::return#17 ] Uplifting [keyboard_key_pressed] best 2588271 combination reg byte a [ keyboard_key_pressed::return#17 ]
Attempting to uplift remaining variables inzp ZP_BYTE:196 [ keyboard_key_pressed::return#18 ] Attempting to uplift remaining variables inzp ZP_BYTE:196 [ keyboard_key_pressed::return#18 ]
Uplifting [keyboard_key_pressed] best 2588261 combination reg byte a [ keyboard_key_pressed::return#18 ] Uplifting [keyboard_key_pressed] best 2588265 combination reg byte a [ keyboard_key_pressed::return#18 ]
Attempting to uplift remaining variables inzp ZP_BYTE:197 [ mode_ctrl_keys::$14 ]
Uplifting [mode_ctrl_keys] best 2588261 combination reg byte a [ mode_ctrl_keys::$14 ]
Attempting to uplift remaining variables inzp ZP_BYTE:198 [ keyboard_key_pressed::return#19 ] Attempting to uplift remaining variables inzp ZP_BYTE:198 [ keyboard_key_pressed::return#19 ]
Uplifting [keyboard_key_pressed] best 2588255 combination reg byte a [ keyboard_key_pressed::return#19 ] Uplifting [keyboard_key_pressed] best 2588255 combination reg byte a [ keyboard_key_pressed::return#19 ]
Attempting to uplift remaining variables inzp ZP_BYTE:199 [ mode_ctrl_keys::$18 ] Attempting to uplift remaining variables inzp ZP_BYTE:199 [ mode_ctrl_keys::$18 ]

View File

@ -5647,27 +5647,35 @@ Uplift Scope [print_str_at] 35.5: zp ZP_WORD:26 [ print_str_at::str#5 print_str_
Uplift Scope [keyboard_matrix_read] 4: zp ZP_BYTE:56 [ keyboard_matrix_read::rowid#0 ] 4: zp ZP_BYTE:57 [ keyboard_matrix_read::return#2 ] 1.33: zp ZP_BYTE:60 [ keyboard_matrix_read::return#0 ] Uplift Scope [keyboard_matrix_read] 4: zp ZP_BYTE:56 [ keyboard_matrix_read::rowid#0 ] 4: zp ZP_BYTE:57 [ keyboard_matrix_read::return#2 ] 1.33: zp ZP_BYTE:60 [ keyboard_matrix_read::return#0 ]
Uplift Scope [] Uplift Scope []
Uplifting [plot_chargen] best 815083 combination reg byte a [ plot_chargen::$10 ] reg byte x [ plot_chargen::x#2 plot_chargen::x#1 ] zp ZP_BYTE:15 [ plot_chargen::bits#2 plot_chargen::bits#0 plot_chargen::bits#1 ] zp ZP_WORD:16 [ plot_chargen::sc#3 plot_chargen::sc#7 plot_chargen::sc#2 plot_chargen::sc#0 plot_chargen::sc#1 ] reg byte a [ plot_chargen::c#2 ] zp ZP_BYTE:14 [ plot_chargen::y#2 plot_chargen::y#1 ] reg byte x [ plot_chargen::shift#2 plot_chargen::shift#1 ] reg byte a [ plot_chargen::ch#2 plot_chargen::ch#1 ] zp ZP_BYTE:11 [ plot_chargen::pos#2 plot_chargen::pos#0 plot_chargen::pos#1 ] zp ZP_WORD:12 [ plot_chargen::chargen#5 plot_chargen::chargen#0 plot_chargen::chargen#1 ] zp ZP_WORD:44 [ plot_chargen::$0 ] zp ZP_WORD:46 [ plot_chargen::$1 ] zp ZP_WORD:50 [ plot_chargen::$8 ] Uplifting [plot_chargen] best 815693 combination reg byte a [ plot_chargen::$10 ] reg byte x [ plot_chargen::x#2 plot_chargen::x#1 ] zp ZP_BYTE:15 [ plot_chargen::bits#2 plot_chargen::bits#0 plot_chargen::bits#1 ] zp ZP_WORD:16 [ plot_chargen::sc#3 plot_chargen::sc#7 plot_chargen::sc#2 plot_chargen::sc#0 plot_chargen::sc#1 ] reg byte a [ plot_chargen::c#2 ] zp ZP_BYTE:14 [ plot_chargen::y#2 plot_chargen::y#1 ] zp ZP_BYTE:10 [ plot_chargen::shift#2 plot_chargen::shift#1 ] zp ZP_BYTE:9 [ plot_chargen::ch#2 plot_chargen::ch#1 ] zp ZP_BYTE:11 [ plot_chargen::pos#2 plot_chargen::pos#0 plot_chargen::pos#1 ] zp ZP_WORD:12 [ plot_chargen::chargen#5 plot_chargen::chargen#0 plot_chargen::chargen#1 ] zp ZP_WORD:44 [ plot_chargen::$0 ] zp ZP_WORD:46 [ plot_chargen::$1 ] zp ZP_WORD:50 [ plot_chargen::$8 ]
Limited combination testing to 1000 combinations of 4608 possible. Limited combination testing to 100 combinations of 4608 possible.
Uplifting [mul8u] best 810080 combination zp ZP_WORD:21 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:23 [ mul8u::mb#2 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] zp ZP_WORD:48 [ mul8u::return#2 ] Uplifting [mul8u] best 810690 combination zp ZP_WORD:21 [ mul8u::res#2 mul8u::res#6 mul8u::res#1 ] zp ZP_WORD:23 [ mul8u::mb#2 mul8u::mb#1 ] reg byte a [ mul8u::$1 ] reg byte x [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ] zp ZP_WORD:48 [ mul8u::return#2 ]
Uplifting [main] best 808400 combination reg byte a [ main::pressed#2 main::pressed#1 ] zp ZP_BYTE:7 [ main::ch#2 main::ch#1 ] reg byte a [ main::key#0 ] zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] zp ZP_BYTE:4 [ main::i#2 main::i#1 ] reg byte a [ main::$15 ] reg byte a [ main::$18 ] zp ZP_BYTE:35 [ main::$21 ] zp ZP_BYTE:37 [ main::$24 ] zp ZP_BYTE:39 [ main::$27 ] zp ZP_BYTE:5 [ main::cur_pos#18 main::cur_pos#20 main::cur_pos#22 main::cur_pos#24 main::cur_pos#12 ] zp ZP_BYTE:6 [ main::shift#10 ] Uplifting [main] best 809050 combination reg byte a [ main::pressed#2 main::pressed#1 ] zp ZP_BYTE:7 [ main::ch#2 main::ch#1 ] reg byte a [ main::key#0 ] zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] zp ZP_BYTE:4 [ main::i#2 main::i#1 ] reg byte a [ main::$15 ] zp ZP_BYTE:33 [ main::$18 ] zp ZP_BYTE:35 [ main::$21 ] zp ZP_BYTE:37 [ main::$24 ] zp ZP_BYTE:39 [ main::$27 ] zp ZP_BYTE:5 [ main::cur_pos#18 main::cur_pos#20 main::cur_pos#22 main::cur_pos#24 main::cur_pos#12 ] zp ZP_BYTE:6 [ main::shift#10 ]
Limited combination testing to 1000 combinations of 262144 possible. Limited combination testing to 100 combinations of 262144 possible.
Uplifting [keyboard_key_pressed] best 807503 combination reg byte x [ keyboard_key_pressed::key#6 keyboard_key_pressed::key#5 ] reg byte a [ keyboard_key_pressed::return#14 ] reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#10 ] reg byte a [ keyboard_key_pressed::return#11 ] zp ZP_BYTE:36 [ keyboard_key_pressed::return#12 ] zp ZP_BYTE:38 [ keyboard_key_pressed::return#13 ] zp ZP_BYTE:59 [ keyboard_key_pressed::return#0 ] zp ZP_BYTE:55 [ keyboard_key_pressed::rowidx#0 ] zp ZP_BYTE:58 [ keyboard_key_pressed::$2 ] zp ZP_BYTE:54 [ keyboard_key_pressed::colidx#0 ] Uplifting [keyboard_key_pressed] best 808213 combination reg byte x [ keyboard_key_pressed::key#6 keyboard_key_pressed::key#5 ] reg byte a [ keyboard_key_pressed::return#14 ] reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#10 ] zp ZP_BYTE:34 [ keyboard_key_pressed::return#11 ] zp ZP_BYTE:36 [ keyboard_key_pressed::return#12 ] zp ZP_BYTE:38 [ keyboard_key_pressed::return#13 ] zp ZP_BYTE:59 [ keyboard_key_pressed::return#0 ] zp ZP_BYTE:55 [ keyboard_key_pressed::rowidx#0 ] zp ZP_BYTE:58 [ keyboard_key_pressed::$2 ] zp ZP_BYTE:54 [ keyboard_key_pressed::colidx#0 ]
Limited combination testing to 1000 combinations of 2359296 possible. Limited combination testing to 100 combinations of 2359296 possible.
Uplifting [keyboard_get_keycode] best 806297 combination reg byte a [ keyboard_get_keycode::return#2 ] reg byte x [ keyboard_get_keycode::ch#0 ] reg byte a [ keyboard_get_keycode::return#0 ] Uplifting [keyboard_get_keycode] best 807007 combination reg byte a [ keyboard_get_keycode::return#2 ] reg byte x [ keyboard_get_keycode::ch#0 ] reg byte a [ keyboard_get_keycode::return#0 ]
Uplifting [print_str_at] best 806297 combination zp ZP_WORD:26 [ print_str_at::str#5 print_str_at::str#7 print_str_at::str#4 ] zp ZP_WORD:28 [ print_str_at::at#5 print_str_at::at#7 print_str_at::at#4 ] Uplifting [print_str_at] best 807007 combination zp ZP_WORD:26 [ print_str_at::str#5 print_str_at::str#7 print_str_at::str#4 ] zp ZP_WORD:28 [ print_str_at::at#5 print_str_at::at#7 print_str_at::at#4 ]
Uplifting [keyboard_matrix_read] best 806279 combination reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] Uplifting [keyboard_matrix_read] best 806989 combination reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ]
Uplifting [] best 806279 combination Uplifting [] best 806989 combination
Attempting to uplift remaining variables inzp ZP_BYTE:15 [ plot_chargen::bits#2 plot_chargen::bits#0 plot_chargen::bits#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:15 [ plot_chargen::bits#2 plot_chargen::bits#0 plot_chargen::bits#1 ]
Uplifting [plot_chargen] best 806279 combination zp ZP_BYTE:15 [ plot_chargen::bits#2 plot_chargen::bits#0 plot_chargen::bits#1 ] Uplifting [plot_chargen] best 806989 combination zp ZP_BYTE:15 [ plot_chargen::bits#2 plot_chargen::bits#0 plot_chargen::bits#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:14 [ plot_chargen::y#2 plot_chargen::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:14 [ plot_chargen::y#2 plot_chargen::y#1 ]
Uplifting [plot_chargen] best 806279 combination zp ZP_BYTE:14 [ plot_chargen::y#2 plot_chargen::y#1 ] Uplifting [plot_chargen] best 806989 combination zp ZP_BYTE:14 [ plot_chargen::y#2 plot_chargen::y#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:10 [ plot_chargen::shift#2 plot_chargen::shift#1 ]
Uplifting [plot_chargen] best 806685 combination reg byte x [ plot_chargen::shift#2 plot_chargen::shift#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ main::ch#2 main::ch#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:7 [ main::ch#2 main::ch#1 ]
Uplifting [main] best 806279 combination zp ZP_BYTE:7 [ main::ch#2 main::ch#1 ] Uplifting [main] best 806685 combination zp ZP_BYTE:7 [ main::ch#2 main::ch#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:9 [ plot_chargen::ch#2 plot_chargen::ch#1 ]
Uplifting [plot_chargen] best 806379 combination reg byte a [ plot_chargen::ch#2 plot_chargen::ch#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:11 [ plot_chargen::pos#2 plot_chargen::pos#0 plot_chargen::pos#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:11 [ plot_chargen::pos#2 plot_chargen::pos#0 plot_chargen::pos#1 ]
Uplifting [plot_chargen] best 805950 combination reg byte y [ plot_chargen::pos#2 plot_chargen::pos#0 plot_chargen::pos#1 ] Uplifting [plot_chargen] best 806050 combination reg byte y [ plot_chargen::pos#2 plot_chargen::pos#0 plot_chargen::pos#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ main::i#2 main::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:4 [ main::i#2 main::i#1 ]
Uplifting [main] best 805950 combination zp ZP_BYTE:4 [ main::i#2 main::i#1 ] Uplifting [main] best 806050 combination zp ZP_BYTE:4 [ main::i#2 main::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:33 [ main::$18 ]
Uplifting [main] best 806010 combination reg byte a [ main::$18 ]
Attempting to uplift remaining variables inzp ZP_BYTE:34 [ keyboard_key_pressed::return#11 ]
Uplifting [keyboard_key_pressed] best 805950 combination reg byte a [ keyboard_key_pressed::return#11 ]
Attempting to uplift remaining variables inzp ZP_BYTE:35 [ main::$21 ] Attempting to uplift remaining variables inzp ZP_BYTE:35 [ main::$21 ]
Uplifting [main] best 805910 combination reg byte a [ main::$21 ] Uplifting [main] best 805910 combination reg byte a [ main::$21 ]
Attempting to uplift remaining variables inzp ZP_BYTE:36 [ keyboard_key_pressed::return#12 ] Attempting to uplift remaining variables inzp ZP_BYTE:36 [ keyboard_key_pressed::return#12 ]

View File

@ -789,6 +789,7 @@ Uplift Scope [main] 202: zp ZP_BYTE:8 [ main::$1 ] 176.75: zp ZP_BYTE:6 [ main::
Uplift Scope [] Uplift Scope []
Uplifting [main] best 7232 combination reg byte a [ main::$1 ] reg byte x [ main::x#2 main::x#1 ] zp ZP_BYTE:3 [ main::bits#2 main::bits#0 main::bits#1 ] zp ZP_WORD:4 [ main::sc#3 main::sc#7 main::sc#2 main::sc#1 ] reg byte a [ main::c#2 ] zp ZP_BYTE:2 [ main::y#2 main::y#1 ] Uplifting [main] best 7232 combination reg byte a [ main::$1 ] reg byte x [ main::x#2 main::x#1 ] zp ZP_BYTE:3 [ main::bits#2 main::bits#0 main::bits#1 ] zp ZP_WORD:4 [ main::sc#3 main::sc#7 main::sc#2 main::sc#1 ] reg byte a [ main::c#2 ] zp ZP_BYTE:2 [ main::y#2 main::y#1 ]
Limited combination testing to 100 combinations of 128 possible.
Uplifting [] best 7232 combination Uplifting [] best 7232 combination
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ main::bits#2 main::bits#0 main::bits#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ main::bits#2 main::bits#0 main::bits#1 ]
Uplifting [main] best 7232 combination zp ZP_BYTE:3 [ main::bits#2 main::bits#0 main::bits#1 ] Uplifting [main] best 7232 combination zp ZP_BYTE:3 [ main::bits#2 main::bits#0 main::bits#1 ]

View File

@ -1513,6 +1513,7 @@ Uplift Scope [prepare] 38.5: zp ZP_BYTE:13 [ prepare::i#2 prepare::i#1 ]
Uplift Scope [] Uplift Scope []
Uplifting [flip] best 141722 combination reg byte y [ flip::srcIdx#2 flip::srcIdx#3 flip::srcIdx#1 ] reg byte x [ flip::dstIdx#3 flip::dstIdx#5 flip::dstIdx#2 flip::dstIdx#1 ] zp ZP_BYTE:11 [ flip::c#2 flip::c#1 ] reg byte x [ flip::i#2 flip::i#1 ] zp ZP_BYTE:8 [ flip::r#4 flip::r#1 ] Uplifting [flip] best 141722 combination reg byte y [ flip::srcIdx#2 flip::srcIdx#3 flip::srcIdx#1 ] reg byte x [ flip::dstIdx#3 flip::dstIdx#5 flip::dstIdx#2 flip::dstIdx#1 ] zp ZP_BYTE:11 [ flip::c#2 flip::c#1 ] reg byte x [ flip::i#2 flip::i#1 ] zp ZP_BYTE:8 [ flip::r#4 flip::r#1 ]
Limited combination testing to 100 combinations of 243 possible.
Uplifting [plot] best 123422 combination reg byte y [ plot::x#2 plot::x#1 ] reg byte x [ plot::i#2 plot::i#3 plot::i#1 ] zp ZP_WORD:3 [ plot::line#4 plot::line#1 ] zp ZP_BYTE:5 [ plot::y#4 plot::y#1 ] Uplifting [plot] best 123422 combination reg byte y [ plot::x#2 plot::x#1 ] reg byte x [ plot::i#2 plot::i#3 plot::i#1 ] zp ZP_WORD:3 [ plot::line#4 plot::line#1 ] zp ZP_BYTE:5 [ plot::y#4 plot::y#1 ]
Uplifting [main] best 120022 combination reg byte x [ main::c#4 main::c#1 ] Uplifting [main] best 120022 combination reg byte x [ main::c#4 main::c#1 ]
Uplifting [prepare] best 119922 combination reg byte x [ prepare::i#2 prepare::i#1 ] Uplifting [prepare] best 119922 combination reg byte x [ prepare::i#2 prepare::i#1 ]

View File

@ -2290,13 +2290,15 @@ Uplift Scope [keyboard_matrix_read] 4: zp ZP_BYTE:11 [ keyboard_matrix_read::row
Uplift Scope [main] Uplift Scope [main]
Uplift Scope [] Uplift Scope []
Uplifting [keyboard_key_pressed] best 9150 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#3 ] reg byte a [ keyboard_key_pressed::return#4 ] reg byte a [ keyboard_key_pressed::return#10 ] reg byte a [ keyboard_key_pressed::return#0 ] zp ZP_BYTE:10 [ keyboard_key_pressed::rowidx#0 ] zp ZP_BYTE:13 [ keyboard_key_pressed::$2 ] zp ZP_BYTE:2 [ keyboard_key_pressed::key#4 ] zp ZP_BYTE:9 [ keyboard_key_pressed::colidx#0 ] Uplifting [keyboard_key_pressed] best 10353 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#3 ] reg byte a [ keyboard_key_pressed::return#4 ] reg byte a [ keyboard_key_pressed::return#10 ] zp ZP_BYTE:14 [ keyboard_key_pressed::return#0 ] zp ZP_BYTE:10 [ keyboard_key_pressed::rowidx#0 ] zp ZP_BYTE:13 [ keyboard_key_pressed::$2 ] zp ZP_BYTE:2 [ keyboard_key_pressed::key#4 ] zp ZP_BYTE:9 [ keyboard_key_pressed::colidx#0 ]
Limited combination testing to 1000 combinations of 147456 possible. Limited combination testing to 100 combinations of 147456 possible.
Uplifting [menu] best 7950 combination reg byte a [ menu::$0 ] reg byte a [ menu::$4 ] reg byte a [ menu::$7 ] Uplifting [menu] best 9153 combination reg byte a [ menu::$0 ] reg byte a [ menu::$4 ] reg byte a [ menu::$7 ]
Uplifting [pressed] best 7550 combination reg byte a [ pressed::$0 ] Uplifting [pressed] best 8753 combination reg byte a [ pressed::$0 ]
Uplifting [keyboard_matrix_read] best 7532 combination reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] Uplifting [keyboard_matrix_read] best 8735 combination reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ]
Uplifting [main] best 7532 combination Uplifting [main] best 8735 combination
Uplifting [] best 7532 combination Uplifting [] best 8735 combination
Attempting to uplift remaining variables inzp ZP_BYTE:14 [ keyboard_key_pressed::return#0 ]
Uplifting [keyboard_key_pressed] best 7532 combination reg byte a [ keyboard_key_pressed::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:10 [ keyboard_key_pressed::rowidx#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:10 [ keyboard_key_pressed::rowidx#0 ]
Uplifting [keyboard_key_pressed] best 7528 combination reg byte a [ keyboard_key_pressed::rowidx#0 ] Uplifting [keyboard_key_pressed] best 7528 combination reg byte a [ keyboard_key_pressed::rowidx#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ keyboard_key_pressed::$2 ] Attempting to uplift remaining variables inzp ZP_BYTE:13 [ keyboard_key_pressed::$2 ]

View File

@ -542,6 +542,7 @@ Uplift Scope [inci] 4: zp ZP_BYTE:3 [ inci::return#0 ] 4: zp ZP_BYTE:6 [ inci::r
Uplift Scope [] 4.73: zp ZP_BYTE:2 [ i#10 i#11 ] Uplift Scope [] 4.73: zp ZP_BYTE:2 [ i#10 i#11 ]
Uplifting [main] best 112 combination reg byte a [ main::$0 ] reg byte a [ main::$2 ] reg byte x [ main::a#2 ] zp ZP_BYTE:5 [ main::a#1 ] Uplifting [main] best 112 combination reg byte a [ main::$0 ] reg byte a [ main::$2 ] reg byte x [ main::a#2 ] zp ZP_BYTE:5 [ main::a#1 ]
Limited combination testing to 100 combinations of 192 possible.
Uplifting [inci] best 91 combination reg byte a [ inci::return#0 ] reg byte a [ inci::return#1 ] reg byte a [ inci::return#2 ] Uplifting [inci] best 91 combination reg byte a [ inci::return#0 ] reg byte a [ inci::return#1 ] reg byte a [ inci::return#2 ]
Uplifting [] best 82 combination reg byte y [ i#10 i#11 ] Uplifting [] best 82 combination reg byte y [ i#10 i#11 ]
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ main::a#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ main::a#1 ]

View File

@ -2,24 +2,26 @@
:BasicUpstart(main) :BasicUpstart(main)
.pc = $80d "Program" .pc = $80d "Program"
.label SCREEN = $400 .label SCREEN = $400
.label cnt3 = 2 .label cnt = 2
jsr main jsr main
main: { main: {
lda #0 ldx #0
sta cnt3 ldy #0
tay txa
tax
jsr inccnt jsr inccnt
sta SCREEN+0 sta SCREEN+0
inx lda cnt
clc
adc #1
jsr inccnt jsr inccnt
sta SCREEN+1 sta SCREEN+1
rts rts
} }
inccnt: { inccnt: {
inx clc
adc #1
sta cnt
iny iny
inc cnt3 inx
txa
rts rts
} }

View File

@ -652,12 +652,13 @@ Uplift Scope [] 8: zp ZP_BYTE:2 [ cnt#11 cnt#2 ] 2.44: zp ZP_BYTE:3 [ cnt2#10 cn
Uplift Scope [inccnt] 4: zp ZP_BYTE:5 [ inccnt::return#0 ] 4: zp ZP_BYTE:7 [ inccnt::return#1 ] 1.5: zp ZP_BYTE:10 [ inccnt::return#2 ] Uplift Scope [inccnt] 4: zp ZP_BYTE:5 [ inccnt::return#0 ] 4: zp ZP_BYTE:7 [ inccnt::return#1 ] 1.5: zp ZP_BYTE:10 [ inccnt::return#2 ]
Uplift Scope [main] 4: zp ZP_BYTE:6 [ main::$0 ] 4: zp ZP_BYTE:8 [ main::$1 ] Uplift Scope [main] 4: zp ZP_BYTE:6 [ main::$0 ] 4: zp ZP_BYTE:8 [ main::$1 ]
Uplifting [] best 109 combination reg byte x [ cnt#11 cnt#2 ] reg byte y [ cnt2#10 cnt2#11 ] zp ZP_BYTE:4 [ cnt3#10 cnt3#11 ] reg byte x [ cnt#12 ] Uplifting [] best 116 combination reg byte a [ cnt#11 cnt#2 ] reg byte y [ cnt2#10 cnt2#11 ] reg byte x [ cnt3#10 cnt3#11 ] zp ZP_BYTE:9 [ cnt#12 ]
Uplifting [inccnt] best 90 combination reg byte a [ inccnt::return#0 ] reg byte a [ inccnt::return#1 ] reg byte a [ inccnt::return#2 ] Limited combination testing to 100 combinations of 256 possible.
Uplifting [main] best 78 combination reg byte a [ main::$0 ] reg byte a [ main::$1 ] Uplifting [inccnt] best 95 combination reg byte a [ inccnt::return#0 ] reg byte a [ inccnt::return#1 ] reg byte a [ inccnt::return#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ cnt3#10 cnt3#11 ] Uplifting [main] best 83 combination reg byte a [ main::$0 ] reg byte a [ main::$1 ]
Uplifting [] best 78 combination zp ZP_BYTE:4 [ cnt3#10 cnt3#11 ] Attempting to uplift remaining variables inzp ZP_BYTE:9 [ cnt#12 ]
Allocated (was zp ZP_BYTE:4) zp ZP_BYTE:2 [ cnt3#10 cnt3#11 ] Uplifting [] best 83 combination zp ZP_BYTE:9 [ cnt#12 ]
Allocated (was zp ZP_BYTE:9) zp ZP_BYTE:2 [ cnt#12 ]
ASSEMBLER BEFORE OPTIMIZATION ASSEMBLER BEFORE OPTIMIZATION
//SEG0 Basic Upstart //SEG0 Basic Upstart
@ -666,7 +667,7 @@ ASSEMBLER BEFORE OPTIMIZATION
.pc = $80d "Program" .pc = $80d "Program"
//SEG1 Global Constants & labels //SEG1 Global Constants & labels
.label SCREEN = $400 .label SCREEN = $400
.label cnt3 = 2 .label cnt = 2
//SEG2 @begin //SEG2 @begin
bbegin: bbegin:
//SEG3 [1] phi from @begin to @2 [phi:@begin->@2] //SEG3 [1] phi from @begin to @2 [phi:@begin->@2]
@ -688,13 +689,12 @@ main: {
//SEG10 [5] call inccnt param-assignment [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ) //SEG10 [5] call inccnt param-assignment [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] )
//SEG11 [15] phi from main to inccnt [phi:main->inccnt] //SEG11 [15] phi from main to inccnt [phi:main->inccnt]
inccnt_from_main: inccnt_from_main:
//SEG12 [15] phi (byte) cnt3#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#0] -- vbuz1=vbuc1 //SEG12 [15] phi (byte) cnt3#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#0] -- vbuxx=vbuc1
lda #0 ldx #0
sta cnt3
//SEG13 [15] phi (byte) cnt2#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#1] -- vbuyy=vbuc1 //SEG13 [15] phi (byte) cnt2#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#1] -- vbuyy=vbuc1
ldy #0 ldy #0
//SEG14 [15] phi (byte) cnt#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#2] -- vbuxx=vbuc1 //SEG14 [15] phi (byte) cnt#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#2] -- vbuaa=vbuc1
ldx #0 lda #0
jsr inccnt jsr inccnt
//SEG15 [6] (byte) inccnt::return#0 ← (byte) inccnt::return#2 [ inccnt::return#0 cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ inccnt::return#0 cnt#12 cnt2#11 cnt3#11 ] ) //SEG15 [6] (byte) inccnt::return#0 ← (byte) inccnt::return#2 [ inccnt::return#0 cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ inccnt::return#0 cnt#12 cnt2#11 cnt3#11 ] )
// (byte) inccnt::return#0 = (byte) inccnt::return#2 // register copy reg byte a // (byte) inccnt::return#0 = (byte) inccnt::return#2 // register copy reg byte a
@ -705,8 +705,10 @@ main: {
// (byte~) main::$0 = (byte) inccnt::return#0 // register copy reg byte a // (byte~) main::$0 = (byte) inccnt::return#0 // register copy reg byte a
//SEG18 [8] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 [ cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ cnt#12 cnt2#11 cnt3#11 ] ) -- _deref_pbuc1=vbuaa //SEG18 [8] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 [ cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ cnt#12 cnt2#11 cnt3#11 ] ) -- _deref_pbuc1=vbuaa
sta SCREEN+0 sta SCREEN+0
//SEG19 [9] (byte) cnt#2 ← ++ (byte) cnt#12 [ cnt#2 cnt2#11 cnt3#11 ] ( main:2 [ cnt#2 cnt2#11 cnt3#11 ] ) -- vbuxx=_inc_vbuxx //SEG19 [9] (byte) cnt#2 ← ++ (byte) cnt#12 [ cnt#2 cnt2#11 cnt3#11 ] ( main:2 [ cnt#2 cnt2#11 cnt3#11 ] ) -- vbuaa=_inc_vbuz1
inx lda cnt
clc
adc #1
//SEG20 [10] call inccnt param-assignment [ inccnt::return#2 ] ( main:2 [ inccnt::return#2 ] ) //SEG20 [10] call inccnt param-assignment [ inccnt::return#2 ] ( main:2 [ inccnt::return#2 ] )
//SEG21 [15] phi from main::@1 to inccnt [phi:main::@1->inccnt] //SEG21 [15] phi from main::@1 to inccnt [phi:main::@1->inccnt]
inccnt_from_b1: inccnt_from_b1:
@ -731,14 +733,16 @@ main: {
} }
//SEG31 inccnt //SEG31 inccnt
inccnt: { inccnt: {
//SEG32 [16] (byte) cnt#12 ← ++ (byte) cnt#11 [ cnt#12 cnt2#10 cnt3#10 ] ( main:2::inccnt:5 [ cnt#12 cnt2#10 cnt3#10 ] main:2::inccnt:10 [ cnt#12 cnt2#10 cnt3#10 ] ) -- vbuxx=_inc_vbuxx //SEG32 [16] (byte) cnt#12 ← ++ (byte) cnt#11 [ cnt#12 cnt2#10 cnt3#10 ] ( main:2::inccnt:5 [ cnt#12 cnt2#10 cnt3#10 ] main:2::inccnt:10 [ cnt#12 cnt2#10 cnt3#10 ] ) -- vbuz1=_inc_vbuaa
inx clc
adc #1
sta cnt
//SEG33 [17] (byte) cnt2#11 ← ++ (byte) cnt2#10 [ cnt#12 cnt3#10 cnt2#11 ] ( main:2::inccnt:5 [ cnt#12 cnt3#10 cnt2#11 ] main:2::inccnt:10 [ cnt#12 cnt3#10 cnt2#11 ] ) -- vbuyy=_inc_vbuyy //SEG33 [17] (byte) cnt2#11 ← ++ (byte) cnt2#10 [ cnt#12 cnt3#10 cnt2#11 ] ( main:2::inccnt:5 [ cnt#12 cnt3#10 cnt2#11 ] main:2::inccnt:10 [ cnt#12 cnt3#10 cnt2#11 ] ) -- vbuyy=_inc_vbuyy
iny iny
//SEG34 [18] (byte) cnt3#11 ← ++ (byte) cnt3#10 [ cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ cnt#12 cnt2#11 cnt3#11 ] ) -- vbuz1=_inc_vbuz1 //SEG34 [18] (byte) cnt3#11 ← ++ (byte) cnt3#10 [ cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ cnt#12 cnt2#11 cnt3#11 ] ) -- vbuxx=_inc_vbuxx
inc cnt3 inx
//SEG35 [19] (byte) inccnt::return#2 ← (byte) cnt#12 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ) -- vbuaa=vbuxx //SEG35 [19] (byte) inccnt::return#2 ← (byte) cnt#12 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ) -- vbuaa=vbuz1
txa lda cnt
jmp breturn jmp breturn
//SEG36 inccnt::@return //SEG36 inccnt::@return
breturn: breturn:
@ -754,8 +758,9 @@ Removing instruction jmp b2
Removing instruction jmp breturn Removing instruction jmp breturn
Removing instruction jmp breturn Removing instruction jmp breturn
Succesful ASM optimization Pass5NextJumpElimination Succesful ASM optimization Pass5NextJumpElimination
Replacing instruction ldy #0 with TAY Replacing instruction lda #0 with TXA
Replacing instruction ldx #0 with TAX Removing instruction lda cnt
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Removing instruction bbegin: Removing instruction bbegin:
Removing instruction b2_from_bbegin: Removing instruction b2_from_bbegin:
Removing instruction main_from_b2: Removing instruction main_from_b2:
@ -778,15 +783,15 @@ FINAL SYMBOL TABLE
(byte[256]) SCREEN (byte[256]) SCREEN
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024 (const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(byte) cnt (byte) cnt
(byte) cnt#11 reg byte x 4.0 (byte) cnt#11 reg byte a 4.0
(byte) cnt#12 reg byte x 0.6666666666666666 (byte) cnt#12 cnt zp ZP_BYTE:2 0.6666666666666666
(byte) cnt#2 reg byte x 4.0 (byte) cnt#2 reg byte a 4.0
(byte) cnt2 (byte) cnt2
(byte) cnt2#10 reg byte y 2.0 (byte) cnt2#10 reg byte y 2.0
(byte) cnt2#11 reg byte y 0.4444444444444444 (byte) cnt2#11 reg byte y 0.4444444444444444
(byte) cnt3 (byte) cnt3
(byte) cnt3#10 cnt3 zp ZP_BYTE:2 1.3333333333333333 (byte) cnt3#10 reg byte x 1.3333333333333333
(byte) cnt3#11 cnt3 zp ZP_BYTE:2 0.5 (byte) cnt3#11 reg byte x 0.5
(byte()) inccnt() (byte()) inccnt()
(label) inccnt::@return (label) inccnt::@return
(byte) inccnt::return (byte) inccnt::return
@ -800,19 +805,19 @@ FINAL SYMBOL TABLE
(label) main::@2 (label) main::@2
(label) main::@return (label) main::@return
reg byte x [ cnt#11 cnt#2 ] reg byte a [ cnt#11 cnt#2 ]
reg byte y [ cnt2#10 cnt2#11 ] reg byte y [ cnt2#10 cnt2#11 ]
zp ZP_BYTE:2 [ cnt3#10 cnt3#11 ] reg byte x [ cnt3#10 cnt3#11 ]
reg byte a [ inccnt::return#0 ] reg byte a [ inccnt::return#0 ]
reg byte a [ main::$0 ] reg byte a [ main::$0 ]
reg byte a [ inccnt::return#1 ] reg byte a [ inccnt::return#1 ]
reg byte a [ main::$1 ] reg byte a [ main::$1 ]
reg byte x [ cnt#12 ] zp ZP_BYTE:2 [ cnt#12 ]
reg byte a [ inccnt::return#2 ] reg byte a [ inccnt::return#2 ]
FINAL ASSEMBLER FINAL ASSEMBLER
Score: 60 Score: 62
//SEG0 Basic Upstart //SEG0 Basic Upstart
.pc = $801 "Basic" .pc = $801 "Basic"
@ -820,7 +825,7 @@ Score: 60
.pc = $80d "Program" .pc = $80d "Program"
//SEG1 Global Constants & labels //SEG1 Global Constants & labels
.label SCREEN = $400 .label SCREEN = $400
.label cnt3 = 2 .label cnt = 2
//SEG2 @begin //SEG2 @begin
//SEG3 [1] phi from @begin to @2 [phi:@begin->@2] //SEG3 [1] phi from @begin to @2 [phi:@begin->@2]
//SEG4 @2 //SEG4 @2
@ -833,13 +838,12 @@ Score: 60
main: { main: {
//SEG10 [5] call inccnt param-assignment [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ) //SEG10 [5] call inccnt param-assignment [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] )
//SEG11 [15] phi from main to inccnt [phi:main->inccnt] //SEG11 [15] phi from main to inccnt [phi:main->inccnt]
//SEG12 [15] phi (byte) cnt3#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#0] -- vbuz1=vbuc1 //SEG12 [15] phi (byte) cnt3#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#0] -- vbuxx=vbuc1
lda #0 ldx #0
sta cnt3
//SEG13 [15] phi (byte) cnt2#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#1] -- vbuyy=vbuc1 //SEG13 [15] phi (byte) cnt2#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#1] -- vbuyy=vbuc1
tay ldy #0
//SEG14 [15] phi (byte) cnt#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#2] -- vbuxx=vbuc1 //SEG14 [15] phi (byte) cnt#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->inccnt#2] -- vbuaa=vbuc1
tax txa
jsr inccnt jsr inccnt
//SEG15 [6] (byte) inccnt::return#0 ← (byte) inccnt::return#2 [ inccnt::return#0 cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ inccnt::return#0 cnt#12 cnt2#11 cnt3#11 ] ) //SEG15 [6] (byte) inccnt::return#0 ← (byte) inccnt::return#2 [ inccnt::return#0 cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ inccnt::return#0 cnt#12 cnt2#11 cnt3#11 ] )
// (byte) inccnt::return#0 = (byte) inccnt::return#2 // register copy reg byte a // (byte) inccnt::return#0 = (byte) inccnt::return#2 // register copy reg byte a
@ -848,8 +852,10 @@ main: {
// (byte~) main::$0 = (byte) inccnt::return#0 // register copy reg byte a // (byte~) main::$0 = (byte) inccnt::return#0 // register copy reg byte a
//SEG18 [8] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 [ cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ cnt#12 cnt2#11 cnt3#11 ] ) -- _deref_pbuc1=vbuaa //SEG18 [8] *((const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 0) ← (byte~) main::$0 [ cnt#12 cnt2#11 cnt3#11 ] ( main:2 [ cnt#12 cnt2#11 cnt3#11 ] ) -- _deref_pbuc1=vbuaa
sta SCREEN+0 sta SCREEN+0
//SEG19 [9] (byte) cnt#2 ← ++ (byte) cnt#12 [ cnt#2 cnt2#11 cnt3#11 ] ( main:2 [ cnt#2 cnt2#11 cnt3#11 ] ) -- vbuxx=_inc_vbuxx //SEG19 [9] (byte) cnt#2 ← ++ (byte) cnt#12 [ cnt#2 cnt2#11 cnt3#11 ] ( main:2 [ cnt#2 cnt2#11 cnt3#11 ] ) -- vbuaa=_inc_vbuz1
inx lda cnt
clc
adc #1
//SEG20 [10] call inccnt param-assignment [ inccnt::return#2 ] ( main:2 [ inccnt::return#2 ] ) //SEG20 [10] call inccnt param-assignment [ inccnt::return#2 ] ( main:2 [ inccnt::return#2 ] )
//SEG21 [15] phi from main::@1 to inccnt [phi:main::@1->inccnt] //SEG21 [15] phi from main::@1 to inccnt [phi:main::@1->inccnt]
//SEG22 [15] phi (byte) cnt3#10 = (byte) cnt3#11 [phi:main::@1->inccnt#0] -- register_copy //SEG22 [15] phi (byte) cnt3#10 = (byte) cnt3#11 [phi:main::@1->inccnt#0] -- register_copy
@ -869,14 +875,15 @@ main: {
} }
//SEG31 inccnt //SEG31 inccnt
inccnt: { inccnt: {
//SEG32 [16] (byte) cnt#12 ← ++ (byte) cnt#11 [ cnt#12 cnt2#10 cnt3#10 ] ( main:2::inccnt:5 [ cnt#12 cnt2#10 cnt3#10 ] main:2::inccnt:10 [ cnt#12 cnt2#10 cnt3#10 ] ) -- vbuxx=_inc_vbuxx //SEG32 [16] (byte) cnt#12 ← ++ (byte) cnt#11 [ cnt#12 cnt2#10 cnt3#10 ] ( main:2::inccnt:5 [ cnt#12 cnt2#10 cnt3#10 ] main:2::inccnt:10 [ cnt#12 cnt2#10 cnt3#10 ] ) -- vbuz1=_inc_vbuaa
inx clc
adc #1
sta cnt
//SEG33 [17] (byte) cnt2#11 ← ++ (byte) cnt2#10 [ cnt#12 cnt3#10 cnt2#11 ] ( main:2::inccnt:5 [ cnt#12 cnt3#10 cnt2#11 ] main:2::inccnt:10 [ cnt#12 cnt3#10 cnt2#11 ] ) -- vbuyy=_inc_vbuyy //SEG33 [17] (byte) cnt2#11 ← ++ (byte) cnt2#10 [ cnt#12 cnt3#10 cnt2#11 ] ( main:2::inccnt:5 [ cnt#12 cnt3#10 cnt2#11 ] main:2::inccnt:10 [ cnt#12 cnt3#10 cnt2#11 ] ) -- vbuyy=_inc_vbuyy
iny iny
//SEG34 [18] (byte) cnt3#11 ← ++ (byte) cnt3#10 [ cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ cnt#12 cnt2#11 cnt3#11 ] ) -- vbuz1=_inc_vbuz1 //SEG34 [18] (byte) cnt3#11 ← ++ (byte) cnt3#10 [ cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ cnt#12 cnt2#11 cnt3#11 ] ) -- vbuxx=_inc_vbuxx
inc cnt3 inx
//SEG35 [19] (byte) inccnt::return#2 ← (byte) cnt#12 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ) -- vbuaa=vbuxx //SEG35 [19] (byte) inccnt::return#2 ← (byte) cnt#12 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ) -- vbuaa=vbuz1
txa
//SEG36 inccnt::@return //SEG36 inccnt::@return
//SEG37 [20] return [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ) //SEG37 [20] return [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] ( main:2::inccnt:5 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] main:2::inccnt:10 [ inccnt::return#2 cnt#12 cnt2#11 cnt3#11 ] )
rts rts

View File

@ -4,15 +4,15 @@
(byte[256]) SCREEN (byte[256]) SCREEN
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024 (const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(byte) cnt (byte) cnt
(byte) cnt#11 reg byte x 4.0 (byte) cnt#11 reg byte a 4.0
(byte) cnt#12 reg byte x 0.6666666666666666 (byte) cnt#12 cnt zp ZP_BYTE:2 0.6666666666666666
(byte) cnt#2 reg byte x 4.0 (byte) cnt#2 reg byte a 4.0
(byte) cnt2 (byte) cnt2
(byte) cnt2#10 reg byte y 2.0 (byte) cnt2#10 reg byte y 2.0
(byte) cnt2#11 reg byte y 0.4444444444444444 (byte) cnt2#11 reg byte y 0.4444444444444444
(byte) cnt3 (byte) cnt3
(byte) cnt3#10 cnt3 zp ZP_BYTE:2 1.3333333333333333 (byte) cnt3#10 reg byte x 1.3333333333333333
(byte) cnt3#11 cnt3 zp ZP_BYTE:2 0.5 (byte) cnt3#11 reg byte x 0.5
(byte()) inccnt() (byte()) inccnt()
(label) inccnt::@return (label) inccnt::@return
(byte) inccnt::return (byte) inccnt::return
@ -26,12 +26,12 @@
(label) main::@2 (label) main::@2
(label) main::@return (label) main::@return
reg byte x [ cnt#11 cnt#2 ] reg byte a [ cnt#11 cnt#2 ]
reg byte y [ cnt2#10 cnt2#11 ] reg byte y [ cnt2#10 cnt2#11 ]
zp ZP_BYTE:2 [ cnt3#10 cnt3#11 ] reg byte x [ cnt3#10 cnt3#11 ]
reg byte a [ inccnt::return#0 ] reg byte a [ inccnt::return#0 ]
reg byte a [ main::$0 ] reg byte a [ main::$0 ]
reg byte a [ inccnt::return#1 ] reg byte a [ inccnt::return#1 ]
reg byte a [ main::$1 ] reg byte a [ main::$1 ]
reg byte x [ cnt#12 ] zp ZP_BYTE:2 [ cnt#12 ]
reg byte a [ inccnt::return#2 ] reg byte a [ inccnt::return#2 ]

View File

@ -1051,6 +1051,7 @@ Uplift Scope [main] 23.1: zp ZP_BYTE:4 [ main::c#2 main::c#1 ] 15.58: zp ZP_WORD
Uplift Scope [] Uplift Scope []
Uplifting [gen_char3] best 61682 combination reg byte y [ gen_char3::b#3 gen_char3::b#4 gen_char3::b#1 gen_char3::b#2 ] reg byte a [ gen_char3::$0 ] reg byte a [ gen_char3::$1 ] reg byte x [ gen_char3::c#2 gen_char3::c#1 ] zp ZP_WORD:6 [ gen_char3::spec#2 gen_char3::spec#4 gen_char3::spec#0 gen_char3::spec#1 ] zp ZP_BYTE:5 [ gen_char3::r#6 gen_char3::r#1 ] zp ZP_WORD:10 [ gen_char3::dst#0 ] Uplifting [gen_char3] best 61682 combination reg byte y [ gen_char3::b#3 gen_char3::b#4 gen_char3::b#1 gen_char3::b#2 ] reg byte a [ gen_char3::$0 ] reg byte a [ gen_char3::$1 ] reg byte x [ gen_char3::c#2 gen_char3::c#1 ] zp ZP_WORD:6 [ gen_char3::spec#2 gen_char3::spec#4 gen_char3::spec#0 gen_char3::spec#1 ] zp ZP_BYTE:5 [ gen_char3::r#6 gen_char3::r#1 ] zp ZP_WORD:10 [ gen_char3::dst#0 ]
Limited combination testing to 100 combinations of 432 possible.
Uplifting [main] best 61682 combination zp ZP_BYTE:4 [ main::c#2 main::c#1 ] zp ZP_WORD:2 [ main::charset#2 main::charset#1 ] Uplifting [main] best 61682 combination zp ZP_BYTE:4 [ main::c#2 main::c#1 ] zp ZP_WORD:2 [ main::charset#2 main::charset#1 ]
Uplifting [] best 61682 combination Uplifting [] best 61682 combination
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ gen_char3::r#6 gen_char3::r#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ gen_char3::r#6 gen_char3::r#1 ]

View File

@ -3150,15 +3150,18 @@ Uplift Scope [next_char] 8.5: zp ZP_BYTE:13 [ next_char::return#1 next_char::c#0
Uplift Scope [main] Uplift Scope [main]
Uplift Scope [scroll_soft] Uplift Scope [scroll_soft]
Uplifting [scroll_bit] best 28296 combination reg byte a [ scroll_bit::bits#0 ] reg byte a [ scroll_bit::$9 ] reg byte x [ scroll_bit::r#2 scroll_bit::r#1 ] zp ZP_WORD:7 [ scroll_bit::sc#2 scroll_bit::sc#1 ] reg byte a [ scroll_bit::b#2 ] reg byte a [ scroll_bit::$3 ] zp ZP_WORD:18 [ scroll_bit::c#0 ] zp ZP_WORD:20 [ scroll_bit::$4 ] Uplifting [scroll_bit] best 28302 combination reg byte a [ scroll_bit::bits#0 ] reg byte a [ scroll_bit::$9 ] reg byte x [ scroll_bit::r#2 scroll_bit::r#1 ] zp ZP_WORD:7 [ scroll_bit::sc#2 scroll_bit::sc#1 ] reg byte a [ scroll_bit::b#2 ] zp ZP_BYTE:17 [ scroll_bit::$3 ] zp ZP_WORD:18 [ scroll_bit::c#0 ] zp ZP_WORD:20 [ scroll_bit::$4 ]
Uplifting [scroll_hard] best 24996 combination reg byte x [ scroll_hard::i#2 scroll_hard::i#1 ] Limited combination testing to 100 combinations of 512 possible.
Uplifting [] best 24684 combination zp ZP_WORD:4 [ current_chargen#27 current_chargen#11 current_chargen#19 current_chargen#5 ] zp ZP_BYTE:3 [ current_bit#29 current_bit#12 current_bit#21 current_bit#5 ] zp ZP_WORD:11 [ nxt#18 nxt#31 nxt#14 nxt#36 nxt#19 ] reg byte x [ scroll#18 scroll#10 scroll#3 ] Uplifting [scroll_hard] best 25002 combination reg byte x [ scroll_hard::i#2 scroll_hard::i#1 ]
Uplifting [fillscreen] best 24684 combination zp ZP_WORD:14 [ fillscreen::cursor#2 fillscreen::cursor#1 ] Uplifting [] best 24690 combination zp ZP_WORD:4 [ current_chargen#27 current_chargen#11 current_chargen#19 current_chargen#5 ] zp ZP_BYTE:3 [ current_bit#29 current_bit#12 current_bit#21 current_bit#5 ] zp ZP_WORD:11 [ nxt#18 nxt#31 nxt#14 nxt#36 nxt#19 ] reg byte x [ scroll#18 scroll#10 scroll#3 ]
Uplifting [next_char] best 24666 combination reg byte a [ next_char::return#1 next_char::c#0 next_char::c#1 ] reg byte a [ next_char::return#0 ] Uplifting [fillscreen] best 24690 combination zp ZP_WORD:14 [ fillscreen::cursor#2 fillscreen::cursor#1 ]
Uplifting [main] best 24666 combination Uplifting [next_char] best 24672 combination reg byte a [ next_char::return#1 next_char::c#0 next_char::c#1 ] reg byte a [ next_char::return#0 ]
Uplifting [scroll_soft] best 24666 combination Uplifting [main] best 24672 combination
Uplifting [scroll_soft] best 24672 combination
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ current_bit#29 current_bit#12 current_bit#21 current_bit#5 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ current_bit#29 current_bit#12 current_bit#21 current_bit#5 ]
Uplifting [] best 24666 combination zp ZP_BYTE:3 [ current_bit#29 current_bit#12 current_bit#21 current_bit#5 ] Uplifting [] best 24672 combination zp ZP_BYTE:3 [ current_bit#29 current_bit#12 current_bit#21 current_bit#5 ]
Attempting to uplift remaining variables inzp ZP_BYTE:17 [ scroll_bit::$3 ]
Uplifting [scroll_bit] best 24666 combination reg byte a [ scroll_bit::$3 ]
Coalescing zero page register with common assignment [ zp ZP_WORD:4 [ current_chargen#27 current_chargen#11 current_chargen#19 current_chargen#5 ] ] with [ zp ZP_WORD:20 [ scroll_bit::$4 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:4 [ current_chargen#27 current_chargen#11 current_chargen#19 current_chargen#5 ] ] with [ zp ZP_WORD:20 [ scroll_bit::$4 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_WORD:4 [ current_chargen#27 current_chargen#11 current_chargen#19 current_chargen#5 scroll_bit::$4 ] ] with [ zp ZP_WORD:18 [ scroll_bit::c#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:4 [ current_chargen#27 current_chargen#11 current_chargen#19 current_chargen#5 scroll_bit::$4 ] ] with [ zp ZP_WORD:18 [ scroll_bit::c#0 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:4 [ current_chargen#27 current_chargen#11 current_chargen#19 current_chargen#5 scroll_bit::$4 scroll_bit::c#0 ] ] with [ zp ZP_WORD:14 [ fillscreen::cursor#2 fillscreen::cursor#1 ] ] Coalescing zero page register [ zp ZP_WORD:4 [ current_chargen#27 current_chargen#11 current_chargen#19 current_chargen#5 scroll_bit::$4 scroll_bit::c#0 ] ] with [ zp ZP_WORD:14 [ fillscreen::cursor#2 fillscreen::cursor#1 ] ]

View File

@ -8419,10 +8419,11 @@ Uplift Scope [progress_init]
Uplift Scope [progress_inc] Uplift Scope [progress_inc]
Uplifting [gen_chargen_sprite] best 1065230 combination zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] zp ZP_WORD:43 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] reg byte y [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] reg byte a [ gen_chargen_sprite::$6 ] reg byte x [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] reg byte a [ gen_chargen_sprite::$3 ] zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] zp ZP_BYTE:64 [ gen_chargen_sprite::ch#0 ] zp ZP_WORD:65 [ gen_chargen_sprite::$0 ] zp ZP_WORD:67 [ gen_chargen_sprite::$1 ] zp ZP_WORD:69 [ gen_chargen_sprite::chargen#0 ] Uplifting [gen_chargen_sprite] best 1065230 combination zp ZP_BYTE:40 [ gen_chargen_sprite::s_gen#3 gen_chargen_sprite::s_gen#5 gen_chargen_sprite::s_gen#6 gen_chargen_sprite::s_gen#1 ] zp ZP_WORD:43 [ gen_chargen_sprite::sprite#3 gen_chargen_sprite::sprite#10 gen_chargen_sprite::sprite#11 gen_chargen_sprite::sprite#0 gen_chargen_sprite::sprite#2 gen_chargen_sprite::sprite#4 gen_chargen_sprite::sprite#1 ] reg byte y [ gen_chargen_sprite::s_gen_cnt#3 gen_chargen_sprite::s_gen_cnt#4 gen_chargen_sprite::s_gen_cnt#5 gen_chargen_sprite::s_gen_cnt#1 ] reg byte a [ gen_chargen_sprite::$6 ] reg byte x [ gen_chargen_sprite::b#2 gen_chargen_sprite::b#1 ] reg byte a [ gen_chargen_sprite::$3 ] zp ZP_BYTE:38 [ gen_chargen_sprite::x#6 gen_chargen_sprite::x#1 ] zp ZP_BYTE:37 [ gen_chargen_sprite::bits#2 gen_chargen_sprite::bits#0 gen_chargen_sprite::bits#1 ] zp ZP_BYTE:39 [ gen_chargen_sprite::c#3 ] zp ZP_BYTE:36 [ gen_chargen_sprite::y#2 gen_chargen_sprite::y#1 ] zp ZP_BYTE:64 [ gen_chargen_sprite::ch#0 ] zp ZP_WORD:65 [ gen_chargen_sprite::$0 ] zp ZP_WORD:67 [ gen_chargen_sprite::$1 ] zp ZP_WORD:69 [ gen_chargen_sprite::chargen#0 ]
Limited combination testing to 1000 combinations of 9216 possible. Limited combination testing to 100 combinations of 9216 possible.
Uplifting [anim] best 1063027 combination reg byte x [ anim::yidx#3 anim::yidx#0 anim::yidx#6 anim::yidx#1 anim::yidx#2 ] zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] reg byte a [ anim::$3 ] reg byte a [ anim::$5 ] zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] zp ZP_BYTE:52 [ anim::$2 ] zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] zp ZP_WORD:50 [ anim::x#0 ] Uplifting [anim] best 1063027 combination reg byte x [ anim::yidx#3 anim::yidx#0 anim::yidx#6 anim::yidx#1 anim::yidx#2 ] zp ZP_BYTE:4 [ anim::xidx#3 anim::xidx#0 anim::xidx#5 anim::xidx#1 anim::xidx#2 ] reg byte a [ anim::$3 ] reg byte a [ anim::$5 ] zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ] zp ZP_BYTE:5 [ anim::x_msb#2 anim::x_msb#1 ] zp ZP_BYTE:52 [ anim::$2 ] zp ZP_BYTE:6 [ anim::j2#2 anim::j2#1 ] zp ZP_WORD:50 [ anim::x#0 ]
Limited combination testing to 1000 combinations of 19440 possible. Limited combination testing to 100 combinations of 19440 possible.
Uplifting [place_sprites] best 1062667 combination reg byte x [ place_sprites::j2#1 ] reg byte y [ place_sprites::j#2 place_sprites::j#1 ] zp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] reg byte x [ place_sprites::j2#3 place_sprites::j2#2 ] zp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] zp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ] Uplifting [place_sprites] best 1062667 combination reg byte x [ place_sprites::j2#1 ] reg byte y [ place_sprites::j#2 place_sprites::j#1 ] zp ZP_BYTE:45 [ place_sprites::spr_id#2 place_sprites::spr_id#1 ] reg byte x [ place_sprites::j2#3 place_sprites::j2#2 ] zp ZP_BYTE:47 [ place_sprites::spr_x#2 place_sprites::spr_x#1 ] zp ZP_BYTE:49 [ place_sprites::col#2 place_sprites::col#1 ]
Limited combination testing to 100 combinations of 972 possible.
Uplifting [setFAC] best 1062667 combination zp ZP_WORD:29 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ] Uplifting [setFAC] best 1062667 combination zp ZP_WORD:29 [ setFAC::w#5 setFAC::w#0 setFAC::w#3 setFAC::w#4 setFAC::w#1 ]
Uplifting [gen_sintab] best 1062600 combination zp ZP_WORD:57 [ gen_sintab::$23 ] reg byte a [ gen_sintab::$24 ] zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] reg byte x [ gen_sintab::max#2 ] zp ZP_BYTE:14 [ gen_sintab::length#10 ] zp ZP_BYTE:13 [ gen_sintab::min#2 ] zp ZP_WORD:15 [ gen_sintab::sintab#12 ] Uplifting [gen_sintab] best 1062600 combination zp ZP_WORD:57 [ gen_sintab::$23 ] reg byte a [ gen_sintab::$24 ] zp ZP_BYTE:17 [ gen_sintab::i#10 gen_sintab::i#1 ] reg byte x [ gen_sintab::max#2 ] zp ZP_BYTE:14 [ gen_sintab::length#10 ] zp ZP_BYTE:13 [ gen_sintab::min#2 ] zp ZP_WORD:15 [ gen_sintab::sintab#12 ]
Uplifting [gen_sprites] best 1062600 combination zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] zp ZP_WORD:34 [ gen_sprites::spr#2 gen_sprites::spr#1 ] Uplifting [gen_sprites] best 1062600 combination zp ZP_BYTE:33 [ gen_sprites::i#2 gen_sprites::i#1 ] zp ZP_WORD:34 [ gen_sprites::spr#2 gen_sprites::spr#1 ]

View File

@ -6709,21 +6709,27 @@ Uplifting [mul8u] best 18977 combination zp ZP_WORD:26 [ mul8u::res#2 mul8u::res
Uplifting [print_str] best 18977 combination zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 ] Uplifting [print_str] best 18977 combination zp ZP_WORD:3 [ print_str::str#3 print_str::str#5 print_str::str#0 ]
Uplifting [divr16u] best 18787 combination zp ZP_WORD:30 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:34 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:32 [ divr16u::dividend#2 divr16u::dividend#0 ] zp ZP_WORD:70 [ divr16u::return#2 ] Uplifting [divr16u] best 18787 combination zp ZP_WORD:30 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:34 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:32 [ divr16u::dividend#2 divr16u::dividend#0 ] zp ZP_WORD:70 [ divr16u::return#2 ]
Uplifting [] best 18787 combination zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ] Uplifting [] best 18787 combination zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ]
Uplifting [sin8s] best 18672 combination zp ZP_WORD:18 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] reg byte a [ sin8s::return#0 ] reg byte a [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:46 [ sin8s::$6 ] reg byte a [ sin8s::x2#0 ] reg byte a [ sin8s::x3_6#0 ] zp ZP_BYTE:57 [ sin8s::x4#0 ] zp ZP_BYTE:59 [ sin8s::x5#0 ] zp ZP_BYTE:60 [ sin8s::x5_128#0 ] zp ZP_BYTE:52 [ sin8s::x3#0 ] zp ZP_BYTE:48 [ sin8s::x1#0 ] zp ZP_BYTE:55 [ sin8s::usinx#0 ] zp ZP_BYTE:17 [ sin8s::isUpper#10 ] Uplifting [sin8s] best 18682 combination zp ZP_WORD:18 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] reg byte a [ sin8s::return#0 ] reg byte a [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:46 [ sin8s::$6 ] zp ZP_BYTE:50 [ sin8s::x2#0 ] zp ZP_BYTE:54 [ sin8s::x3_6#0 ] zp ZP_BYTE:57 [ sin8s::x4#0 ] zp ZP_BYTE:59 [ sin8s::x5#0 ] zp ZP_BYTE:60 [ sin8s::x5_128#0 ] zp ZP_BYTE:52 [ sin8s::x3#0 ] zp ZP_BYTE:48 [ sin8s::x1#0 ] zp ZP_BYTE:55 [ sin8s::usinx#0 ] zp ZP_BYTE:17 [ sin8s::isUpper#10 ]
Limited combination testing to 1000 combinations of 5308416 possible. Limited combination testing to 100 combinations of 5308416 possible.
Uplifting [mulu8_sel] best 18622 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] reg byte a [ mulu8_sel::return#2 ] zp ZP_BYTE:56 [ mulu8_sel::return#10 ] zp ZP_BYTE:58 [ mulu8_sel::return#11 ] zp ZP_WORD:64 [ mulu8_sel::$0 ] zp ZP_WORD:66 [ mulu8_sel::$1 ] zp ZP_BYTE:68 [ mulu8_sel::return#12 ] zp ZP_BYTE:24 [ mulu8_sel::select#5 ] Uplifting [mulu8_sel] best 18636 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] zp ZP_BYTE:53 [ mulu8_sel::return#2 ] zp ZP_BYTE:56 [ mulu8_sel::return#10 ] zp ZP_BYTE:58 [ mulu8_sel::return#11 ] zp ZP_WORD:64 [ mulu8_sel::$0 ] zp ZP_WORD:66 [ mulu8_sel::$1 ] zp ZP_BYTE:68 [ mulu8_sel::return#12 ] zp ZP_BYTE:24 [ mulu8_sel::select#5 ]
Limited combination testing to 1000 combinations of 196608 possible. Limited combination testing to 100 combinations of 196608 possible.
Uplifting [sin8s_gen] best 18562 combination reg byte a [ sin8s_gen::$1 ] zp ZP_WORD:15 [ sin8s_gen::i#2 sin8s_gen::i#1 ] zp ZP_WORD:11 [ sin8s_gen::x#2 sin8s_gen::x#1 ] zp ZP_WORD:13 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] zp ZP_WORD:42 [ sin8s_gen::step#0 ] Uplifting [sin8s_gen] best 18576 combination reg byte a [ sin8s_gen::$1 ] zp ZP_WORD:15 [ sin8s_gen::i#2 sin8s_gen::i#1 ] zp ZP_WORD:11 [ sin8s_gen::x#2 sin8s_gen::x#1 ] zp ZP_WORD:13 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] zp ZP_WORD:42 [ sin8s_gen::step#0 ]
Uplifting [print_cls] best 18562 combination zp ZP_WORD:9 [ print_cls::sc#2 print_cls::sc#1 ] Uplifting [print_cls] best 18576 combination zp ZP_WORD:9 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [main] best 18442 combination reg byte x [ main::i#2 main::i#1 ] zp ZP_BYTE:37 [ main::sb#0 ] Uplifting [main] best 18456 combination reg byte x [ main::i#2 main::i#1 ] zp ZP_BYTE:37 [ main::sb#0 ]
Uplifting [print_char] best 18430 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] Uplifting [print_char] best 18444 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ]
Uplifting [print_sbyte] best 18430 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] Uplifting [print_sbyte] best 18444 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ]
Uplifting [print_byte] best 18422 combination reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] Uplifting [print_byte] best 18436 combination reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [div16u] best 18422 combination zp ZP_WORD:40 [ div16u::return#2 ] zp ZP_WORD:72 [ div16u::return#0 ] Uplifting [div16u] best 18436 combination zp ZP_WORD:40 [ div16u::return#2 ] zp ZP_WORD:72 [ div16u::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ]
Uplifting [print_sbyte] best 18422 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] Uplifting [print_sbyte] best 18436 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:37 [ main::sb#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:37 [ main::sb#0 ]
Uplifting [main] best 18422 combination zp ZP_BYTE:37 [ main::sb#0 ] Uplifting [main] best 18436 combination zp ZP_BYTE:37 [ main::sb#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:50 [ sin8s::x2#0 ]
Uplifting [sin8s] best 18432 combination reg byte a [ sin8s::x2#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:53 [ mulu8_sel::return#2 ]
Uplifting [mulu8_sel] best 18426 combination reg byte a [ mulu8_sel::return#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:54 [ sin8s::x3_6#0 ]
Uplifting [sin8s] best 18422 combination reg byte a [ sin8s::x3_6#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:56 [ mulu8_sel::return#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:56 [ mulu8_sel::return#10 ]
Uplifting [mulu8_sel] best 18416 combination reg byte a [ mulu8_sel::return#10 ] Uplifting [mulu8_sel] best 18416 combination reg byte a [ mulu8_sel::return#10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:57 [ sin8s::x4#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:57 [ sin8s::x4#0 ]

View File

@ -9363,24 +9363,30 @@ Uplifting [print_str] best 34981 combination zp ZP_WORD:3 [ print_str::str#3 pri
Uplifting [divr16u] best 34791 combination zp ZP_WORD:43 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:45 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] zp ZP_WORD:143 [ divr16u::return#3 ] zp ZP_WORD:147 [ divr16u::return#4 ] zp ZP_WORD:189 [ divr16u::return#2 ] zp ZP_WORD:41 [ divr16u::divisor#7 ] Uplifting [divr16u] best 34791 combination zp ZP_WORD:43 [ divr16u::rem#6 divr16u::rem#11 divr16u::rem#5 divr16u::rem#10 divr16u::rem#7 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:47 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:45 [ divr16u::dividend#4 divr16u::dividend#6 divr16u::dividend#0 ] zp ZP_WORD:143 [ divr16u::return#3 ] zp ZP_WORD:147 [ divr16u::return#4 ] zp ZP_WORD:189 [ divr16u::return#2 ] zp ZP_WORD:41 [ divr16u::divisor#7 ]
Uplifting [] best 34791 combination zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ] zp ZP_WORD:157 [ rem16u#1 ] Uplifting [] best 34791 combination zp ZP_WORD:7 [ print_char_cursor#27 print_char_cursor#37 print_char_cursor#44 print_char_cursor#41 print_char_cursor#42 print_char_cursor#19 print_char_cursor#10 print_char_cursor#1 ] zp ZP_WORD:157 [ rem16u#1 ]
Uplifting [main] best 34621 combination zp ZP_WORD:70 [ main::$3 ] zp ZP_WORD:72 [ main::$4 ] zp ZP_WORD:74 [ main::$5 ] zp ZP_WORD:76 [ main::sw#0 ] reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$6 ] zp ZP_BYTE:79 [ main::sd#0 ] zp ZP_BYTE:69 [ main::sb#0 ] Uplifting [main] best 34621 combination zp ZP_WORD:70 [ main::$3 ] zp ZP_WORD:72 [ main::$4 ] zp ZP_WORD:74 [ main::$5 ] zp ZP_WORD:76 [ main::sw#0 ] reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$6 ] zp ZP_BYTE:79 [ main::sd#0 ] zp ZP_BYTE:69 [ main::sb#0 ]
Uplifting [sin8s] best 34506 combination zp ZP_WORD:57 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] reg byte a [ sin8s::return#0 ] reg byte a [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:165 [ sin8s::$6 ] reg byte a [ sin8s::x2#0 ] reg byte a [ sin8s::x3_6#0 ] zp ZP_BYTE:176 [ sin8s::x4#0 ] zp ZP_BYTE:178 [ sin8s::x5#0 ] zp ZP_BYTE:179 [ sin8s::x5_128#0 ] zp ZP_BYTE:171 [ sin8s::x3#0 ] zp ZP_BYTE:167 [ sin8s::x1#0 ] zp ZP_BYTE:174 [ sin8s::usinx#0 ] zp ZP_BYTE:56 [ sin8s::isUpper#10 ] Uplifting [sin8s] best 34516 combination zp ZP_WORD:57 [ sin8s::x#6 sin8s::x#4 sin8s::x#0 sin8s::x#1 sin8s::x#2 ] reg byte a [ sin8s::return#0 ] reg byte a [ sin8s::return#1 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:165 [ sin8s::$6 ] zp ZP_BYTE:169 [ sin8s::x2#0 ] zp ZP_BYTE:173 [ sin8s::x3_6#0 ] zp ZP_BYTE:176 [ sin8s::x4#0 ] zp ZP_BYTE:178 [ sin8s::x5#0 ] zp ZP_BYTE:179 [ sin8s::x5_128#0 ] zp ZP_BYTE:171 [ sin8s::x3#0 ] zp ZP_BYTE:167 [ sin8s::x1#0 ] zp ZP_BYTE:174 [ sin8s::usinx#0 ] zp ZP_BYTE:56 [ sin8s::isUpper#10 ]
Limited combination testing to 1000 combinations of 5308416 possible. Limited combination testing to 100 combinations of 5308416 possible.
Uplifting [sin16s] best 34506 combination zp ZP_DWORD:20 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp ZP_WORD:90 [ sin16s::return#0 ] zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp ZP_DWORD:94 [ sin16s::$6 ] zp ZP_WORD:102 [ sin16s::x2#0 ] zp ZP_WORD:110 [ sin16s::x3_6#0 ] zp ZP_WORD:116 [ sin16s::x4#0 ] zp ZP_WORD:120 [ sin16s::x5#0 ] zp ZP_WORD:122 [ sin16s::x5_128#0 ] zp ZP_WORD:106 [ sin16s::x3#0 ] zp ZP_WORD:124 [ sin16s::usinx#1 ] zp ZP_WORD:98 [ sin16s::x1#0 ] zp ZP_WORD:112 [ sin16s::usinx#0 ] zp ZP_BYTE:19 [ sin16s::isUpper#2 ] Uplifting [sin16s] best 34516 combination zp ZP_DWORD:20 [ sin16s::x#6 sin16s::x#4 sin16s::x#0 sin16s::x#1 sin16s::x#2 ] zp ZP_WORD:90 [ sin16s::return#0 ] zp ZP_WORD:24 [ sin16s::return#1 sin16s::return#5 sin16s::sinx#1 ] zp ZP_DWORD:94 [ sin16s::$6 ] zp ZP_WORD:102 [ sin16s::x2#0 ] zp ZP_WORD:110 [ sin16s::x3_6#0 ] zp ZP_WORD:116 [ sin16s::x4#0 ] zp ZP_WORD:120 [ sin16s::x5#0 ] zp ZP_WORD:122 [ sin16s::x5_128#0 ] zp ZP_WORD:106 [ sin16s::x3#0 ] zp ZP_WORD:124 [ sin16s::usinx#1 ] zp ZP_WORD:98 [ sin16s::x1#0 ] zp ZP_WORD:112 [ sin16s::usinx#0 ] zp ZP_BYTE:19 [ sin16s::isUpper#2 ]
Uplifting [mulu16_sel] best 34490 combination zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] zp ZP_WORD:100 [ mulu16_sel::return#0 ] zp ZP_WORD:104 [ mulu16_sel::return#1 ] zp ZP_WORD:108 [ mulu16_sel::return#2 ] zp ZP_WORD:114 [ mulu16_sel::return#10 ] zp ZP_WORD:118 [ mulu16_sel::return#11 ] zp ZP_DWORD:132 [ mulu16_sel::$0 ] zp ZP_DWORD:136 [ mulu16_sel::$1 ] zp ZP_WORD:140 [ mulu16_sel::return#12 ] reg byte x [ mulu16_sel::select#5 ] Uplifting [mulu16_sel] best 34500 combination zp ZP_WORD:26 [ mulu16_sel::v1#5 mulu16_sel::v1#3 mulu16_sel::v1#4 mulu16_sel::v1#0 mulu16_sel::v1#1 mulu16_sel::v1#2 ] zp ZP_WORD:28 [ mulu16_sel::v2#5 mulu16_sel::v2#3 mulu16_sel::v2#4 mulu16_sel::v2#0 mulu16_sel::v2#1 ] zp ZP_WORD:100 [ mulu16_sel::return#0 ] zp ZP_WORD:104 [ mulu16_sel::return#1 ] zp ZP_WORD:108 [ mulu16_sel::return#2 ] zp ZP_WORD:114 [ mulu16_sel::return#10 ] zp ZP_WORD:118 [ mulu16_sel::return#11 ] zp ZP_DWORD:132 [ mulu16_sel::$0 ] zp ZP_DWORD:136 [ mulu16_sel::$1 ] zp ZP_WORD:140 [ mulu16_sel::return#12 ] reg byte x [ mulu16_sel::select#5 ]
Uplifting [mulu8_sel] best 34440 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] reg byte a [ mulu8_sel::return#2 ] zp ZP_BYTE:175 [ mulu8_sel::return#10 ] zp ZP_BYTE:177 [ mulu8_sel::return#11 ] zp ZP_WORD:183 [ mulu8_sel::$0 ] zp ZP_WORD:185 [ mulu8_sel::$1 ] zp ZP_BYTE:187 [ mulu8_sel::return#12 ] zp ZP_BYTE:63 [ mulu8_sel::select#5 ] Uplifting [mulu8_sel] best 34454 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] zp ZP_BYTE:172 [ mulu8_sel::return#2 ] zp ZP_BYTE:175 [ mulu8_sel::return#10 ] zp ZP_BYTE:177 [ mulu8_sel::return#11 ] zp ZP_WORD:183 [ mulu8_sel::$0 ] zp ZP_WORD:185 [ mulu8_sel::$1 ] zp ZP_BYTE:187 [ mulu8_sel::return#12 ] zp ZP_BYTE:63 [ mulu8_sel::select#5 ]
Limited combination testing to 1000 combinations of 196608 possible. Limited combination testing to 100 combinations of 196608 possible.
Uplifting [sin16s_gen] best 34440 combination zp ZP_WORD:92 [ sin16s_gen::$1 ] zp ZP_WORD:17 [ sin16s_gen::i#2 sin16s_gen::i#1 ] zp ZP_DWORD:11 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:15 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] zp ZP_DWORD:86 [ sin16s_gen::step#0 ] Uplifting [sin16s_gen] best 34454 combination zp ZP_WORD:92 [ sin16s_gen::$1 ] zp ZP_WORD:17 [ sin16s_gen::i#2 sin16s_gen::i#1 ] zp ZP_DWORD:11 [ sin16s_gen::x#2 sin16s_gen::x#1 ] zp ZP_WORD:15 [ sin16s_gen::sintab#2 sin16s_gen::sintab#0 ] zp ZP_DWORD:86 [ sin16s_gen::step#0 ]
Uplifting [sin8s_gen] best 34380 combination reg byte a [ sin8s_gen::$1 ] zp ZP_WORD:54 [ sin8s_gen::i#2 sin8s_gen::i#1 ] zp ZP_WORD:50 [ sin8s_gen::x#2 sin8s_gen::x#1 ] zp ZP_WORD:52 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] zp ZP_WORD:161 [ sin8s_gen::step#0 ] Uplifting [sin8s_gen] best 34394 combination reg byte a [ sin8s_gen::$1 ] zp ZP_WORD:54 [ sin8s_gen::i#2 sin8s_gen::i#1 ] zp ZP_WORD:50 [ sin8s_gen::x#2 sin8s_gen::x#1 ] zp ZP_WORD:52 [ sin8s_gen::sintab#2 sin8s_gen::sintab#0 ] zp ZP_WORD:161 [ sin8s_gen::step#0 ]
Uplifting [print_cls] best 34380 combination zp ZP_WORD:9 [ print_cls::sc#2 print_cls::sc#1 ] Uplifting [print_cls] best 34394 combination zp ZP_WORD:9 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [print_char] best 34368 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ] Uplifting [print_char] best 34382 combination reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ]
Uplifting [div32u16u] best 34368 combination zp ZP_DWORD:82 [ div32u16u::return#2 ] zp ZP_WORD:149 [ div32u16u::quotient_lo#0 ] zp ZP_DWORD:151 [ div32u16u::return#0 ] zp ZP_WORD:145 [ div32u16u::quotient_hi#0 ] Uplifting [div32u16u] best 34382 combination zp ZP_DWORD:82 [ div32u16u::return#2 ] zp ZP_WORD:149 [ div32u16u::quotient_lo#0 ] zp ZP_DWORD:151 [ div32u16u::return#0 ] zp ZP_WORD:145 [ div32u16u::quotient_hi#0 ]
Uplifting [print_sbyte] best 34368 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] Uplifting [print_sbyte] best 34382 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ]
Uplifting [print_byte] best 34360 combination reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] Uplifting [print_byte] best 34374 combination reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [div16u] best 34360 combination zp ZP_WORD:159 [ div16u::return#2 ] zp ZP_WORD:191 [ div16u::return#0 ] Uplifting [div16u] best 34374 combination zp ZP_WORD:159 [ div16u::return#2 ] zp ZP_WORD:191 [ div16u::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ]
Uplifting [print_sbyte] best 34360 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] Uplifting [print_sbyte] best 34374 combination zp ZP_BYTE:5 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:79 [ main::sd#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:79 [ main::sd#0 ]
Uplifting [main] best 34360 combination zp ZP_BYTE:79 [ main::sd#0 ] Uplifting [main] best 34374 combination zp ZP_BYTE:79 [ main::sd#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:169 [ sin8s::x2#0 ]
Uplifting [sin8s] best 34370 combination reg byte a [ sin8s::x2#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:172 [ mulu8_sel::return#2 ]
Uplifting [mulu8_sel] best 34364 combination reg byte a [ mulu8_sel::return#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:173 [ sin8s::x3_6#0 ]
Uplifting [sin8s] best 34360 combination reg byte a [ sin8s::x3_6#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:175 [ mulu8_sel::return#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:175 [ mulu8_sel::return#10 ]
Uplifting [mulu8_sel] best 34354 combination reg byte a [ mulu8_sel::return#10 ] Uplifting [mulu8_sel] best 34354 combination reg byte a [ mulu8_sel::return#10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:176 [ sin8s::x4#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:176 [ sin8s::x4#0 ]

View File

@ -8852,25 +8852,31 @@ Uplifting [mul8u] best 24241 combination zp ZP_WORD:25 [ mul8u::res#2 mul8u::res
Uplifting [] best 24241 combination zp ZP_WORD:8 [ print_line_cursor#12 print_line_cursor#23 print_line_cursor#1 ] zp ZP_WORD:16 [ print_char_cursor#92 print_char_cursor#102 print_char_cursor#62 print_char_cursor#97 print_char_cursor#94 print_char_cursor#96 print_char_cursor#17 print_char_cursor#2 print_char_cursor#121 print_char_cursor#1 ] Uplifting [] best 24241 combination zp ZP_WORD:8 [ print_line_cursor#12 print_line_cursor#23 print_line_cursor#1 ] zp ZP_WORD:16 [ print_char_cursor#92 print_char_cursor#102 print_char_cursor#62 print_char_cursor#97 print_char_cursor#94 print_char_cursor#96 print_char_cursor#17 print_char_cursor#2 print_char_cursor#121 print_char_cursor#1 ]
Uplifting [print_str] best 24241 combination zp ZP_WORD:12 [ print_str::str#10 print_str::str#12 print_str::str#0 ] Uplifting [print_str] best 24241 combination zp ZP_WORD:12 [ print_str::str#10 print_str::str#12 print_str::str#0 ]
Uplifting [divr16u] best 24051 combination zp ZP_WORD:37 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:39 [ divr16u::dividend#2 divr16u::dividend#0 ] zp ZP_WORD:88 [ divr16u::return#2 ] Uplifting [divr16u] best 24051 combination zp ZP_WORD:37 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:41 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:39 [ divr16u::dividend#2 divr16u::dividend#0 ] zp ZP_WORD:88 [ divr16u::return#2 ]
Uplifting [sin8s] best 23936 combination zp ZP_WORD:30 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] reg byte a [ sin8s::return#2 ] reg byte a [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:66 [ sin8s::$6 ] reg byte a [ sin8s::x2#0 ] reg byte a [ sin8s::x3_6#0 ] zp ZP_BYTE:77 [ sin8s::x4#0 ] zp ZP_BYTE:79 [ sin8s::x5#0 ] zp ZP_BYTE:80 [ sin8s::x5_128#0 ] zp ZP_BYTE:72 [ sin8s::x3#0 ] zp ZP_BYTE:68 [ sin8s::x1#0 ] zp ZP_BYTE:75 [ sin8s::usinx#0 ] zp ZP_BYTE:29 [ sin8s::isUpper#10 ] Uplifting [sin8s] best 23946 combination zp ZP_WORD:30 [ sin8s::x#6 sin8s::x#4 sin8s::x#2 sin8s::x#0 sin8s::x#1 ] reg byte a [ sin8s::return#2 ] reg byte a [ sin8s::return#0 sin8s::return#5 sin8s::sinx#1 ] reg byte x [ sin8s::usinx#4 sin8s::usinx#1 sin8s::usinx#2 ] zp ZP_WORD:66 [ sin8s::$6 ] zp ZP_BYTE:70 [ sin8s::x2#0 ] zp ZP_BYTE:74 [ sin8s::x3_6#0 ] zp ZP_BYTE:77 [ sin8s::x4#0 ] zp ZP_BYTE:79 [ sin8s::x5#0 ] zp ZP_BYTE:80 [ sin8s::x5_128#0 ] zp ZP_BYTE:72 [ sin8s::x3#0 ] zp ZP_BYTE:68 [ sin8s::x1#0 ] zp ZP_BYTE:75 [ sin8s::usinx#0 ] zp ZP_BYTE:29 [ sin8s::isUpper#10 ]
Limited combination testing to 1000 combinations of 5308416 possible. Limited combination testing to 100 combinations of 5308416 possible.
Uplifting [mulu8_sel] best 23886 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] reg byte a [ mulu8_sel::return#2 ] zp ZP_BYTE:76 [ mulu8_sel::return#10 ] zp ZP_BYTE:78 [ mulu8_sel::return#11 ] zp ZP_WORD:83 [ mulu8_sel::$0 ] zp ZP_WORD:85 [ mulu8_sel::$1 ] zp ZP_BYTE:87 [ mulu8_sel::return#12 ] zp ZP_BYTE:36 [ mulu8_sel::select#5 ] Uplifting [mulu8_sel] best 23900 combination reg byte x [ mulu8_sel::v1#5 mulu8_sel::v1#1 mulu8_sel::v1#2 mulu8_sel::v1#3 mulu8_sel::v1#4 mulu8_sel::v1#0 ] reg byte y [ mulu8_sel::v2#5 mulu8_sel::v2#1 mulu8_sel::v2#3 mulu8_sel::v2#4 mulu8_sel::v2#0 ] reg byte a [ mulu8_sel::return#0 ] reg byte a [ mulu8_sel::return#1 ] zp ZP_BYTE:73 [ mulu8_sel::return#2 ] zp ZP_BYTE:76 [ mulu8_sel::return#10 ] zp ZP_BYTE:78 [ mulu8_sel::return#11 ] zp ZP_WORD:83 [ mulu8_sel::$0 ] zp ZP_WORD:85 [ mulu8_sel::$1 ] zp ZP_BYTE:87 [ mulu8_sel::return#12 ] zp ZP_BYTE:36 [ mulu8_sel::select#5 ]
Limited combination testing to 1000 combinations of 196608 possible. Limited combination testing to 100 combinations of 196608 possible.
Uplifting [sin8u_table] best 23776 combination reg byte a [ sin8u_table::$21 ] zp ZP_WORD:6 [ sin8u_table::i#10 sin8u_table::i#1 ] zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 ] zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] zp ZP_WORD:55 [ sin8u_table::sinx_sc#0 ] reg byte x [ sin8u_table::sinx_tr#0 ] zp ZP_WORD:48 [ sin8u_table::step#0 ] Uplifting [sin8u_table] best 23790 combination reg byte a [ sin8u_table::$21 ] zp ZP_WORD:6 [ sin8u_table::i#10 sin8u_table::i#1 ] zp ZP_WORD:2 [ sin8u_table::x#10 sin8u_table::x#1 ] zp ZP_WORD:4 [ sin8u_table::sintab#2 sin8u_table::sintab#1 ] zp ZP_BYTE:51 [ sin8u_table::sinx#0 ] zp ZP_WORD:55 [ sin8u_table::sinx_sc#0 ] reg byte x [ sin8u_table::sinx_tr#0 ] zp ZP_WORD:48 [ sin8u_table::step#0 ]
Uplifting [print_byte] best 23768 combination zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] Uplifting [print_byte] best 23782 combination zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [mul8su] best 23724 combination zp ZP_WORD:53 [ mul8su::return#2 ] zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] reg byte a [ mul8su::$6 ] reg byte a [ mul8su::$10 ] reg byte y [ mul8su::a#0 ] Uplifting [mul8su] best 23738 combination zp ZP_WORD:53 [ mul8su::return#2 ] zp ZP_WORD:21 [ mul8su::m#2 mul8su::m#1 mul8su::m#0 ] reg byte a [ mul8su::$6 ] reg byte a [ mul8su::$10 ] reg byte y [ mul8su::a#0 ]
Uplifting [print_word] best 23724 combination zp ZP_WORD:18 [ print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ] Uplifting [print_word] best 23738 combination zp ZP_WORD:18 [ print_word::w#3 print_word::w#5 print_word::w#2 print_word::w#1 ]
Uplifting [print_cls] best 23724 combination zp ZP_WORD:44 [ print_cls::sc#2 print_cls::sc#1 ] Uplifting [print_cls] best 23738 combination zp ZP_WORD:44 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [print_char] best 23709 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] Uplifting [print_char] best 23723 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ]
Uplifting [print_sword] best 23709 combination zp ZP_WORD:14 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ] Uplifting [print_sword] best 23723 combination zp ZP_WORD:14 [ print_sword::w#3 print_sword::w#1 print_sword::w#0 ]
Uplifting [print_sbyte] best 23709 combination zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] Uplifting [print_sbyte] best 23723 combination zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ]
Uplifting [div16u] best 23709 combination zp ZP_WORD:46 [ div16u::return#2 ] zp ZP_WORD:90 [ div16u::return#0 ] Uplifting [div16u] best 23723 combination zp ZP_WORD:46 [ div16u::return#2 ] zp ZP_WORD:90 [ div16u::return#0 ]
Uplifting [print_ln] best 23709 combination Uplifting [print_ln] best 23723 combination
Uplifting [main] best 23709 combination Uplifting [main] best 23723 combination
Attempting to uplift remaining variables inzp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] Attempting to uplift remaining variables inzp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ]
Uplifting [print_byte] best 23709 combination zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ] Uplifting [print_byte] best 23723 combination zp ZP_BYTE:10 [ print_byte::b#8 print_byte::b#10 print_byte::b#1 print_byte::b#2 print_byte::b#7 ]
Attempting to uplift remaining variables inzp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ]
Uplifting [print_sbyte] best 23709 combination zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ] Uplifting [print_sbyte] best 23723 combination zp ZP_BYTE:20 [ print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:70 [ sin8s::x2#0 ]
Uplifting [sin8s] best 23719 combination reg byte a [ sin8s::x2#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:73 [ mulu8_sel::return#2 ]
Uplifting [mulu8_sel] best 23713 combination reg byte a [ mulu8_sel::return#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:74 [ sin8s::x3_6#0 ]
Uplifting [sin8s] best 23709 combination reg byte a [ sin8s::x3_6#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:76 [ mulu8_sel::return#10 ] Attempting to uplift remaining variables inzp ZP_BYTE:76 [ mulu8_sel::return#10 ]
Uplifting [mulu8_sel] best 23703 combination reg byte a [ mulu8_sel::return#10 ] Uplifting [mulu8_sel] best 23703 combination reg byte a [ mulu8_sel::return#10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:77 [ sin8s::x4#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:77 [ sin8s::x4#0 ]

View File

@ -604,15 +604,21 @@ Uplift Scope [sum] 4: zp ZP_BYTE:4 [ sum::return#0 ] 4: zp ZP_BYTE:6 [ sum::retu
Uplift Scope [main] 4: zp ZP_BYTE:10 [ main::$3 ] 4: zp ZP_BYTE:11 [ main::s4#0 ] 2: zp ZP_BYTE:9 [ main::s3#0 ] 1: zp ZP_BYTE:7 [ main::s2#0 ] 0.57: zp ZP_BYTE:5 [ main::s1#0 ] Uplift Scope [main] 4: zp ZP_BYTE:10 [ main::$3 ] 4: zp ZP_BYTE:11 [ main::s4#0 ] 2: zp ZP_BYTE:9 [ main::s3#0 ] 1: zp ZP_BYTE:7 [ main::s2#0 ] 0.57: zp ZP_BYTE:5 [ main::s1#0 ]
Uplift Scope [] Uplift Scope []
Uplifting [sum] best 127 combination reg byte a [ sum::return#0 ] reg byte a [ sum::return#1 ] reg byte a [ sum::return#2 ] reg byte x [ sum::a#3 ] reg byte a [ sum::b#3 ] zp ZP_BYTE:12 [ sum::return#3 ] Uplifting [sum] best 145 combination reg byte a [ sum::return#0 ] reg byte a [ sum::return#1 ] reg byte a [ sum::return#2 ] zp ZP_BYTE:2 [ sum::a#3 ] zp ZP_BYTE:3 [ sum::b#3 ] zp ZP_BYTE:12 [ sum::return#3 ]
Limited combination testing to 1000 combinations of 4096 possible. Limited combination testing to 100 combinations of 4096 possible.
Uplifting [main] best 113 combination reg byte a [ main::$3 ] reg byte a [ main::s4#0 ] zp ZP_BYTE:9 [ main::s3#0 ] reg byte y [ main::s2#0 ] zp ZP_BYTE:5 [ main::s1#0 ] Uplifting [main] best 133 combination reg byte a [ main::$3 ] reg byte a [ main::s4#0 ] zp ZP_BYTE:9 [ main::s3#0 ] zp ZP_BYTE:7 [ main::s2#0 ] zp ZP_BYTE:5 [ main::s1#0 ]
Limited combination testing to 1000 combinations of 1024 possible. Limited combination testing to 100 combinations of 1024 possible.
Uplifting [] best 113 combination Uplifting [] best 133 combination
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ sum::a#3 ]
Uplifting [sum] best 123 combination reg byte x [ sum::a#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ sum::b#3 ]
Uplifting [sum] best 115 combination reg byte a [ sum::b#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:9 [ main::s3#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:9 [ main::s3#0 ]
Uplifting [main] best 113 combination zp ZP_BYTE:9 [ main::s3#0 ] Uplifting [main] best 115 combination zp ZP_BYTE:9 [ main::s3#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:12 [ sum::return#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:12 [ sum::return#3 ]
Uplifting [sum] best 101 combination reg byte a [ sum::return#3 ] Uplifting [sum] best 103 combination reg byte a [ sum::return#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ main::s2#0 ]
Uplifting [main] best 101 combination reg byte y [ main::s2#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ main::s1#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ main::s1#0 ]
Uplifting [main] best 101 combination zp ZP_BYTE:5 [ main::s1#0 ] Uplifting [main] best 101 combination zp ZP_BYTE:5 [ main::s1#0 ]
Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:2 [ main::s1#0 ] Allocated (was zp ZP_BYTE:5) zp ZP_BYTE:2 [ main::s1#0 ]

View File

@ -9355,53 +9355,59 @@ Uplift Scope [main]
Uplifting [divr16u] best 44804 combination zp ZP_WORD:28 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:32 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:30 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] zp ZP_WORD:74 [ divr16u::divisor#0 ] zp ZP_WORD:76 [ divr16u::return#2 ] Uplifting [divr16u] best 44804 combination zp ZP_WORD:28 [ divr16u::rem#4 divr16u::rem#10 divr16u::rem#5 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp ZP_WORD:32 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp ZP_WORD:30 [ divr16u::dividend#2 divr16u::dividend#1 divr16u::dividend#0 ] zp ZP_WORD:74 [ divr16u::divisor#0 ] zp ZP_WORD:76 [ divr16u::return#2 ]
Uplifting [divr8u] best 42601 combination reg byte y [ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ] zp ZP_BYTE:46 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ] reg byte a [ divr8u::$1 ] reg byte x [ divr8u::i#2 divr8u::i#1 ] zp ZP_BYTE:45 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ] zp ZP_BYTE:94 [ divr8u::divisor#0 ] zp ZP_BYTE:95 [ divr8u::return#0 ] Uplifting [divr8u] best 42601 combination reg byte y [ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ] zp ZP_BYTE:46 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ] reg byte a [ divr8u::$1 ] reg byte x [ divr8u::i#2 divr8u::i#1 ] zp ZP_BYTE:45 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ] zp ZP_BYTE:94 [ divr8u::divisor#0 ] zp ZP_BYTE:95 [ divr8u::return#0 ]
Limited combination testing to 1000 combinations of 3888 possible. Limited combination testing to 100 combinations of 3888 possible.
Uplifting [] best 42534 combination zp ZP_WORD:11 [ print_char_cursor#80 print_char_cursor#133 print_char_cursor#130 print_char_cursor#132 print_char_cursor#128 print_char_cursor#129 print_char_cursor#155 print_char_cursor#126 print_char_cursor#17 print_char_cursor#162 print_char_cursor#135 print_char_cursor#131 print_char_cursor#1 print_char_cursor#179 print_char_cursor#185 ] zp ZP_WORD:3 [ print_line_cursor#20 print_line_cursor#39 print_line_cursor#1 print_line_cursor#41 ] zp ZP_WORD:22 [ rem16s#3 rem16s#31 rem16s#1 ] reg byte x [ rem8s#3 rem8s#32 rem8s#1 ] reg byte x [ rem8u#17 ] zp ZP_WORD:82 [ rem16u#1 ] Uplifting [] best 42534 combination zp ZP_WORD:11 [ print_char_cursor#80 print_char_cursor#133 print_char_cursor#130 print_char_cursor#132 print_char_cursor#128 print_char_cursor#129 print_char_cursor#155 print_char_cursor#126 print_char_cursor#17 print_char_cursor#162 print_char_cursor#135 print_char_cursor#131 print_char_cursor#1 print_char_cursor#179 print_char_cursor#185 ] zp ZP_WORD:3 [ print_line_cursor#20 print_line_cursor#39 print_line_cursor#1 print_line_cursor#41 ] zp ZP_WORD:22 [ rem16s#3 rem16s#31 rem16s#1 ] reg byte x [ rem8s#3 rem8s#32 rem8s#1 ] reg byte x [ rem8u#17 ] zp ZP_WORD:82 [ rem16u#1 ]
Uplifting [print_str] best 42534 combination zp ZP_WORD:13 [ print_str::str#13 print_str::str#15 print_str::str#0 ] Uplifting [print_str] best 42534 combination zp ZP_WORD:13 [ print_str::str#13 print_str::str#15 print_str::str#0 ]
Uplifting [print_byte] best 42526 combination zp ZP_BYTE:9 [ print_byte::b#7 print_byte::b#9 print_byte::b#1 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#6 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] Uplifting [print_byte] best 42526 combination zp ZP_BYTE:9 [ print_byte::b#7 print_byte::b#9 print_byte::b#1 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#6 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [print_word] best 42526 combination zp ZP_WORD:7 [ print_word::w#5 print_word::w#7 print_word::w#1 print_word::w#2 print_word::w#3 print_word::w#4 ] Uplifting [print_word] best 42526 combination zp ZP_WORD:7 [ print_word::w#5 print_word::w#7 print_word::w#1 print_word::w#2 print_word::w#3 print_word::w#4 ]
Uplifting [print_sword] best 42526 combination zp ZP_WORD:5 [ print_sword::w#6 print_sword::w#5 print_sword::w#1 print_sword::w#2 print_sword::w#3 print_sword::w#4 print_sword::w#0 ] Uplifting [print_sword] best 42526 combination zp ZP_WORD:5 [ print_sword::w#6 print_sword::w#5 print_sword::w#1 print_sword::w#2 print_sword::w#3 print_sword::w#4 print_sword::w#0 ]
Uplifting [print_sbyte] best 42526 combination zp ZP_BYTE:36 [ print_sbyte::b#6 print_sbyte::b#5 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#3 print_sbyte::b#4 print_sbyte::b#0 ] Uplifting [print_sbyte] best 42526 combination zp ZP_BYTE:36 [ print_sbyte::b#6 print_sbyte::b#5 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#3 print_sbyte::b#4 print_sbyte::b#0 ]
Uplifting [div8u] best 42352 combination reg byte x [ div8u::divisor#2 div8u::divisor#0 div8u::divisor#1 ] reg byte a [ div8u::dividend#2 div8u::dividend#0 div8u::dividend#1 ] reg byte a [ div8u::return#3 ] reg byte a [ div8u::return#2 ] reg byte a [ div8u::return#0 ] Uplifting [div8u] best 42388 combination reg byte x [ div8u::divisor#2 div8u::divisor#0 div8u::divisor#1 ] reg byte a [ div8u::dividend#2 div8u::dividend#0 div8u::dividend#1 ] reg byte a [ div8u::return#3 ] reg byte a [ div8u::return#2 ] zp ZP_BYTE:96 [ div8u::return#0 ]
Limited combination testing to 1000 combinations of 1024 possible. Limited combination testing to 100 combinations of 1024 possible.
Uplifting [div16u] best 42352 combination zp ZP_WORD:26 [ div16u::divisor#2 div16u::divisor#0 div16u::divisor#1 ] zp ZP_WORD:24 [ div16u::dividend#2 div16u::dividend#0 div16u::dividend#1 ] zp ZP_WORD:103 [ div16u::return#3 ] zp ZP_WORD:70 [ div16u::return#2 ] zp ZP_WORD:78 [ div16u::return#0 ] Uplifting [div16u] best 42388 combination zp ZP_WORD:26 [ div16u::divisor#2 div16u::divisor#0 div16u::divisor#1 ] zp ZP_WORD:24 [ div16u::dividend#2 div16u::dividend#0 div16u::dividend#1 ] zp ZP_WORD:103 [ div16u::return#3 ] zp ZP_WORD:70 [ div16u::return#2 ] zp ZP_WORD:78 [ div16u::return#0 ]
Uplifting [div8s] best 42203 combination reg byte a [ div8s::return#3 ] reg byte x [ div8s::divisoru#3 div8s::divisoru#4 div8s::divisoru#5 ] reg byte a [ div8s::return#2 div8s::return#6 div8s::return#0 ] reg byte y [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ] reg byte y [ div8s::dividend#0 ] zp ZP_BYTE:39 [ div8s::neg#4 div8s::neg#3 div8s::neg#2 ] zp ZP_BYTE:87 [ div8s::divisor#0 ] zp ZP_BYTE:90 [ div8s::$2 ] zp ZP_BYTE:91 [ div8s::$7 ] zp ZP_BYTE:93 [ div8s::resultu#0 ] Uplifting [div8s] best 42283 combination reg byte a [ div8s::return#3 ] reg byte x [ div8s::divisoru#3 div8s::divisoru#4 div8s::divisoru#5 ] reg byte a [ div8s::return#2 div8s::return#6 div8s::return#0 ] zp ZP_BYTE:37 [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ] zp ZP_BYTE:86 [ div8s::dividend#0 ] zp ZP_BYTE:39 [ div8s::neg#4 div8s::neg#3 div8s::neg#2 ] zp ZP_BYTE:87 [ div8s::divisor#0 ] zp ZP_BYTE:90 [ div8s::$2 ] zp ZP_BYTE:91 [ div8s::$7 ] zp ZP_BYTE:93 [ div8s::resultu#0 ]
Limited combination testing to 1000 combinations of 248832 possible. Limited combination testing to 100 combinations of 248832 possible.
Uplifting [div16s] best 42194 combination zp ZP_WORD:60 [ div16s::return#3 ] zp ZP_WORD:17 [ div16s::divisoru#3 div16s::divisoru#4 div16s::divisoru#5 ] zp ZP_WORD:20 [ div16s::return#2 div16s::return#6 div16s::return#0 ] zp ZP_WORD:15 [ div16s::dividendu#3 div16s::dividendu#7 div16s::dividendu#8 ] zp ZP_WORD:56 [ div16s::dividend#0 ] reg byte y [ div16s::neg#4 div16s::neg#3 div16s::neg#2 ] zp ZP_WORD:58 [ div16s::divisor#0 ] zp ZP_WORD:66 [ div16s::$2 ] zp ZP_WORD:68 [ div16s::$7 ] zp ZP_WORD:72 [ div16s::resultu#0 ] Uplifting [div16s] best 42274 combination zp ZP_WORD:60 [ div16s::return#3 ] zp ZP_WORD:17 [ div16s::divisoru#3 div16s::divisoru#4 div16s::divisoru#5 ] zp ZP_WORD:20 [ div16s::return#2 div16s::return#6 div16s::return#0 ] zp ZP_WORD:15 [ div16s::dividendu#3 div16s::dividendu#7 div16s::dividendu#8 ] zp ZP_WORD:56 [ div16s::dividend#0 ] reg byte y [ div16s::neg#4 div16s::neg#3 div16s::neg#2 ] zp ZP_WORD:58 [ div16s::divisor#0 ] zp ZP_WORD:66 [ div16s::$2 ] zp ZP_WORD:68 [ div16s::$7 ] zp ZP_WORD:72 [ div16s::resultu#0 ]
Uplifting [print_cls] best 42194 combination zp ZP_WORD:50 [ print_cls::sc#2 print_cls::sc#1 ] Uplifting [print_cls] best 42274 combination zp ZP_WORD:50 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [test_16u] best 42194 combination zp ZP_BYTE:48 [ test_16u::i#10 test_16u::i#1 ] zp ZP_WORD:99 [ test_16u::dividend#0 ] zp ZP_WORD:101 [ test_16u::divisor#0 ] zp ZP_WORD:105 [ test_16u::res#0 ] Uplifting [test_16u] best 42274 combination zp ZP_BYTE:48 [ test_16u::i#10 test_16u::i#1 ] zp ZP_WORD:99 [ test_16u::dividend#0 ] zp ZP_WORD:101 [ test_16u::divisor#0 ] zp ZP_WORD:105 [ test_16u::res#0 ]
Uplifting [test_8s] best 42194 combination zp ZP_BYTE:35 [ test_8s::i#10 test_8s::i#1 ] zp ZP_BYTE:84 [ test_8s::dividend#0 ] zp ZP_BYTE:85 [ test_8s::divisor#0 ] zp ZP_BYTE:89 [ test_8s::res#0 ] Uplifting [test_8s] best 42274 combination zp ZP_BYTE:35 [ test_8s::i#10 test_8s::i#1 ] zp ZP_BYTE:84 [ test_8s::dividend#0 ] zp ZP_BYTE:85 [ test_8s::divisor#0 ] zp ZP_BYTE:89 [ test_8s::res#0 ]
Uplifting [test_16s] best 42194 combination zp ZP_BYTE:2 [ test_16s::i#10 test_16s::i#1 ] zp ZP_WORD:52 [ test_16s::dividend#0 ] zp ZP_WORD:54 [ test_16s::divisor#0 ] zp ZP_WORD:62 [ test_16s::res#0 ] Uplifting [test_16s] best 42274 combination zp ZP_BYTE:2 [ test_16s::i#10 test_16s::i#1 ] zp ZP_WORD:52 [ test_16s::dividend#0 ] zp ZP_WORD:54 [ test_16s::divisor#0 ] zp ZP_WORD:62 [ test_16s::res#0 ]
Uplifting [test_8u] best 42194 combination zp ZP_BYTE:49 [ test_8u::i#10 test_8u::i#1 ] zp ZP_BYTE:107 [ test_8u::dividend#0 ] zp ZP_BYTE:108 [ test_8u::divisor#0 ] zp ZP_BYTE:110 [ test_8u::res#0 ] Uplifting [test_8u] best 42274 combination zp ZP_BYTE:49 [ test_8u::i#10 test_8u::i#1 ] zp ZP_BYTE:107 [ test_8u::dividend#0 ] zp ZP_BYTE:108 [ test_8u::divisor#0 ] zp ZP_BYTE:110 [ test_8u::res#0 ]
Uplifting [print_char] best 42179 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] Uplifting [print_char] best 42259 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ]
Uplifting [print_ln] best 42179 combination Uplifting [print_ln] best 42259 combination
Uplifting [main] best 42179 combination Uplifting [main] best 42259 combination
Attempting to uplift remaining variables inzp ZP_BYTE:46 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:46 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ]
Uplifting [divr8u] best 42179 combination zp ZP_BYTE:46 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ] Uplifting [divr8u] best 42259 combination zp ZP_BYTE:46 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:9 [ print_byte::b#7 print_byte::b#9 print_byte::b#1 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#6 ] Attempting to uplift remaining variables inzp ZP_BYTE:9 [ print_byte::b#7 print_byte::b#9 print_byte::b#1 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#6 ]
Uplifting [print_byte] best 42179 combination zp ZP_BYTE:9 [ print_byte::b#7 print_byte::b#9 print_byte::b#1 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#6 ] Uplifting [print_byte] best 42259 combination zp ZP_BYTE:9 [ print_byte::b#7 print_byte::b#9 print_byte::b#1 print_byte::b#2 print_byte::b#3 print_byte::b#4 print_byte::b#5 print_byte::b#6 ]
Attempting to uplift remaining variables inzp ZP_BYTE:36 [ print_sbyte::b#6 print_sbyte::b#5 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#3 print_sbyte::b#4 print_sbyte::b#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:36 [ print_sbyte::b#6 print_sbyte::b#5 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#3 print_sbyte::b#4 print_sbyte::b#0 ]
Uplifting [print_sbyte] best 42179 combination zp ZP_BYTE:36 [ print_sbyte::b#6 print_sbyte::b#5 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#3 print_sbyte::b#4 print_sbyte::b#0 ] Uplifting [print_sbyte] best 42259 combination zp ZP_BYTE:36 [ print_sbyte::b#6 print_sbyte::b#5 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#3 print_sbyte::b#4 print_sbyte::b#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:45 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:45 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ]
Uplifting [divr8u] best 42179 combination zp ZP_BYTE:45 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ] Uplifting [divr8u] best 42259 combination zp ZP_BYTE:45 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ test_16s::i#10 test_16s::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ test_16s::i#10 test_16s::i#1 ]
Uplifting [test_16s] best 42179 combination zp ZP_BYTE:2 [ test_16s::i#10 test_16s::i#1 ] Uplifting [test_16s] best 42259 combination zp ZP_BYTE:2 [ test_16s::i#10 test_16s::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:35 [ test_8s::i#10 test_8s::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:35 [ test_8s::i#10 test_8s::i#1 ]
Uplifting [test_8s] best 42179 combination zp ZP_BYTE:35 [ test_8s::i#10 test_8s::i#1 ] Uplifting [test_8s] best 42259 combination zp ZP_BYTE:35 [ test_8s::i#10 test_8s::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:48 [ test_16u::i#10 test_16u::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:48 [ test_16u::i#10 test_16u::i#1 ]
Uplifting [test_16u] best 42179 combination zp ZP_BYTE:48 [ test_16u::i#10 test_16u::i#1 ] Uplifting [test_16u] best 42259 combination zp ZP_BYTE:48 [ test_16u::i#10 test_16u::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:49 [ test_8u::i#10 test_8u::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:49 [ test_8u::i#10 test_8u::i#1 ]
Uplifting [test_8u] best 42179 combination zp ZP_BYTE:49 [ test_8u::i#10 test_8u::i#1 ] Uplifting [test_8u] best 42259 combination zp ZP_BYTE:49 [ test_8u::i#10 test_8u::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:94 [ divr8u::divisor#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:94 [ divr8u::divisor#0 ]
Uplifting [divr8u] best 42179 combination zp ZP_BYTE:94 [ divr8u::divisor#0 ] Uplifting [divr8u] best 42259 combination zp ZP_BYTE:94 [ divr8u::divisor#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:37 [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ]
Uplifting [div8s] best 42252 combination reg byte y [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ]
Attempting to uplift remaining variables inzp ZP_BYTE:86 [ div8s::dividend#0 ]
Uplifting [div8s] best 42215 combination reg byte y [ div8s::dividend#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:84 [ test_8s::dividend#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:84 [ test_8s::dividend#0 ]
Uplifting [test_8s] best 42179 combination zp ZP_BYTE:84 [ test_8s::dividend#0 ] Uplifting [test_8s] best 42215 combination zp ZP_BYTE:84 [ test_8s::dividend#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:107 [ test_8u::dividend#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:107 [ test_8u::dividend#0 ]
Uplifting [test_8u] best 42179 combination zp ZP_BYTE:107 [ test_8u::dividend#0 ] Uplifting [test_8u] best 42215 combination zp ZP_BYTE:107 [ test_8u::dividend#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:39 [ div8s::neg#4 div8s::neg#3 div8s::neg#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:39 [ div8s::neg#4 div8s::neg#3 div8s::neg#2 ]
Uplifting [div8s] best 42179 combination zp ZP_BYTE:39 [ div8s::neg#4 div8s::neg#3 div8s::neg#2 ] Uplifting [div8s] best 42215 combination zp ZP_BYTE:39 [ div8s::neg#4 div8s::neg#3 div8s::neg#2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:95 [ divr8u::return#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:95 [ divr8u::return#0 ]
Uplifting [divr8u] best 42173 combination reg byte a [ divr8u::return#0 ] Uplifting [divr8u] best 42209 combination reg byte a [ divr8u::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:96 [ div8u::return#0 ]
Uplifting [div8u] best 42173 combination reg byte a [ div8u::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:108 [ test_8u::divisor#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:108 [ test_8u::divisor#0 ]
Uplifting [test_8u] best 42173 combination zp ZP_BYTE:108 [ test_8u::divisor#0 ] Uplifting [test_8u] best 42173 combination zp ZP_BYTE:108 [ test_8u::divisor#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:85 [ test_8s::divisor#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:85 [ test_8s::divisor#0 ]

View File

@ -61,7 +61,7 @@ main: {
.label sc = 2 .label sc = 2
.label screen = 2 .label screen = 2
.label row = 4 .label row = 4
.label i = 4 .label ch = 4
lda #<$400 lda #<$400
sta sc sta sc
lda #>$400 lda #>$400
@ -130,10 +130,11 @@ main: {
bcc !+ bcc !+
inc screen+1 inc screen+1
!: !:
lda #0 ldx #0
sta i txa
tax sta ch
b10: b10:
ldy ch
jsr keyboard_get_keycode jsr keyboard_get_keycode
cmp #$3f cmp #$3f
beq b11 beq b11
@ -141,21 +142,23 @@ main: {
jsr keyboard_key_pressed jsr keyboard_key_pressed
cmp #0 cmp #0
beq b11 beq b11
ldy i
txa txa
tay
lda ch
sta (screen),y sta (screen),y
inc i
b11:
inx inx
cpx #$40 b11:
inc ch
lda ch
cmp #$40
bne b10 bne b10
b13: b13:
txa
tay
lda #' ' lda #' '
ldy i
sta (screen),y sta (screen),y
inc i inx
lda i cpx #5
cmp #5
bcc b13 bcc b13
jmp b5 jmp b5
b8: b8:
@ -186,7 +189,7 @@ keyboard_matrix_read: {
rts rts
} }
keyboard_get_keycode: { keyboard_get_keycode: {
lda keyboard_char_keycodes,x lda keyboard_char_keycodes,y
rts rts
} }
keyboard_init: { keyboard_init: {

View File

@ -2990,25 +2990,30 @@ Uplift Scope [keyboard_key_pressed] 202: zp ZP_BYTE:20 [ keyboard_key_pressed::r
Uplift Scope [keyboard_init] Uplift Scope [keyboard_init]
Uplift Scope [] Uplift Scope []
Uplifting [main] best 79424 combination reg byte y [ main::col#2 main::col#1 ] reg byte a [ main::$5 ] reg byte x [ main::row_pressed_bits#2 main::row_pressed_bits#0 main::row_pressed_bits#1 ] zp ZP_BYTE:10 [ main::i#4 main::i#10 main::i#6 main::i#1 main::i#2 ] zp ZP_WORD:5 [ main::screen#13 main::screen#1 ] reg byte a [ main::$16 ] reg byte x [ main::ch#2 main::ch#1 ] zp ZP_BYTE:4 [ main::row#2 main::row#1 ] zp ZP_BYTE:18 [ main::key#0 ] zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] zp ZP_WORD:14 [ main::screen#2 ] Uplifting [main] best 80124 combination reg byte y [ main::col#2 main::col#1 ] reg byte a [ main::$5 ] reg byte x [ main::row_pressed_bits#2 main::row_pressed_bits#0 main::row_pressed_bits#1 ] reg byte x [ main::i#4 main::i#10 main::i#6 main::i#1 main::i#2 ] zp ZP_WORD:5 [ main::screen#13 main::screen#1 ] zp ZP_BYTE:21 [ main::$16 ] zp ZP_BYTE:9 [ main::ch#2 main::ch#1 ] zp ZP_BYTE:4 [ main::row#2 main::row#1 ] zp ZP_BYTE:18 [ main::key#0 ] zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] zp ZP_WORD:14 [ main::screen#2 ]
Limited combination testing to 1000 combinations of 15552 possible. Limited combination testing to 100 combinations of 15552 possible.
Uplifting [keyboard_matrix_read] best 78406 combination reg byte y [ keyboard_matrix_read::rowid#2 keyboard_matrix_read::rowid#0 keyboard_matrix_read::rowid#1 ] reg byte a [ keyboard_matrix_read::return#3 ] reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ keyboard_matrix_read::return#2 ] Uplifting [keyboard_matrix_read] best 79106 combination reg byte y [ keyboard_matrix_read::rowid#2 keyboard_matrix_read::rowid#0 keyboard_matrix_read::rowid#1 ] reg byte a [ keyboard_matrix_read::return#3 ] reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ keyboard_matrix_read::return#2 ]
Uplifting [keyboard_get_keycode] best 77200 combination reg byte a [ keyboard_get_keycode::return#2 ] reg byte x [ keyboard_get_keycode::ch#0 ] reg byte a [ keyboard_get_keycode::return#0 ] Limited combination testing to 100 combinations of 256 possible.
Uplifting [keyboard_key_pressed] best 75985 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte y [ keyboard_key_pressed::key#0 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::rowidx#0 ] reg byte a [ keyboard_key_pressed::$2 ] zp ZP_BYTE:22 [ keyboard_key_pressed::colidx#0 ] Uplifting [keyboard_get_keycode] best 77900 combination reg byte a [ keyboard_get_keycode::return#2 ] reg byte y [ keyboard_get_keycode::ch#0 ] reg byte a [ keyboard_get_keycode::return#0 ]
Limited combination testing to 1000 combinations of 2304 possible. Uplifting [keyboard_key_pressed] best 76691 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte y [ keyboard_key_pressed::key#0 ] reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::rowidx#0 ] zp ZP_BYTE:25 [ keyboard_key_pressed::$2 ] zp ZP_BYTE:22 [ keyboard_key_pressed::colidx#0 ]
Uplifting [keyboard_init] best 75985 combination Limited combination testing to 100 combinations of 2304 possible.
Uplifting [] best 75985 combination Uplifting [keyboard_init] best 76691 combination
Attempting to uplift remaining variables inzp ZP_BYTE:10 [ main::i#4 main::i#10 main::i#6 main::i#1 main::i#2 ] Uplifting [] best 76691 combination
Uplifting [main] best 75985 combination zp ZP_BYTE:10 [ main::i#4 main::i#10 main::i#6 main::i#1 main::i#2 ] Attempting to uplift remaining variables inzp ZP_BYTE:21 [ main::$16 ]
Uplifting [main] best 76291 combination reg byte a [ main::$16 ]
Attempting to uplift remaining variables inzp ZP_BYTE:9 [ main::ch#2 main::ch#1 ]
Uplifting [main] best 76291 combination zp ZP_BYTE:9 [ main::ch#2 main::ch#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ main::row#2 main::row#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:4 [ main::row#2 main::row#1 ]
Uplifting [main] best 75985 combination zp ZP_BYTE:4 [ main::row#2 main::row#1 ] Uplifting [main] best 76291 combination zp ZP_BYTE:4 [ main::row#2 main::row#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ main::key#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:18 [ main::key#0 ]
Uplifting [main] best 75285 combination reg byte a [ main::key#0 ] Uplifting [main] best 75591 combination reg byte a [ main::key#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ keyboard_key_pressed::$2 ]
Uplifting [keyboard_key_pressed] best 75585 combination reg byte a [ keyboard_key_pressed::$2 ]
Attempting to uplift remaining variables inzp ZP_BYTE:22 [ keyboard_key_pressed::colidx#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:22 [ keyboard_key_pressed::colidx#0 ]
Uplifting [keyboard_key_pressed] best 75285 combination zp ZP_BYTE:22 [ keyboard_key_pressed::colidx#0 ] Uplifting [keyboard_key_pressed] best 75585 combination zp ZP_BYTE:22 [ keyboard_key_pressed::colidx#0 ]
Coalescing zero page register with common assignment [ zp ZP_WORD:5 [ main::screen#13 main::screen#1 ] ] with [ zp ZP_WORD:14 [ main::screen#2 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:5 [ main::screen#13 main::screen#1 ] ] with [ zp ZP_WORD:14 [ main::screen#2 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] ] with [ zp ZP_WORD:5 [ main::screen#13 main::screen#1 main::screen#2 ] ] Coalescing zero page register [ zp ZP_WORD:2 [ main::sc#2 main::sc#1 ] ] with [ zp ZP_WORD:5 [ main::screen#13 main::screen#1 main::screen#2 ] ]
Coalescing zero page register [ zp ZP_BYTE:4 [ main::row#2 main::row#1 ] ] with [ zp ZP_BYTE:10 [ main::i#4 main::i#10 main::i#6 main::i#1 main::i#2 ] ] Coalescing zero page register [ zp ZP_BYTE:4 [ main::row#2 main::row#1 ] ] with [ zp ZP_BYTE:9 [ main::ch#2 main::ch#1 ] ]
Allocated (was zp ZP_BYTE:22) zp ZP_BYTE:5 [ keyboard_key_pressed::colidx#0 ] Allocated (was zp ZP_BYTE:22) zp ZP_BYTE:5 [ keyboard_key_pressed::colidx#0 ]
ASSEMBLER BEFORE OPTIMIZATION ASSEMBLER BEFORE OPTIMIZATION
@ -3093,7 +3098,7 @@ main: {
.label sc = 2 .label sc = 2
.label screen = 2 .label screen = 2
.label row = 4 .label row = 4
.label i = 4 .label ch = 4
//SEG10 [5] phi from main to main::@1 [phi:main->main::@1] //SEG10 [5] phi from main to main::@1 [phi:main->main::@1]
b1_from_main: b1_from_main:
//SEG11 [5] phi (byte*) main::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1 //SEG11 [5] phi (byte*) main::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1
@ -3248,11 +3253,11 @@ main: {
!: !:
//SEG62 [30] phi from main::@21 to main::@10 [phi:main::@21->main::@10] //SEG62 [30] phi from main::@21 to main::@10 [phi:main::@21->main::@10]
b10_from_b21: b10_from_b21:
//SEG63 [30] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@21->main::@10#0] -- vbuz1=vbuc1 //SEG63 [30] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@21->main::@10#0] -- vbuxx=vbuc1
lda #0
sta i
//SEG64 [30] phi (byte) main::ch#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@21->main::@10#1] -- vbuxx=vbuc1
ldx #0 ldx #0
//SEG64 [30] phi (byte) main::ch#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@21->main::@10#1] -- vbuz1=vbuc1
lda #0
sta ch
jmp b10 jmp b10
//SEG65 [30] phi from main::@11 to main::@10 [phi:main::@11->main::@10] //SEG65 [30] phi from main::@11 to main::@10 [phi:main::@11->main::@10]
b10_from_b11: b10_from_b11:
@ -3261,8 +3266,8 @@ main: {
jmp b10 jmp b10
//SEG68 main::@10 //SEG68 main::@10
b10: b10:
//SEG69 [31] (byte) keyboard_get_keycode::ch#0 ← (byte) main::ch#2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::ch#0 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::ch#0 ] ) //SEG69 [31] (byte) keyboard_get_keycode::ch#0 ← (byte) main::ch#2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::ch#0 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::ch#0 ] ) -- vbuyy=vbuz1
// (byte) keyboard_get_keycode::ch#0 = (byte) main::ch#2 // register copy reg byte x ldy ch
//SEG70 [32] call keyboard_get_keycode param-assignment [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ) //SEG70 [32] call keyboard_get_keycode param-assignment [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] )
jsr keyboard_get_keycode jsr keyboard_get_keycode
//SEG71 [33] (byte) keyboard_get_keycode::return#2 ← (byte) keyboard_get_keycode::return#0 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#2 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#2 ] ) //SEG71 [33] (byte) keyboard_get_keycode::return#2 ← (byte) keyboard_get_keycode::return#0 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#2 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#2 ] )
@ -3295,12 +3300,13 @@ main: {
jmp b23 jmp b23
//SEG82 main::@23 //SEG82 main::@23
b23: b23:
//SEG83 [41] *((byte*) main::screen#2 + (byte) main::i#10) ← (byte) main::ch#2 [ main::screen#2 main::ch#2 main::i#10 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 ] ) -- pbuz1_derefidx_vbuz2=vbuxx //SEG83 [41] *((byte*) main::screen#2 + (byte) main::i#10) ← (byte) main::ch#2 [ main::screen#2 main::ch#2 main::i#10 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 ] ) -- pbuz1_derefidx_vbuxx=vbuz2
ldy i
txa txa
tay
lda ch
sta (screen),y sta (screen),y
//SEG84 [42] (byte) main::i#1 ← ++ (byte) main::i#10 [ main::screen#2 main::ch#2 main::i#1 ] ( main:2 [ main::screen#2 main::ch#2 main::i#1 ] ) -- vbuz1=_inc_vbuz1 //SEG84 [42] (byte) main::i#1 ← ++ (byte) main::i#10 [ main::screen#2 main::ch#2 main::i#1 ] ( main:2 [ main::screen#2 main::ch#2 main::i#1 ] ) -- vbuxx=_inc_vbuxx
inc i inx
//SEG85 [43] phi from main::@23 main::@29 main::@30 to main::@11 [phi:main::@23/main::@29/main::@30->main::@11] //SEG85 [43] phi from main::@23 main::@29 main::@30 to main::@11 [phi:main::@23/main::@29/main::@30->main::@11]
b11_from_b23: b11_from_b23:
b11_from_b29: b11_from_b29:
@ -3309,10 +3315,11 @@ main: {
jmp b11 jmp b11
//SEG87 main::@11 //SEG87 main::@11
b11: b11:
//SEG88 [44] (byte) main::ch#1 ← ++ (byte) main::ch#2 [ main::screen#2 main::ch#1 main::i#6 ] ( main:2 [ main::screen#2 main::ch#1 main::i#6 ] ) -- vbuxx=_inc_vbuxx //SEG88 [44] (byte) main::ch#1 ← ++ (byte) main::ch#2 [ main::screen#2 main::ch#1 main::i#6 ] ( main:2 [ main::screen#2 main::ch#1 main::i#6 ] ) -- vbuz1=_inc_vbuz1
inx inc ch
//SEG89 [45] if((byte) main::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 64) goto main::@10 [ main::screen#2 main::ch#1 main::i#6 ] ( main:2 [ main::screen#2 main::ch#1 main::i#6 ] ) -- vbuxx_neq_vbuc1_then_la1 //SEG89 [45] if((byte) main::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 64) goto main::@10 [ main::screen#2 main::ch#1 main::i#6 ] ( main:2 [ main::screen#2 main::ch#1 main::i#6 ] ) -- vbuz1_neq_vbuc1_then_la1
cpx #$40 lda ch
cmp #$40
bne b10_from_b11 bne b10_from_b11
//SEG90 [46] phi from main::@11 main::@13 to main::@13 [phi:main::@11/main::@13->main::@13] //SEG90 [46] phi from main::@11 main::@13 to main::@13 [phi:main::@11/main::@13->main::@13]
b13_from_b11: b13_from_b11:
@ -3321,15 +3328,15 @@ main: {
jmp b13 jmp b13
//SEG92 main::@13 //SEG92 main::@13
b13: b13:
//SEG93 [47] *((byte*) main::screen#2 + (byte) main::i#4) ← (byte) ' ' [ main::screen#2 main::i#4 ] ( main:2 [ main::screen#2 main::i#4 ] ) -- pbuz1_derefidx_vbuz2=vbuc1 //SEG93 [47] *((byte*) main::screen#2 + (byte) main::i#4) ← (byte) ' ' [ main::screen#2 main::i#4 ] ( main:2 [ main::screen#2 main::i#4 ] ) -- pbuz1_derefidx_vbuxx=vbuc1
txa
tay
lda #' ' lda #' '
ldy i
sta (screen),y sta (screen),y
//SEG94 [48] (byte) main::i#2 ← ++ (byte) main::i#4 [ main::screen#2 main::i#2 ] ( main:2 [ main::screen#2 main::i#2 ] ) -- vbuz1=_inc_vbuz1 //SEG94 [48] (byte) main::i#2 ← ++ (byte) main::i#4 [ main::screen#2 main::i#2 ] ( main:2 [ main::screen#2 main::i#2 ] ) -- vbuxx=_inc_vbuxx
inc i inx
//SEG95 [49] if((byte) main::i#2<(byte/signed byte/word/signed word/dword/signed dword) 5) goto main::@13 [ main::screen#2 main::i#2 ] ( main:2 [ main::screen#2 main::i#2 ] ) -- vbuz1_lt_vbuc1_then_la1 //SEG95 [49] if((byte) main::i#2<(byte/signed byte/word/signed word/dword/signed dword) 5) goto main::@13 [ main::screen#2 main::i#2 ] ( main:2 [ main::screen#2 main::i#2 ] ) -- vbuxx_lt_vbuc1_then_la1
lda i cpx #5
cmp #5
bcc b13_from_b13 bcc b13_from_b13
jmp b2 jmp b2
//SEG96 main::@8 //SEG96 main::@8
@ -3390,8 +3397,8 @@ keyboard_matrix_read: {
} }
//SEG116 keyboard_get_keycode //SEG116 keyboard_get_keycode
keyboard_get_keycode: { keyboard_get_keycode: {
//SEG117 [63] (byte) keyboard_get_keycode::return#0 ← *((const byte[]) keyboard_char_keycodes#0 + (byte) keyboard_get_keycode::ch#0) [ keyboard_get_keycode::return#0 ] ( main:2::keyboard_get_keycode:32 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ) -- vbuaa=pbuc1_derefidx_vbuxx //SEG117 [63] (byte) keyboard_get_keycode::return#0 ← *((const byte[]) keyboard_char_keycodes#0 + (byte) keyboard_get_keycode::ch#0) [ keyboard_get_keycode::return#0 ] ( main:2::keyboard_get_keycode:32 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ) -- vbuaa=pbuc1_derefidx_vbuyy
lda keyboard_char_keycodes,x lda keyboard_char_keycodes,y
jmp breturn jmp breturn
//SEG118 keyboard_get_keycode::@return //SEG118 keyboard_get_keycode::@return
breturn: breturn:
@ -3443,7 +3450,7 @@ Removing instruction jmp breturn
Removing instruction jmp breturn Removing instruction jmp breturn
Removing instruction jmp breturn Removing instruction jmp breturn
Succesful ASM optimization Pass5NextJumpElimination Succesful ASM optimization Pass5NextJumpElimination
Replacing instruction ldx #0 with TAX Replacing instruction lda #0 with TXA
Replacing label b1_from_b1 with b1 Replacing label b1_from_b1 with b1
Replacing label b1_from_b1 with b1 Replacing label b1_from_b1 with b1
Replacing label b7_from_b9 with b7 Replacing label b7_from_b9 with b7
@ -3623,7 +3630,7 @@ FINAL SYMBOL TABLE
(byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch) (byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch)
(label) keyboard_get_keycode::@return (label) keyboard_get_keycode::@return
(byte) keyboard_get_keycode::ch (byte) keyboard_get_keycode::ch
(byte) keyboard_get_keycode::ch#0 reg byte x 103.0 (byte) keyboard_get_keycode::ch#0 reg byte y 103.0
(byte) keyboard_get_keycode::return (byte) keyboard_get_keycode::return
(byte) keyboard_get_keycode::return#0 reg byte a 34.33333333333333 (byte) keyboard_get_keycode::return#0 reg byte a 34.33333333333333
(byte) keyboard_get_keycode::return#2 reg byte a 202.0 (byte) keyboard_get_keycode::return#2 reg byte a 202.0
@ -3681,17 +3688,17 @@ FINAL SYMBOL TABLE
(label) main::@9 (label) main::@9
(label) main::@return (label) main::@return
(byte) main::ch (byte) main::ch
(byte) main::ch#1 reg byte x 151.5 (byte) main::ch#1 ch zp ZP_BYTE:4 151.5
(byte) main::ch#2 reg byte x 28.857142857142858 (byte) main::ch#2 ch zp ZP_BYTE:4 28.857142857142858
(byte) main::col (byte) main::col
(byte) main::col#1 reg byte y 1501.5 (byte) main::col#1 reg byte y 1501.5
(byte) main::col#2 reg byte y 667.3333333333334 (byte) main::col#2 reg byte y 667.3333333333334
(byte) main::i (byte) main::i
(byte) main::i#1 i zp ZP_BYTE:4 202.0 (byte) main::i#1 reg byte x 202.0
(byte) main::i#10 i zp ZP_BYTE:4 42.08333333333333 (byte) main::i#10 reg byte x 42.08333333333333
(byte) main::i#2 i zp ZP_BYTE:4 151.5 (byte) main::i#2 reg byte x 151.5
(byte) main::i#4 i zp ZP_BYTE:4 202.0 (byte) main::i#4 reg byte x 202.0
(byte) main::i#6 i zp ZP_BYTE:4 168.33333333333331 (byte) main::i#6 reg byte x 168.33333333333331
(byte) main::key (byte) main::key
(byte) main::key#0 reg byte a 151.5 (byte) main::key#0 reg byte a 151.5
(byte) main::row (byte) main::row
@ -3710,14 +3717,14 @@ FINAL SYMBOL TABLE
(byte*) main::screen#2 screen zp ZP_WORD:2 10.142857142857142 (byte*) main::screen#2 screen zp ZP_WORD:2 10.142857142857142
zp ZP_WORD:2 [ main::sc#2 main::sc#1 main::screen#13 main::screen#1 main::screen#2 ] zp ZP_WORD:2 [ main::sc#2 main::sc#1 main::screen#13 main::screen#1 main::screen#2 ]
zp ZP_BYTE:4 [ main::row#2 main::row#1 main::i#4 main::i#10 main::i#6 main::i#1 main::i#2 ] zp ZP_BYTE:4 [ main::row#2 main::row#1 main::ch#2 main::ch#1 ]
reg byte x [ main::row_pressed_bits#2 main::row_pressed_bits#0 main::row_pressed_bits#1 ] reg byte x [ main::row_pressed_bits#2 main::row_pressed_bits#0 main::row_pressed_bits#1 ]
reg byte y [ main::col#2 main::col#1 ] reg byte y [ main::col#2 main::col#1 ]
reg byte x [ main::ch#2 main::ch#1 ] reg byte x [ main::i#4 main::i#10 main::i#6 main::i#1 main::i#2 ]
reg byte y [ keyboard_matrix_read::rowid#2 keyboard_matrix_read::rowid#0 keyboard_matrix_read::rowid#1 ] reg byte y [ keyboard_matrix_read::rowid#2 keyboard_matrix_read::rowid#0 keyboard_matrix_read::rowid#1 ]
reg byte a [ keyboard_matrix_read::return#3 ] reg byte a [ keyboard_matrix_read::return#3 ]
reg byte a [ main::$5 ] reg byte a [ main::$5 ]
reg byte x [ keyboard_get_keycode::ch#0 ] reg byte y [ keyboard_get_keycode::ch#0 ]
reg byte a [ keyboard_get_keycode::return#2 ] reg byte a [ keyboard_get_keycode::return#2 ]
reg byte a [ main::key#0 ] reg byte a [ main::key#0 ]
reg byte y [ keyboard_key_pressed::key#0 ] reg byte y [ keyboard_key_pressed::key#0 ]
@ -3733,7 +3740,7 @@ reg byte a [ keyboard_get_keycode::return#0 ]
FINAL ASSEMBLER FINAL ASSEMBLER
Score: 56527 Score: 56827
//SEG0 Basic Upstart //SEG0 Basic Upstart
.pc = $801 "Basic" .pc = $801 "Basic"
@ -3808,7 +3815,7 @@ main: {
.label sc = 2 .label sc = 2
.label screen = 2 .label screen = 2
.label row = 4 .label row = 4
.label i = 4 .label ch = 4
//SEG10 [5] phi from main to main::@1 [phi:main->main::@1] //SEG10 [5] phi from main to main::@1 [phi:main->main::@1]
//SEG11 [5] phi (byte*) main::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1 //SEG11 [5] phi (byte*) main::sc#2 = ((byte*))(word/signed word/dword/signed dword) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1
lda #<$400 lda #<$400
@ -3931,18 +3938,18 @@ main: {
inc screen+1 inc screen+1
!: !:
//SEG62 [30] phi from main::@21 to main::@10 [phi:main::@21->main::@10] //SEG62 [30] phi from main::@21 to main::@10 [phi:main::@21->main::@10]
//SEG63 [30] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@21->main::@10#0] -- vbuz1=vbuc1 //SEG63 [30] phi (byte) main::i#10 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@21->main::@10#0] -- vbuxx=vbuc1
lda #0 ldx #0
sta i //SEG64 [30] phi (byte) main::ch#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@21->main::@10#1] -- vbuz1=vbuc1
//SEG64 [30] phi (byte) main::ch#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@21->main::@10#1] -- vbuxx=vbuc1 txa
tax sta ch
//SEG65 [30] phi from main::@11 to main::@10 [phi:main::@11->main::@10] //SEG65 [30] phi from main::@11 to main::@10 [phi:main::@11->main::@10]
//SEG66 [30] phi (byte) main::i#10 = (byte) main::i#6 [phi:main::@11->main::@10#0] -- register_copy //SEG66 [30] phi (byte) main::i#10 = (byte) main::i#6 [phi:main::@11->main::@10#0] -- register_copy
//SEG67 [30] phi (byte) main::ch#2 = (byte) main::ch#1 [phi:main::@11->main::@10#1] -- register_copy //SEG67 [30] phi (byte) main::ch#2 = (byte) main::ch#1 [phi:main::@11->main::@10#1] -- register_copy
//SEG68 main::@10 //SEG68 main::@10
b10: b10:
//SEG69 [31] (byte) keyboard_get_keycode::ch#0 ← (byte) main::ch#2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::ch#0 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::ch#0 ] ) //SEG69 [31] (byte) keyboard_get_keycode::ch#0 ← (byte) main::ch#2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::ch#0 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::ch#0 ] ) -- vbuyy=vbuz1
// (byte) keyboard_get_keycode::ch#0 = (byte) main::ch#2 // register copy reg byte x ldy ch
//SEG70 [32] call keyboard_get_keycode param-assignment [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ) //SEG70 [32] call keyboard_get_keycode param-assignment [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] )
jsr keyboard_get_keycode jsr keyboard_get_keycode
//SEG71 [33] (byte) keyboard_get_keycode::return#2 ← (byte) keyboard_get_keycode::return#0 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#2 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#2 ] ) //SEG71 [33] (byte) keyboard_get_keycode::return#2 ← (byte) keyboard_get_keycode::return#0 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#2 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#2 ] )
@ -3967,34 +3974,36 @@ main: {
cmp #0 cmp #0
beq b11 beq b11
//SEG82 main::@23 //SEG82 main::@23
//SEG83 [41] *((byte*) main::screen#2 + (byte) main::i#10) ← (byte) main::ch#2 [ main::screen#2 main::ch#2 main::i#10 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 ] ) -- pbuz1_derefidx_vbuz2=vbuxx //SEG83 [41] *((byte*) main::screen#2 + (byte) main::i#10) ← (byte) main::ch#2 [ main::screen#2 main::ch#2 main::i#10 ] ( main:2 [ main::screen#2 main::ch#2 main::i#10 ] ) -- pbuz1_derefidx_vbuxx=vbuz2
ldy i
txa txa
tay
lda ch
sta (screen),y sta (screen),y
//SEG84 [42] (byte) main::i#1 ← ++ (byte) main::i#10 [ main::screen#2 main::ch#2 main::i#1 ] ( main:2 [ main::screen#2 main::ch#2 main::i#1 ] ) -- vbuz1=_inc_vbuz1 //SEG84 [42] (byte) main::i#1 ← ++ (byte) main::i#10 [ main::screen#2 main::ch#2 main::i#1 ] ( main:2 [ main::screen#2 main::ch#2 main::i#1 ] ) -- vbuxx=_inc_vbuxx
inc i inx
//SEG85 [43] phi from main::@23 main::@29 main::@30 to main::@11 [phi:main::@23/main::@29/main::@30->main::@11] //SEG85 [43] phi from main::@23 main::@29 main::@30 to main::@11 [phi:main::@23/main::@29/main::@30->main::@11]
//SEG86 [43] phi (byte) main::i#6 = (byte) main::i#1 [phi:main::@23/main::@29/main::@30->main::@11#0] -- register_copy //SEG86 [43] phi (byte) main::i#6 = (byte) main::i#1 [phi:main::@23/main::@29/main::@30->main::@11#0] -- register_copy
//SEG87 main::@11 //SEG87 main::@11
b11: b11:
//SEG88 [44] (byte) main::ch#1 ← ++ (byte) main::ch#2 [ main::screen#2 main::ch#1 main::i#6 ] ( main:2 [ main::screen#2 main::ch#1 main::i#6 ] ) -- vbuxx=_inc_vbuxx //SEG88 [44] (byte) main::ch#1 ← ++ (byte) main::ch#2 [ main::screen#2 main::ch#1 main::i#6 ] ( main:2 [ main::screen#2 main::ch#1 main::i#6 ] ) -- vbuz1=_inc_vbuz1
inx inc ch
//SEG89 [45] if((byte) main::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 64) goto main::@10 [ main::screen#2 main::ch#1 main::i#6 ] ( main:2 [ main::screen#2 main::ch#1 main::i#6 ] ) -- vbuxx_neq_vbuc1_then_la1 //SEG89 [45] if((byte) main::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 64) goto main::@10 [ main::screen#2 main::ch#1 main::i#6 ] ( main:2 [ main::screen#2 main::ch#1 main::i#6 ] ) -- vbuz1_neq_vbuc1_then_la1
cpx #$40 lda ch
cmp #$40
bne b10 bne b10
//SEG90 [46] phi from main::@11 main::@13 to main::@13 [phi:main::@11/main::@13->main::@13] //SEG90 [46] phi from main::@11 main::@13 to main::@13 [phi:main::@11/main::@13->main::@13]
//SEG91 [46] phi (byte) main::i#4 = (byte) main::i#6 [phi:main::@11/main::@13->main::@13#0] -- register_copy //SEG91 [46] phi (byte) main::i#4 = (byte) main::i#6 [phi:main::@11/main::@13->main::@13#0] -- register_copy
//SEG92 main::@13 //SEG92 main::@13
b13: b13:
//SEG93 [47] *((byte*) main::screen#2 + (byte) main::i#4) ← (byte) ' ' [ main::screen#2 main::i#4 ] ( main:2 [ main::screen#2 main::i#4 ] ) -- pbuz1_derefidx_vbuz2=vbuc1 //SEG93 [47] *((byte*) main::screen#2 + (byte) main::i#4) ← (byte) ' ' [ main::screen#2 main::i#4 ] ( main:2 [ main::screen#2 main::i#4 ] ) -- pbuz1_derefidx_vbuxx=vbuc1
txa
tay
lda #' ' lda #' '
ldy i
sta (screen),y sta (screen),y
//SEG94 [48] (byte) main::i#2 ← ++ (byte) main::i#4 [ main::screen#2 main::i#2 ] ( main:2 [ main::screen#2 main::i#2 ] ) -- vbuz1=_inc_vbuz1 //SEG94 [48] (byte) main::i#2 ← ++ (byte) main::i#4 [ main::screen#2 main::i#2 ] ( main:2 [ main::screen#2 main::i#2 ] ) -- vbuxx=_inc_vbuxx
inc i inx
//SEG95 [49] if((byte) main::i#2<(byte/signed byte/word/signed word/dword/signed dword) 5) goto main::@13 [ main::screen#2 main::i#2 ] ( main:2 [ main::screen#2 main::i#2 ] ) -- vbuz1_lt_vbuc1_then_la1 //SEG95 [49] if((byte) main::i#2<(byte/signed byte/word/signed word/dword/signed dword) 5) goto main::@13 [ main::screen#2 main::i#2 ] ( main:2 [ main::screen#2 main::i#2 ] ) -- vbuxx_lt_vbuc1_then_la1
lda i cpx #5
cmp #5
bcc b13 bcc b13
jmp b5 jmp b5
//SEG96 main::@8 //SEG96 main::@8
@ -4048,8 +4057,8 @@ keyboard_matrix_read: {
} }
//SEG116 keyboard_get_keycode //SEG116 keyboard_get_keycode
keyboard_get_keycode: { keyboard_get_keycode: {
//SEG117 [63] (byte) keyboard_get_keycode::return#0 ← *((const byte[]) keyboard_char_keycodes#0 + (byte) keyboard_get_keycode::ch#0) [ keyboard_get_keycode::return#0 ] ( main:2::keyboard_get_keycode:32 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ) -- vbuaa=pbuc1_derefidx_vbuxx //SEG117 [63] (byte) keyboard_get_keycode::return#0 ← *((const byte[]) keyboard_char_keycodes#0 + (byte) keyboard_get_keycode::ch#0) [ keyboard_get_keycode::return#0 ] ( main:2::keyboard_get_keycode:32 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ) -- vbuaa=pbuc1_derefidx_vbuyy
lda keyboard_char_keycodes,x lda keyboard_char_keycodes,y
//SEG118 keyboard_get_keycode::@return //SEG118 keyboard_get_keycode::@return
//SEG119 [64] return [ keyboard_get_keycode::return#0 ] ( main:2::keyboard_get_keycode:32 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] ) //SEG119 [64] return [ keyboard_get_keycode::return#0 ] ( main:2::keyboard_get_keycode:32 [ main::screen#2 main::ch#2 main::i#10 keyboard_get_keycode::return#0 ] )
rts rts

View File

@ -116,7 +116,7 @@
(byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch) (byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch)
(label) keyboard_get_keycode::@return (label) keyboard_get_keycode::@return
(byte) keyboard_get_keycode::ch (byte) keyboard_get_keycode::ch
(byte) keyboard_get_keycode::ch#0 reg byte x 103.0 (byte) keyboard_get_keycode::ch#0 reg byte y 103.0
(byte) keyboard_get_keycode::return (byte) keyboard_get_keycode::return
(byte) keyboard_get_keycode::return#0 reg byte a 34.33333333333333 (byte) keyboard_get_keycode::return#0 reg byte a 34.33333333333333
(byte) keyboard_get_keycode::return#2 reg byte a 202.0 (byte) keyboard_get_keycode::return#2 reg byte a 202.0
@ -174,17 +174,17 @@
(label) main::@9 (label) main::@9
(label) main::@return (label) main::@return
(byte) main::ch (byte) main::ch
(byte) main::ch#1 reg byte x 151.5 (byte) main::ch#1 ch zp ZP_BYTE:4 151.5
(byte) main::ch#2 reg byte x 28.857142857142858 (byte) main::ch#2 ch zp ZP_BYTE:4 28.857142857142858
(byte) main::col (byte) main::col
(byte) main::col#1 reg byte y 1501.5 (byte) main::col#1 reg byte y 1501.5
(byte) main::col#2 reg byte y 667.3333333333334 (byte) main::col#2 reg byte y 667.3333333333334
(byte) main::i (byte) main::i
(byte) main::i#1 i zp ZP_BYTE:4 202.0 (byte) main::i#1 reg byte x 202.0
(byte) main::i#10 i zp ZP_BYTE:4 42.08333333333333 (byte) main::i#10 reg byte x 42.08333333333333
(byte) main::i#2 i zp ZP_BYTE:4 151.5 (byte) main::i#2 reg byte x 151.5
(byte) main::i#4 i zp ZP_BYTE:4 202.0 (byte) main::i#4 reg byte x 202.0
(byte) main::i#6 i zp ZP_BYTE:4 168.33333333333331 (byte) main::i#6 reg byte x 168.33333333333331
(byte) main::key (byte) main::key
(byte) main::key#0 reg byte a 151.5 (byte) main::key#0 reg byte a 151.5
(byte) main::row (byte) main::row
@ -203,14 +203,14 @@
(byte*) main::screen#2 screen zp ZP_WORD:2 10.142857142857142 (byte*) main::screen#2 screen zp ZP_WORD:2 10.142857142857142
zp ZP_WORD:2 [ main::sc#2 main::sc#1 main::screen#13 main::screen#1 main::screen#2 ] zp ZP_WORD:2 [ main::sc#2 main::sc#1 main::screen#13 main::screen#1 main::screen#2 ]
zp ZP_BYTE:4 [ main::row#2 main::row#1 main::i#4 main::i#10 main::i#6 main::i#1 main::i#2 ] zp ZP_BYTE:4 [ main::row#2 main::row#1 main::ch#2 main::ch#1 ]
reg byte x [ main::row_pressed_bits#2 main::row_pressed_bits#0 main::row_pressed_bits#1 ] reg byte x [ main::row_pressed_bits#2 main::row_pressed_bits#0 main::row_pressed_bits#1 ]
reg byte y [ main::col#2 main::col#1 ] reg byte y [ main::col#2 main::col#1 ]
reg byte x [ main::ch#2 main::ch#1 ] reg byte x [ main::i#4 main::i#10 main::i#6 main::i#1 main::i#2 ]
reg byte y [ keyboard_matrix_read::rowid#2 keyboard_matrix_read::rowid#0 keyboard_matrix_read::rowid#1 ] reg byte y [ keyboard_matrix_read::rowid#2 keyboard_matrix_read::rowid#0 keyboard_matrix_read::rowid#1 ]
reg byte a [ keyboard_matrix_read::return#3 ] reg byte a [ keyboard_matrix_read::return#3 ]
reg byte a [ main::$5 ] reg byte a [ main::$5 ]
reg byte x [ keyboard_get_keycode::ch#0 ] reg byte y [ keyboard_get_keycode::ch#0 ]
reg byte a [ keyboard_get_keycode::return#2 ] reg byte a [ keyboard_get_keycode::return#2 ]
reg byte a [ main::key#0 ] reg byte a [ main::key#0 ]
reg byte y [ keyboard_key_pressed::key#0 ] reg byte y [ keyboard_key_pressed::key#0 ]

View File

@ -9296,23 +9296,25 @@ Uplifting [muls16u] best 520902 combination zp ZP_DWORD:62 [ muls16u::return#0 m
Uplifting [mul16u_compare] best 519212 combination zp ZP_WORD:54 [ mul16u_compare::a#2 mul16u_compare::a#5 mul16u_compare::a#1 ] reg byte y [ mul16u_compare::j#2 mul16u_compare::j#1 ] zp ZP_WORD:56 [ mul16u_compare::b#2 mul16u_compare::b#5 mul16u_compare::b#1 ] reg byte a [ mul16u_compare::ok#2 ] zp ZP_DWORD:153 [ mul16u_compare::mn#0 ] reg byte x [ mul16u_compare::i#9 mul16u_compare::i#1 ] zp ZP_DWORD:145 [ mul16u_compare::ms#0 ] Uplifting [mul16u_compare] best 519212 combination zp ZP_WORD:54 [ mul16u_compare::a#2 mul16u_compare::a#5 mul16u_compare::a#1 ] reg byte y [ mul16u_compare::j#2 mul16u_compare::j#1 ] zp ZP_WORD:56 [ mul16u_compare::b#2 mul16u_compare::b#5 mul16u_compare::b#1 ] reg byte a [ mul16u_compare::ok#2 ] zp ZP_DWORD:153 [ mul16u_compare::mn#0 ] reg byte x [ mul16u_compare::i#9 mul16u_compare::i#1 ] zp ZP_DWORD:145 [ mul16u_compare::ms#0 ]
Uplifting [mul16s_compare] best 517522 combination zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#5 mul16s_compare::a#1 ] reg byte y [ mul16s_compare::j#2 mul16s_compare::j#1 ] zp ZP_WORD:5 [ mul16s_compare::b#2 mul16s_compare::b#5 mul16s_compare::b#1 ] reg byte a [ mul16s_compare::ok#2 ] zp ZP_DWORD:102 [ mul16s_compare::mn#0 ] reg byte x [ mul16s_compare::i#9 mul16s_compare::i#1 ] zp ZP_DWORD:90 [ mul16s_compare::ms#0 ] Uplifting [mul16s_compare] best 517522 combination zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#5 mul16s_compare::a#1 ] reg byte y [ mul16s_compare::j#2 mul16s_compare::j#1 ] zp ZP_WORD:5 [ mul16s_compare::b#2 mul16s_compare::b#5 mul16s_compare::b#1 ] reg byte a [ mul16s_compare::ok#2 ] zp ZP_DWORD:102 [ mul16s_compare::mn#0 ] reg byte x [ mul16s_compare::i#9 mul16s_compare::i#1 ] zp ZP_DWORD:90 [ mul16s_compare::ms#0 ]
Uplifting [mul16s] best 517522 combination zp ZP_DWORD:98 [ mul16s::return#2 ] zp ZP_DWORD:132 [ mul16s::return#0 ] zp ZP_DWORD:29 [ mul16s::m#4 mul16s::m#5 mul16s::m#1 mul16s::m#0 mul16s::m#2 ] zp ZP_WORD:96 [ mul16s::b#0 ] zp ZP_WORD:94 [ mul16s::a#0 ] zp ZP_WORD:124 [ mul16s::$6 ] zp ZP_WORD:126 [ mul16s::$16 ] zp ZP_WORD:128 [ mul16s::$12 ] zp ZP_WORD:130 [ mul16s::$17 ] Uplifting [mul16s] best 517522 combination zp ZP_DWORD:98 [ mul16s::return#2 ] zp ZP_DWORD:132 [ mul16s::return#0 ] zp ZP_DWORD:29 [ mul16s::m#4 mul16s::m#5 mul16s::m#1 mul16s::m#0 mul16s::m#2 ] zp ZP_WORD:96 [ mul16s::b#0 ] zp ZP_WORD:94 [ mul16s::a#0 ] zp ZP_WORD:124 [ mul16s::$6 ] zp ZP_WORD:126 [ mul16s::$16 ] zp ZP_WORD:128 [ mul16s::$12 ] zp ZP_WORD:130 [ mul16s::$17 ]
Uplifting [mulf_init] best 517172 combination zp ZP_WORD:72 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:71 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:75 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:67 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:77 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:79 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:69 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] Uplifting [mulf_init] best 517292 combination zp ZP_WORD:72 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:71 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:75 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:67 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:74 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:77 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:79 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:69 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Limited combination testing to 1000 combinations of 1024 possible. Limited combination testing to 100 combinations of 1024 possible.
Uplifting [] best 517172 combination zp ZP_WORD:25 [ print_char_cursor#76 print_char_cursor#120 print_char_cursor#116 print_char_cursor#117 print_char_cursor#118 print_char_cursor#130 print_char_cursor#157 print_char_cursor#158 print_char_cursor#113 print_char_cursor#112 print_char_cursor#20 print_char_cursor#1 print_char_cursor#114 ] zp ZP_WORD:9 [ print_line_cursor#20 print_line_cursor#39 print_line_cursor#1 ] Uplifting [] best 517292 combination zp ZP_WORD:25 [ print_char_cursor#76 print_char_cursor#120 print_char_cursor#116 print_char_cursor#117 print_char_cursor#118 print_char_cursor#130 print_char_cursor#157 print_char_cursor#158 print_char_cursor#113 print_char_cursor#112 print_char_cursor#20 print_char_cursor#1 print_char_cursor#114 ] zp ZP_WORD:9 [ print_line_cursor#20 print_line_cursor#39 print_line_cursor#1 ]
Uplifting [print_str] best 517172 combination zp ZP_WORD:11 [ print_str::str#11 print_str::str#13 print_str::str#0 ] Uplifting [print_str] best 517292 combination zp ZP_WORD:11 [ print_str::str#11 print_str::str#13 print_str::str#0 ]
Uplifting [print_cls] best 517172 combination zp ZP_WORD:80 [ print_cls::sc#2 print_cls::sc#1 ] Uplifting [print_cls] best 517292 combination zp ZP_WORD:80 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [print_word] best 517172 combination zp ZP_WORD:21 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ] Uplifting [print_word] best 517292 combination zp ZP_WORD:21 [ print_word::w#5 print_word::w#3 print_word::w#4 print_word::w#1 print_word::w#2 print_word::w#11 ]
Uplifting [print_sdword] best 517172 combination zp ZP_DWORD:13 [ print_sdword::dw#4 print_sdword::dw#3 print_sdword::dw#1 print_sdword::dw#2 print_sdword::dw#0 ] Uplifting [print_sdword] best 517292 combination zp ZP_DWORD:13 [ print_sdword::dw#4 print_sdword::dw#3 print_sdword::dw#1 print_sdword::dw#2 print_sdword::dw#0 ]
Uplifting [print_sword] best 517172 combination zp ZP_WORD:27 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ] Uplifting [print_sword] best 517292 combination zp ZP_WORD:27 [ print_sword::w#4 print_sword::w#3 print_sword::w#1 print_sword::w#2 print_sword::w#0 ]
Uplifting [print_byte] best 517160 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] Uplifting [print_byte] best 517280 combination reg byte x [ print_byte::b#2 print_byte::b#0 print_byte::b#1 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [print_dword] best 517160 combination zp ZP_DWORD:17 [ print_dword::dw#3 print_dword::dw#1 print_dword::dw#2 print_dword::dw#0 ] Uplifting [print_dword] best 517280 combination zp ZP_DWORD:17 [ print_dword::dw#3 print_dword::dw#1 print_dword::dw#2 print_dword::dw#0 ]
Uplifting [print_char] best 517145 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] Uplifting [print_char] best 517265 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ]
Uplifting [mul16u_error] best 517145 combination zp ZP_WORD:157 [ mul16u_error::a#0 ] zp ZP_WORD:159 [ mul16u_error::b#0 ] zp ZP_DWORD:161 [ mul16u_error::ms#0 ] zp ZP_DWORD:165 [ mul16u_error::mn#0 ] Uplifting [mul16u_error] best 517265 combination zp ZP_WORD:157 [ mul16u_error::a#0 ] zp ZP_WORD:159 [ mul16u_error::b#0 ] zp ZP_DWORD:161 [ mul16u_error::ms#0 ] zp ZP_DWORD:165 [ mul16u_error::mn#0 ]
Uplifting [mul16s_error] best 517145 combination zp ZP_WORD:106 [ mul16s_error::a#0 ] zp ZP_WORD:108 [ mul16s_error::b#0 ] zp ZP_DWORD:110 [ mul16s_error::ms#0 ] zp ZP_DWORD:114 [ mul16s_error::mn#0 ] Uplifting [mul16s_error] best 517265 combination zp ZP_WORD:106 [ mul16s_error::a#0 ] zp ZP_WORD:108 [ mul16s_error::b#0 ] zp ZP_DWORD:110 [ mul16s_error::ms#0 ] zp ZP_DWORD:114 [ mul16s_error::mn#0 ]
Uplifting [print_ln] best 517145 combination Uplifting [print_ln] best 517265 combination
Uplifting [main] best 517145 combination Uplifting [main] best 517265 combination
Attempting to uplift remaining variables inzp ZP_BYTE:71 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:71 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 517145 combination zp ZP_BYTE:71 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] Uplifting [mulf_init] best 517265 combination zp ZP_BYTE:71 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:74 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 517145 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:79 [ mulf_init::dir#2 mulf_init::dir#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:79 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 517145 combination zp ZP_BYTE:79 [ mulf_init::dir#2 mulf_init::dir#3 ] Uplifting [mulf_init] best 517145 combination zp ZP_BYTE:79 [ mulf_init::dir#2 mulf_init::dir#3 ]
Coalescing zero page register with common assignment [ zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#5 mul16s_compare::a#1 ] ] with [ zp ZP_WORD:82 [ muls16s::a#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_WORD:3 [ mul16s_compare::a#2 mul16s_compare::a#5 mul16s_compare::a#1 ] ] with [ zp ZP_WORD:82 [ muls16s::a#0 ] ] - score: 1

View File

@ -10942,46 +10942,54 @@ Uplifting [muls8u] best 297370 combination zp ZP_WORD:38 [ muls8u::return#0 muls
Uplifting [mulf8u] best 296758 combination reg byte x [ mulf8u::b#2 mulf8u::b#1 mulf8u::b#4 ] reg byte a [ mulf8u::a#2 mulf8u::a#1 mulf8u::a#4 ] zp ZP_WORD:109 [ mulf8u::return#3 ] zp ZP_WORD:101 [ mulf8u::return#0 ] zp ZP_WORD:95 [ mulf8u::return#2 ] Uplifting [mulf8u] best 296758 combination reg byte x [ mulf8u::b#2 mulf8u::b#1 mulf8u::b#4 ] reg byte a [ mulf8u::a#2 mulf8u::a#1 mulf8u::a#4 ] zp ZP_WORD:109 [ mulf8u::return#3 ] zp ZP_WORD:101 [ mulf8u::return#0 ] zp ZP_WORD:95 [ mulf8u::return#2 ]
Uplifting [mul8u_compare] best 295758 combination reg byte x [ mul8u_compare::ok#3 mul8u_compare::ok#4 ] zp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ] zp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ] zp ZP_WORD:115 [ mul8u_compare::mn#0 ] zp ZP_WORD:107 [ mul8u_compare::ms#0 ] zp ZP_WORD:111 [ mul8u_compare::mf#0 ] Uplifting [mul8u_compare] best 295758 combination reg byte x [ mul8u_compare::ok#3 mul8u_compare::ok#4 ] zp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ] zp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ] zp ZP_WORD:115 [ mul8u_compare::mn#0 ] zp ZP_WORD:107 [ mul8u_compare::ms#0 ] zp ZP_WORD:111 [ mul8u_compare::mf#0 ]
Uplifting [mul8s_compare] best 294758 combination reg byte x [ mul8s_compare::ok#3 mul8s_compare::ok#4 ] zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ] zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ] zp ZP_WORD:76 [ mul8s_compare::mn#0 ] zp ZP_WORD:64 [ mul8s_compare::ms#0 ] zp ZP_WORD:70 [ mul8s_compare::mf#0 ] Uplifting [mul8s_compare] best 294758 combination reg byte x [ mul8s_compare::ok#3 mul8s_compare::ok#4 ] zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ] zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ] zp ZP_WORD:76 [ mul8s_compare::mn#0 ] zp ZP_WORD:64 [ mul8s_compare::ms#0 ] zp ZP_WORD:70 [ mul8s_compare::mf#0 ]
Uplifting [mulf_init] best 294408 combination zp ZP_WORD:50 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:53 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:45 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:55 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:47 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] Uplifting [mulf_init] best 294528 combination zp ZP_WORD:50 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] reg byte x [ mulf_init::c#2 mulf_init::c#1 ] zp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$2 ] reg byte a [ mulf_init::$5 ] reg byte a [ mulf_init::$6 ] zp ZP_WORD:53 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp ZP_WORD:45 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] zp ZP_BYTE:52 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp ZP_WORD:55 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ] zp ZP_WORD:47 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
Limited combination testing to 1000 combinations of 1024 possible. Limited combination testing to 100 combinations of 1024 possible.
Uplifting [mul8s] best 294083 combination zp ZP_WORD:74 [ mul8s::return#2 ] zp ZP_WORD:18 [ mul8s::m#4 mul8s::m#5 mul8s::m#1 mul8s::m#0 mul8s::m#2 ] reg byte y [ mul8s::b#0 ] zp ZP_BYTE:72 [ mul8s::a#0 ] reg byte a [ mul8s::$6 ] reg byte a [ mul8s::$16 ] reg byte a [ mul8s::$12 ] reg byte a [ mul8s::$17 ] Uplifting [mul8s] best 294215 combination zp ZP_WORD:74 [ mul8s::return#2 ] zp ZP_WORD:18 [ mul8s::m#4 mul8s::m#5 mul8s::m#1 mul8s::m#0 mul8s::m#2 ] reg byte y [ mul8s::b#0 ] zp ZP_BYTE:72 [ mul8s::a#0 ] reg byte a [ mul8s::$6 ] reg byte a [ mul8s::$16 ] zp ZP_BYTE:92 [ mul8s::$12 ] zp ZP_BYTE:93 [ mul8s::$17 ]
Limited combination testing to 1000 combinations of 2304 possible. Limited combination testing to 100 combinations of 2304 possible.
Uplifting [mulf8s] best 293758 combination zp ZP_WORD:68 [ mulf8s::return#2 ] zp ZP_WORD:26 [ mulf8s::m#4 mulf8s::m#5 mulf8s::m#1 mulf8s::m#0 mulf8s::m#2 ] zp ZP_BYTE:67 [ mulf8s::b#0 ] reg byte y [ mulf8s::a#0 ] reg byte a [ mulf8s::$6 ] reg byte a [ mulf8s::$16 ] reg byte a [ mulf8s::$12 ] reg byte a [ mulf8s::$17 ] Uplifting [mulf8s] best 293896 combination zp ZP_WORD:68 [ mulf8s::return#2 ] zp ZP_WORD:26 [ mulf8s::m#4 mulf8s::m#5 mulf8s::m#1 mulf8s::m#0 mulf8s::m#2 ] zp ZP_BYTE:67 [ mulf8s::b#0 ] reg byte y [ mulf8s::a#0 ] reg byte a [ mulf8s::$6 ] reg byte a [ mulf8s::$16 ] reg byte a [ mulf8s::$12 ] zp ZP_BYTE:100 [ mulf8s::$17 ]
Limited combination testing to 1000 combinations of 1024 possible. Limited combination testing to 100 combinations of 1024 possible.
Uplifting [] best 293758 combination zp ZP_WORD:15 [ print_char_cursor#82 print_char_cursor#137 print_char_cursor#136 print_char_cursor#132 print_char_cursor#149 print_char_cursor#188 print_char_cursor#189 print_char_cursor#131 print_char_cursor#130 print_char_cursor#17 print_char_cursor#30 print_char_cursor#1 print_char_cursor#134 print_char_cursor#222 ] zp ZP_WORD:5 [ print_line_cursor#23 print_line_cursor#45 print_line_cursor#1 print_line_cursor#10 ] Uplifting [] best 293896 combination zp ZP_WORD:15 [ print_char_cursor#82 print_char_cursor#137 print_char_cursor#136 print_char_cursor#132 print_char_cursor#149 print_char_cursor#188 print_char_cursor#189 print_char_cursor#131 print_char_cursor#130 print_char_cursor#17 print_char_cursor#30 print_char_cursor#1 print_char_cursor#134 print_char_cursor#222 ] zp ZP_WORD:5 [ print_line_cursor#23 print_line_cursor#45 print_line_cursor#1 print_line_cursor#10 ]
Uplifting [mulf_tables_cmp] best 293758 combination zp ZP_WORD:40 [ mulf_tables_cmp::kc_sqr#2 mulf_tables_cmp::kc_sqr#1 ] zp ZP_WORD:42 [ mulf_tables_cmp::asm_sqr#2 mulf_tables_cmp::asm_sqr#1 ] Uplifting [mulf_tables_cmp] best 293896 combination zp ZP_WORD:40 [ mulf_tables_cmp::kc_sqr#2 mulf_tables_cmp::kc_sqr#1 ] zp ZP_WORD:42 [ mulf_tables_cmp::asm_sqr#2 mulf_tables_cmp::asm_sqr#1 ]
Uplifting [print_str] best 293758 combination zp ZP_WORD:7 [ print_str::str#16 print_str::str#18 print_str::str#0 ] Uplifting [print_str] best 293896 combination zp ZP_WORD:7 [ print_str::str#16 print_str::str#18 print_str::str#0 ]
Uplifting [print_cls] best 293758 combination zp ZP_WORD:58 [ print_cls::sc#2 print_cls::sc#1 ] Uplifting [print_cls] best 293896 combination zp ZP_WORD:58 [ print_cls::sc#2 print_cls::sc#1 ]
Uplifting [print_byte] best 293737 combination reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ] Uplifting [print_byte] best 293875 combination reg byte x [ print_byte::b#5 print_byte::b#3 print_byte::b#4 print_byte::b#9 print_byte::b#1 print_byte::b#2 ] reg byte a [ print_byte::$0 ] reg byte a [ print_byte::$2 ]
Uplifting [print_word] best 293737 combination zp ZP_WORD:11 [ print_word::w#6 print_word::w#3 print_word::w#4 print_word::w#5 print_word::w#11 print_word::w#12 print_word::w#13 ] Uplifting [print_word] best 293875 combination zp ZP_WORD:11 [ print_word::w#6 print_word::w#3 print_word::w#4 print_word::w#5 print_word::w#11 print_word::w#12 print_word::w#13 ]
Uplifting [print_sword] best 293737 combination zp ZP_WORD:9 [ print_sword::w#5 print_sword::w#4 print_sword::w#1 print_sword::w#2 print_sword::w#3 print_sword::w#0 ] Uplifting [print_sword] best 293875 combination zp ZP_WORD:9 [ print_sword::w#5 print_sword::w#4 print_sword::w#1 print_sword::w#2 print_sword::w#3 print_sword::w#0 ]
Uplifting [print_sbyte] best 293723 combination reg byte x [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ] Uplifting [print_sbyte] best 293861 combination reg byte x [ print_sbyte::b#4 print_sbyte::b#3 print_sbyte::b#1 print_sbyte::b#2 print_sbyte::b#0 ]
Uplifting [print_char] best 293708 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ] Uplifting [print_char] best 293846 combination reg byte a [ print_char::ch#4 print_char::ch#2 print_char::ch#3 ]
Uplifting [mul8u_error] best 293702 combination reg byte x [ mul8u_error::a#0 ] zp ZP_BYTE:118 [ mul8u_error::b#0 ] zp ZP_WORD:119 [ mul8u_error::ms#0 ] zp ZP_WORD:121 [ mul8u_error::mn#0 ] zp ZP_WORD:123 [ mul8u_error::mf#0 ] Uplifting [mul8u_error] best 293840 combination reg byte x [ mul8u_error::a#0 ] zp ZP_BYTE:118 [ mul8u_error::b#0 ] zp ZP_WORD:119 [ mul8u_error::ms#0 ] zp ZP_WORD:121 [ mul8u_error::mn#0 ] zp ZP_WORD:123 [ mul8u_error::mf#0 ]
Uplifting [mul8s_error] best 293696 combination reg byte x [ mul8s_error::a#0 ] zp ZP_BYTE:79 [ mul8s_error::b#0 ] zp ZP_WORD:80 [ mul8s_error::ms#0 ] zp ZP_WORD:82 [ mul8s_error::mn#0 ] zp ZP_WORD:84 [ mul8s_error::mf#0 ] Uplifting [mul8s_error] best 293834 combination reg byte x [ mul8s_error::a#0 ] zp ZP_BYTE:79 [ mul8s_error::b#0 ] zp ZP_WORD:80 [ mul8s_error::ms#0 ] zp ZP_WORD:82 [ mul8s_error::mn#0 ] zp ZP_WORD:84 [ mul8s_error::mf#0 ]
Uplifting [print_ln] best 293696 combination Uplifting [print_ln] best 293834 combination
Uplifting [main] best 293696 combination Uplifting [main] best 293834 combination
Uplifting [mulf_init_asm] best 293696 combination Uplifting [mulf_init_asm] best 293834 combination
Attempting to uplift remaining variables inzp ZP_BYTE:60 [ muls8s::a#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:60 [ muls8s::a#0 ]
Uplifting [muls8s] best 293696 combination zp ZP_BYTE:60 [ muls8s::a#0 ] Uplifting [muls8s] best 293834 combination zp ZP_BYTE:60 [ muls8s::a#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ]
Uplifting [mul8s_compare] best 293696 combination zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ] Uplifting [mul8s_compare] best 293834 combination zp ZP_BYTE:3 [ mul8s_compare::b#10 mul8s_compare::b#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ]
Uplifting [mul8u_compare] best 293696 combination zp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ] Uplifting [mul8u_compare] best 293834 combination zp ZP_BYTE:35 [ mul8u_compare::b#10 mul8u_compare::b#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:103 [ muls8u::a#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:103 [ muls8u::a#0 ]
Uplifting [muls8u] best 293696 combination zp ZP_BYTE:103 [ muls8u::a#0 ] Uplifting [muls8u] best 293834 combination zp ZP_BYTE:103 [ muls8u::a#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ]
Uplifting [mul8s_compare] best 293696 combination zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ] Uplifting [mul8s_compare] best 293834 combination zp ZP_BYTE:2 [ mul8s_compare::a#7 mul8s_compare::a#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ]
Uplifting [mul8u_compare] best 293696 combination zp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ] Uplifting [mul8u_compare] best 293834 combination zp ZP_BYTE:34 [ mul8u_compare::a#7 mul8u_compare::a#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Uplifting [mulf_init] best 293696 combination zp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] Uplifting [mulf_init] best 293834 combination zp ZP_BYTE:49 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:52 [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Uplifting [mulf_init] best 293714 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ] Attempting to uplift remaining variables inzp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ]
Uplifting [mulf_init] best 293696 combination zp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ] Uplifting [mulf_init] best 293714 combination zp ZP_BYTE:57 [ mulf_init::dir#2 mulf_init::dir#3 ]
Attempting to uplift remaining variables inzp ZP_BYTE:67 [ mulf8s::b#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:67 [ mulf8s::b#0 ]
Uplifting [mulf8s] best 293696 combination zp ZP_BYTE:67 [ mulf8s::b#0 ] Uplifting [mulf8s] best 293714 combination zp ZP_BYTE:67 [ mulf8s::b#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:72 [ mul8s::a#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:72 [ mul8s::a#0 ]
Uplifting [mul8s] best 293696 combination zp ZP_BYTE:72 [ mul8s::a#0 ] Uplifting [mul8s] best 293714 combination zp ZP_BYTE:72 [ mul8s::a#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:92 [ mul8s::$12 ]
Uplifting [mul8s] best 293708 combination reg byte a [ mul8s::$12 ]
Attempting to uplift remaining variables inzp ZP_BYTE:93 [ mul8s::$17 ]
Uplifting [mul8s] best 293702 combination reg byte a [ mul8s::$17 ]
Attempting to uplift remaining variables inzp ZP_BYTE:100 [ mulf8s::$17 ]
Uplifting [mulf8s] best 293696 combination reg byte a [ mulf8s::$17 ]
Attempting to uplift remaining variables inzp ZP_BYTE:79 [ mul8s_error::b#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:79 [ mul8s_error::b#0 ]
Uplifting [mul8s_error] best 293696 combination zp ZP_BYTE:79 [ mul8s_error::b#0 ] Uplifting [mul8s_error] best 293696 combination zp ZP_BYTE:79 [ mul8s_error::b#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:118 [ mul8u_error::b#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:118 [ mul8u_error::b#0 ]

View File

@ -32,19 +32,19 @@ animate: {
lda #0 lda #0
sta YPOS+0 sta YPOS+0
b2: b2:
ldx XPOS+1 lda XPOS+1
dex sec
stx XPOS+1 sbc #1
txa sta XPOS+1
cmp #$ff cmp #$ff
bne b3 bne b3
lda #$28 lda #$28
sta XPOS+1 sta XPOS+1
b3: b3:
ldx YPOS+2 lda YPOS+2
inx clc
stx YPOS+2 adc #1
txa sta YPOS+2
cmp #$19 cmp #$19
bne b4 bne b4
lda #0 lda #0
@ -110,7 +110,6 @@ findcol: {
.label y = 2 .label y = 2
.label xp = 8 .label xp = 8
.label yp = 9 .label yp = 9
.label diff = 8
.label i = 6 .label i = 6
.label mindiff = 7 .label mindiff = 7
ldx #0 ldx #0
@ -137,10 +136,10 @@ findcol: {
lda x lda x
cmp xp cmp xp
bcs b4 bcs b4
lda diff lda xp
sec sec
sbc x sbc x
sta diff tay
b5: b5:
lda y lda y
cmp yp cmp yp
@ -148,8 +147,9 @@ findcol: {
lda yp lda yp
sec sec
sbc y sbc y
sty $ff
clc clc
adc diff adc $ff
tay tay
b7: b7:
cpy mindiff cpy mindiff
@ -173,15 +173,16 @@ findcol: {
lda y lda y
sec sec
sbc yp sbc yp
sty $ff
clc clc
adc diff adc $ff
tay tay
jmp b7 jmp b7
b4: b4:
lda x lda x
sec sec
sbc diff sbc xp
sta diff tay
jmp b5 jmp b5
} }
initscreen: { initscreen: {

View File

@ -2572,43 +2572,46 @@ Uplift Scope [animate] 4: zp ZP_BYTE:13 [ animate::$0 ] 4: zp ZP_BYTE:14 [ anima
Uplift Scope [main] Uplift Scope [main]
Uplift Scope [] Uplift Scope []
Uplifting [findcol] best 1953995 combination reg byte y [ findcol::mindiff#11 findcol::diff#6 findcol::diff#3 findcol::diff#2 findcol::mindiff#15 ] zp ZP_BYTE:9 [ findcol::diff#4 findcol::diff#1 findcol::diff#0 ] reg byte x [ findcol::return#2 findcol::mincol#10 findcol::mincol#2 findcol::mincol#1 ] zp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ] reg byte a [ findcol::$10 ] reg byte a [ findcol::$12 ] zp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ] zp ZP_BYTE:24 [ findcol::xp#0 ] zp ZP_BYTE:25 [ findcol::yp#0 ] zp ZP_BYTE:22 [ findcol::return#0 ] zp ZP_BYTE:21 [ findcol::y#0 ] zp ZP_BYTE:20 [ findcol::x#0 ] Uplifting [findcol] best 2033995 combination reg byte y [ findcol::mindiff#11 findcol::diff#6 findcol::diff#3 findcol::diff#2 findcol::mindiff#15 ] reg byte y [ findcol::diff#4 findcol::diff#1 findcol::diff#0 ] reg byte x [ findcol::return#2 findcol::mincol#10 findcol::mincol#2 findcol::mincol#1 ] zp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ] zp ZP_BYTE:26 [ findcol::$10 ] zp ZP_BYTE:27 [ findcol::$12 ] zp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ] zp ZP_BYTE:24 [ findcol::xp#0 ] zp ZP_BYTE:25 [ findcol::yp#0 ] zp ZP_BYTE:22 [ findcol::return#0 ] zp ZP_BYTE:21 [ findcol::y#0 ] zp ZP_BYTE:20 [ findcol::x#0 ]
Limited combination testing to 1000 combinations of 2239488 possible. Limited combination testing to 100 combinations of 2239488 possible.
Uplifting [render] best 1947995 combination zp ZP_BYTE:5 [ render::x#2 render::x#1 ] reg byte a [ render::col#0 ] zp ZP_BYTE:2 [ render::y#4 render::y#1 ] zp ZP_WORD:3 [ render::colline#5 render::colline#1 ] Uplifting [render] best 2027995 combination zp ZP_BYTE:5 [ render::x#2 render::x#1 ] reg byte a [ render::col#0 ] zp ZP_BYTE:2 [ render::y#4 render::y#1 ] zp ZP_WORD:3 [ render::colline#5 render::colline#1 ]
Uplifting [initscreen] best 1947995 combination zp ZP_WORD:11 [ initscreen::screen#2 initscreen::screen#1 ] Uplifting [initscreen] best 2027995 combination zp ZP_WORD:11 [ initscreen::screen#2 initscreen::screen#1 ]
Uplifting [animate] best 1947965 combination reg byte x [ animate::$0 ] reg byte x [ animate::$3 ] reg byte x [ animate::$6 ] reg byte x [ animate::$9 ] reg byte x [ animate::$12 ] zp ZP_BYTE:18 [ animate::$15 ] zp ZP_BYTE:19 [ animate::$18 ] Uplifting [animate] best 2027975 combination reg byte x [ animate::$0 ] reg byte x [ animate::$3 ] reg byte a [ animate::$6 ] reg byte a [ animate::$9 ] zp ZP_BYTE:17 [ animate::$12 ] zp ZP_BYTE:18 [ animate::$15 ] zp ZP_BYTE:19 [ animate::$18 ]
Limited combination testing to 1000 combinations of 16384 possible. Limited combination testing to 100 combinations of 16384 possible.
Uplifting [main] best 1947965 combination Uplifting [main] best 2027975 combination
Uplifting [] best 1947965 combination Uplifting [] best 2027975 combination
Attempting to uplift remaining variables inzp ZP_BYTE:9 [ findcol::diff#4 findcol::diff#1 findcol::diff#0 ]
Uplifting [findcol] best 1947965 combination zp ZP_BYTE:9 [ findcol::diff#4 findcol::diff#1 findcol::diff#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ] Attempting to uplift remaining variables inzp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ]
Uplifting [findcol] best 1947965 combination zp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ] Uplifting [findcol] best 2027975 combination zp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ]
Attempting to uplift remaining variables inzp ZP_BYTE:26 [ findcol::$10 ]
Uplifting [findcol] best 2007975 combination reg byte a [ findcol::$10 ]
Attempting to uplift remaining variables inzp ZP_BYTE:27 [ findcol::$12 ]
Uplifting [findcol] best 1987975 combination reg byte a [ findcol::$12 ]
Attempting to uplift remaining variables inzp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ]
Uplifting [findcol] best 1947965 combination zp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ] Uplifting [findcol] best 1987975 combination zp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:24 [ findcol::xp#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:24 [ findcol::xp#0 ]
Uplifting [findcol] best 1947965 combination zp ZP_BYTE:24 [ findcol::xp#0 ] Uplifting [findcol] best 1987975 combination zp ZP_BYTE:24 [ findcol::xp#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:25 [ findcol::yp#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:25 [ findcol::yp#0 ]
Uplifting [findcol] best 1947965 combination zp ZP_BYTE:25 [ findcol::yp#0 ] Uplifting [findcol] best 1987975 combination zp ZP_BYTE:25 [ findcol::yp#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:5 [ render::x#2 render::x#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ render::x#2 render::x#1 ]
Uplifting [render] best 1947965 combination zp ZP_BYTE:5 [ render::x#2 render::x#1 ] Uplifting [render] best 1987975 combination zp ZP_BYTE:5 [ render::x#2 render::x#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:22 [ findcol::return#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:22 [ findcol::return#0 ]
Uplifting [findcol] best 1943965 combination reg byte a [ findcol::return#0 ] Uplifting [findcol] best 1983975 combination reg byte a [ findcol::return#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:21 [ findcol::y#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:21 [ findcol::y#0 ]
Uplifting [findcol] best 1943965 combination zp ZP_BYTE:21 [ findcol::y#0 ] Uplifting [findcol] best 1983975 combination zp ZP_BYTE:21 [ findcol::y#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:20 [ findcol::x#0 ] Attempting to uplift remaining variables inzp ZP_BYTE:20 [ findcol::x#0 ]
Uplifting [findcol] best 1943965 combination zp ZP_BYTE:20 [ findcol::x#0 ] Uplifting [findcol] best 1983975 combination zp ZP_BYTE:20 [ findcol::x#0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ render::y#4 render::y#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ render::y#4 render::y#1 ]
Uplifting [render] best 1943965 combination zp ZP_BYTE:2 [ render::y#4 render::y#1 ] Uplifting [render] best 1983975 combination zp ZP_BYTE:2 [ render::y#4 render::y#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:17 [ animate::$12 ]
Uplifting [animate] best 1983969 combination reg byte x [ animate::$12 ]
Attempting to uplift remaining variables inzp ZP_BYTE:18 [ animate::$15 ] Attempting to uplift remaining variables inzp ZP_BYTE:18 [ animate::$15 ]
Uplifting [animate] best 1943959 combination reg byte a [ animate::$15 ] Uplifting [animate] best 1983963 combination reg byte a [ animate::$15 ]
Attempting to uplift remaining variables inzp ZP_BYTE:19 [ animate::$18 ] Attempting to uplift remaining variables inzp ZP_BYTE:19 [ animate::$18 ]
Uplifting [animate] best 1943953 combination reg byte a [ animate::$18 ] Uplifting [animate] best 1983957 combination reg byte a [ animate::$18 ]
Coalescing zero page register with common assignment [ zp ZP_BYTE:9 [ findcol::diff#4 findcol::diff#1 findcol::diff#0 ] ] with [ zp ZP_BYTE:24 [ findcol::xp#0 ] ] - score: 2
Coalescing zero page register with common assignment [ zp ZP_BYTE:2 [ render::y#4 render::y#1 ] ] with [ zp ZP_BYTE:21 [ findcol::y#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_BYTE:2 [ render::y#4 render::y#1 ] ] with [ zp ZP_BYTE:21 [ findcol::y#0 ] ] - score: 1
Coalescing zero page register with common assignment [ zp ZP_BYTE:5 [ render::x#2 render::x#1 ] ] with [ zp ZP_BYTE:20 [ findcol::x#0 ] ] - score: 1 Coalescing zero page register with common assignment [ zp ZP_BYTE:5 [ render::x#2 render::x#1 ] ] with [ zp ZP_BYTE:20 [ findcol::x#0 ] ] - score: 1
Coalescing zero page register [ zp ZP_WORD:3 [ render::colline#5 render::colline#1 ] ] with [ zp ZP_WORD:11 [ initscreen::screen#2 initscreen::screen#1 ] ] Coalescing zero page register [ zp ZP_WORD:3 [ render::colline#5 render::colline#1 ] ] with [ zp ZP_WORD:11 [ initscreen::screen#2 initscreen::screen#1 ] ]
Allocated (was zp ZP_BYTE:9) zp ZP_BYTE:8 [ findcol::diff#4 findcol::diff#1 findcol::diff#0 findcol::xp#0 ] Allocated (was zp ZP_BYTE:24) zp ZP_BYTE:8 [ findcol::xp#0 ]
Allocated (was zp ZP_BYTE:25) zp ZP_BYTE:9 [ findcol::yp#0 ] Allocated (was zp ZP_BYTE:25) zp ZP_BYTE:9 [ findcol::yp#0 ]
ASSEMBLER BEFORE OPTIMIZATION ASSEMBLER BEFORE OPTIMIZATION
@ -2709,11 +2712,12 @@ animate: {
jmp b2 jmp b2
//SEG35 animate::@2 //SEG35 animate::@2
b2: b2:
//SEG36 [20] (byte/signed word/word/dword/signed dword~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuxx=_deref_pbuc1_minus_1 //SEG36 [20] (byte/signed word/word/dword/signed dword~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuaa=_deref_pbuc1_minus_1
ldx XPOS+1 lda XPOS+1
dex sec
//SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed word/word/dword/signed dword~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx sbc #1
stx XPOS+1 //SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed word/word/dword/signed dword~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuaa
sta XPOS+1
//SEG38 [22] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@3 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 //SEG38 [22] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@3 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
lda XPOS+1 lda XPOS+1
cmp #$ff cmp #$ff
@ -2727,11 +2731,12 @@ animate: {
jmp b3 jmp b3
//SEG41 animate::@3 //SEG41 animate::@3
b3: b3:
//SEG42 [24] (byte/signed word/word/dword/signed dword~) animate::$9 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) + (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$9 ] ( main:2::animate:9 [ animate::$9 ] ) -- vbuxx=_deref_pbuc1_plus_1 //SEG42 [24] (byte/signed word/word/dword/signed dword~) animate::$9 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) + (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$9 ] ( main:2::animate:9 [ animate::$9 ] ) -- vbuaa=_deref_pbuc1_plus_1
ldx YPOS+2 lda YPOS+2
inx clc
//SEG43 [25] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte/signed word/word/dword/signed dword~) animate::$9 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx adc #1
stx YPOS+2 //SEG43 [25] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte/signed word/word/dword/signed dword~) animate::$9 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuaa
sta YPOS+2
//SEG44 [26] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2)!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto animate::@4 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 //SEG44 [26] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2)!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto animate::@4 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
lda YPOS+2 lda YPOS+2
cmp #$19 cmp #$19
@ -2873,7 +2878,6 @@ findcol: {
.label y = 2 .label y = 2
.label xp = 8 .label xp = 8
.label yp = 9 .label yp = 9
.label diff = 8
.label i = 6 .label i = 6
.label mindiff = 7 .label mindiff = 7
//SEG91 [54] phi from findcol to findcol::@1 [phi:findcol->findcol::@1] //SEG91 [54] phi from findcol to findcol::@1 [phi:findcol->findcol::@1]
@ -2926,11 +2930,11 @@ findcol: {
jmp b12 jmp b12
//SEG107 findcol::@12 //SEG107 findcol::@12
b12: b12:
//SEG108 [62] (byte) findcol::diff#1 ← (byte) findcol::xp#0 - (byte) findcol::x#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ) -- vbuz1=vbuz1_minus_vbuz2 //SEG108 [62] (byte) findcol::diff#1 ← (byte) findcol::xp#0 - (byte) findcol::x#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ) -- vbuyy=vbuz1_minus_vbuz2
lda diff lda xp
sec sec
sbc x sbc x
sta diff tay
//SEG109 [63] phi from findcol::@12 findcol::@4 to findcol::@5 [phi:findcol::@12/findcol::@4->findcol::@5] //SEG109 [63] phi from findcol::@12 findcol::@4 to findcol::@5 [phi:findcol::@12/findcol::@4->findcol::@5]
b5_from_b12: b5_from_b12:
b5_from_b4: b5_from_b4:
@ -2949,9 +2953,10 @@ findcol: {
lda yp lda yp
sec sec
sbc y sbc y
//SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuyy=vbuz1_plus_vbuaa //SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuyy=vbuyy_plus_vbuaa
sty $ff
clc clc
adc diff adc $ff
tay tay
//SEG116 [67] phi from findcol::@14 findcol::@6 to findcol::@7 [phi:findcol::@14/findcol::@6->findcol::@7] //SEG116 [67] phi from findcol::@14 findcol::@6 to findcol::@7 [phi:findcol::@14/findcol::@6->findcol::@7]
b7_from_b14: b7_from_b14:
@ -3009,18 +3014,19 @@ findcol: {
lda y lda y
sec sec
sbc yp sbc yp
//SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuyy=vbuz1_plus_vbuaa //SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuyy=vbuyy_plus_vbuaa
sty $ff
clc clc
adc diff adc $ff
tay tay
jmp b7_from_b6 jmp b7_from_b6
//SEG141 findcol::@4 //SEG141 findcol::@4
b4: b4:
//SEG142 [77] (byte) findcol::diff#0 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ) -- vbuz1=vbuz2_minus_vbuz1 //SEG142 [77] (byte) findcol::diff#0 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ) -- vbuyy=vbuz1_minus_vbuz2
lda x lda x
sec sec
sbc diff sbc xp
sta diff tay
jmp b5_from_b4 jmp b5_from_b4
} }
//SEG143 initscreen //SEG143 initscreen
@ -3105,8 +3111,8 @@ Removing instruction jmp breturn
Succesful ASM optimization Pass5NextJumpElimination Succesful ASM optimization Pass5NextJumpElimination
Replacing instruction lda XPOS+0 with TXA Replacing instruction lda XPOS+0 with TXA
Replacing instruction lda YPOS+0 with TXA Replacing instruction lda YPOS+0 with TXA
Replacing instruction lda XPOS+1 with TXA Removing instruction lda XPOS+1
Replacing instruction lda YPOS+2 with TXA Removing instruction lda YPOS+2
Replacing instruction lda YPOS+3 with TXA Replacing instruction lda YPOS+3 with TXA
Removing instruction lda XPOS+3 Removing instruction lda XPOS+3
Replacing instruction lda #0 with TXA Replacing instruction lda #0 with TXA
@ -3198,8 +3204,8 @@ FINAL SYMBOL TABLE
(byte/signed word/word/dword/signed dword~) animate::$15 reg byte a 4.0 (byte/signed word/word/dword/signed dword~) animate::$15 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) animate::$18 reg byte a 4.0 (byte/signed word/word/dword/signed dword~) animate::$18 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) animate::$3 reg byte x 4.0 (byte/signed word/word/dword/signed dword~) animate::$3 reg byte x 4.0
(byte/signed word/word/dword/signed dword~) animate::$6 reg byte x 4.0 (byte/signed word/word/dword/signed dword~) animate::$6 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) animate::$9 reg byte x 4.0 (byte/signed word/word/dword/signed dword~) animate::$9 reg byte a 4.0
(label) animate::@1 (label) animate::@1
(label) animate::@10 (label) animate::@10
(label) animate::@11 (label) animate::@11
@ -3229,11 +3235,11 @@ FINAL SYMBOL TABLE
(label) findcol::@9 (label) findcol::@9
(label) findcol::@return (label) findcol::@return
(byte) findcol::diff (byte) findcol::diff
(byte) findcol::diff#0 diff zp ZP_BYTE:8 20002.0 (byte) findcol::diff#0 reg byte y 20002.0
(byte) findcol::diff#1 diff zp ZP_BYTE:8 20002.0 (byte) findcol::diff#1 reg byte y 20002.0
(byte) findcol::diff#2 reg byte y 20002.0 (byte) findcol::diff#2 reg byte y 20002.0
(byte) findcol::diff#3 reg byte y 20002.0 (byte) findcol::diff#3 reg byte y 20002.0
(byte) findcol::diff#4 diff zp ZP_BYTE:8 10001.0 (byte) findcol::diff#4 reg byte y 10001.0
(byte) findcol::diff#6 reg byte y 13334.666666666666 (byte) findcol::diff#6 reg byte y 13334.666666666666
(byte) findcol::i (byte) findcol::i
(byte) findcol::i#1 i zp ZP_BYTE:6 10001.0 (byte) findcol::i#1 i zp ZP_BYTE:6 10001.0
@ -3295,24 +3301,25 @@ zp ZP_BYTE:5 [ render::x#2 render::x#1 findcol::x#0 ]
zp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ] zp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ]
zp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ] zp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ]
reg byte x [ findcol::return#2 findcol::mincol#10 findcol::mincol#2 findcol::mincol#1 ] reg byte x [ findcol::return#2 findcol::mincol#10 findcol::mincol#2 findcol::mincol#1 ]
zp ZP_BYTE:8 [ findcol::diff#4 findcol::diff#1 findcol::diff#0 findcol::xp#0 ] reg byte y [ findcol::diff#4 findcol::diff#1 findcol::diff#0 ]
reg byte y [ findcol::mindiff#11 findcol::diff#6 findcol::diff#3 findcol::diff#2 findcol::mindiff#15 ] reg byte y [ findcol::mindiff#11 findcol::diff#6 findcol::diff#3 findcol::diff#2 findcol::mindiff#15 ]
reg byte x [ animate::$0 ] reg byte x [ animate::$0 ]
reg byte x [ animate::$3 ] reg byte x [ animate::$3 ]
reg byte x [ animate::$6 ] reg byte a [ animate::$6 ]
reg byte x [ animate::$9 ] reg byte a [ animate::$9 ]
reg byte x [ animate::$12 ] reg byte x [ animate::$12 ]
reg byte a [ animate::$15 ] reg byte a [ animate::$15 ]
reg byte a [ animate::$18 ] reg byte a [ animate::$18 ]
reg byte a [ findcol::return#0 ] reg byte a [ findcol::return#0 ]
reg byte a [ render::col#0 ] reg byte a [ render::col#0 ]
zp ZP_BYTE:8 [ findcol::xp#0 ]
zp ZP_BYTE:9 [ findcol::yp#0 ] zp ZP_BYTE:9 [ findcol::yp#0 ]
reg byte a [ findcol::$10 ] reg byte a [ findcol::$10 ]
reg byte a [ findcol::$12 ] reg byte a [ findcol::$12 ]
FINAL ASSEMBLER FINAL ASSEMBLER
Score: 1648777 Score: 1688777
//SEG0 Basic Upstart //SEG0 Basic Upstart
.pc = $801 "Basic" .pc = $801 "Basic"
@ -3384,13 +3391,13 @@ animate: {
sta YPOS+0 sta YPOS+0
//SEG35 animate::@2 //SEG35 animate::@2
b2: b2:
//SEG36 [20] (byte/signed word/word/dword/signed dword~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuxx=_deref_pbuc1_minus_1 //SEG36 [20] (byte/signed word/word/dword/signed dword~) animate::$6 ← *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$6 ] ( main:2::animate:9 [ animate::$6 ] ) -- vbuaa=_deref_pbuc1_minus_1
ldx XPOS+1 lda XPOS+1
dex sec
//SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed word/word/dword/signed dword~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx sbc #1
stx XPOS+1 //SEG37 [21] *((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte/signed word/word/dword/signed dword~) animate::$6 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuaa
sta XPOS+1
//SEG38 [22] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@3 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 //SEG38 [22] if(*((const byte[]) XPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 1)!=(byte/word/signed word/dword/signed dword) 255) goto animate::@3 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
txa
cmp #$ff cmp #$ff
bne b3 bne b3
//SEG39 animate::@9 //SEG39 animate::@9
@ -3399,13 +3406,13 @@ animate: {
sta XPOS+1 sta XPOS+1
//SEG41 animate::@3 //SEG41 animate::@3
b3: b3:
//SEG42 [24] (byte/signed word/word/dword/signed dword~) animate::$9 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) + (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$9 ] ( main:2::animate:9 [ animate::$9 ] ) -- vbuxx=_deref_pbuc1_plus_1 //SEG42 [24] (byte/signed word/word/dword/signed dword~) animate::$9 ← *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) + (byte/signed byte/word/signed word/dword/signed dword) 1 [ animate::$9 ] ( main:2::animate:9 [ animate::$9 ] ) -- vbuaa=_deref_pbuc1_plus_1
ldx YPOS+2 lda YPOS+2
inx clc
//SEG43 [25] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte/signed word/word/dword/signed dword~) animate::$9 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuxx adc #1
stx YPOS+2 //SEG43 [25] *((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte/signed word/word/dword/signed dword~) animate::$9 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1=vbuaa
sta YPOS+2
//SEG44 [26] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2)!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto animate::@4 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 //SEG44 [26] if(*((const byte[]) YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2)!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto animate::@4 [ ] ( main:2::animate:9 [ ] ) -- _deref_pbuc1_neq_vbuc2_then_la1
txa
cmp #$19 cmp #$19
bne b4 bne b4
//SEG45 animate::@10 //SEG45 animate::@10
@ -3520,7 +3527,6 @@ findcol: {
.label y = 2 .label y = 2
.label xp = 8 .label xp = 8
.label yp = 9 .label yp = 9
.label diff = 8
.label i = 6 .label i = 6
.label mindiff = 7 .label mindiff = 7
//SEG91 [54] phi from findcol to findcol::@1 [phi:findcol->findcol::@1] //SEG91 [54] phi from findcol to findcol::@1 [phi:findcol->findcol::@1]
@ -3564,11 +3570,11 @@ findcol: {
cmp xp cmp xp
bcs b4 bcs b4
//SEG107 findcol::@12 //SEG107 findcol::@12
//SEG108 [62] (byte) findcol::diff#1 ← (byte) findcol::xp#0 - (byte) findcol::x#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ) -- vbuz1=vbuz1_minus_vbuz2 //SEG108 [62] (byte) findcol::diff#1 ← (byte) findcol::xp#0 - (byte) findcol::x#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#1 ] ) -- vbuyy=vbuz1_minus_vbuz2
lda diff lda xp
sec sec
sbc x sbc x
sta diff tay
//SEG109 [63] phi from findcol::@12 findcol::@4 to findcol::@5 [phi:findcol::@12/findcol::@4->findcol::@5] //SEG109 [63] phi from findcol::@12 findcol::@4 to findcol::@5 [phi:findcol::@12/findcol::@4->findcol::@5]
//SEG110 [63] phi (byte) findcol::diff#4 = (byte) findcol::diff#1 [phi:findcol::@12/findcol::@4->findcol::@5#0] -- register_copy //SEG110 [63] phi (byte) findcol::diff#4 = (byte) findcol::diff#1 [phi:findcol::@12/findcol::@4->findcol::@5#0] -- register_copy
//SEG111 findcol::@5 //SEG111 findcol::@5
@ -3582,9 +3588,10 @@ findcol: {
lda yp lda yp
sec sec
sbc y sbc y
//SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuyy=vbuz1_plus_vbuaa //SEG115 [66] (byte) findcol::diff#3 ← (byte) findcol::diff#4 + (byte~) findcol::$10 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#3 ] ) -- vbuyy=vbuyy_plus_vbuaa
sty $ff
clc clc
adc diff adc $ff
tay tay
//SEG116 [67] phi from findcol::@14 findcol::@6 to findcol::@7 [phi:findcol::@14/findcol::@6->findcol::@7] //SEG116 [67] phi from findcol::@14 findcol::@6 to findcol::@7 [phi:findcol::@14/findcol::@6->findcol::@7]
//SEG117 [67] phi (byte) findcol::diff#6 = (byte) findcol::diff#3 [phi:findcol::@14/findcol::@6->findcol::@7#0] -- register_copy //SEG117 [67] phi (byte) findcol::diff#6 = (byte) findcol::diff#3 [phi:findcol::@14/findcol::@6->findcol::@7#0] -- register_copy
@ -3632,18 +3639,19 @@ findcol: {
lda y lda y
sec sec
sbc yp sbc yp
//SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuyy=vbuz1_plus_vbuaa //SEG140 [76] (byte) findcol::diff#2 ← (byte) findcol::diff#4 + (byte~) findcol::$12 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::diff#2 ] ) -- vbuyy=vbuyy_plus_vbuaa
sty $ff
clc clc
adc diff adc $ff
tay tay
jmp b7 jmp b7
//SEG141 findcol::@4 //SEG141 findcol::@4
b4: b4:
//SEG142 [77] (byte) findcol::diff#0 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ) -- vbuz1=vbuz2_minus_vbuz1 //SEG142 [77] (byte) findcol::diff#0 ← (byte) findcol::x#0 - (byte) findcol::xp#0 [ findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ( main:2::render:7::findcol:43 [ render::y#4 render::colline#5 render::x#2 findcol::x#0 findcol::y#0 findcol::i#10 findcol::mindiff#10 findcol::mincol#10 findcol::yp#0 findcol::diff#0 ] ) -- vbuyy=vbuz1_minus_vbuz2
lda x lda x
sec sec
sbc diff sbc xp
sta diff tay
jmp b5 jmp b5
} }
//SEG143 initscreen //SEG143 initscreen

View File

@ -19,8 +19,8 @@
(byte/signed word/word/dword/signed dword~) animate::$15 reg byte a 4.0 (byte/signed word/word/dword/signed dword~) animate::$15 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) animate::$18 reg byte a 4.0 (byte/signed word/word/dword/signed dword~) animate::$18 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) animate::$3 reg byte x 4.0 (byte/signed word/word/dword/signed dword~) animate::$3 reg byte x 4.0
(byte/signed word/word/dword/signed dword~) animate::$6 reg byte x 4.0 (byte/signed word/word/dword/signed dword~) animate::$6 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) animate::$9 reg byte x 4.0 (byte/signed word/word/dword/signed dword~) animate::$9 reg byte a 4.0
(label) animate::@1 (label) animate::@1
(label) animate::@10 (label) animate::@10
(label) animate::@11 (label) animate::@11
@ -50,11 +50,11 @@
(label) findcol::@9 (label) findcol::@9
(label) findcol::@return (label) findcol::@return
(byte) findcol::diff (byte) findcol::diff
(byte) findcol::diff#0 diff zp ZP_BYTE:8 20002.0 (byte) findcol::diff#0 reg byte y 20002.0
(byte) findcol::diff#1 diff zp ZP_BYTE:8 20002.0 (byte) findcol::diff#1 reg byte y 20002.0
(byte) findcol::diff#2 reg byte y 20002.0 (byte) findcol::diff#2 reg byte y 20002.0
(byte) findcol::diff#3 reg byte y 20002.0 (byte) findcol::diff#3 reg byte y 20002.0
(byte) findcol::diff#4 diff zp ZP_BYTE:8 10001.0 (byte) findcol::diff#4 reg byte y 10001.0
(byte) findcol::diff#6 reg byte y 13334.666666666666 (byte) findcol::diff#6 reg byte y 13334.666666666666
(byte) findcol::i (byte) findcol::i
(byte) findcol::i#1 i zp ZP_BYTE:6 10001.0 (byte) findcol::i#1 i zp ZP_BYTE:6 10001.0
@ -116,17 +116,18 @@ zp ZP_BYTE:5 [ render::x#2 render::x#1 findcol::x#0 ]
zp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ] zp ZP_BYTE:6 [ findcol::i#10 findcol::i#1 ]
zp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ] zp ZP_BYTE:7 [ findcol::mindiff#10 findcol::mindiff#13 ]
reg byte x [ findcol::return#2 findcol::mincol#10 findcol::mincol#2 findcol::mincol#1 ] reg byte x [ findcol::return#2 findcol::mincol#10 findcol::mincol#2 findcol::mincol#1 ]
zp ZP_BYTE:8 [ findcol::diff#4 findcol::diff#1 findcol::diff#0 findcol::xp#0 ] reg byte y [ findcol::diff#4 findcol::diff#1 findcol::diff#0 ]
reg byte y [ findcol::mindiff#11 findcol::diff#6 findcol::diff#3 findcol::diff#2 findcol::mindiff#15 ] reg byte y [ findcol::mindiff#11 findcol::diff#6 findcol::diff#3 findcol::diff#2 findcol::mindiff#15 ]
reg byte x [ animate::$0 ] reg byte x [ animate::$0 ]
reg byte x [ animate::$3 ] reg byte x [ animate::$3 ]
reg byte x [ animate::$6 ] reg byte a [ animate::$6 ]
reg byte x [ animate::$9 ] reg byte a [ animate::$9 ]
reg byte x [ animate::$12 ] reg byte x [ animate::$12 ]
reg byte a [ animate::$15 ] reg byte a [ animate::$15 ]
reg byte a [ animate::$18 ] reg byte a [ animate::$18 ]
reg byte a [ findcol::return#0 ] reg byte a [ findcol::return#0 ]
reg byte a [ render::col#0 ] reg byte a [ render::col#0 ]
zp ZP_BYTE:8 [ findcol::xp#0 ]
zp ZP_BYTE:9 [ findcol::yp#0 ] zp ZP_BYTE:9 [ findcol::yp#0 ]
reg byte a [ findcol::$10 ] reg byte a [ findcol::$10 ]
reg byte a [ findcol::$12 ] reg byte a [ findcol::$12 ]

View File

@ -809,13 +809,21 @@ Uplift Scope [sum2] 22: zp ZP_BYTE:11 [ sum2::return#0 ] 13: zp ZP_BYTE:10 [ sum
Uplift Scope [] Uplift Scope []
Uplifting [main] best 1345 combination zp ZP_BYTE:2 [ main::i#2 main::i#1 ] reg byte a [ main::$2 ] reg byte a [ main::$5 ] Uplifting [main] best 1345 combination zp ZP_BYTE:2 [ main::i#2 main::i#1 ] reg byte a [ main::$2 ] reg byte a [ main::$5 ]
Uplifting [sum] best 1179 combination reg byte a [ sum::return#0 ] reg byte a [ sum::a#0 ] reg byte y [ sum::b#0 ] reg byte x [ sum::c#0 ] reg byte a [ sum::return#1 ] reg byte a [ sum::$0 ] Uplifting [sum] best 1214 combination reg byte a [ sum::return#0 ] reg byte a [ sum::a#0 ] reg byte y [ sum::b#0 ] reg byte x [ sum::c#0 ] zp ZP_BYTE:16 [ sum::return#1 ] zp ZP_BYTE:15 [ sum::$0 ]
Limited combination testing to 1000 combinations of 2304 possible. Limited combination testing to 100 combinations of 2304 possible.
Uplifting [sum2] best 1013 combination reg byte a [ sum2::return#0 ] reg byte a [ sum2::a#0 ] reg byte y [ sum2::b#0 ] reg byte x [ sum2::c#0 ] reg byte a [ sum2::return#1 ] reg byte a [ sum2::$0 ] Uplifting [sum2] best 1083 combination reg byte a [ sum2::return#0 ] reg byte a [ sum2::a#0 ] reg byte y [ sum2::b#0 ] reg byte x [ sum2::c#0 ] zp ZP_BYTE:14 [ sum2::return#1 ] zp ZP_BYTE:13 [ sum2::$0 ]
Limited combination testing to 1000 combinations of 2304 possible. Limited combination testing to 100 combinations of 2304 possible.
Uplifting [] best 1013 combination Uplifting [] best 1083 combination
Attempting to uplift remaining variables inzp ZP_BYTE:2 [ main::i#2 main::i#1 ] Attempting to uplift remaining variables inzp ZP_BYTE:2 [ main::i#2 main::i#1 ]
Uplifting [main] best 1013 combination zp ZP_BYTE:2 [ main::i#2 main::i#1 ] Uplifting [main] best 1083 combination zp ZP_BYTE:2 [ main::i#2 main::i#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:14 [ sum2::return#1 ]
Uplifting [sum2] best 1050 combination reg byte a [ sum2::return#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:16 [ sum::return#1 ]
Uplifting [sum] best 1017 combination reg byte a [ sum::return#1 ]
Attempting to uplift remaining variables inzp ZP_BYTE:13 [ sum2::$0 ]
Uplifting [sum2] best 1015 combination reg byte a [ sum2::$0 ]
Attempting to uplift remaining variables inzp ZP_BYTE:15 [ sum::$0 ]
Uplifting [sum] best 1013 combination reg byte a [ sum::$0 ]
ASSEMBLER BEFORE OPTIMIZATION ASSEMBLER BEFORE OPTIMIZATION
//SEG0 Basic Upstart //SEG0 Basic Upstart