From 1e0d21d06e74b525a6fb56d459f952d629606a25 Mon Sep 17 00:00:00 2001 From: Jesper Gravgaard Date: Thu, 1 Oct 2020 00:18:56 +0200 Subject: [PATCH] Expanded DuplicateRValueIdentification to also find RValues in different blocks as long as the scope is the same and the first block dominates the last block. Closes #525 --- .../cache/fragment-cache-mos6502x.asm | 87 + .../Pass2DuplicateRValueIdentification.java | 36 +- src/test/ref/c64dtv-gfxexplorer.asm | 112 +- src/test/ref/c64dtv-gfxexplorer.cfg | 1628 +- src/test/ref/c64dtv-gfxexplorer.log | 12244 ++++++++-------- src/test/ref/c64dtv-gfxexplorer.sym | 166 +- src/test/ref/coalesce-assignment.asm | 9 +- src/test/ref/coalesce-assignment.cfg | 19 +- src/test/ref/coalesce-assignment.log | 176 +- src/test/ref/coalesce-assignment.sym | 10 +- .../ref/complex/splines/truetype-splines.asm | 32 +- .../ref/complex/splines/truetype-splines.cfg | 514 +- .../ref/complex/splines/truetype-splines.log | 4331 +++--- .../ref/complex/splines/truetype-splines.sym | 28 +- .../complex/spritescroller/spritescroller.asm | 2 + .../complex/spritescroller/spritescroller.cfg | 226 +- .../complex/spritescroller/spritescroller.log | 1802 +-- .../complex/spritescroller/spritescroller.sym | 32 +- src/test/ref/examples/3d/perspective.asm | 6 - src/test/ref/examples/3d/perspective.cfg | 175 +- src/test/ref/examples/3d/perspective.log | 1245 +- src/test/ref/examples/3d/perspective.sym | 12 +- src/test/ref/examples/font-2x2/font-2x2.asm | 2 + src/test/ref/examples/font-2x2/font-2x2.cfg | 170 +- src/test/ref/examples/font-2x2/font-2x2.log | 1322 +- src/test/ref/examples/font-2x2/font-2x2.sym | 32 +- .../ref/examples/mega65/memorymap-test.asm | 35 +- .../ref/examples/mega65/memorymap-test.cfg | 21 +- .../ref/examples/mega65/memorymap-test.log | 367 +- .../ref/examples/mega65/memorymap-test.sym | 37 +- src/test/ref/index-sizeof-reuse.asm | 14 +- src/test/ref/index-sizeof-reuse.cfg | 38 +- src/test/ref/index-sizeof-reuse.log | 391 +- src/test/ref/index-sizeof-reuse.sym | 16 +- src/test/ref/multiply-ns.asm | 63 +- src/test/ref/multiply-ns.cfg | 70 +- src/test/ref/multiply-ns.log | 1041 +- src/test/ref/multiply-ns.sym | 62 +- src/test/ref/printf-11.log | 26 +- src/test/ref/subexpr-optimize-3.asm | 18 +- src/test/ref/subexpr-optimize-3.cfg | 17 +- src/test/ref/subexpr-optimize-3.log | 214 +- src/test/ref/subexpr-optimize-3.sym | 14 +- src/test/ref/test-scroll-up.asm | 15 +- src/test/ref/test-scroll-up.cfg | 69 +- src/test/ref/test-scroll-up.log | 580 +- src/test/ref/test-scroll-up.sym | 11 +- src/test/ref/test-word-size-arrays.asm | 15 +- src/test/ref/test-word-size-arrays.cfg | 11 +- src/test/ref/test-word-size-arrays.log | 164 +- src/test/ref/test-word-size-arrays.sym | 11 +- 51 files changed, 13636 insertions(+), 14102 deletions(-) diff --git a/src/main/fragment/cache/fragment-cache-mos6502x.asm b/src/main/fragment/cache/fragment-cache-mos6502x.asm index 66292acb3..1895e36e5 100644 --- a/src/main/fragment/cache/fragment-cache-mos6502x.asm +++ b/src/main/fragment/cache/fragment-cache-mos6502x.asm @@ -18504,3 +18504,90 @@ sta {c1}+1,y ldy {z1} dey dey +//FRAGMENT _deref_(_deref_qbuc1)=pbuc2_derefidx_vbuz1 +ldy {z1} +lda {c2},y +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +sta ($fe),y +//FRAGMENT _deref_(_deref_qbuc1)=pbuc2_derefidx_vbuaa +tay +lda {c2},y +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +sta ($fe),y +//FRAGMENT _deref_(_deref_qbuc1)=pbuc2_derefidx_vbuxx +lda {c2},x +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +sta ($fe),y +//FRAGMENT _deref_(_deref_qbuc1)=pbuc2_derefidx_vbuyy +lda {c2},y +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +sta ($fe),y +//FRAGMENT vbuz1=_deref_pbuc1_ror_1 +lda {c1} +lsr +sta {z1} +//FRAGMENT vwuz1_ge_pwuc1_derefidx_vbuz2_then_la1 +ldy {z2} +lda {c1}+1,y +cmp {z1}+1 +bne !+ +lda {c1},y +cmp {z1} +beq {la1} +!: +bcc {la1} +//FRAGMENT vbuaa=_deref_pbuc1_ror_1 +lda {c1} +lsr +//FRAGMENT vbuxx=_deref_pbuc1_ror_1 +lda {c1} +lsr +tax +//FRAGMENT vbuyy=_deref_pbuc1_ror_1 +lda {c1} +lsr +tay +//FRAGMENT vwuz1_ge_pwuc1_derefidx_vbuaa_then_la1 +tay +lda {c1}+1,y +cmp {z1}+1 +bne !+ +lda {c1},y +cmp {z1} +beq {la1} +!: +bcc {la1} +//FRAGMENT vwuz1_ge_pwuc1_derefidx_vbuxx_then_la1 +lda {c1}+1,x +cmp {z1}+1 +bne !+ +lda {c1},x +cmp {z1} +beq {la1} +!: +bcc {la1} +//FRAGMENT vwuz1_ge_pwuc1_derefidx_vbuyy_then_la1 +lda {c1}+1,y +cmp {z1}+1 +bne !+ +lda {c1},y +cmp {z1} +beq {la1} +!: +bcc {la1} diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass2DuplicateRValueIdentification.java b/src/main/java/dk/camelot64/kickc/passes/Pass2DuplicateRValueIdentification.java index 8656d3a78..6d76e01e1 100644 --- a/src/main/java/dk/camelot64/kickc/passes/Pass2DuplicateRValueIdentification.java +++ b/src/main/java/dk/camelot64/kickc/passes/Pass2DuplicateRValueIdentification.java @@ -55,11 +55,11 @@ public class Pass2DuplicateRValueIdentification extends Pass2SsaOptimization { duplicate |= deduplicateRValue(otherRValue, thisRValue); } else if(thisDominators.contains(otherRValue.block.getLabel())) { // The other assignment is guaranteed to be executed before this assignment - if(scopeMatch(thisRValue.rValue1, thisRValue.block) && scopeMatch(thisRValue.rValue2, thisRValue.block)) + if(scopeMatch(thisRValue, otherRValue)) duplicate |= deduplicateRValue(otherRValue, thisRValue); } else if(otherDominators.contains(thisRValue.block.getLabel())) { // This assignment is guaranteed to be executed before the other assignment - if(scopeMatch(thisRValue.rValue1, thisRValue.block) && scopeMatch(thisRValue.rValue2, thisRValue.block)) + if(scopeMatch(thisRValue, otherRValue)) duplicate |= deduplicateRValue(thisRValue, otherRValue); } } @@ -76,27 +76,45 @@ public class Pass2DuplicateRValueIdentification extends Pass2SsaOptimization { return modified; } + /** + * Check that the scopes match for all involved variables. + * + * @param thisRValue This RValue + * @param otherRValue This duplicate RValue + * @return true if all scopes match + */ + private boolean scopeMatch(AssignmentWithRValue thisRValue, AssignmentWithRValue otherRValue) { + if(!thisRValue.block.getScope().equals(otherRValue.block.getScope())) + return false; + ScopeRef scope = thisRValue.block.getScope(); + return + scopeMatch(thisRValue.assignment.getlValue(), scope) && + scopeMatch(otherRValue.assignment.getlValue(), scope) && + scopeMatch(thisRValue.rValue1, scope) && + scopeMatch(thisRValue.rValue2, scope); + } + /** * Check that the scope of the values inside an RValue matches the scope of a block. * We only know that a specific variable version has the same value if it is from the same scope as the block. * Otherwise it might be modified inside some called function. * - * @param rValue The RValue to examine (may be null) + * @param value The RValue to examine (may be null) * @param block The block to examine * @return true if the scope match */ - private boolean scopeMatch(RValue rValue, ControlFlowBlock block) { - if(rValue == null) + private boolean scopeMatch(Value value, ScopeRef scopeRef) { + if(value == null) return true; List varRefs = new ArrayList<>(); - ProgramValueIterator.execute(new ProgramValue.GenericValue(rValue), + ProgramValueIterator.execute(new ProgramValue.GenericValue(value), (programValue, currentStmt, stmtIt, currentBlock) -> { if(programValue.get() instanceof SymbolVariableRef) varRefs.add((SymbolVariableRef) programValue.get()); } , null, null, null); for(SymbolVariableRef varRef : varRefs) { Variable var = getScope().getVariable(varRef); - if(!var.getScope().getRef().equals(block.getScope())) + if(!var.getScope().getRef().equals(scopeRef)) return false; } return true; @@ -186,8 +204,6 @@ public class Pass2DuplicateRValueIdentification extends Pass2SsaOptimization { private boolean isTrivial() { if(operator == null) return true; if(operator instanceof OperatorCast) return true; - if(operator.equals(Operators.PLUS)) return true; - if(operator.equals(Operators.MINUS)) return true; if(operator.equals(Operators.LE)) return true; if(operator.equals(Operators.LT)) return true; if(operator.equals(Operators.GE)) return true; @@ -199,6 +215,8 @@ public class Pass2DuplicateRValueIdentification extends Pass2SsaOptimization { if(operator.equals(Operators.LOGIC_OR)) return true; if(operator.equals(Operators.HIBYTE)) return true; if(operator.equals(Operators.LOWBYTE)) return true; + if(operator.equals(Operators.PLUS) && rValue2 instanceof ConstantValue) return true; + if(operator.equals(Operators.PLUS) && rValue1 instanceof ConstantValue) return true; return false; } diff --git a/src/test/ref/c64dtv-gfxexplorer.asm b/src/test/ref/c64dtv-gfxexplorer.asm index 6bc9682cd..1ca86cf9e 100644 --- a/src/test/ref/c64dtv-gfxexplorer.asm +++ b/src/test/ref/c64dtv-gfxexplorer.asm @@ -169,7 +169,7 @@ .label form_vic_bg2_lo = form_fields_val+$21 .label form_vic_bg3_hi = form_fields_val+$22 .label form_vic_bg3_lo = form_fields_val+$23 - .label print_char_cursor = $18 + .label print_char_cursor = $1a .label print_line_cursor = 7 .label print_screen = 7 // Keyboard event buffer size. The number of events currently in the event buffer @@ -400,11 +400,13 @@ form_mode: { // Change graphics mode to show the selected graphics mode gfx_mode: { .label __20 = 9 - .label __24 = $1d - .label __26 = $1f + .label __22 = $23 + .label __24 = $13 + .label __26 = $1a .label __34 = 9 - .label __38 = $18 - .label __40 = $1a + .label __36 = $1c + .label __38 = $1e + .label __40 = $21 .label __47 = 3 .label __48 = 3 .label __50 = 7 @@ -532,15 +534,19 @@ gfx_mode: { sta.z plane_a+3 // < plane_a lda.z plane_a + sta.z __22 + lda.z plane_a+1 + sta.z __22+1 + // < < plane_a + lda.z __22 + // *DTV_PLANEA_START_LO = < < plane_a + sta DTV_PLANEA_START_LO + // < plane_a + lda.z plane_a sta.z __24 lda.z plane_a+1 sta.z __24+1 - // < < plane_a - lda.z __24 - // *DTV_PLANEA_START_LO = < < plane_a - sta DTV_PLANEA_START_LO // > < plane_a - lda.z __24+1 // *DTV_PLANEA_START_MI = > < plane_a sta DTV_PLANEA_START_MI // > plane_a @@ -604,15 +610,19 @@ gfx_mode: { sta.z plane_b+3 // < plane_b lda.z plane_b + sta.z __36 + lda.z plane_b+1 + sta.z __36+1 + // < < plane_b + lda.z __36 + // *DTV_PLANEB_START_LO = < < plane_b + sta DTV_PLANEB_START_LO + // < plane_b + lda.z plane_b sta.z __38 lda.z plane_b+1 sta.z __38+1 - // < < plane_b - lda.z __38 - // *DTV_PLANEB_START_LO = < < plane_b - sta DTV_PLANEB_START_LO // > < plane_b - lda.z __38+1 // *DTV_PLANEB_START_MI = > < plane_b sta DTV_PLANEB_START_MI // > plane_b @@ -1135,7 +1145,7 @@ gfx_init_vic_bitmap: { } // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { - .label __5 = $1d + .label __5 = $23 .label gfxb = 5 .label x = 3 .label y = 2 @@ -1523,9 +1533,9 @@ print_cls: { } // Print a number of zero-terminated strings, each followed by a newline. // The sequence of lines is terminated by another zero. -// print_str_lines(byte* zp($1a) str) +// print_str_lines(byte* zp($13) str) print_str_lines: { - .label str = $1a + .label str = $13 lda.z print_screen sta.z print_char_cursor lda.z print_screen+1 @@ -1621,7 +1631,7 @@ form_render_values: { // idx is the ID of the preset // render_preset_name(byte register(A) idx) render_preset_name: { - .label name = $1a + .label name = $13 // if(idx==0) cmp #0 beq __b3 @@ -1752,7 +1762,7 @@ render_preset_name: { // Reads keyboard and allows the user to navigate and change the fields of the form // Returns 0 if space is not pressed, non-0 if space is pressed form_control: { - .label field = $1f + .label field = $13 // form_field_ptr(form_field_idx) ldx.z form_field_idx jsr form_field_ptr @@ -1889,7 +1899,7 @@ form_control: { // idx is the ID of the preset // apply_preset(byte register(A) idx) apply_preset: { - .label preset = $18 + .label preset = $1a // if(idx==0) cmp #0 beq __b3 @@ -2286,7 +2296,7 @@ get_vic_charset: { // Handles debounce and only generates events when the status of a key changes. // Also stores current status of modifiers in keyboard_modifiers. keyboard_event_scan: { - .label row_scan = $13 + .label row_scan = $15 .label keycode = $f .label row = $d lda #0 @@ -2441,7 +2451,7 @@ keyboard_event_get: { } // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { - .label __10 = $13 + .label __10 = $15 .label yoffs = 7 ldy #$80 ldx #0 @@ -2510,7 +2520,7 @@ bitmap_init: { } // Clear all graphics on the bitmap bitmap_clear: { - .label bitmap = $1a + .label bitmap = $13 .label y = $f // bitmap = (char*) { bitmap_plot_xhi[0], bitmap_plot_xlo[0] } lda bitmap_plot_xlo @@ -2544,11 +2554,11 @@ bitmap_clear: { rts } // Draw a line on the bitmap -// bitmap_line(byte zp($11) x0, byte zp($13) x1, byte register(X) y0, byte zp($10) y1) +// bitmap_line(byte zp($11) x0, byte zp($15) x1, byte register(X) y0, byte zp($10) y1) bitmap_line: { .label xd = $f .label x0 = $11 - .label x1 = $13 + .label x1 = $15 .label y1 = $10 // if(x0FORM_SCREEN+$28*2+$a @@ -2928,7 +2938,7 @@ keyboard_matrix_read: { // Returns 0 is not pressed and non-0 if pressed // keyboard_event_pressed(byte zp($12) keycode) keyboard_event_pressed: { - .label row_bits = $1c + .label row_bits = $20 .label keycode = $12 // keycode>>3 lda.z keycode @@ -2956,7 +2966,7 @@ bitmap_line_ydxi: { .label y1 = $10 .label yd = $d .label xd = $f - .label e = $13 + .label e = $15 // e = xd>>1 lda.z xd lsr @@ -2994,10 +3004,10 @@ bitmap_line_ydxi: { // } rts } -// bitmap_line_xdyi(byte zp($e) x, byte register(X) y, byte zp($13) x1, byte zp($f) xd, byte zp($d) yd) +// bitmap_line_xdyi(byte zp($e) x, byte register(X) y, byte zp($15) x1, byte zp($f) xd, byte zp($d) yd) bitmap_line_xdyi: { .label x = $e - .label x1 = $13 + .label x1 = $15 .label xd = $f .label yd = $d .label e = $12 @@ -3045,7 +3055,7 @@ bitmap_line_ydxd: { .label y1 = $10 .label yd = $12 .label xd = $f - .label e = $1c + .label e = $20 // e = xd>>1 lda.z xd lsr @@ -3083,9 +3093,9 @@ bitmap_line_ydxd: { // } rts } -// bitmap_line_xdyd(byte zp($1c) x, byte register(X) y, byte zp($11) x1, byte zp($f) xd, byte zp($e) yd) +// bitmap_line_xdyd(byte zp($20) x, byte register(X) y, byte zp($11) x1, byte zp($f) xd, byte zp($e) yd) bitmap_line_xdyd: { - .label x = $1c + .label x = $20 .label x1 = $11 .label xd = $f .label yd = $e @@ -3129,9 +3139,9 @@ bitmap_line_xdyd: { } // bitmap_plot(byte register(Y) x, byte register(X) y) bitmap_plot: { - .label plotter_x = $1d - .label plotter_y = $1f - .label plotter = $1d + .label plotter_x = $21 + .label plotter_y = $23 + .label plotter = $21 // plotter_x = { bitmap_plot_xhi[x], bitmap_plot_xlo[x] } lda bitmap_plot_xhi,y sta.z plotter_x+1 diff --git a/src/test/ref/c64dtv-gfxexplorer.cfg b/src/test/ref/c64dtv-gfxexplorer.cfg index aa1bdf790..0d8e59b2c 100644 --- a/src/test/ref/c64dtv-gfxexplorer.cfg +++ b/src/test/ref/c64dtv-gfxexplorer.cfg @@ -275,1535 +275,1537 @@ gfx_mode::@9: scope:[gfx_mode] from gfx_mode::@18 gfx_mode::@8 gfx_mode::@27: scope:[gfx_mode] from gfx_mode::@9 [133] (dword~) gfx_mode::$20 ← (dword) get_plane::return#16 [134] (dword) gfx_mode::plane_a#0 ← (dword~) gfx_mode::$20 + (byte) gfx_mode::plane_a_offs#0 - [135] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 - [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$24 + [135] (word~) gfx_mode::$22 ← < (dword) gfx_mode::plane_a#0 + [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$22 [137] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$23 - [138] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 - [139] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 - [140] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 - [141] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 - [142] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 - [143] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 - [144] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) - [145] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 - [146] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 - [147] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) - [148] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 - [149] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 - [150] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 - [151] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) - [152] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) - [153] call get_plane - [154] (dword) get_plane::return#17 ← (dword) get_plane::return#14 + [138] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 + [139] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 + [140] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 + [141] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 + [142] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 + [143] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 + [144] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 + [145] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) + [146] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 + [147] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 + [148] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) + [149] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 + [150] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 + [151] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 + [152] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) + [153] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) + [154] call get_plane + [155] (dword) get_plane::return#17 ← (dword) get_plane::return#14 to:gfx_mode::@28 gfx_mode::@28: scope:[gfx_mode] from gfx_mode::@27 - [155] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 - [156] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 - [157] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 - [158] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$38 - [159] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 - [160] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 - [161] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 - [162] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 - [163] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 - [164] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 - [165] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 - [166] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) - [167] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 - [168] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 - [169] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) - [170] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 - [171] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 - [172] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 - [173] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 - [174] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) - [175] call get_vic_screen - [176] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 + [156] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 + [157] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 + [158] (word~) gfx_mode::$36 ← < (dword) gfx_mode::plane_b#0 + [159] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$36 + [160] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 + [161] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 + [162] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 + [163] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 + [164] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 + [165] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 + [166] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 + [167] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 + [168] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) + [169] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 + [170] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 + [171] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) + [172] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 + [173] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 + [174] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 + [175] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 + [176] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) + [177] call get_vic_screen + [178] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 to:gfx_mode::@29 gfx_mode::@29: scope:[gfx_mode] from gfx_mode::@28 - [177] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 - [178] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff - [179] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 - [180] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) - [181] call get_vic_charset - [182] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 + [179] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 + [180] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff + [181] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 + [182] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) + [183] call get_vic_charset + [184] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 to:gfx_mode::@30 gfx_mode::@30: scope:[gfx_mode] from gfx_mode::@29 - [183] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 - [184] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff - [185] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 - [186] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 - [187] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 - [188] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 - [189] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 - [190] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) - [191] call get_vic_screen - [192] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 + [185] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 + [186] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff + [187] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 + [188] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 + [189] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 + [190] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 + [191] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 + [192] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) + [193] call get_vic_screen + [194] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 to:gfx_mode::@31 gfx_mode::@31: scope:[gfx_mode] from gfx_mode::@30 - [193] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 + [195] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 to:gfx_mode::@19 gfx_mode::@19: scope:[gfx_mode] from gfx_mode::@21 gfx_mode::@31 - [194] (byte) gfx_mode::cy#4 ← phi( gfx_mode::@21/(byte) gfx_mode::cy#1 gfx_mode::@31/(byte) 0 ) - [194] (byte*) gfx_mode::col#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::col#1 gfx_mode::@31/(const nomodify byte*) COLS ) - [194] (byte*) gfx_mode::vic_colors#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::vic_colors#1 gfx_mode::@31/(byte*) gfx_mode::vic_colors#0 ) + [196] (byte) gfx_mode::cy#4 ← phi( gfx_mode::@21/(byte) gfx_mode::cy#1 gfx_mode::@31/(byte) 0 ) + [196] (byte*) gfx_mode::col#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::col#1 gfx_mode::@31/(const nomodify byte*) COLS ) + [196] (byte*) gfx_mode::vic_colors#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::vic_colors#1 gfx_mode::@31/(byte*) gfx_mode::vic_colors#0 ) to:gfx_mode::@20 gfx_mode::@20: scope:[gfx_mode] from gfx_mode::@19 gfx_mode::@20 - [195] (byte) gfx_mode::cx#2 ← phi( gfx_mode::@19/(byte) 0 gfx_mode::@20/(byte) gfx_mode::cx#1 ) - [195] (byte*) gfx_mode::col#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::col#3 gfx_mode::@20/(byte*) gfx_mode::col#1 ) - [195] (byte*) gfx_mode::vic_colors#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::vic_colors#3 gfx_mode::@20/(byte*) gfx_mode::vic_colors#1 ) - [196] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) - [197] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 - [198] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 - [199] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 - [200] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 + [197] (byte) gfx_mode::cx#2 ← phi( gfx_mode::@19/(byte) 0 gfx_mode::@20/(byte) gfx_mode::cx#1 ) + [197] (byte*) gfx_mode::col#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::col#3 gfx_mode::@20/(byte*) gfx_mode::col#1 ) + [197] (byte*) gfx_mode::vic_colors#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::vic_colors#3 gfx_mode::@20/(byte*) gfx_mode::vic_colors#1 ) + [198] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) + [199] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 + [200] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 + [201] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 + [202] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 to:gfx_mode::@21 gfx_mode::@21: scope:[gfx_mode] from gfx_mode::@20 - [201] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 - [202] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 + [203] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 + [204] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 to:gfx_mode::@22 gfx_mode::@22: scope:[gfx_mode] from gfx_mode::@21 - [203] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 - [204] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 - [205] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) - [206] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 - [207] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 - [208] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) - [209] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 - [210] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 - [211] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) - [212] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 - [213] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 - [214] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) - [215] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 - [216] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 + [205] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 + [206] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 + [207] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) + [208] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 + [209] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 + [210] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) + [211] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 + [212] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 + [213] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) + [214] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 + [215] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 + [216] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) + [217] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 + [218] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 to:gfx_mode::@23 gfx_mode::@23: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@23 - [217] (byte) gfx_mode::j#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@23/(byte) gfx_mode::j#1 ) - [218] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 - [219] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 - [220] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 + [219] (byte) gfx_mode::j#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@23/(byte) gfx_mode::j#1 ) + [220] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 + [221] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 + [222] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 to:gfx_mode::@25 gfx_mode::@25: scope:[gfx_mode] from gfx_mode::@23 gfx_mode::@24 gfx_mode::@25 gfx_mode::@33 - [221] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 + [223] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 to:gfx_mode::@26 gfx_mode::@26: scope:[gfx_mode] from gfx_mode::@25 - [222] phi() - [223] call keyboard_event_scan + [224] phi() + [225] call keyboard_event_scan to:gfx_mode::@32 gfx_mode::@32: scope:[gfx_mode] from gfx_mode::@26 - [224] phi() - [225] call keyboard_event_get - [226] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 + [226] phi() + [227] call keyboard_event_get + [228] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 to:gfx_mode::@33 gfx_mode::@33: scope:[gfx_mode] from gfx_mode::@32 - [227] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 - [228] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return + [229] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 + [230] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return to:gfx_mode::@25 gfx_mode::@return: scope:[gfx_mode] from gfx_mode::@33 - [229] return + [231] return to:@return gfx_mode::@24: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@24 - [230] (byte) gfx_mode::i#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@24/(byte) gfx_mode::i#1 ) - [231] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) - [232] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 - [233] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 + [232] (byte) gfx_mode::i#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@24/(byte) gfx_mode::i#1 ) + [233] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) + [234] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 + [235] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 to:gfx_mode::@25 (void()) gfx_init_screen0() gfx_init_screen0: scope:[gfx_init_screen0] from gfx_init - [234] phi() + [236] phi() to:gfx_init_screen0::@1 gfx_init_screen0::@1: scope:[gfx_init_screen0] from gfx_init_screen0 gfx_init_screen0::@3 - [235] (byte*) gfx_init_screen0::ch#3 ← phi( gfx_init_screen0/(const nomodify byte*) VIC_SCREEN0 gfx_init_screen0::@3/(byte*) gfx_init_screen0::ch#1 ) - [235] (byte) gfx_init_screen0::cy#4 ← phi( gfx_init_screen0/(byte) 0 gfx_init_screen0::@3/(byte) gfx_init_screen0::cy#1 ) + [237] (byte*) gfx_init_screen0::ch#3 ← phi( gfx_init_screen0/(const nomodify byte*) VIC_SCREEN0 gfx_init_screen0::@3/(byte*) gfx_init_screen0::ch#1 ) + [237] (byte) gfx_init_screen0::cy#4 ← phi( gfx_init_screen0/(byte) 0 gfx_init_screen0::@3/(byte) gfx_init_screen0::cy#1 ) to:gfx_init_screen0::@2 gfx_init_screen0::@2: scope:[gfx_init_screen0] from gfx_init_screen0::@1 gfx_init_screen0::@2 - [236] (byte*) gfx_init_screen0::ch#2 ← phi( gfx_init_screen0::@1/(byte*) gfx_init_screen0::ch#3 gfx_init_screen0::@2/(byte*) gfx_init_screen0::ch#1 ) - [236] (byte) gfx_init_screen0::cx#2 ← phi( gfx_init_screen0::@1/(byte) 0 gfx_init_screen0::@2/(byte) gfx_init_screen0::cx#1 ) - [237] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f - [238] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 - [239] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f - [240] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 - [241] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 - [242] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 - [243] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 - [244] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 + [238] (byte*) gfx_init_screen0::ch#2 ← phi( gfx_init_screen0::@1/(byte*) gfx_init_screen0::ch#3 gfx_init_screen0::@2/(byte*) gfx_init_screen0::ch#1 ) + [238] (byte) gfx_init_screen0::cx#2 ← phi( gfx_init_screen0::@1/(byte) 0 gfx_init_screen0::@2/(byte) gfx_init_screen0::cx#1 ) + [239] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f + [240] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 + [241] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f + [242] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 + [243] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 + [244] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 + [245] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 + [246] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 to:gfx_init_screen0::@3 gfx_init_screen0::@3: scope:[gfx_init_screen0] from gfx_init_screen0::@2 - [245] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 - [246] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 + [247] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 + [248] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 to:gfx_init_screen0::@return gfx_init_screen0::@return: scope:[gfx_init_screen0] from gfx_init_screen0::@3 - [247] return + [249] return to:@return (void()) gfx_init_screen1() gfx_init_screen1: scope:[gfx_init_screen1] from gfx_init::@1 - [248] phi() + [250] phi() to:gfx_init_screen1::@1 gfx_init_screen1::@1: scope:[gfx_init_screen1] from gfx_init_screen1 gfx_init_screen1::@3 - [249] (byte*) gfx_init_screen1::ch#3 ← phi( gfx_init_screen1/(const nomodify byte*) VIC_SCREEN1 gfx_init_screen1::@3/(byte*) gfx_init_screen1::ch#1 ) - [249] (byte) gfx_init_screen1::cy#4 ← phi( gfx_init_screen1/(byte) 0 gfx_init_screen1::@3/(byte) gfx_init_screen1::cy#1 ) + [251] (byte*) gfx_init_screen1::ch#3 ← phi( gfx_init_screen1/(const nomodify byte*) VIC_SCREEN1 gfx_init_screen1::@3/(byte*) gfx_init_screen1::ch#1 ) + [251] (byte) gfx_init_screen1::cy#4 ← phi( gfx_init_screen1/(byte) 0 gfx_init_screen1::@3/(byte) gfx_init_screen1::cy#1 ) to:gfx_init_screen1::@2 gfx_init_screen1::@2: scope:[gfx_init_screen1] from gfx_init_screen1::@1 gfx_init_screen1::@2 - [250] (byte*) gfx_init_screen1::ch#2 ← phi( gfx_init_screen1::@1/(byte*) gfx_init_screen1::ch#3 gfx_init_screen1::@2/(byte*) gfx_init_screen1::ch#1 ) - [250] (byte) gfx_init_screen1::cx#2 ← phi( gfx_init_screen1::@1/(byte) 0 gfx_init_screen1::@2/(byte) gfx_init_screen1::cx#1 ) - [251] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 - [252] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f - [253] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 - [254] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 - [255] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 - [256] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 + [252] (byte*) gfx_init_screen1::ch#2 ← phi( gfx_init_screen1::@1/(byte*) gfx_init_screen1::ch#3 gfx_init_screen1::@2/(byte*) gfx_init_screen1::ch#1 ) + [252] (byte) gfx_init_screen1::cx#2 ← phi( gfx_init_screen1::@1/(byte) 0 gfx_init_screen1::@2/(byte) gfx_init_screen1::cx#1 ) + [253] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 + [254] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f + [255] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 + [256] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 + [257] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 + [258] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 to:gfx_init_screen1::@3 gfx_init_screen1::@3: scope:[gfx_init_screen1] from gfx_init_screen1::@2 - [257] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 - [258] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 + [259] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 + [260] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 to:gfx_init_screen1::@return gfx_init_screen1::@return: scope:[gfx_init_screen1] from gfx_init_screen1::@3 - [259] return + [261] return to:@return (void()) gfx_init_screen2() gfx_init_screen2: scope:[gfx_init_screen2] from gfx_init::@2 - [260] phi() + [262] phi() to:gfx_init_screen2::@1 gfx_init_screen2::@1: scope:[gfx_init_screen2] from gfx_init_screen2 gfx_init_screen2::@3 - [261] (byte*) gfx_init_screen2::ch#3 ← phi( gfx_init_screen2/(const nomodify byte*) VIC_SCREEN2 gfx_init_screen2::@3/(byte*) gfx_init_screen2::ch#1 ) - [261] (byte) gfx_init_screen2::cy#4 ← phi( gfx_init_screen2/(byte) 0 gfx_init_screen2::@3/(byte) gfx_init_screen2::cy#1 ) + [263] (byte*) gfx_init_screen2::ch#3 ← phi( gfx_init_screen2/(const nomodify byte*) VIC_SCREEN2 gfx_init_screen2::@3/(byte*) gfx_init_screen2::ch#1 ) + [263] (byte) gfx_init_screen2::cy#4 ← phi( gfx_init_screen2/(byte) 0 gfx_init_screen2::@3/(byte) gfx_init_screen2::cy#1 ) to:gfx_init_screen2::@2 gfx_init_screen2::@2: scope:[gfx_init_screen2] from gfx_init_screen2::@1 gfx_init_screen2::@2 - [262] (byte*) gfx_init_screen2::ch#2 ← phi( gfx_init_screen2::@1/(byte*) gfx_init_screen2::ch#3 gfx_init_screen2::@2/(byte*) gfx_init_screen2::ch#1 ) - [262] (byte) gfx_init_screen2::cx#2 ← phi( gfx_init_screen2::@1/(byte) 0 gfx_init_screen2::@2/(byte) gfx_init_screen2::cx#1 ) - [263] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 - [264] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f - [265] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 - [266] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 - [267] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 - [268] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 - [269] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 - [270] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 - [271] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 + [264] (byte*) gfx_init_screen2::ch#2 ← phi( gfx_init_screen2::@1/(byte*) gfx_init_screen2::ch#3 gfx_init_screen2::@2/(byte*) gfx_init_screen2::ch#1 ) + [264] (byte) gfx_init_screen2::cx#2 ← phi( gfx_init_screen2::@1/(byte) 0 gfx_init_screen2::@2/(byte) gfx_init_screen2::cx#1 ) + [265] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 + [266] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f + [267] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 + [268] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 + [269] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 + [270] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 + [271] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 + [272] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 + [273] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 to:gfx_init_screen2::@3 gfx_init_screen2::@3: scope:[gfx_init_screen2] from gfx_init_screen2::@2 - [272] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 - [273] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 + [274] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 + [275] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 to:gfx_init_screen2::@return gfx_init_screen2::@return: scope:[gfx_init_screen2] from gfx_init_screen2::@3 - [274] return + [276] return to:@return (void()) gfx_init_screen3() gfx_init_screen3: scope:[gfx_init_screen3] from gfx_init::@3 - [275] phi() + [277] phi() to:gfx_init_screen3::@1 gfx_init_screen3::@1: scope:[gfx_init_screen3] from gfx_init_screen3 gfx_init_screen3::@3 - [276] (byte*) gfx_init_screen3::ch#3 ← phi( gfx_init_screen3/(const nomodify byte*) VIC_SCREEN3 gfx_init_screen3::@3/(byte*) gfx_init_screen3::ch#1 ) - [276] (byte) gfx_init_screen3::cy#4 ← phi( gfx_init_screen3/(byte) 0 gfx_init_screen3::@3/(byte) gfx_init_screen3::cy#1 ) + [278] (byte*) gfx_init_screen3::ch#3 ← phi( gfx_init_screen3/(const nomodify byte*) VIC_SCREEN3 gfx_init_screen3::@3/(byte*) gfx_init_screen3::ch#1 ) + [278] (byte) gfx_init_screen3::cy#4 ← phi( gfx_init_screen3/(byte) 0 gfx_init_screen3::@3/(byte) gfx_init_screen3::cy#1 ) to:gfx_init_screen3::@2 gfx_init_screen3::@2: scope:[gfx_init_screen3] from gfx_init_screen3::@1 gfx_init_screen3::@2 - [277] (byte*) gfx_init_screen3::ch#2 ← phi( gfx_init_screen3::@1/(byte*) gfx_init_screen3::ch#3 gfx_init_screen3::@2/(byte*) gfx_init_screen3::ch#1 ) - [277] (byte) gfx_init_screen3::cx#2 ← phi( gfx_init_screen3::@1/(byte) 0 gfx_init_screen3::@2/(byte) gfx_init_screen3::cx#1 ) - [278] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 - [279] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 - [280] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 - [281] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 - [282] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 - [283] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 - [284] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 - [285] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 + [279] (byte*) gfx_init_screen3::ch#2 ← phi( gfx_init_screen3::@1/(byte*) gfx_init_screen3::ch#3 gfx_init_screen3::@2/(byte*) gfx_init_screen3::ch#1 ) + [279] (byte) gfx_init_screen3::cx#2 ← phi( gfx_init_screen3::@1/(byte) 0 gfx_init_screen3::@2/(byte) gfx_init_screen3::cx#1 ) + [280] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 + [281] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 + [282] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 + [283] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 + [284] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 + [285] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 + [286] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 + [287] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 to:gfx_init_screen3::@3 gfx_init_screen3::@3: scope:[gfx_init_screen3] from gfx_init_screen3::@2 - [286] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 - [287] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 + [288] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 + [289] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 to:gfx_init_screen3::@return gfx_init_screen3::@return: scope:[gfx_init_screen3] from gfx_init_screen3::@3 - [288] return + [290] return to:@return (void()) gfx_init_screen4() gfx_init_screen4: scope:[gfx_init_screen4] from gfx_init::@4 - [289] phi() + [291] phi() to:gfx_init_screen4::@1 gfx_init_screen4::@1: scope:[gfx_init_screen4] from gfx_init_screen4 gfx_init_screen4::@3 - [290] (byte) gfx_init_screen4::cy#4 ← phi( gfx_init_screen4/(byte) 0 gfx_init_screen4::@3/(byte) gfx_init_screen4::cy#1 ) - [290] (byte*) gfx_init_screen4::ch#3 ← phi( gfx_init_screen4/(const nomodify byte*) VIC_SCREEN4 gfx_init_screen4::@3/(byte*) gfx_init_screen4::ch#1 ) + [292] (byte) gfx_init_screen4::cy#4 ← phi( gfx_init_screen4/(byte) 0 gfx_init_screen4::@3/(byte) gfx_init_screen4::cy#1 ) + [292] (byte*) gfx_init_screen4::ch#3 ← phi( gfx_init_screen4/(const nomodify byte*) VIC_SCREEN4 gfx_init_screen4::@3/(byte*) gfx_init_screen4::ch#1 ) to:gfx_init_screen4::@2 gfx_init_screen4::@2: scope:[gfx_init_screen4] from gfx_init_screen4::@1 gfx_init_screen4::@2 - [291] (byte) gfx_init_screen4::cx#2 ← phi( gfx_init_screen4::@1/(byte) 0 gfx_init_screen4::@2/(byte) gfx_init_screen4::cx#1 ) - [291] (byte*) gfx_init_screen4::ch#2 ← phi( gfx_init_screen4::@1/(byte*) gfx_init_screen4::ch#3 gfx_init_screen4::@2/(byte*) gfx_init_screen4::ch#1 ) - [292] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 - [293] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 - [294] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 - [295] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 + [293] (byte) gfx_init_screen4::cx#2 ← phi( gfx_init_screen4::@1/(byte) 0 gfx_init_screen4::@2/(byte) gfx_init_screen4::cx#1 ) + [293] (byte*) gfx_init_screen4::ch#2 ← phi( gfx_init_screen4::@1/(byte*) gfx_init_screen4::ch#3 gfx_init_screen4::@2/(byte*) gfx_init_screen4::ch#1 ) + [294] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 + [295] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 + [296] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 + [297] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 to:gfx_init_screen4::@3 gfx_init_screen4::@3: scope:[gfx_init_screen4] from gfx_init_screen4::@2 - [296] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 - [297] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 + [298] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 + [299] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 to:gfx_init_screen4::@return gfx_init_screen4::@return: scope:[gfx_init_screen4] from gfx_init_screen4::@3 - [298] return + [300] return to:@return (void()) gfx_init_charset() gfx_init_charset: scope:[gfx_init_charset] from gfx_init::@5 - [299] *((const nomodify byte*) PROCPORT) ← (byte) $32 + [301] *((const nomodify byte*) PROCPORT) ← (byte) $32 to:gfx_init_charset::@1 gfx_init_charset::@1: scope:[gfx_init_charset] from gfx_init_charset gfx_init_charset::@3 - [300] (byte) gfx_init_charset::c#4 ← phi( gfx_init_charset/(byte) 0 gfx_init_charset::@3/(byte) gfx_init_charset::c#1 ) - [300] (byte*) gfx_init_charset::charset#3 ← phi( gfx_init_charset/(const nomodify byte*) VIC_CHARSET_ROM gfx_init_charset::@3/(byte*) gfx_init_charset::charset#1 ) - [300] (byte*) gfx_init_charset::chargen#3 ← phi( gfx_init_charset/(const nomodify byte*) CHARGEN gfx_init_charset::@3/(byte*) gfx_init_charset::chargen#1 ) + [302] (byte) gfx_init_charset::c#4 ← phi( gfx_init_charset/(byte) 0 gfx_init_charset::@3/(byte) gfx_init_charset::c#1 ) + [302] (byte*) gfx_init_charset::charset#3 ← phi( gfx_init_charset/(const nomodify byte*) VIC_CHARSET_ROM gfx_init_charset::@3/(byte*) gfx_init_charset::charset#1 ) + [302] (byte*) gfx_init_charset::chargen#3 ← phi( gfx_init_charset/(const nomodify byte*) CHARGEN gfx_init_charset::@3/(byte*) gfx_init_charset::chargen#1 ) to:gfx_init_charset::@2 gfx_init_charset::@2: scope:[gfx_init_charset] from gfx_init_charset::@1 gfx_init_charset::@2 - [301] (byte) gfx_init_charset::l#2 ← phi( gfx_init_charset::@1/(byte) 0 gfx_init_charset::@2/(byte) gfx_init_charset::l#1 ) - [301] (byte*) gfx_init_charset::charset#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::charset#3 gfx_init_charset::@2/(byte*) gfx_init_charset::charset#1 ) - [301] (byte*) gfx_init_charset::chargen#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::chargen#3 gfx_init_charset::@2/(byte*) gfx_init_charset::chargen#1 ) - [302] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) - [303] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 - [304] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 - [305] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 - [306] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 + [303] (byte) gfx_init_charset::l#2 ← phi( gfx_init_charset::@1/(byte) 0 gfx_init_charset::@2/(byte) gfx_init_charset::l#1 ) + [303] (byte*) gfx_init_charset::charset#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::charset#3 gfx_init_charset::@2/(byte*) gfx_init_charset::charset#1 ) + [303] (byte*) gfx_init_charset::chargen#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::chargen#3 gfx_init_charset::@2/(byte*) gfx_init_charset::chargen#1 ) + [304] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) + [305] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 + [306] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 + [307] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 + [308] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 to:gfx_init_charset::@3 gfx_init_charset::@3: scope:[gfx_init_charset] from gfx_init_charset::@2 - [307] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 - [308] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 + [309] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 + [310] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 to:gfx_init_charset::@4 gfx_init_charset::@4: scope:[gfx_init_charset] from gfx_init_charset::@3 - [309] *((const nomodify byte*) PROCPORT) ← (byte) $37 + [311] *((const nomodify byte*) PROCPORT) ← (byte) $37 to:gfx_init_charset::@return gfx_init_charset::@return: scope:[gfx_init_charset] from gfx_init_charset::@4 - [310] return + [312] return to:@return (void()) gfx_init_vic_bitmap() gfx_init_vic_bitmap: scope:[gfx_init_vic_bitmap] from gfx_init::@6 - [311] phi() - [312] call bitmap_init + [313] phi() + [314] call bitmap_init to:gfx_init_vic_bitmap::@3 gfx_init_vic_bitmap::@3: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap - [313] phi() - [314] call bitmap_clear + [315] phi() + [316] call bitmap_clear to:gfx_init_vic_bitmap::@1 gfx_init_vic_bitmap::@1: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@3 gfx_init_vic_bitmap::@4 - [315] (byte) gfx_init_vic_bitmap::l#2 ← phi( gfx_init_vic_bitmap::@3/(byte) 0 gfx_init_vic_bitmap::@4/(byte) gfx_init_vic_bitmap::l#1 ) - [316] if((byte) gfx_init_vic_bitmap::l#2<(const byte) gfx_init_vic_bitmap::lines_cnt) goto gfx_init_vic_bitmap::@2 + [317] (byte) gfx_init_vic_bitmap::l#2 ← phi( gfx_init_vic_bitmap::@3/(byte) 0 gfx_init_vic_bitmap::@4/(byte) gfx_init_vic_bitmap::l#1 ) + [318] if((byte) gfx_init_vic_bitmap::l#2<(const byte) gfx_init_vic_bitmap::lines_cnt) goto gfx_init_vic_bitmap::@2 to:gfx_init_vic_bitmap::@return gfx_init_vic_bitmap::@return: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@1 - [317] return + [319] return to:@return gfx_init_vic_bitmap::@2: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@1 - [318] (byte) bitmap_line::x0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x + (byte) gfx_init_vic_bitmap::l#2) - [319] (byte) bitmap_line::x1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) - [320] (byte) bitmap_line::y0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y + (byte) gfx_init_vic_bitmap::l#2) - [321] (byte) bitmap_line::y1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) - [322] call bitmap_line + [320] (byte) bitmap_line::x0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x + (byte) gfx_init_vic_bitmap::l#2) + [321] (byte) bitmap_line::x1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) + [322] (byte) bitmap_line::y0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y + (byte) gfx_init_vic_bitmap::l#2) + [323] (byte) bitmap_line::y1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) + [324] call bitmap_line to:gfx_init_vic_bitmap::@4 gfx_init_vic_bitmap::@4: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@2 - [323] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 + [325] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 to:gfx_init_vic_bitmap::@1 (void()) gfx_init_plane_8bppchunky() gfx_init_plane_8bppchunky: scope:[gfx_init_plane_8bppchunky] from gfx_init::@7 - [324] phi() - [325] call dtvSetCpuBankSegment1 + [326] phi() + [327] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@1: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@5 - [326] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky/++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 ) - [326] (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky/(byte) 0 ) - [326] (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky/(byte*) 16384 ) + [328] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky/++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 ) + [328] (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky/(byte) 0 ) + [328] (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky/(byte*) 16384 ) to:gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@2: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@3 - [327] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) - [327] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(word) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) - [327] (byte*) gfx_init_plane_8bppchunky::gfxb#3 ← phi( gfx_init_plane_8bppchunky::@1/(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) - [328] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 + [329] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) + [329] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(word) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) + [329] (byte*) gfx_init_plane_8bppchunky::gfxb#3 ← phi( gfx_init_plane_8bppchunky::@1/(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) + [330] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 to:gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@4: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 - [329] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 - [330] call dtvSetCpuBankSegment1 + [331] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 + [332] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@7 gfx_init_plane_8bppchunky::@7: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@4 - [331] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 + [333] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 to:gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@3: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@7 - [332] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) - [332] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@7/(byte*) 16384 ) - [333] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 - [334] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 - [335] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 - [336] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 - [337] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 - [338] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 + [334] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) + [334] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@7/(byte*) 16384 ) + [335] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 + [336] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 + [337] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 + [338] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 + [339] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 + [340] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 to:gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@5: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@3 - [339] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 - [340] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 + [341] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 + [342] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 to:gfx_init_plane_8bppchunky::@6 gfx_init_plane_8bppchunky::@6: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@5 - [341] phi() - [342] call dtvSetCpuBankSegment1 + [343] phi() + [344] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@return gfx_init_plane_8bppchunky::@return: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@6 - [343] return + [345] return to:@return (void()) gfx_init_plane_charset8() gfx_init_plane_charset8: scope:[gfx_init_plane_charset8] from gfx_init::@8 - [344] phi() - [345] call dtvSetCpuBankSegment1 + [346] phi() + [347] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@9 gfx_init_plane_charset8::@9: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8 - [346] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM + [348] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM to:gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@1: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@9 - [347] (byte) gfx_init_plane_charset8::ch#8 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::ch#1 gfx_init_plane_charset8::@9/(byte) 0 ) - [347] (byte) gfx_init_plane_charset8::col#6 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::col#1 gfx_init_plane_charset8::@9/(byte) 0 ) - [347] (byte*) gfx_init_plane_charset8::gfxa#6 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::gfxa#1 gfx_init_plane_charset8::@9/(byte*)(word) $4000 ) - [347] (byte*) gfx_init_plane_charset8::chargen#3 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::@9/(const nomodify byte*) CHARGEN ) + [349] (byte) gfx_init_plane_charset8::ch#8 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::ch#1 gfx_init_plane_charset8::@9/(byte) 0 ) + [349] (byte) gfx_init_plane_charset8::col#6 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::col#1 gfx_init_plane_charset8::@9/(byte) 0 ) + [349] (byte*) gfx_init_plane_charset8::gfxa#6 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::gfxa#1 gfx_init_plane_charset8::@9/(byte*)(word) $4000 ) + [349] (byte*) gfx_init_plane_charset8::chargen#3 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::@9/(const nomodify byte*) CHARGEN ) to:gfx_init_plane_charset8::@2 gfx_init_plane_charset8::@2: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@6 - [348] (byte) gfx_init_plane_charset8::cr#6 ← phi( gfx_init_plane_charset8::@1/(byte) 0 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::cr#1 ) - [348] (byte) gfx_init_plane_charset8::col#5 ← phi( gfx_init_plane_charset8::@1/(byte) gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::col#1 ) - [348] (byte*) gfx_init_plane_charset8::gfxa#5 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::gfxa#1 ) - [348] (byte*) gfx_init_plane_charset8::chargen#2 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::chargen#1 ) - [349] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) - [350] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 + [350] (byte) gfx_init_plane_charset8::cr#6 ← phi( gfx_init_plane_charset8::@1/(byte) 0 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::cr#1 ) + [350] (byte) gfx_init_plane_charset8::col#5 ← phi( gfx_init_plane_charset8::@1/(byte) gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::col#1 ) + [350] (byte*) gfx_init_plane_charset8::gfxa#5 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::gfxa#1 ) + [350] (byte*) gfx_init_plane_charset8::chargen#2 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::chargen#1 ) + [351] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) + [352] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 to:gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@3: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@2 gfx_init_plane_charset8::@4 - [351] (byte) gfx_init_plane_charset8::cp#2 ← phi( gfx_init_plane_charset8::@2/(byte) 0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::cp#1 ) - [351] (byte) gfx_init_plane_charset8::col#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::col#1 ) - [351] (byte*) gfx_init_plane_charset8::gfxa#2 ← phi( gfx_init_plane_charset8::@2/(byte*) gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::@4/(byte*) gfx_init_plane_charset8::gfxa#1 ) - [351] (byte) gfx_init_plane_charset8::bits#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::bits#1 ) - [352] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 - [353] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 + [353] (byte) gfx_init_plane_charset8::cp#2 ← phi( gfx_init_plane_charset8::@2/(byte) 0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::cp#1 ) + [353] (byte) gfx_init_plane_charset8::col#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::col#1 ) + [353] (byte*) gfx_init_plane_charset8::gfxa#2 ← phi( gfx_init_plane_charset8::@2/(byte*) gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::@4/(byte*) gfx_init_plane_charset8::gfxa#1 ) + [353] (byte) gfx_init_plane_charset8::bits#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::bits#1 ) + [354] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 + [355] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 to:gfx_init_plane_charset8::@5 gfx_init_plane_charset8::@5: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 - [354] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 + [356] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 to:gfx_init_plane_charset8::@4 gfx_init_plane_charset8::@4: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@5 - [355] (byte) gfx_init_plane_charset8::c#2 ← phi( gfx_init_plane_charset8::@3/(byte) 0 gfx_init_plane_charset8::@5/(byte) gfx_init_plane_charset8::c#3 ) - [356] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 - [357] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 - [358] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 - [359] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 - [360] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 - [361] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 + [357] (byte) gfx_init_plane_charset8::c#2 ← phi( gfx_init_plane_charset8::@3/(byte) 0 gfx_init_plane_charset8::@5/(byte) gfx_init_plane_charset8::c#3 ) + [358] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 + [359] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 + [360] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 + [361] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 + [362] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 + [363] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 to:gfx_init_plane_charset8::@6 gfx_init_plane_charset8::@6: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@4 - [362] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 - [363] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 + [364] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 + [365] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 to:gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@7: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@6 - [364] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 - [365] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 + [366] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 + [367] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 to:gfx_init_plane_charset8::@8 gfx_init_plane_charset8::@8: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 - [366] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO - [367] call dtvSetCpuBankSegment1 + [368] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO + [369] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@return gfx_init_plane_charset8::@return: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@8 - [368] return + [370] return to:@return (void()) gfx_init_plane_horisontal() gfx_init_plane_horisontal: scope:[gfx_init_plane_horisontal] from gfx_init::@9 - [369] phi() - [370] call dtvSetCpuBankSegment1 + [371] phi() + [372] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal::@1 gfx_init_plane_horisontal::@1: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal gfx_init_plane_horisontal::@6 - [371] (byte*) gfx_init_plane_horisontal::gfxa#6 ← phi( gfx_init_plane_horisontal::@6/(byte*) gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal/(byte*)(word) $4000 ) - [371] (byte) gfx_init_plane_horisontal::ay#4 ← phi( gfx_init_plane_horisontal::@6/(byte) gfx_init_plane_horisontal::ay#1 gfx_init_plane_horisontal/(byte) 0 ) + [373] (byte*) gfx_init_plane_horisontal::gfxa#6 ← phi( gfx_init_plane_horisontal::@6/(byte*) gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal/(byte*)(word) $4000 ) + [373] (byte) gfx_init_plane_horisontal::ay#4 ← phi( gfx_init_plane_horisontal::@6/(byte) gfx_init_plane_horisontal::ay#1 gfx_init_plane_horisontal/(byte) 0 ) to:gfx_init_plane_horisontal::@2 gfx_init_plane_horisontal::@2: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@1 gfx_init_plane_horisontal::@4 - [372] (byte) gfx_init_plane_horisontal::ax#2 ← phi( gfx_init_plane_horisontal::@1/(byte) 0 gfx_init_plane_horisontal::@4/(byte) gfx_init_plane_horisontal::ax#1 ) - [372] (byte*) gfx_init_plane_horisontal::gfxa#3 ← phi( gfx_init_plane_horisontal::@1/(byte*) gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::@4/(byte*) gfx_init_plane_horisontal::gfxa#7 ) - [373] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 - [374] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 + [374] (byte) gfx_init_plane_horisontal::ax#2 ← phi( gfx_init_plane_horisontal::@1/(byte) 0 gfx_init_plane_horisontal::@4/(byte) gfx_init_plane_horisontal::ax#1 ) + [374] (byte*) gfx_init_plane_horisontal::gfxa#3 ← phi( gfx_init_plane_horisontal::@1/(byte*) gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::@4/(byte*) gfx_init_plane_horisontal::gfxa#7 ) + [375] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 + [376] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 to:gfx_init_plane_horisontal::@5 gfx_init_plane_horisontal::@5: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 - [375] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff - [376] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 + [377] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff + [378] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 gfx_init_plane_horisontal::@4: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 - [377] (byte*) gfx_init_plane_horisontal::gfxa#7 ← phi( gfx_init_plane_horisontal::@3/(byte*) gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::@5/(byte*) gfx_init_plane_horisontal::gfxa#2 ) - [378] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 - [379] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 + [379] (byte*) gfx_init_plane_horisontal::gfxa#7 ← phi( gfx_init_plane_horisontal::@3/(byte*) gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::@5/(byte*) gfx_init_plane_horisontal::gfxa#2 ) + [380] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 + [381] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 to:gfx_init_plane_horisontal::@6 gfx_init_plane_horisontal::@6: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@4 - [380] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 - [381] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 + [382] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 + [383] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 to:gfx_init_plane_horisontal::@7 gfx_init_plane_horisontal::@7: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@6 - [382] phi() - [383] call dtvSetCpuBankSegment1 + [384] phi() + [385] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal::@return gfx_init_plane_horisontal::@return: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@7 - [384] return + [386] return to:@return gfx_init_plane_horisontal::@3: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 - [385] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 - [386] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 + [387] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 + [388] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 (void()) gfx_init_plane_vertical() gfx_init_plane_vertical: scope:[gfx_init_plane_vertical] from gfx_init::@10 - [387] phi() - [388] call dtvSetCpuBankSegment1 + [389] phi() + [390] call dtvSetCpuBankSegment1 to:gfx_init_plane_vertical::@1 gfx_init_plane_vertical::@1: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical gfx_init_plane_vertical::@3 - [389] (byte) gfx_init_plane_vertical::by#4 ← phi( gfx_init_plane_vertical::@3/(byte) gfx_init_plane_vertical::by#1 gfx_init_plane_vertical/(byte) 0 ) - [389] (byte*) gfx_init_plane_vertical::gfxb#3 ← phi( gfx_init_plane_vertical::@3/(byte*) gfx_init_plane_vertical::gfxb#1 gfx_init_plane_vertical/(byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff ) + [391] (byte) gfx_init_plane_vertical::by#4 ← phi( gfx_init_plane_vertical::@3/(byte) gfx_init_plane_vertical::by#1 gfx_init_plane_vertical/(byte) 0 ) + [391] (byte*) gfx_init_plane_vertical::gfxb#3 ← phi( gfx_init_plane_vertical::@3/(byte*) gfx_init_plane_vertical::gfxb#1 gfx_init_plane_vertical/(byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff ) to:gfx_init_plane_vertical::@2 gfx_init_plane_vertical::@2: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@1 gfx_init_plane_vertical::@2 - [390] (byte) gfx_init_plane_vertical::bx#2 ← phi( gfx_init_plane_vertical::@1/(byte) 0 gfx_init_plane_vertical::@2/(byte) gfx_init_plane_vertical::bx#1 ) - [390] (byte*) gfx_init_plane_vertical::gfxb#2 ← phi( gfx_init_plane_vertical::@1/(byte*) gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::@2/(byte*) gfx_init_plane_vertical::gfxb#1 ) - [391] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f - [392] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 - [393] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 - [394] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 + [392] (byte) gfx_init_plane_vertical::bx#2 ← phi( gfx_init_plane_vertical::@1/(byte) 0 gfx_init_plane_vertical::@2/(byte) gfx_init_plane_vertical::bx#1 ) + [392] (byte*) gfx_init_plane_vertical::gfxb#2 ← phi( gfx_init_plane_vertical::@1/(byte*) gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::@2/(byte*) gfx_init_plane_vertical::gfxb#1 ) + [393] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f + [394] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 + [395] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 + [396] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 to:gfx_init_plane_vertical::@3 gfx_init_plane_vertical::@3: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@2 - [395] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 - [396] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 + [397] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 + [398] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 to:gfx_init_plane_vertical::@4 gfx_init_plane_vertical::@4: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@3 - [397] phi() - [398] call dtvSetCpuBankSegment1 + [399] phi() + [400] call dtvSetCpuBankSegment1 to:gfx_init_plane_vertical::@return gfx_init_plane_vertical::@return: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@4 - [399] return + [401] return to:@return (void()) gfx_init_plane_horisontal2() gfx_init_plane_horisontal2: scope:[gfx_init_plane_horisontal2] from gfx_init::@11 - [400] phi() - [401] call dtvSetCpuBankSegment1 + [402] phi() + [403] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal2::@1 gfx_init_plane_horisontal2::@1: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@3 - [402] (byte*) gfx_init_plane_horisontal2::gfxa#3 ← phi( gfx_init_plane_horisontal2::@3/(byte*) gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_horisontal2/(byte*)(word) $4000 ) - [402] (byte) gfx_init_plane_horisontal2::ay#4 ← phi( gfx_init_plane_horisontal2::@3/(byte) gfx_init_plane_horisontal2::ay#1 gfx_init_plane_horisontal2/(byte) 0 ) + [404] (byte*) gfx_init_plane_horisontal2::gfxa#3 ← phi( gfx_init_plane_horisontal2::@3/(byte*) gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_horisontal2/(byte*)(word) $4000 ) + [404] (byte) gfx_init_plane_horisontal2::ay#4 ← phi( gfx_init_plane_horisontal2::@3/(byte) gfx_init_plane_horisontal2::ay#1 gfx_init_plane_horisontal2/(byte) 0 ) to:gfx_init_plane_horisontal2::@2 gfx_init_plane_horisontal2::@2: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@1 gfx_init_plane_horisontal2::@2 - [403] (byte) gfx_init_plane_horisontal2::ax#2 ← phi( gfx_init_plane_horisontal2::@1/(byte) 0 gfx_init_plane_horisontal2::@2/(byte) gfx_init_plane_horisontal2::ax#1 ) - [403] (byte*) gfx_init_plane_horisontal2::gfxa#2 ← phi( gfx_init_plane_horisontal2::@1/(byte*) gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::@2/(byte*) gfx_init_plane_horisontal2::gfxa#1 ) - [404] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 - [405] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 - [406] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) - [407] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 - [408] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 - [409] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 + [405] (byte) gfx_init_plane_horisontal2::ax#2 ← phi( gfx_init_plane_horisontal2::@1/(byte) 0 gfx_init_plane_horisontal2::@2/(byte) gfx_init_plane_horisontal2::ax#1 ) + [405] (byte*) gfx_init_plane_horisontal2::gfxa#2 ← phi( gfx_init_plane_horisontal2::@1/(byte*) gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::@2/(byte*) gfx_init_plane_horisontal2::gfxa#1 ) + [406] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 + [407] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 + [408] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) + [409] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 + [410] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 + [411] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 to:gfx_init_plane_horisontal2::@3 gfx_init_plane_horisontal2::@3: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@2 - [410] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 - [411] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 + [412] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 + [413] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 to:gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal2::@4: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@3 - [412] phi() - [413] call dtvSetCpuBankSegment1 + [414] phi() + [415] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal2::@return gfx_init_plane_horisontal2::@return: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@4 - [414] return + [416] return to:@return (void()) gfx_init_plane_vertical2() gfx_init_plane_vertical2: scope:[gfx_init_plane_vertical2] from gfx_init::@12 - [415] phi() - [416] call gfx_init_plane_fill + [417] phi() + [418] call gfx_init_plane_fill to:gfx_init_plane_vertical2::@return gfx_init_plane_vertical2::@return: scope:[gfx_init_plane_vertical2] from gfx_init_plane_vertical2 - [417] return + [419] return to:@return (void()) gfx_init_plane_blank() gfx_init_plane_blank: scope:[gfx_init_plane_blank] from gfx_init::@13 - [418] phi() - [419] call gfx_init_plane_fill + [420] phi() + [421] call gfx_init_plane_fill to:gfx_init_plane_blank::@return gfx_init_plane_blank::@return: scope:[gfx_init_plane_blank] from gfx_init_plane_blank - [420] return + [422] return to:@return (void()) gfx_init_plane_full() gfx_init_plane_full: scope:[gfx_init_plane_full] from gfx_init::@14 - [421] phi() - [422] call gfx_init_plane_fill + [423] phi() + [424] call gfx_init_plane_fill to:gfx_init_plane_full::@return gfx_init_plane_full::@return: scope:[gfx_init_plane_full] from gfx_init_plane_full - [423] return + [425] return to:@return (void()) print_set_screen((byte*) print_set_screen::screen) print_set_screen: scope:[print_set_screen] from form_mode form_mode::@10 - [424] (byte*) print_set_screen::screen#2 ← phi( form_mode/(const nomodify byte*) COLS form_mode::@10/(const nomodify byte*) FORM_SCREEN ) - [425] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 + [426] (byte*) print_set_screen::screen#2 ← phi( form_mode/(const nomodify byte*) COLS form_mode::@10/(const nomodify byte*) FORM_SCREEN ) + [427] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - [426] return + [428] return to:@return (void()) print_cls() print_cls: scope:[print_cls] from form_mode::@11 form_mode::@8 - [427] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 - [428] call memset + [429] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 + [430] call memset to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls - [429] return + [431] return to:@return (void()) print_str_lines((byte*) print_str_lines::str) print_str_lines: scope:[print_str_lines] from form_mode::@12 form_mode::@9 - [430] (byte*) print_str_lines::str#5 ← phi( form_mode::@12/(const byte*) FORM_TEXT form_mode::@9/(const byte*) FORM_COLS ) - [431] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 + [432] (byte*) print_str_lines::str#5 ← phi( form_mode::@12/(const byte*) FORM_TEXT form_mode::@9/(const byte*) FORM_COLS ) + [433] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@6 - [432] (byte*) print_line_cursor#1 ← phi( print_str_lines/(byte*) print_screen#0 print_str_lines::@6/(byte*) print_line_cursor#2 ) - [432] (byte*) print_char_cursor#2 ← phi( print_str_lines/(byte*) print_char_cursor#72 print_str_lines::@6/(byte*) print_char_cursor#73 ) - [432] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@6/(byte*) print_str_lines::str#0 ) - [433] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 + [434] (byte*) print_line_cursor#1 ← phi( print_str_lines/(byte*) print_screen#0 print_str_lines::@6/(byte*) print_line_cursor#2 ) + [434] (byte*) print_char_cursor#2 ← phi( print_str_lines/(byte*) print_char_cursor#72 print_str_lines::@6/(byte*) print_char_cursor#73 ) + [434] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@6/(byte*) print_str_lines::str#0 ) + [435] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - [434] return + [436] return to:@return print_str_lines::@2: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@3 - [435] (byte*) print_char_cursor#43 ← phi( print_str_lines::@1/(byte*) print_char_cursor#2 print_str_lines::@3/(byte*) print_char_cursor#44 ) - [435] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@3/(byte*) print_str_lines::str#0 ) - [436] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) - [437] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 - [438] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 + [437] (byte*) print_char_cursor#43 ← phi( print_str_lines::@1/(byte*) print_char_cursor#2 print_str_lines::@3/(byte*) print_char_cursor#44 ) + [437] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@3/(byte*) print_str_lines::str#0 ) + [438] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) + [439] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 + [440] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 to:print_str_lines::@4 print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 - [439] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 - [440] call print_char + [441] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 + [442] call print_char to:print_str_lines::@3 print_str_lines::@3: scope:[print_str_lines] from print_str_lines::@2 print_str_lines::@4 - [441] (byte*) print_char_cursor#44 ← phi( print_str_lines::@2/(byte*) print_char_cursor#43 print_str_lines::@4/(byte*) print_char_cursor#29 ) - [442] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 + [443] (byte*) print_char_cursor#44 ← phi( print_str_lines::@2/(byte*) print_char_cursor#43 print_str_lines::@4/(byte*) print_char_cursor#29 ) + [444] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@3 - [443] phi() - [444] call print_ln + [445] phi() + [446] call print_ln to:print_str_lines::@6 print_str_lines::@6: scope:[print_str_lines] from print_str_lines::@5 - [445] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 + [447] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 to:print_str_lines::@1 (void()) form_set_screen((byte*) form_set_screen::screen) form_set_screen: scope:[form_set_screen] from form_mode::@13 - [446] phi() + [448] phi() to:form_set_screen::@1 form_set_screen::@1: scope:[form_set_screen] from form_set_screen form_set_screen::@1 - [447] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) - [447] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const nomodify byte*) FORM_SCREEN form_set_screen::@1/(byte*) form_set_screen::line#1 ) - [448] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 - [449] *((const byte*) form_line_lo + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 - [450] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 - [451] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 - [452] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 - [453] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 - [454] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 + [449] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) + [449] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const nomodify byte*) FORM_SCREEN form_set_screen::@1/(byte*) form_set_screen::line#1 ) + [450] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 + [451] *((const byte*) form_line_lo + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 + [452] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 + [453] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 + [454] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 + [455] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 + [456] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 to:form_set_screen::@return form_set_screen::@return: scope:[form_set_screen] from form_set_screen::@1 - [455] return + [457] return to:@return (void()) form_render_values() form_render_values: scope:[form_render_values] from form_mode::@14 form_mode::@18 - [456] phi() + [458] phi() to:form_render_values::@1 form_render_values::@1: scope:[form_render_values] from form_render_values form_render_values::@3 - [457] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte) 0 form_render_values::@3/(byte) form_render_values::idx#1 ) - [458] if((byte) form_render_values::idx#2<(const byte) form_fields_cnt) goto form_render_values::@2 + [459] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte) 0 form_render_values::@3/(byte) form_render_values::idx#1 ) + [460] if((byte) form_render_values::idx#2<(const byte) form_fields_cnt) goto form_render_values::@2 to:form_render_values::@return form_render_values::@return: scope:[form_render_values] from form_render_values::@1 - [459] return + [461] return to:@return form_render_values::@2: scope:[form_render_values] from form_render_values::@1 - [460] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 - [461] call form_field_ptr + [462] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 + [463] call form_field_ptr to:form_render_values::@3 form_render_values::@3: scope:[form_render_values] from form_render_values::@2 - [462] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) - [463] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 + [464] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) + [465] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 to:form_render_values::@1 (void()) render_preset_name((byte) render_preset_name::idx) render_preset_name: scope:[render_preset_name] from form_mode::@15 form_mode::@19 - [464] (byte) render_preset_name::idx#10 ← phi( form_mode::@15/(byte) render_preset_name::idx#0 form_mode::@19/(byte) render_preset_name::idx#1 ) - [465] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 + [466] (byte) render_preset_name::idx#10 ← phi( form_mode::@15/(byte) render_preset_name::idx#0 form_mode::@19/(byte) render_preset_name::idx#1 ) + [467] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 to:render_preset_name::@3 render_preset_name::@3: scope:[render_preset_name] from render_preset_name - [466] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 + [468] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 to:render_preset_name::@4 render_preset_name::@4: scope:[render_preset_name] from render_preset_name::@3 - [467] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 + [469] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 to:render_preset_name::@5 render_preset_name::@5: scope:[render_preset_name] from render_preset_name::@4 - [468] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 + [470] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 to:render_preset_name::@6 render_preset_name::@6: scope:[render_preset_name] from render_preset_name::@5 - [469] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 + [471] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 to:render_preset_name::@7 render_preset_name::@7: scope:[render_preset_name] from render_preset_name::@6 - [470] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 + [472] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 to:render_preset_name::@8 render_preset_name::@8: scope:[render_preset_name] from render_preset_name::@7 - [471] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 + [473] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 to:render_preset_name::@9 render_preset_name::@9: scope:[render_preset_name] from render_preset_name::@8 - [472] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 + [474] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 to:render_preset_name::@10 render_preset_name::@10: scope:[render_preset_name] from render_preset_name::@9 - [473] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 + [475] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 to:render_preset_name::@11 render_preset_name::@11: scope:[render_preset_name] from render_preset_name::@10 - [474] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 + [476] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 to:render_preset_name::@12 render_preset_name::@12: scope:[render_preset_name] from render_preset_name::@11 - [475] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 + [477] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 to:render_preset_name::@2 render_preset_name::@1: scope:[render_preset_name] from render_preset_name::@12 - [476] phi() + [478] phi() to:render_preset_name::@2 render_preset_name::@2: scope:[render_preset_name] from render_preset_name render_preset_name::@1 render_preset_name::@10 render_preset_name::@11 render_preset_name::@12 render_preset_name::@3 render_preset_name::@4 render_preset_name::@5 render_preset_name::@6 render_preset_name::@7 render_preset_name::@8 render_preset_name::@9 - [477] (byte*) render_preset_name::name#13 ← phi( render_preset_name/(const byte*) render_preset_name::name#1 render_preset_name::@11/(const byte*) render_preset_name::name#10 render_preset_name::@1/(const byte*) render_preset_name::name#11 render_preset_name::@3/(const byte*) render_preset_name::name#2 render_preset_name::@12/(const byte*) render_preset_name::name#1 render_preset_name::@4/(const byte*) render_preset_name::name#3 render_preset_name::@5/(const byte*) render_preset_name::name#4 render_preset_name::@6/(const byte*) render_preset_name::name#5 render_preset_name::@7/(const byte*) render_preset_name::name#6 render_preset_name::@8/(const byte*) render_preset_name::name#7 render_preset_name::@9/(const byte*) render_preset_name::name#8 render_preset_name::@10/(const byte*) render_preset_name::name#9 ) - [478] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 - [479] call print_str_at + [479] (byte*) render_preset_name::name#13 ← phi( render_preset_name/(const byte*) render_preset_name::name#1 render_preset_name::@11/(const byte*) render_preset_name::name#10 render_preset_name::@1/(const byte*) render_preset_name::name#11 render_preset_name::@3/(const byte*) render_preset_name::name#2 render_preset_name::@12/(const byte*) render_preset_name::name#1 render_preset_name::@4/(const byte*) render_preset_name::name#3 render_preset_name::@5/(const byte*) render_preset_name::name#4 render_preset_name::@6/(const byte*) render_preset_name::name#5 render_preset_name::@7/(const byte*) render_preset_name::name#6 render_preset_name::@8/(const byte*) render_preset_name::name#7 render_preset_name::@9/(const byte*) render_preset_name::name#8 render_preset_name::@10/(const byte*) render_preset_name::name#9 ) + [480] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 + [481] call print_str_at to:render_preset_name::@return render_preset_name::@return: scope:[render_preset_name] from render_preset_name::@2 - [480] return + [482] return to:@return (byte()) form_control() form_control: scope:[form_control] from form_mode::@5 - [481] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 - [482] call form_field_ptr - [483] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 + [483] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 + [484] call form_field_ptr + [485] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 to:form_control::@18 form_control::@18: scope:[form_control] from form_control - [484] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 - [485] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 - [486] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 + [486] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 + [487] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 + [488] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 to:form_control::@1 form_control::@21: scope:[form_control] from form_control::@18 - [487] phi() + [489] phi() to:form_control::@1 form_control::@1: scope:[form_control] from form_control::@18 form_control::@21 - [488] (signed byte) form_cursor_count#16 ← phi( form_control::@21/(signed byte) form_cursor_count#4 form_control::@18/(const nomodify signed byte) FORM_CURSOR_BLINK ) - [489] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 + [490] (signed byte) form_cursor_count#16 ← phi( form_control::@21/(signed byte) form_cursor_count#4 form_control::@18/(const nomodify signed byte) FORM_CURSOR_BLINK ) + [491] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 to:form_control::@7 form_control::@7: scope:[form_control] from form_control::@1 - [490] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f - [491] *((byte*) form_control::field#0) ← (byte~) form_control::$12 + [492] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f + [493] *((byte*) form_control::field#0) ← (byte~) form_control::$12 to:form_control::@3 form_control::@3: scope:[form_control] from form_control::@2 form_control::@7 - [492] phi() - [493] call keyboard_event_scan + [494] phi() + [495] call keyboard_event_scan to:form_control::@19 form_control::@19: scope:[form_control] from form_control::@3 - [494] phi() - [495] call keyboard_event_get - [496] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + [496] phi() + [497] call keyboard_event_get + [498] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 to:form_control::@20 form_control::@20: scope:[form_control] from form_control::@19 - [497] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 - [498] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 + [499] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 + [500] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 to:form_control::@8 form_control::@8: scope:[form_control] from form_control::@20 - [499] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f - [500] *((byte*) form_control::field#0) ← (byte~) form_control::$14 - [501] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT - [502] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 + [501] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f + [502] *((byte*) form_control::field#0) ← (byte~) form_control::$14 + [503] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT + [504] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 to:form_control::@9 form_control::@9: scope:[form_control] from form_control::@8 - [503] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 - [504] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 + [505] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 + [506] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 to:form_control::@14 form_control::@22: scope:[form_control] from form_control::@9 - [505] phi() + [507] phi() to:form_control::@14 form_control::@14: scope:[form_control] from form_control::@13 form_control::@22 form_control::@23 form_control::@9 - [506] (byte) form_field_idx#33 ← phi( form_control::@22/(byte) form_field_idx#5 form_control::@9/(const byte) form_fields_cnt-(byte) 1 form_control::@23/(byte) form_field_idx#4 form_control::@13/(byte) 0 ) + [508] (byte) form_field_idx#33 ← phi( form_control::@22/(byte) form_field_idx#5 form_control::@9/(const byte) form_fields_cnt-(byte) 1 form_control::@23/(byte) form_field_idx#4 form_control::@13/(byte) 0 ) to:form_control::@return form_control::@return: scope:[form_control] from form_control::@14 form_control::@16 form_control::@5 form_control::@6 - [507] (byte) form_field_idx#19 ← phi( form_control::@5/(byte) form_field_idx#30 form_control::@14/(byte) form_field_idx#33 form_control::@16/(byte) form_field_idx#30 form_control::@6/(byte) form_field_idx#30 ) - [507] (signed byte) form_cursor_count#17 ← phi( form_control::@5/(signed byte) form_cursor_count#16 form_control::@14/(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 form_control::@16/(signed byte) form_cursor_count#16 form_control::@6/(signed byte) form_cursor_count#16 ) - [507] (byte) form_control::return#2 ← phi( form_control::@5/(byte) $ff form_control::@14/(byte) 0 form_control::@16/(byte) 0 form_control::@6/(byte) 0 ) - [508] return + [509] (byte) form_field_idx#19 ← phi( form_control::@5/(byte) form_field_idx#30 form_control::@14/(byte) form_field_idx#33 form_control::@16/(byte) form_field_idx#30 form_control::@6/(byte) form_field_idx#30 ) + [509] (signed byte) form_cursor_count#17 ← phi( form_control::@5/(signed byte) form_cursor_count#16 form_control::@14/(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 form_control::@16/(signed byte) form_cursor_count#16 form_control::@6/(signed byte) form_cursor_count#16 ) + [509] (byte) form_control::return#2 ← phi( form_control::@5/(byte) $ff form_control::@14/(byte) 0 form_control::@16/(byte) 0 form_control::@6/(byte) 0 ) + [510] return to:@return form_control::@13: scope:[form_control] from form_control::@8 - [509] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 - [510] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 + [511] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 + [512] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 to:form_control::@14 form_control::@23: scope:[form_control] from form_control::@13 - [511] phi() + [513] phi() to:form_control::@14 form_control::@4: scope:[form_control] from form_control::@20 - [512] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 + [514] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 to:form_control::@10 form_control::@10: scope:[form_control] from form_control::@4 - [513] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT - [514] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 + [515] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT + [516] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 to:form_control::@11 form_control::@11: scope:[form_control] from form_control::@10 - [515] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) - [516] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 + [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) + [518] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 to:form_control::@12 form_control::@12: scope:[form_control] from form_control::@11 - [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) + [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) to:form_control::@16 form_control::@16: scope:[form_control] from form_control::@11 form_control::@12 form_control::@15 form_control::@17 - [518] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) + [520] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) to:form_control::@return form_control::@15: scope:[form_control] from form_control::@10 - [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) - [520] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 + [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) + [522] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 to:form_control::@17 form_control::@17: scope:[form_control] from form_control::@15 - [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 + [523] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 to:form_control::@16 form_control::@5: scope:[form_control] from form_control::@4 - [522] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 + [524] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 to:form_control::@return form_control::@6: scope:[form_control] from form_control::@5 - [523] phi() + [525] phi() to:form_control::@return form_control::@2: scope:[form_control] from form_control::@1 - [524] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 - [525] *((byte*) form_control::field#0) ← (byte~) form_control::$13 + [526] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 + [527] *((byte*) form_control::field#0) ← (byte~) form_control::$13 to:form_control::@3 (void()) apply_preset((byte) apply_preset::idx) apply_preset: scope:[apply_preset] from form_mode::@7 - [526] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 + [528] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 to:apply_preset::@3 apply_preset::@3: scope:[apply_preset] from apply_preset - [527] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 + [529] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 to:apply_preset::@4 apply_preset::@4: scope:[apply_preset] from apply_preset::@3 - [528] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 + [530] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 to:apply_preset::@5 apply_preset::@5: scope:[apply_preset] from apply_preset::@4 - [529] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 + [531] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 to:apply_preset::@6 apply_preset::@6: scope:[apply_preset] from apply_preset::@5 - [530] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 + [532] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 to:apply_preset::@7 apply_preset::@7: scope:[apply_preset] from apply_preset::@6 - [531] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 + [533] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 to:apply_preset::@8 apply_preset::@8: scope:[apply_preset] from apply_preset::@7 - [532] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 + [534] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 to:apply_preset::@9 apply_preset::@9: scope:[apply_preset] from apply_preset::@8 - [533] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 + [535] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 to:apply_preset::@10 apply_preset::@10: scope:[apply_preset] from apply_preset::@9 - [534] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 + [536] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 to:apply_preset::@11 apply_preset::@11: scope:[apply_preset] from apply_preset::@10 - [535] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 + [537] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 to:apply_preset::@12 apply_preset::@12: scope:[apply_preset] from apply_preset::@11 - [536] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 + [538] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 to:apply_preset::@2 apply_preset::@1: scope:[apply_preset] from apply_preset::@12 - [537] phi() + [539] phi() to:apply_preset::@2 apply_preset::@2: scope:[apply_preset] from apply_preset apply_preset::@1 apply_preset::@10 apply_preset::@11 apply_preset::@12 apply_preset::@3 apply_preset::@4 apply_preset::@5 apply_preset::@6 apply_preset::@7 apply_preset::@8 apply_preset::@9 - [538] (byte*) apply_preset::preset#15 ← phi( apply_preset/(const byte*) preset_stdchar apply_preset::@11/(const byte*) preset_sixsfred2 apply_preset::@1/(const byte*) preset_8bpppixelcell apply_preset::@3/(const byte*) preset_ecmchar apply_preset::@12/(const byte*) preset_stdchar apply_preset::@4/(const byte*) preset_stdbm apply_preset::@5/(const byte*) preset_mcbm apply_preset::@6/(const byte*) preset_hi_stdchar apply_preset::@7/(const byte*) preset_hi_ecmchar apply_preset::@8/(const byte*) preset_twoplane apply_preset::@9/(const byte*) preset_chunky apply_preset::@10/(const byte*) preset_sixsfred ) + [540] (byte*) apply_preset::preset#15 ← phi( apply_preset/(const byte*) preset_stdchar apply_preset::@11/(const byte*) preset_sixsfred2 apply_preset::@1/(const byte*) preset_8bpppixelcell apply_preset::@3/(const byte*) preset_ecmchar apply_preset::@12/(const byte*) preset_stdchar apply_preset::@4/(const byte*) preset_stdbm apply_preset::@5/(const byte*) preset_mcbm apply_preset::@6/(const byte*) preset_hi_stdchar apply_preset::@7/(const byte*) preset_hi_ecmchar apply_preset::@8/(const byte*) preset_twoplane apply_preset::@9/(const byte*) preset_chunky apply_preset::@10/(const byte*) preset_sixsfred ) to:apply_preset::@13 apply_preset::@13: scope:[apply_preset] from apply_preset::@14 apply_preset::@2 - [539] (byte) apply_preset::i#2 ← phi( apply_preset::@2/(byte) 0 apply_preset::@14/(byte) apply_preset::i#1 ) - [540] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 + [541] (byte) apply_preset::i#2 ← phi( apply_preset::@2/(byte) 0 apply_preset::@14/(byte) apply_preset::i#1 ) + [542] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 to:apply_preset::@return apply_preset::@return: scope:[apply_preset] from apply_preset::@13 - [541] return + [543] return to:@return apply_preset::@14: scope:[apply_preset] from apply_preset::@13 - [542] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) - [543] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 + [544] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) + [545] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 to:apply_preset::@13 (dword()) get_plane((byte) get_plane::idx) get_plane: scope:[get_plane] from gfx_mode::@27 gfx_mode::@9 - [544] (byte) get_plane::idx#10 ← phi( gfx_mode::@27/(byte) get_plane::idx#1 gfx_mode::@9/(byte) get_plane::idx#0 ) - [545] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return + [546] (byte) get_plane::idx#10 ← phi( gfx_mode::@27/(byte) get_plane::idx#1 gfx_mode::@9/(byte) get_plane::idx#0 ) + [547] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return to:get_plane::@2 get_plane::@2: scope:[get_plane] from get_plane - [546] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return + [548] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return to:get_plane::@3 get_plane::@3: scope:[get_plane] from get_plane::@2 - [547] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return + [549] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return to:get_plane::@4 get_plane::@4: scope:[get_plane] from get_plane::@3 - [548] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return + [550] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return to:get_plane::@5 get_plane::@5: scope:[get_plane] from get_plane::@4 - [549] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return + [551] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return to:get_plane::@6 get_plane::@6: scope:[get_plane] from get_plane::@5 - [550] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return + [552] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return to:get_plane::@7 get_plane::@7: scope:[get_plane] from get_plane::@6 - [551] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return + [553] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return to:get_plane::@8 get_plane::@8: scope:[get_plane] from get_plane::@7 - [552] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return + [554] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return to:get_plane::@9 get_plane::@9: scope:[get_plane] from get_plane::@8 - [553] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return + [555] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return to:get_plane::@10 get_plane::@10: scope:[get_plane] from get_plane::@9 - [554] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return + [556] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return to:get_plane::@11 get_plane::@11: scope:[get_plane] from get_plane::@10 - [555] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return + [557] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return to:get_plane::@12 get_plane::@12: scope:[get_plane] from get_plane::@11 - [556] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return + [558] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return to:get_plane::@13 get_plane::@13: scope:[get_plane] from get_plane::@12 - [557] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return + [559] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return to:get_plane::@14 get_plane::@14: scope:[get_plane] from get_plane::@13 - [558] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 + [560] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 to:get_plane::@return get_plane::@1: scope:[get_plane] from get_plane::@14 - [559] phi() + [561] phi() to:get_plane::@return get_plane::@return: scope:[get_plane] from get_plane get_plane::@1 get_plane::@10 get_plane::@11 get_plane::@12 get_plane::@13 get_plane::@14 get_plane::@2 get_plane::@3 get_plane::@4 get_plane::@5 get_plane::@6 get_plane::@7 get_plane::@8 get_plane::@9 - [560] (dword) get_plane::return#14 ← phi( get_plane/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@10/(const nomodify dword) PLANE_HORISONTAL2 get_plane::@11/(const nomodify dword) PLANE_VERTICAL2 get_plane::@12/(const nomodify dword) PLANE_CHARSET8 get_plane::@13/(const nomodify dword) PLANE_BLANK get_plane::@1/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@2/(dword)(const nomodify byte*) VIC_SCREEN1 get_plane::@14/(const nomodify dword) PLANE_FULL get_plane::@3/(dword)(const nomodify byte*) VIC_SCREEN2 get_plane::@4/(dword)(const nomodify byte*) VIC_SCREEN3 get_plane::@5/(dword)(const nomodify byte*) VIC_BITMAP get_plane::@6/(dword)(const nomodify byte*) VIC_CHARSET_ROM get_plane::@7/(const nomodify dword) PLANE_8BPP_CHUNKY get_plane::@8/(const nomodify dword) PLANE_HORISONTAL get_plane::@9/(const nomodify dword) PLANE_VERTICAL ) - [561] return + [562] (dword) get_plane::return#14 ← phi( get_plane/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@10/(const nomodify dword) PLANE_HORISONTAL2 get_plane::@11/(const nomodify dword) PLANE_VERTICAL2 get_plane::@12/(const nomodify dword) PLANE_CHARSET8 get_plane::@13/(const nomodify dword) PLANE_BLANK get_plane::@1/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@2/(dword)(const nomodify byte*) VIC_SCREEN1 get_plane::@14/(const nomodify dword) PLANE_FULL get_plane::@3/(dword)(const nomodify byte*) VIC_SCREEN2 get_plane::@4/(dword)(const nomodify byte*) VIC_SCREEN3 get_plane::@5/(dword)(const nomodify byte*) VIC_BITMAP get_plane::@6/(dword)(const nomodify byte*) VIC_CHARSET_ROM get_plane::@7/(const nomodify dword) PLANE_8BPP_CHUNKY get_plane::@8/(const nomodify dword) PLANE_HORISONTAL get_plane::@9/(const nomodify dword) PLANE_VERTICAL ) + [563] return to:@return (byte*()) get_vic_screen((byte) get_vic_screen::idx) get_vic_screen: scope:[get_vic_screen] from gfx_mode::@28 gfx_mode::@30 - [562] (byte) get_vic_screen::idx#2 ← phi( gfx_mode::@28/(byte) get_vic_screen::idx#0 gfx_mode::@30/(byte) get_vic_screen::idx#1 ) - [563] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return + [564] (byte) get_vic_screen::idx#2 ← phi( gfx_mode::@28/(byte) get_vic_screen::idx#0 gfx_mode::@30/(byte) get_vic_screen::idx#1 ) + [565] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return to:get_vic_screen::@2 get_vic_screen::@2: scope:[get_vic_screen] from get_vic_screen - [564] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return + [566] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return to:get_vic_screen::@3 get_vic_screen::@3: scope:[get_vic_screen] from get_vic_screen::@2 - [565] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return + [567] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return to:get_vic_screen::@4 get_vic_screen::@4: scope:[get_vic_screen] from get_vic_screen::@3 - [566] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return + [568] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return to:get_vic_screen::@5 get_vic_screen::@5: scope:[get_vic_screen] from get_vic_screen::@4 - [567] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 + [569] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 to:get_vic_screen::@return get_vic_screen::@1: scope:[get_vic_screen] from get_vic_screen::@5 - [568] phi() + [570] phi() to:get_vic_screen::@return get_vic_screen::@return: scope:[get_vic_screen] from get_vic_screen get_vic_screen::@1 get_vic_screen::@2 get_vic_screen::@3 get_vic_screen::@4 get_vic_screen::@5 - [569] (byte*) get_vic_screen::return#5 ← phi( get_vic_screen/(const nomodify byte*) VIC_SCREEN0 get_vic_screen::@5/(const nomodify byte*) VIC_SCREEN4 get_vic_screen::@2/(const nomodify byte*) VIC_SCREEN1 get_vic_screen::@3/(const nomodify byte*) VIC_SCREEN2 get_vic_screen::@4/(const nomodify byte*) VIC_SCREEN3 get_vic_screen::@1/(const nomodify byte*) VIC_SCREEN0 ) - [570] return + [571] (byte*) get_vic_screen::return#5 ← phi( get_vic_screen/(const nomodify byte*) VIC_SCREEN0 get_vic_screen::@5/(const nomodify byte*) VIC_SCREEN4 get_vic_screen::@2/(const nomodify byte*) VIC_SCREEN1 get_vic_screen::@3/(const nomodify byte*) VIC_SCREEN2 get_vic_screen::@4/(const nomodify byte*) VIC_SCREEN3 get_vic_screen::@1/(const nomodify byte*) VIC_SCREEN0 ) + [572] return to:@return (byte*()) get_vic_charset((byte) get_vic_charset::idx) get_vic_charset: scope:[get_vic_charset] from gfx_mode::@29 - [571] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return + [573] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return to:get_vic_charset::@2 get_vic_charset::@2: scope:[get_vic_charset] from get_vic_charset - [572] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 + [574] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 to:get_vic_charset::@return get_vic_charset::@1: scope:[get_vic_charset] from get_vic_charset::@2 - [573] phi() + [575] phi() to:get_vic_charset::@return get_vic_charset::@return: scope:[get_vic_charset] from get_vic_charset get_vic_charset::@1 get_vic_charset::@2 - [574] (byte*) get_vic_charset::return#2 ← phi( get_vic_charset/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@1/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@2/(const nomodify byte*) VIC_BITMAP ) - [575] return + [576] (byte*) get_vic_charset::return#2 ← phi( get_vic_charset/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@1/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@2/(const nomodify byte*) VIC_BITMAP ) + [577] return to:@return (void()) keyboard_event_scan() keyboard_event_scan: scope:[keyboard_event_scan] from form_control::@3 gfx_mode::@26 - [576] (byte) keyboard_events_size#98 ← phi( form_control::@3/(byte) keyboard_events_size#49 gfx_mode::@26/(byte) keyboard_events_size#25 ) + [578] (byte) keyboard_events_size#98 ← phi( form_control::@3/(byte) keyboard_events_size#49 gfx_mode::@26/(byte) keyboard_events_size#25 ) to:keyboard_event_scan::@7 keyboard_event_scan::@7: scope:[keyboard_event_scan] from keyboard_event_scan keyboard_event_scan::@8 - [577] (byte) keyboard_events_size#107 ← phi( keyboard_event_scan/(byte) keyboard_events_size#98 keyboard_event_scan::@8/(byte) keyboard_events_size#100 ) - [577] (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::keycode#13 ) - [577] (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::row#1 ) - [578] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 - [579] call keyboard_matrix_read - [580] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 + [579] (byte) keyboard_events_size#107 ← phi( keyboard_event_scan/(byte) keyboard_events_size#98 keyboard_event_scan::@8/(byte) keyboard_events_size#100 ) + [579] (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::keycode#13 ) + [579] (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::row#1 ) + [580] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 + [581] call keyboard_matrix_read + [582] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 to:keyboard_event_scan::@19 keyboard_event_scan::@19: scope:[keyboard_event_scan] from keyboard_event_scan::@7 - [581] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 - [582] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 + [583] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 + [584] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 to:keyboard_event_scan::@16 keyboard_event_scan::@16: scope:[keyboard_event_scan] from keyboard_event_scan::@19 - [583] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 + [585] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 to:keyboard_event_scan::@8 keyboard_event_scan::@8: scope:[keyboard_event_scan] from keyboard_event_scan::@15 keyboard_event_scan::@16 - [584] (byte) keyboard_events_size#100 ← phi( keyboard_event_scan::@15/(byte) keyboard_events_size#106 keyboard_event_scan::@16/(byte) keyboard_events_size#107 ) - [584] (byte) keyboard_event_scan::keycode#13 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@16/(byte) keyboard_event_scan::keycode#1 ) - [585] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 - [586] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 + [586] (byte) keyboard_events_size#100 ← phi( keyboard_event_scan::@15/(byte) keyboard_events_size#106 keyboard_event_scan::@16/(byte) keyboard_events_size#107 ) + [586] (byte) keyboard_event_scan::keycode#13 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@16/(byte) keyboard_event_scan::keycode#1 ) + [587] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 + [588] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 to:keyboard_event_scan::@17 keyboard_event_scan::@17: scope:[keyboard_event_scan] from keyboard_event_scan::@8 - [587] phi() - [588] call keyboard_event_pressed - [589] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 + [589] phi() + [590] call keyboard_event_pressed + [591] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@20 keyboard_event_scan::@20: scope:[keyboard_event_scan] from keyboard_event_scan::@17 - [590] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 - [591] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 + [592] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 + [593] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 to:keyboard_event_scan::@18 keyboard_event_scan::@18: scope:[keyboard_event_scan] from keyboard_event_scan::@20 - [592] phi() + [594] phi() to:keyboard_event_scan::@1 keyboard_event_scan::@1: scope:[keyboard_event_scan] from keyboard_event_scan::@18 keyboard_event_scan::@20 - [593] (byte) keyboard_modifiers#19 ← phi( keyboard_event_scan::@18/(const nomodify byte) KEY_MODIFIER_LSHIFT keyboard_event_scan::@20/(byte) 0 ) - [594] call keyboard_event_pressed - [595] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 + [595] (byte) keyboard_modifiers#19 ← phi( keyboard_event_scan::@18/(const nomodify byte) KEY_MODIFIER_LSHIFT keyboard_event_scan::@20/(byte) 0 ) + [596] call keyboard_event_pressed + [597] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@21 keyboard_event_scan::@21: scope:[keyboard_event_scan] from keyboard_event_scan::@1 - [596] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 - [597] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 + [598] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 + [599] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 to:keyboard_event_scan::@4 keyboard_event_scan::@4: scope:[keyboard_event_scan] from keyboard_event_scan::@21 - [598] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT + [600] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT to:keyboard_event_scan::@2 keyboard_event_scan::@2: scope:[keyboard_event_scan] from keyboard_event_scan::@21 keyboard_event_scan::@4 - [599] (byte) keyboard_modifiers#20 ← phi( keyboard_event_scan::@21/(byte) keyboard_modifiers#19 keyboard_event_scan::@4/(byte) keyboard_modifiers#2 ) - [600] call keyboard_event_pressed - [601] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 + [601] (byte) keyboard_modifiers#20 ← phi( keyboard_event_scan::@21/(byte) keyboard_modifiers#19 keyboard_event_scan::@4/(byte) keyboard_modifiers#2 ) + [602] call keyboard_event_pressed + [603] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@22 keyboard_event_scan::@22: scope:[keyboard_event_scan] from keyboard_event_scan::@2 - [602] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 - [603] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 + [604] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 + [605] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 to:keyboard_event_scan::@5 keyboard_event_scan::@5: scope:[keyboard_event_scan] from keyboard_event_scan::@22 - [604] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL + [606] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL to:keyboard_event_scan::@3 keyboard_event_scan::@3: scope:[keyboard_event_scan] from keyboard_event_scan::@22 keyboard_event_scan::@5 - [605] (byte) keyboard_modifiers#21 ← phi( keyboard_event_scan::@22/(byte) keyboard_modifiers#20 keyboard_event_scan::@5/(byte) keyboard_modifiers#3 ) - [606] call keyboard_event_pressed - [607] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 + [607] (byte) keyboard_modifiers#21 ← phi( keyboard_event_scan::@22/(byte) keyboard_modifiers#20 keyboard_event_scan::@5/(byte) keyboard_modifiers#3 ) + [608] call keyboard_event_pressed + [609] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@23 keyboard_event_scan::@23: scope:[keyboard_event_scan] from keyboard_event_scan::@3 - [608] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 - [609] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return + [610] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 + [611] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return to:keyboard_event_scan::@6 keyboard_event_scan::@6: scope:[keyboard_event_scan] from keyboard_event_scan::@23 - [610] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE + [612] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE to:keyboard_event_scan::@return keyboard_event_scan::@return: scope:[keyboard_event_scan] from keyboard_event_scan::@23 keyboard_event_scan::@6 - [611] (byte) keyboard_modifiers#22 ← phi( keyboard_event_scan::@23/(byte) keyboard_modifiers#21 keyboard_event_scan::@6/(byte) keyboard_modifiers#4 ) - [612] return + [613] (byte) keyboard_modifiers#22 ← phi( keyboard_event_scan::@23/(byte) keyboard_modifiers#21 keyboard_event_scan::@6/(byte) keyboard_modifiers#4 ) + [614] return to:@return keyboard_event_scan::@9: scope:[keyboard_event_scan] from keyboard_event_scan::@10 keyboard_event_scan::@19 - [613] (byte) keyboard_events_size#19 ← phi( keyboard_event_scan::@10/(byte) keyboard_events_size#106 keyboard_event_scan::@19/(byte) keyboard_events_size#107 ) - [613] (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@19/(byte) keyboard_event_scan::keycode#11 ) - [613] (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::col#1 keyboard_event_scan::@19/(byte) 0 ) - [614] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) - [615] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) - [616] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 + [615] (byte) keyboard_events_size#19 ← phi( keyboard_event_scan::@10/(byte) keyboard_events_size#106 keyboard_event_scan::@19/(byte) keyboard_events_size#107 ) + [615] (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@19/(byte) keyboard_event_scan::keycode#11 ) + [615] (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::col#1 keyboard_event_scan::@19/(byte) 0 ) + [616] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) + [617] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) + [618] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 to:keyboard_event_scan::@12 keyboard_event_scan::@12: scope:[keyboard_event_scan] from keyboard_event_scan::@9 - [617] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 + [619] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 to:keyboard_event_scan::@13 keyboard_event_scan::@13: scope:[keyboard_event_scan] from keyboard_event_scan::@12 - [618] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) - [619] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 + [620] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) + [621] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 to:keyboard_event_scan::@14 keyboard_event_scan::@14: scope:[keyboard_event_scan] from keyboard_event_scan::@13 - [620] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 - [621] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 + [622] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 + [623] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 to:keyboard_event_scan::@10 keyboard_event_scan::@10: scope:[keyboard_event_scan] from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 - [622] (byte) keyboard_events_size#106 ← phi( keyboard_event_scan::@9/(byte) keyboard_events_size#19 keyboard_event_scan::@11/(byte) keyboard_events_size#0 keyboard_event_scan::@12/(byte) keyboard_events_size#19 keyboard_event_scan::@14/(byte) keyboard_events_size#1 ) - [623] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 - [624] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 - [625] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 + [624] (byte) keyboard_events_size#106 ← phi( keyboard_event_scan::@9/(byte) keyboard_events_size#19 keyboard_event_scan::@11/(byte) keyboard_events_size#0 keyboard_event_scan::@12/(byte) keyboard_events_size#19 keyboard_event_scan::@14/(byte) keyboard_events_size#1 ) + [625] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 + [626] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 + [627] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 to:keyboard_event_scan::@15 keyboard_event_scan::@15: scope:[keyboard_event_scan] from keyboard_event_scan::@10 - [626] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 + [628] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 to:keyboard_event_scan::@8 keyboard_event_scan::@11: scope:[keyboard_event_scan] from keyboard_event_scan::@13 - [627] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 - [628] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 - [629] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 + [629] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 + [630] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 + [631] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 to:keyboard_event_scan::@10 (byte()) keyboard_event_get() keyboard_event_get: scope:[keyboard_event_get] from form_control::@19 gfx_mode::@32 - [630] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return + [632] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return to:keyboard_event_get::@1 keyboard_event_get::@1: scope:[keyboard_event_get] from keyboard_event_get - [631] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 - [632] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) + [633] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 + [634] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) to:keyboard_event_get::@return keyboard_event_get::@return: scope:[keyboard_event_get] from keyboard_event_get keyboard_event_get::@1 - [633] (byte) keyboard_events_size#25 ← phi( keyboard_event_get/(byte) keyboard_events_size#100 keyboard_event_get::@1/(byte) keyboard_events_size#3 ) - [633] (byte) keyboard_event_get::return#2 ← phi( keyboard_event_get/(byte) $ff keyboard_event_get::@1/(byte) keyboard_event_get::return#1 ) - [634] return + [635] (byte) keyboard_events_size#25 ← phi( keyboard_event_get/(byte) keyboard_events_size#100 keyboard_event_get::@1/(byte) keyboard_events_size#3 ) + [635] (byte) keyboard_event_get::return#2 ← phi( keyboard_event_get/(byte) $ff keyboard_event_get::@1/(byte) keyboard_event_get::return#1 ) + [636] return to:@return (void()) bitmap_init((byte*) bitmap_init::bitmap) bitmap_init: scope:[bitmap_init] from gfx_init_vic_bitmap - [635] phi() + [637] phi() to:bitmap_init::@1 bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2 - [636] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 ) - [636] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) 0 bitmap_init::@2/(byte) bitmap_init::x#1 ) - [637] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 - [638] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 - [639] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP - [640] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 - [641] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 - [642] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 + [638] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 ) + [638] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) 0 bitmap_init::@2/(byte) bitmap_init::x#1 ) + [639] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 + [640] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 + [641] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP + [642] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 + [643] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 + [644] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 to:bitmap_init::@2 bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1 - [643] phi() + [645] phi() to:bitmap_init::@2 bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6 - [644] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte) $80 ) - [645] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 - [646] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 + [646] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte) $80 ) + [647] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 + [648] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 to:bitmap_init::@3 bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4 - [647] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/(byte*) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 ) - [647] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte) 0 bitmap_init::@4/(byte) bitmap_init::y#1 ) - [648] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 - [649] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 - [650] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$10 | (byte~) bitmap_init::$7 - [651] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 - [652] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 - [653] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 - [654] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 + [649] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/(byte*) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 ) + [649] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte) 0 bitmap_init::@4/(byte) bitmap_init::y#1 ) + [650] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 + [651] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 + [652] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$10 | (byte~) bitmap_init::$7 + [653] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 + [654] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 + [655] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 + [656] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 to:bitmap_init::@5 bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3 - [655] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 + [657] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 to:bitmap_init::@4 bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5 - [656] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 ) - [657] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 - [658] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 + [658] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 ) + [659] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 + [660] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 to:bitmap_init::@return bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4 - [659] return + [661] return to:@return (void()) bitmap_clear() bitmap_clear: scope:[bitmap_clear] from gfx_init_vic_bitmap::@3 - [660] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) - [661] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 + [662] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) + [663] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 to:bitmap_clear::@1 bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3 - [662] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 ) - [662] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 ) + [664] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 ) + [664] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 ) to:bitmap_clear::@2 bitmap_clear::@2: scope:[bitmap_clear] from bitmap_clear::@1 bitmap_clear::@2 - [663] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 ) - [663] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 ) - [664] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 - [665] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 - [666] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 - [667] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 + [665] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 ) + [665] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 ) + [666] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 + [667] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 + [668] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 + [669] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 to:bitmap_clear::@3 bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2 - [668] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 - [669] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 + [670] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 + [671] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 to:bitmap_clear::@return bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3 - [670] return + [672] return to:@return (void()) bitmap_line((byte) bitmap_line::x0 , (byte) bitmap_line::x1 , (byte) bitmap_line::y0 , (byte) bitmap_line::y1) bitmap_line: scope:[bitmap_line] from gfx_init_vic_bitmap::@2 - [671] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 + [673] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 to:bitmap_line::@2 bitmap_line::@2: scope:[bitmap_line] from bitmap_line - [672] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 - [673] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 + [674] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 + [675] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 to:bitmap_line::@3 bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@2 - [674] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 - [675] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 + [676] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 + [677] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 to:bitmap_line::@4 bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@3 - [676] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 - [677] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 - [678] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 - [679] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 - [680] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 - [681] call bitmap_line_ydxi + [678] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 + [679] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 + [680] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 + [681] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 + [682] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 + [683] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@12 bitmap_line::@13 bitmap_line::@14 bitmap_line::@4 bitmap_line::@6 bitmap_line::@8 bitmap_line::@9 - [682] return + [684] return to:@return bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@3 - [683] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 - [684] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 - [685] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 - [686] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 - [687] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 - [688] call bitmap_line_xdyi + [685] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 + [686] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 + [687] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 + [688] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 + [689] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 + [690] call bitmap_line_xdyi to:bitmap_line::@return bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@2 - [689] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 - [690] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 + [691] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 + [692] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 to:bitmap_line::@10 bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@7 - [691] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 - [692] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 - [693] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 - [694] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 - [695] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 - [696] call bitmap_line_ydxd + [693] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 + [694] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 + [695] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 + [696] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 + [697] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 + [698] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@7 - [697] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 - [698] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 - [699] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 - [700] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 - [701] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 - [702] call bitmap_line_xdyd + [699] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 + [700] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 + [701] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 + [702] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 + [703] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 + [704] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@1: scope:[bitmap_line] from bitmap_line - [703] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 - [704] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 + [705] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 + [706] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 to:bitmap_line::@5 bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@1 - [705] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 - [706] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 + [707] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 + [708] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 to:bitmap_line::@6 bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5 - [707] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 - [708] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 - [709] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 - [710] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 - [711] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 - [712] call bitmap_line_ydxd + [709] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 + [710] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 + [711] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 + [712] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 + [713] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 + [714] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@12: scope:[bitmap_line] from bitmap_line::@5 - [713] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 - [714] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - [715] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 - [716] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 - [717] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 - [718] call bitmap_line_xdyd + [715] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 + [716] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + [717] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 + [718] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 + [719] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 + [720] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@1 - [719] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 - [720] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 + [721] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 + [722] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 to:bitmap_line::@14 bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@11 - [721] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 - [722] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 - [723] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 - [724] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 - [725] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 - [726] call bitmap_line_ydxi + [723] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 + [724] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 + [725] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 + [726] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 + [727] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 + [728] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@11 - [727] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 - [728] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - [729] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 - [730] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 - [731] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 - [732] call bitmap_line_xdyi + [729] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 + [730] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + [731] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 + [732] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 + [733] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 + [734] call bitmap_line_xdyi to:bitmap_line::@return (void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) dtvSetCpuBankSegment1: scope:[dtvSetCpuBankSegment1] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@6 gfx_init_plane_charset8 gfx_init_plane_charset8::@8 gfx_init_plane_fill gfx_init_plane_fill::@4 gfx_init_plane_horisontal gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal::@7 gfx_init_plane_vertical gfx_init_plane_vertical::@4 - [733] (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 ← phi( gfx_init_plane_8bppchunky/(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/(byte)(number) $4000/(number) $4000 gfx_init_plane_charset8/(const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfx_init_plane_charset8::@8/(byte)(number) $4000/(number) $4000 gfx_init_plane_fill/(byte) dtvSetCpuBankSegment1::cpuBankIdx#11 gfx_init_plane_fill::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal/(const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 gfx_init_plane_horisontal2/(const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfx_init_plane_horisontal2::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal::@7/(byte)(number) $4000/(number) $4000 gfx_init_plane_vertical/(const byte) gfx_init_plane_vertical::gfxbCpuBank#0 gfx_init_plane_vertical::@4/(byte)(number) $4000/(number) $4000 ) - [734] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 + [735] (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 ← phi( gfx_init_plane_8bppchunky/(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/(byte)(number) $4000/(number) $4000 gfx_init_plane_charset8/(const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfx_init_plane_charset8::@8/(byte)(number) $4000/(number) $4000 gfx_init_plane_fill/(byte) dtvSetCpuBankSegment1::cpuBankIdx#11 gfx_init_plane_fill::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal/(const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 gfx_init_plane_horisontal2/(const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfx_init_plane_horisontal2::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal::@7/(byte)(number) $4000/(number) $4000 gfx_init_plane_vertical/(const byte) gfx_init_plane_vertical::gfxbCpuBank#0 gfx_init_plane_vertical::@4/(byte)(number) $4000/(number) $4000 ) + [736] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 asm { .byte$32,$dd lda$ff .byte$32,$00 } to:dtvSetCpuBankSegment1::@return dtvSetCpuBankSegment1::@return: scope:[dtvSetCpuBankSegment1] from dtvSetCpuBankSegment1 - [736] return + [738] return to:@return (void()) gfx_init_plane_fill((dword) gfx_init_plane_fill::plane_addr , (byte) gfx_init_plane_fill::fill) gfx_init_plane_fill: scope:[gfx_init_plane_fill] from gfx_init_plane_blank gfx_init_plane_full gfx_init_plane_vertical2 - [737] (byte) gfx_init_plane_fill::fill#6 ← phi( gfx_init_plane_blank/(byte) 0 gfx_init_plane_full/(byte) $ff gfx_init_plane_vertical2/(byte) $1b ) - [737] (dword) gfx_init_plane_fill::plane_addr#3 ← phi( gfx_init_plane_blank/(const nomodify dword) PLANE_BLANK gfx_init_plane_full/(const nomodify dword) PLANE_FULL gfx_init_plane_vertical2/(const nomodify dword) PLANE_VERTICAL2 ) - [738] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 - [739] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 - [740] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 - [741] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 - [742] call dtvSetCpuBankSegment1 + [739] (byte) gfx_init_plane_fill::fill#6 ← phi( gfx_init_plane_blank/(byte) 0 gfx_init_plane_full/(byte) $ff gfx_init_plane_vertical2/(byte) $1b ) + [739] (dword) gfx_init_plane_fill::plane_addr#3 ← phi( gfx_init_plane_blank/(const nomodify dword) PLANE_BLANK gfx_init_plane_full/(const nomodify dword) PLANE_FULL gfx_init_plane_vertical2/(const nomodify dword) PLANE_VERTICAL2 ) + [740] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 + [741] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 + [742] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 + [743] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 + [744] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@5 gfx_init_plane_fill::@5: scope:[gfx_init_plane_fill] from gfx_init_plane_fill - [743] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 - [744] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff - [745] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 - [746] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 + [745] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 + [746] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff + [747] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 + [748] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 to:gfx_init_plane_fill::@1 gfx_init_plane_fill::@1: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 gfx_init_plane_fill::@5 - [747] (byte) gfx_init_plane_fill::by#4 ← phi( gfx_init_plane_fill::@3/(byte) gfx_init_plane_fill::by#1 gfx_init_plane_fill::@5/(byte) 0 ) - [747] (byte*) gfx_init_plane_fill::gfxb#3 ← phi( gfx_init_plane_fill::@3/(byte*) gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::@5/(byte*) gfx_init_plane_fill::gfxb#6 ) + [749] (byte) gfx_init_plane_fill::by#4 ← phi( gfx_init_plane_fill::@3/(byte) gfx_init_plane_fill::by#1 gfx_init_plane_fill::@5/(byte) 0 ) + [749] (byte*) gfx_init_plane_fill::gfxb#3 ← phi( gfx_init_plane_fill::@3/(byte*) gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::@5/(byte*) gfx_init_plane_fill::gfxb#6 ) to:gfx_init_plane_fill::@2 gfx_init_plane_fill::@2: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@1 gfx_init_plane_fill::@2 - [748] (byte) gfx_init_plane_fill::bx#2 ← phi( gfx_init_plane_fill::@1/(byte) 0 gfx_init_plane_fill::@2/(byte) gfx_init_plane_fill::bx#1 ) - [748] (byte*) gfx_init_plane_fill::gfxb#2 ← phi( gfx_init_plane_fill::@1/(byte*) gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::@2/(byte*) gfx_init_plane_fill::gfxb#1 ) - [749] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 - [750] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 - [751] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 - [752] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 + [750] (byte) gfx_init_plane_fill::bx#2 ← phi( gfx_init_plane_fill::@1/(byte) 0 gfx_init_plane_fill::@2/(byte) gfx_init_plane_fill::bx#1 ) + [750] (byte*) gfx_init_plane_fill::gfxb#2 ← phi( gfx_init_plane_fill::@1/(byte*) gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::@2/(byte*) gfx_init_plane_fill::gfxb#1 ) + [751] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 + [752] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 + [753] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 + [754] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 to:gfx_init_plane_fill::@3 gfx_init_plane_fill::@3: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@2 - [753] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 - [754] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 + [755] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 + [756] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 to:gfx_init_plane_fill::@4 gfx_init_plane_fill::@4: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 - [755] phi() - [756] call dtvSetCpuBankSegment1 + [757] phi() + [758] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@return gfx_init_plane_fill::@return: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@4 - [757] return + [759] return to:@return (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) memset: scope:[memset] from print_cls - [758] phi() + [760] phi() to:memset::@1 memset::@1: scope:[memset] from memset - [759] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 - [760] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 + [761] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 + [762] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 to:memset::@2 memset::@2: scope:[memset] from memset::@1 memset::@3 - [761] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) - [762] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 + [763] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) + [764] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 to:memset::@return memset::@return: scope:[memset] from memset::@2 - [763] return + [765] return to:@return memset::@3: scope:[memset] from memset::@2 - [764] *((byte*) memset::dst#2) ← (const byte) memset::c#0 - [765] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + [766] *((byte*) memset::dst#2) ← (const byte) memset::c#0 + [767] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 to:memset::@2 (void()) print_char((byte) print_char::ch) print_char: scope:[print_char] from print_str_lines::@4 - [766] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 - [767] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 + [768] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 + [769] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 to:print_char::@return print_char::@return: scope:[print_char] from print_char - [768] return + [770] return to:@return (void()) print_ln() print_ln: scope:[print_ln] from print_str_lines::@5 - [769] phi() + [771] phi() to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [770] (byte*) print_line_cursor#22 ← phi( print_ln/(byte*) print_line_cursor#1 print_ln::@1/(byte*) print_line_cursor#2 ) - [771] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 - [772] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 + [772] (byte*) print_line_cursor#22 ← phi( print_ln/(byte*) print_line_cursor#1 print_ln::@1/(byte*) print_line_cursor#2 ) + [773] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 + [774] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [773] return + [775] return to:@return (byte*()) form_field_ptr((byte) form_field_ptr::field_idx) form_field_ptr: scope:[form_field_ptr] from form_control form_render_values::@2 - [774] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@2/(byte) form_field_ptr::field_idx#0 ) - [775] (byte) form_field_ptr::y#0 ← *((const byte*) form_fields_y + (byte) form_field_ptr::field_idx#2) - [776] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) - [777] (byte) form_field_ptr::x#0 ← *((const byte*) form_fields_x + (byte) form_field_ptr::field_idx#2) - [778] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 + [776] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@2/(byte) form_field_ptr::field_idx#0 ) + [777] (byte) form_field_ptr::y#0 ← *((const byte*) form_fields_y + (byte) form_field_ptr::field_idx#2) + [778] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) + [779] (byte) form_field_ptr::x#0 ← *((const byte*) form_fields_x + (byte) form_field_ptr::field_idx#2) + [780] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 to:form_field_ptr::@return form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr - [779] return + [781] return to:@return (void()) print_str_at((byte*) print_str_at::str , (byte*) print_str_at::at) print_str_at: scope:[print_str_at] from render_preset_name::@2 - [780] phi() + [782] phi() to:print_str_at::@1 print_str_at::@1: scope:[print_str_at] from print_str_at print_str_at::@2 - [781] (byte*) print_str_at::at#2 ← phi( print_str_at/(const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a print_str_at::@2/(byte*) print_str_at::at#0 ) - [781] (byte*) print_str_at::str#2 ← phi( print_str_at/(byte*) print_str_at::str#1 print_str_at::@2/(byte*) print_str_at::str#0 ) - [782] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 + [783] (byte*) print_str_at::at#2 ← phi( print_str_at/(const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a print_str_at::@2/(byte*) print_str_at::at#0 ) + [783] (byte*) print_str_at::str#2 ← phi( print_str_at/(byte*) print_str_at::str#1 print_str_at::@2/(byte*) print_str_at::str#0 ) + [784] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 to:print_str_at::@return print_str_at::@return: scope:[print_str_at] from print_str_at::@1 - [783] return + [785] return to:@return print_str_at::@2: scope:[print_str_at] from print_str_at::@1 - [784] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) - [785] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 - [786] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 + [786] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) + [787] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 + [788] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 to:print_str_at::@1 (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_event_scan::@7 - [787] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) - [788] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) + [789] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) + [790] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) to:keyboard_matrix_read::@return keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read - [789] return + [791] return to:@return (byte()) keyboard_event_pressed((byte) keyboard_event_pressed::keycode) keyboard_event_pressed: scope:[keyboard_event_pressed] from keyboard_event_scan::@1 keyboard_event_scan::@17 keyboard_event_scan::@2 keyboard_event_scan::@3 - [790] (byte) keyboard_event_pressed::keycode#4 ← phi( keyboard_event_scan::@1/(const nomodify byte) KEY_RSHIFT keyboard_event_scan::@17/(const nomodify byte) KEY_LSHIFT keyboard_event_scan::@2/(const nomodify byte) KEY_CTRL keyboard_event_scan::@3/(const nomodify byte) KEY_COMMODORE ) - [791] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 - [792] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) - [793] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 - [794] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) + [792] (byte) keyboard_event_pressed::keycode#4 ← phi( keyboard_event_scan::@1/(const nomodify byte) KEY_RSHIFT keyboard_event_scan::@17/(const nomodify byte) KEY_LSHIFT keyboard_event_scan::@2/(const nomodify byte) KEY_CTRL keyboard_event_scan::@3/(const nomodify byte) KEY_COMMODORE ) + [793] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 + [794] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) + [795] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 + [796] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) to:keyboard_event_pressed::@return keyboard_event_pressed::@return: scope:[keyboard_event_pressed] from keyboard_event_pressed - [795] return + [797] return to:@return (void()) bitmap_line_ydxi((byte) bitmap_line_ydxi::y , (byte) bitmap_line_ydxi::x , (byte) bitmap_line_ydxi::y1 , (byte) bitmap_line_ydxi::yd , (byte) bitmap_line_ydxi::xd) bitmap_line_ydxi: scope:[bitmap_line_ydxi] from bitmap_line::@14 bitmap_line::@4 - [796] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 ) - [796] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 ) - [796] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 ) - [796] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 ) - [796] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 ) - [797] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 + [798] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 ) + [798] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 ) + [798] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 ) + [798] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 ) + [798] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 ) + [799] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 to:bitmap_line_ydxi::@1 bitmap_line_ydxi::@1: scope:[bitmap_line_ydxi] from bitmap_line_ydxi bitmap_line_ydxi::@2 - [798] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 ) - [798] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 ) - [798] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 ) - [799] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 - [800] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 - [801] call bitmap_plot + [800] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 ) + [800] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 ) + [800] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 ) + [801] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 + [802] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 + [803] call bitmap_plot to:bitmap_line_ydxi::@4 bitmap_line_ydxi::@4: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@1 - [802] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 - [803] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 - [804] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 + [804] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 + [805] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 + [806] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 to:bitmap_line_ydxi::@3 bitmap_line_ydxi::@3: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@4 - [805] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 - [806] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 + [807] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 + [808] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 to:bitmap_line_ydxi::@2 bitmap_line_ydxi::@2: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 - [807] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 ) - [807] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 ) - [808] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 - [809] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 + [809] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 ) + [809] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 ) + [810] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 + [811] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 to:bitmap_line_ydxi::@return bitmap_line_ydxi::@return: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@2 - [810] return + [812] return to:@return (void()) bitmap_line_xdyi((byte) bitmap_line_xdyi::x , (byte) bitmap_line_xdyi::y , (byte) bitmap_line_xdyi::x1 , (byte) bitmap_line_xdyi::xd , (byte) bitmap_line_xdyi::yd) bitmap_line_xdyi: scope:[bitmap_line_xdyi] from bitmap_line::@13 bitmap_line::@8 - [811] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 ) - [811] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 ) - [811] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 ) - [811] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 ) - [811] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 ) - [812] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 + [813] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 ) + [813] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 ) + [813] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 ) + [813] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 ) + [813] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 ) + [814] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 to:bitmap_line_xdyi::@1 bitmap_line_xdyi::@1: scope:[bitmap_line_xdyi] from bitmap_line_xdyi bitmap_line_xdyi::@2 - [813] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 ) - [813] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 ) - [813] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 ) - [814] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 - [815] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 - [816] call bitmap_plot + [815] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 ) + [815] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 ) + [815] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 ) + [816] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 + [817] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 + [818] call bitmap_plot to:bitmap_line_xdyi::@4 bitmap_line_xdyi::@4: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@1 - [817] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 - [818] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 - [819] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 + [819] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 + [820] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 + [821] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 to:bitmap_line_xdyi::@3 bitmap_line_xdyi::@3: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@4 - [820] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 - [821] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 + [822] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 + [823] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 to:bitmap_line_xdyi::@2 bitmap_line_xdyi::@2: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 - [822] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 ) - [822] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 ) - [823] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 - [824] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 + [824] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 ) + [824] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 ) + [825] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 + [826] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 to:bitmap_line_xdyi::@return bitmap_line_xdyi::@return: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@2 - [825] return + [827] return to:@return (void()) bitmap_line_ydxd((byte) bitmap_line_ydxd::y , (byte) bitmap_line_ydxd::x , (byte) bitmap_line_ydxd::y1 , (byte) bitmap_line_ydxd::yd , (byte) bitmap_line_ydxd::xd) bitmap_line_ydxd: scope:[bitmap_line_ydxd] from bitmap_line::@10 bitmap_line::@6 - [826] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 ) - [826] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 ) - [826] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 ) - [826] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 ) - [826] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 ) - [827] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 + [828] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 ) + [828] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 ) + [828] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 ) + [828] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 ) + [828] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 ) + [829] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 to:bitmap_line_ydxd::@1 bitmap_line_ydxd::@1: scope:[bitmap_line_ydxd] from bitmap_line_ydxd bitmap_line_ydxd::@2 - [828] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 ) - [828] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 ) - [828] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 ) - [829] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 - [830] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 - [831] call bitmap_plot + [830] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 ) + [830] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 ) + [830] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 ) + [831] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 + [832] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 + [833] call bitmap_plot to:bitmap_line_ydxd::@4 bitmap_line_ydxd::@4: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@1 - [832] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 - [833] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 - [834] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 + [834] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 + [835] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 + [836] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 to:bitmap_line_ydxd::@3 bitmap_line_ydxd::@3: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@4 - [835] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 - [836] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 + [837] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 + [838] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 to:bitmap_line_ydxd::@2 bitmap_line_ydxd::@2: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 - [837] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 ) - [837] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 ) - [838] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 - [839] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 + [839] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 ) + [839] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 ) + [840] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 + [841] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 to:bitmap_line_ydxd::@return bitmap_line_ydxd::@return: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@2 - [840] return + [842] return to:@return (void()) bitmap_line_xdyd((byte) bitmap_line_xdyd::x , (byte) bitmap_line_xdyd::y , (byte) bitmap_line_xdyd::x1 , (byte) bitmap_line_xdyd::xd , (byte) bitmap_line_xdyd::yd) bitmap_line_xdyd: scope:[bitmap_line_xdyd] from bitmap_line::@12 bitmap_line::@9 - [841] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 ) - [841] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 ) - [841] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 ) - [841] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 ) - [841] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 ) - [842] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 + [843] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 ) + [843] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 ) + [843] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 ) + [843] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 ) + [843] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 ) + [844] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 to:bitmap_line_xdyd::@1 bitmap_line_xdyd::@1: scope:[bitmap_line_xdyd] from bitmap_line_xdyd bitmap_line_xdyd::@2 - [843] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 ) - [843] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 ) - [843] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 ) - [844] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 - [845] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 - [846] call bitmap_plot + [845] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 ) + [845] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 ) + [845] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 ) + [846] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 + [847] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 + [848] call bitmap_plot to:bitmap_line_xdyd::@4 bitmap_line_xdyd::@4: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@1 - [847] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 - [848] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 - [849] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 + [849] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 + [850] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 + [851] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 to:bitmap_line_xdyd::@3 bitmap_line_xdyd::@3: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@4 - [850] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 - [851] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 + [852] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 + [853] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 to:bitmap_line_xdyd::@2 bitmap_line_xdyd::@2: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 - [852] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 ) - [852] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 ) - [853] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 - [854] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 + [854] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 ) + [854] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 ) + [855] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 + [856] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 to:bitmap_line_xdyd::@return bitmap_line_xdyd::@return: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@2 - [855] return + [857] return to:@return (void()) bitmap_plot((byte) bitmap_plot::x , (byte) bitmap_plot::y) bitmap_plot: scope:[bitmap_plot] from bitmap_line_xdyd::@1 bitmap_line_xdyi::@1 bitmap_line_ydxd::@1 bitmap_line_ydxi::@1 - [856] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 ) - [856] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 ) - [857] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) - [858] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) - [859] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 - [860] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) - [861] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 + [858] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 ) + [858] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 ) + [859] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) + [860] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) + [861] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 + [862] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) + [863] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot - [862] return + [864] return to:@return diff --git a/src/test/ref/c64dtv-gfxexplorer.log b/src/test/ref/c64dtv-gfxexplorer.log index 57fa6223e..ff31b1d38 100644 --- a/src/test/ref/c64dtv-gfxexplorer.log +++ b/src/test/ref/c64dtv-gfxexplorer.log @@ -7708,8 +7708,6 @@ Identical Phi Values (byte*) print_line_cursor#16 (byte*) print_line_cursor#45 Identical Phi Values (byte*) print_char_cursor#19 (byte*) print_char_cursor#51 Successful SSA optimization Pass2IdenticalPhiElimination Identified duplicate assignment right side [264] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 -Identified duplicate assignment right side [807] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 -Identified duplicate assignment right side [833] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 Successful SSA optimization Pass2DuplicateRValueIdentification Simple Condition (bool~) memset::$1 [6] if((word) memset::num#0<=(byte) 0) goto memset::@1 Simple Condition (bool~) memset::$3 [13] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@4 @@ -8294,8 +8292,6 @@ Finalized unsigned number type (byte) $10 Finalized unsigned number type (byte) $19 Successful SSA optimization PassNFinalizeNumberTypeConversions Alias bitmap_init::$10 = bitmap_init::$6 -Alias gfx_mode::$24 = gfx_mode::$22 -Alias gfx_mode::$38 = gfx_mode::$36 Successful SSA optimization Pass2AliasElimination Identical Phi Values (byte) keyboard_events_size#10 (byte) keyboard_events_size#25 Identical Phi Values (signed byte) form_cursor_count#14 (signed byte) form_cursor_count#17 @@ -8306,8 +8302,8 @@ Identical Phi Values (byte) keyboard_events_size#47 (byte) keyboard_events_size# Successful SSA optimization Pass2IdenticalPhiElimination Constant right-side identified [117] (byte~) bitmap_init::$1 ← > (const byte*) bitmap_init::bitmap#0 Constant right-side identified [372] (byte) gfx_mode::vic_control#1 ← (const byte) gfx_mode::vic_control#0 | (const nomodify byte) VIC_ECM -Constant right-side identified [447] (byte) gfx_mode::vic_control2#1 ← (const byte) gfx_mode::vic_control2#0 | (const nomodify byte) VIC_MCM -Constant right-side identified [590] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 ← ++ (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Constant right-side identified [449] (byte) gfx_mode::vic_control2#1 ← (const byte) gfx_mode::vic_control2#0 | (const nomodify byte) VIC_MCM +Constant right-side identified [592] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 ← ++ (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 Successful SSA optimization Pass2ConstantRValueConsolidation Constant (const byte) keyboard_modifiers#1 = KEY_MODIFIER_LSHIFT Constant (const byte) bitmap_init::$1 = >bitmap_init::bitmap#0 @@ -8321,29 +8317,29 @@ Inlining Noop Cast [6] (byte*) memset::dst#0 ← (byte*)(void*) memset::str#0 ke Successful SSA optimization Pass2NopCastInlining Inlining Noop Cast [137] (byte*) bitmap_clear::bitmap#0 ← (byte*)(word~) bitmap_clear::$3 keeping bitmap_clear::bitmap#0 Inlining Noop Cast [151] (byte*) bitmap_plot::plotter#0 ← (byte*)(word~) bitmap_plot::$0 keeping bitmap_plot::plotter#0 -Inlining Noop Cast [425] (word~) gfx_mode::$82 ← (word)(byte*~) gfx_mode::$46 keeping gfx_mode::$82 -Inlining Noop Cast [432] (word~) gfx_mode::$83 ← (word)(byte*~) gfx_mode::$49 keeping gfx_mode::$83 -Inlining Noop Cast [678] (byte*) gfx_init_plane_fill::gfxb#0 ← (byte*)(word~) gfx_init_plane_fill::$6 keeping gfx_init_plane_fill::gfxb#0 -Inlining Noop Cast [744] (byte*) form_field_ptr::line#0 ← (byte*)(word~) form_field_ptr::$2 keeping form_field_ptr::line#0 +Inlining Noop Cast [427] (word~) gfx_mode::$82 ← (word)(byte*~) gfx_mode::$46 keeping gfx_mode::$82 +Inlining Noop Cast [434] (word~) gfx_mode::$83 ← (word)(byte*~) gfx_mode::$49 keeping gfx_mode::$83 +Inlining Noop Cast [680] (byte*) gfx_init_plane_fill::gfxb#0 ← (byte*)(word~) gfx_init_plane_fill::$6 keeping gfx_init_plane_fill::gfxb#0 +Inlining Noop Cast [746] (byte*) form_field_ptr::line#0 ← (byte*)(word~) form_field_ptr::$2 keeping form_field_ptr::line#0 Successful SSA optimization Pass2NopCastInlining Rewriting multiplication to use shift [375] (byte~) gfx_mode::$18 ← *((const nomodify byte*) form_a_start_hi) * (byte) $10 -Rewriting multiplication to use shift [390] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) * (byte) $10 -Rewriting multiplication to use shift [393] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) * (byte) $10 -Rewriting multiplication to use shift [397] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) * (byte) $10 -Rewriting multiplication to use shift [412] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) * (byte) $10 -Rewriting multiplication to use shift [415] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) * (byte) $10 -Rewriting division to use shift [427] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 / (byte) $40 -Rewriting division to use shift [435] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 / (byte) 4 -Rewriting multiplication to use shift [453] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) * (byte) $10 -Rewriting multiplication to use shift [456] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) * (byte) $10 -Rewriting multiplication to use shift [459] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) * (byte) $10 -Rewriting multiplication to use shift [462] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) * (byte) $10 -Rewriting multiplication to use shift [512] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 * (byte) $10 -Rewriting multiplication to use shift [538] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 * (byte) $10 -Rewriting multiplication to use shift [550] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 * (byte) $10 -Rewriting division to use shift [619] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 / (byte) 2 -Rewriting multiplication to use shift [652] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 * (byte) 2 -Rewriting multiplication to use shift [670] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 * (byte) 4 +Rewriting multiplication to use shift [391] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) * (byte) $10 +Rewriting multiplication to use shift [394] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) * (byte) $10 +Rewriting multiplication to use shift [398] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) * (byte) $10 +Rewriting multiplication to use shift [414] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) * (byte) $10 +Rewriting multiplication to use shift [417] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) * (byte) $10 +Rewriting division to use shift [429] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 / (byte) $40 +Rewriting division to use shift [437] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 / (byte) 4 +Rewriting multiplication to use shift [455] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) * (byte) $10 +Rewriting multiplication to use shift [458] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) * (byte) $10 +Rewriting multiplication to use shift [461] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) * (byte) $10 +Rewriting multiplication to use shift [464] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) * (byte) $10 +Rewriting multiplication to use shift [514] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 * (byte) $10 +Rewriting multiplication to use shift [540] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 * (byte) $10 +Rewriting multiplication to use shift [552] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 * (byte) $10 +Rewriting division to use shift [621] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 / (byte) 2 +Rewriting multiplication to use shift [654] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 * (byte) 2 +Rewriting multiplication to use shift [672] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 * (byte) 4 Successful SSA optimization Pass2MultiplyToShiftRewriting Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#4 @@ -8933,28 +8929,28 @@ CALL GRAPH Calls in [main] to keyboard_init:4 gfx_init:6 form_mode:10 gfx_mode:12 Calls in [gfx_init] to gfx_init_screen0:20 gfx_init_screen1:22 gfx_init_screen2:24 gfx_init_screen3:26 gfx_init_screen4:28 gfx_init_charset:30 gfx_init_vic_bitmap:32 gfx_init_plane_8bppchunky:34 gfx_init_plane_charset8:36 gfx_init_plane_horisontal:38 gfx_init_plane_vertical:40 gfx_init_plane_horisontal2:42 gfx_init_plane_vertical2:44 gfx_init_plane_blank:46 gfx_init_plane_full:48 Calls in [form_mode] to print_set_screen:52 print_cls:54 print_str_lines:56 print_set_screen:58 print_cls:60 print_str_lines:62 form_set_screen:64 form_render_values:66 render_preset_name:69 form_control:96 apply_preset:103 form_render_values:105 render_preset_name:108 -Calls in [gfx_mode] to get_plane:158 get_plane:181 get_vic_screen:204 get_vic_charset:210 get_vic_screen:221 keyboard_event_scan:258 keyboard_event_get:260 -Calls in [gfx_init_vic_bitmap] to bitmap_init:395 bitmap_clear:397 bitmap_line:406 -Calls in [gfx_init_plane_8bppchunky] to dtvSetCpuBankSegment1:410 dtvSetCpuBankSegment1:419 dtvSetCpuBankSegment1:432 -Calls in [gfx_init_plane_charset8] to dtvSetCpuBankSegment1:444 dtvSetCpuBankSegment1:472 -Calls in [gfx_init_plane_horisontal] to dtvSetCpuBankSegment1:488 dtvSetCpuBankSegment1:504 -Calls in [gfx_init_plane_vertical] to dtvSetCpuBankSegment1:515 dtvSetCpuBankSegment1:527 -Calls in [gfx_init_plane_horisontal2] to dtvSetCpuBankSegment1:535 dtvSetCpuBankSegment1:549 -Calls in [gfx_init_plane_vertical2] to gfx_init_plane_fill:557 -Calls in [gfx_init_plane_blank] to gfx_init_plane_fill:561 -Calls in [gfx_init_plane_full] to gfx_init_plane_fill:565 -Calls in [print_cls] to memset:572 -Calls in [print_str_lines] to print_char:589 print_ln:594 -Calls in [form_render_values] to form_field_ptr:619 -Calls in [render_preset_name] to print_str_at:638 -Calls in [form_control] to form_field_ptr:654 keyboard_event_scan:665 keyboard_event_get:667 -Calls in [keyboard_event_scan] to keyboard_matrix_read:794 keyboard_event_pressed:805 keyboard_event_pressed:811 keyboard_event_pressed:818 keyboard_event_pressed:825 -Calls in [bitmap_line] to bitmap_line_ydxi:939 bitmap_line_xdyi:952 bitmap_line_ydxd:966 bitmap_line_xdyd:978 bitmap_line_ydxd:994 bitmap_line_xdyd:1006 bitmap_line_ydxi:1020 bitmap_line_xdyi:1032 -Calls in [gfx_init_plane_fill] to dtvSetCpuBankSegment1:1044 dtvSetCpuBankSegment1:1059 -Calls in [bitmap_line_ydxi] to bitmap_plot:1120 -Calls in [bitmap_line_xdyi] to bitmap_plot:1147 -Calls in [bitmap_line_ydxd] to bitmap_plot:1174 -Calls in [bitmap_line_xdyd] to bitmap_plot:1201 +Calls in [gfx_mode] to get_plane:158 get_plane:182 get_vic_screen:206 get_vic_charset:212 get_vic_screen:223 keyboard_event_scan:260 keyboard_event_get:262 +Calls in [gfx_init_vic_bitmap] to bitmap_init:397 bitmap_clear:399 bitmap_line:408 +Calls in [gfx_init_plane_8bppchunky] to dtvSetCpuBankSegment1:412 dtvSetCpuBankSegment1:421 dtvSetCpuBankSegment1:434 +Calls in [gfx_init_plane_charset8] to dtvSetCpuBankSegment1:446 dtvSetCpuBankSegment1:474 +Calls in [gfx_init_plane_horisontal] to dtvSetCpuBankSegment1:490 dtvSetCpuBankSegment1:506 +Calls in [gfx_init_plane_vertical] to dtvSetCpuBankSegment1:517 dtvSetCpuBankSegment1:529 +Calls in [gfx_init_plane_horisontal2] to dtvSetCpuBankSegment1:537 dtvSetCpuBankSegment1:551 +Calls in [gfx_init_plane_vertical2] to gfx_init_plane_fill:559 +Calls in [gfx_init_plane_blank] to gfx_init_plane_fill:563 +Calls in [gfx_init_plane_full] to gfx_init_plane_fill:567 +Calls in [print_cls] to memset:574 +Calls in [print_str_lines] to print_char:591 print_ln:596 +Calls in [form_render_values] to form_field_ptr:621 +Calls in [render_preset_name] to print_str_at:640 +Calls in [form_control] to form_field_ptr:656 keyboard_event_scan:667 keyboard_event_get:669 +Calls in [keyboard_event_scan] to keyboard_matrix_read:796 keyboard_event_pressed:807 keyboard_event_pressed:813 keyboard_event_pressed:820 keyboard_event_pressed:827 +Calls in [bitmap_line] to bitmap_line_ydxi:941 bitmap_line_xdyi:954 bitmap_line_ydxd:968 bitmap_line_xdyd:980 bitmap_line_ydxd:996 bitmap_line_xdyd:1008 bitmap_line_ydxi:1022 bitmap_line_xdyi:1034 +Calls in [gfx_init_plane_fill] to dtvSetCpuBankSegment1:1046 dtvSetCpuBankSegment1:1061 +Calls in [bitmap_line_ydxi] to bitmap_plot:1122 +Calls in [bitmap_line_xdyi] to bitmap_plot:1149 +Calls in [bitmap_line_ydxd] to bitmap_plot:1176 +Calls in [bitmap_line_xdyd] to bitmap_plot:1203 Created 192 initial phi equivalence classes Coalesced [13] form_cursor_count#63 ← form_cursor_count#17 @@ -8982,276 +8978,276 @@ Coalesced [135] gfx_mode::dtv_control#25 ← gfx_mode::dtv_control#5 Coalesced [139] gfx_mode::dtv_control#27 ← gfx_mode::dtv_control#6 Coalesced [147] gfx_mode::vic_control#7 ← gfx_mode::vic_control#2 Coalesced [157] get_plane::idx#17 ← get_plane::idx#0 -Coalesced [180] get_plane::idx#16 ← get_plane::idx#1 -Coalesced [203] get_vic_screen::idx#7 ← get_vic_screen::idx#0 -Coalesced [220] get_vic_screen::idx#8 ← get_vic_screen::idx#1 -Coalesced [224] gfx_mode::vic_colors#6 ← gfx_mode::vic_colors#0 -Coalesced [226] gfx_mode::vic_colors#7 ← gfx_mode::vic_colors#3 -Coalesced [227] gfx_mode::col#6 ← gfx_mode::col#3 -Coalesced [257] keyboard_events_size#147 ← keyboard_events_size#25 -Coalesced [265] gfx_mode::j#3 ← gfx_mode::j#1 -Coalesced [271] gfx_mode::i#3 ← gfx_mode::i#1 -Coalesced [272] gfx_mode::vic_colors#5 ← gfx_mode::vic_colors#1 -Coalesced [273] gfx_mode::col#5 ← gfx_mode::col#1 -Coalesced [274] gfx_mode::cy#5 ← gfx_mode::cy#1 -Coalesced (already) [275] gfx_mode::vic_colors#8 ← gfx_mode::vic_colors#1 -Coalesced (already) [276] gfx_mode::col#7 ← gfx_mode::col#1 -Coalesced [277] gfx_mode::cx#3 ← gfx_mode::cx#1 -Coalesced [278] gfx_mode::vic_control#8 ← gfx_mode::vic_control#5 -Coalesced [279] gfx_mode::dtv_control#28 ← gfx_mode::dtv_control#13 -Coalesced [280] gfx_mode::dtv_control#26 ← gfx_mode::dtv_control#11 -Coalesced [281] gfx_mode::dtv_control#24 ← gfx_mode::dtv_control#10 -Coalesced [282] gfx_mode::dtv_control#22 ← gfx_mode::dtv_control#15 -Coalesced [283] gfx_mode::dtv_control#19 ← gfx_mode::dtv_control#14 -Coalesced [286] gfx_init_screen0::ch#6 ← gfx_init_screen0::ch#3 -Coalesced [299] gfx_init_screen0::cy#5 ← gfx_init_screen0::cy#1 -Coalesced [300] gfx_init_screen0::ch#5 ← gfx_init_screen0::ch#1 -Coalesced [301] gfx_init_screen0::cx#3 ← gfx_init_screen0::cx#1 -Coalesced (already) [302] gfx_init_screen0::ch#7 ← gfx_init_screen0::ch#1 -Coalesced [305] gfx_init_screen1::ch#6 ← gfx_init_screen1::ch#3 -Coalesced [316] gfx_init_screen1::cy#5 ← gfx_init_screen1::cy#1 -Coalesced [317] gfx_init_screen1::ch#5 ← gfx_init_screen1::ch#1 -Coalesced [318] gfx_init_screen1::cx#3 ← gfx_init_screen1::cx#1 -Coalesced (already) [319] gfx_init_screen1::ch#7 ← gfx_init_screen1::ch#1 -Coalesced [322] gfx_init_screen2::ch#6 ← gfx_init_screen2::ch#3 -Coalesced [336] gfx_init_screen2::cy#5 ← gfx_init_screen2::cy#1 -Coalesced [337] gfx_init_screen2::ch#5 ← gfx_init_screen2::ch#1 -Coalesced [338] gfx_init_screen2::cx#3 ← gfx_init_screen2::cx#1 -Coalesced (already) [339] gfx_init_screen2::ch#7 ← gfx_init_screen2::ch#1 -Coalesced [342] gfx_init_screen3::ch#6 ← gfx_init_screen3::ch#3 -Coalesced [355] gfx_init_screen3::cy#5 ← gfx_init_screen3::cy#1 -Coalesced [356] gfx_init_screen3::ch#5 ← gfx_init_screen3::ch#1 -Coalesced [357] gfx_init_screen3::cx#3 ← gfx_init_screen3::cx#1 -Coalesced (already) [358] gfx_init_screen3::ch#7 ← gfx_init_screen3::ch#1 -Coalesced [361] gfx_init_screen4::ch#6 ← gfx_init_screen4::ch#3 -Coalesced [370] gfx_init_screen4::ch#5 ← gfx_init_screen4::ch#1 -Coalesced [371] gfx_init_screen4::cy#5 ← gfx_init_screen4::cy#1 -Coalesced (already) [372] gfx_init_screen4::ch#7 ← gfx_init_screen4::ch#1 -Coalesced [373] gfx_init_screen4::cx#3 ← gfx_init_screen4::cx#1 -Coalesced [376] gfx_init_charset::chargen#6 ← gfx_init_charset::chargen#3 -Coalesced [377] gfx_init_charset::charset#6 ← gfx_init_charset::charset#3 -Coalesced [388] gfx_init_charset::chargen#5 ← gfx_init_charset::chargen#1 -Coalesced [389] gfx_init_charset::charset#5 ← gfx_init_charset::charset#1 -Coalesced [390] gfx_init_charset::c#5 ← gfx_init_charset::c#1 -Coalesced (already) [391] gfx_init_charset::chargen#7 ← gfx_init_charset::chargen#1 -Coalesced (already) [392] gfx_init_charset::charset#7 ← gfx_init_charset::charset#1 -Coalesced [393] gfx_init_charset::l#3 ← gfx_init_charset::l#1 -Coalesced [408] gfx_init_vic_bitmap::l#5 ← gfx_init_vic_bitmap::l#1 -Coalesced [413] gfx_init_plane_8bppchunky::gfxb#8 ← gfx_init_plane_8bppchunky::gfxb#5 -Coalesced [414] gfx_init_plane_8bppchunky::gfxbCpuBank#11 ← gfx_init_plane_8bppchunky::gfxbCpuBank#7 -Coalesced [418] dtvSetCpuBankSegment1::cpuBankIdx#14 ← dtvSetCpuBankSegment1::cpuBankIdx#1 -Coalesced [421] gfx_init_plane_8bppchunky::gfxbCpuBank#14 ← gfx_init_plane_8bppchunky::gfxbCpuBank#2 -Coalesced [435] gfx_init_plane_8bppchunky::gfxb#7 ← gfx_init_plane_8bppchunky::gfxb#1 -Coalesced [436] gfx_init_plane_8bppchunky::y#8 ← gfx_init_plane_8bppchunky::y#1 -Coalesced [437] gfx_init_plane_8bppchunky::gfxbCpuBank#10 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 -Coalesced (already) [438] gfx_init_plane_8bppchunky::gfxb#9 ← gfx_init_plane_8bppchunky::gfxb#1 -Coalesced [439] gfx_init_plane_8bppchunky::x#6 ← gfx_init_plane_8bppchunky::x#1 -Coalesced (already) [440] gfx_init_plane_8bppchunky::gfxbCpuBank#12 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 -Coalesced [441] gfx_init_plane_8bppchunky::gfxb#10 ← gfx_init_plane_8bppchunky::gfxb#3 -Coalesced (already) [442] gfx_init_plane_8bppchunky::gfxbCpuBank#13 ← gfx_init_plane_8bppchunky::gfxbCpuBank#4 -Coalesced [447] gfx_init_plane_charset8::chargen#10 ← gfx_init_plane_charset8::chargen#3 -Coalesced [448] gfx_init_plane_charset8::gfxa#10 ← gfx_init_plane_charset8::gfxa#6 -Coalesced [449] gfx_init_plane_charset8::col#10 ← gfx_init_plane_charset8::col#6 -Coalesced [453] gfx_init_plane_charset8::bits#5 ← gfx_init_plane_charset8::bits#0 -Coalesced [454] gfx_init_plane_charset8::gfxa#12 ← gfx_init_plane_charset8::gfxa#5 -Coalesced [455] gfx_init_plane_charset8::col#12 ← gfx_init_plane_charset8::col#5 -Not coalescing [459] gfx_init_plane_charset8::c#3 ← gfx_init_plane_charset8::col#2 -Coalesced [475] gfx_init_plane_charset8::chargen#9 ← gfx_init_plane_charset8::chargen#1 -Coalesced [476] gfx_init_plane_charset8::gfxa#9 ← gfx_init_plane_charset8::gfxa#1 -Coalesced [477] gfx_init_plane_charset8::col#9 ← gfx_init_plane_charset8::col#1 -Coalesced [478] gfx_init_plane_charset8::ch#9 ← gfx_init_plane_charset8::ch#1 -Coalesced (already) [479] gfx_init_plane_charset8::chargen#11 ← gfx_init_plane_charset8::chargen#1 -Coalesced (already) [480] gfx_init_plane_charset8::gfxa#11 ← gfx_init_plane_charset8::gfxa#1 -Coalesced (already) [481] gfx_init_plane_charset8::col#11 ← gfx_init_plane_charset8::col#1 -Coalesced [482] gfx_init_plane_charset8::cr#7 ← gfx_init_plane_charset8::cr#1 -Coalesced [483] gfx_init_plane_charset8::bits#6 ← gfx_init_plane_charset8::bits#1 -Coalesced (already) [484] gfx_init_plane_charset8::gfxa#13 ← gfx_init_plane_charset8::gfxa#1 -Coalesced (already) [485] gfx_init_plane_charset8::col#13 ← gfx_init_plane_charset8::col#1 -Coalesced [486] gfx_init_plane_charset8::cp#5 ← gfx_init_plane_charset8::cp#1 -Coalesced [491] gfx_init_plane_horisontal::gfxa#10 ← gfx_init_plane_horisontal::gfxa#6 -Coalesced [497] gfx_init_plane_horisontal::gfxa#13 ← gfx_init_plane_horisontal::gfxa#2 -Coalesced [507] gfx_init_plane_horisontal::ay#8 ← gfx_init_plane_horisontal::ay#1 -Coalesced [508] gfx_init_plane_horisontal::gfxa#9 ← gfx_init_plane_horisontal::gfxa#7 -Coalesced (already) [509] gfx_init_plane_horisontal::gfxa#11 ← gfx_init_plane_horisontal::gfxa#7 -Coalesced [510] gfx_init_plane_horisontal::ax#6 ← gfx_init_plane_horisontal::ax#1 -Coalesced [513] gfx_init_plane_horisontal::gfxa#12 ← gfx_init_plane_horisontal::gfxa#1 -Coalesced [518] gfx_init_plane_vertical::gfxb#6 ← gfx_init_plane_vertical::gfxb#3 -Coalesced [530] gfx_init_plane_vertical::gfxb#5 ← gfx_init_plane_vertical::gfxb#1 -Coalesced [531] gfx_init_plane_vertical::by#5 ← gfx_init_plane_vertical::by#1 -Coalesced (already) [532] gfx_init_plane_vertical::gfxb#7 ← gfx_init_plane_vertical::gfxb#1 -Coalesced [533] gfx_init_plane_vertical::bx#3 ← gfx_init_plane_vertical::bx#1 -Coalesced [538] gfx_init_plane_horisontal2::gfxa#6 ← gfx_init_plane_horisontal2::gfxa#3 -Coalesced [552] gfx_init_plane_horisontal2::ay#5 ← gfx_init_plane_horisontal2::ay#1 -Coalesced [553] gfx_init_plane_horisontal2::gfxa#5 ← gfx_init_plane_horisontal2::gfxa#1 -Coalesced (already) [554] gfx_init_plane_horisontal2::gfxa#7 ← gfx_init_plane_horisontal2::gfxa#1 -Coalesced [555] gfx_init_plane_horisontal2::ax#3 ← gfx_init_plane_horisontal2::ax#1 -Coalesced [576] print_str_lines::str#11 ← print_str_lines::str#5 -Not coalescing [577] print_char_cursor#72 ← print_screen#0 -Coalesced [578] print_line_cursor#68 ← print_screen#0 -Coalesced [582] print_str_lines::str#13 ← print_str_lines::str#3 -Coalesced [583] print_char_cursor#74 ← print_char_cursor#2 -Coalesced [590] print_char_cursor#77 ← print_char_cursor#29 -Coalesced [595] print_str_lines::str#12 ← print_str_lines::str#0 -Not coalescing [596] print_char_cursor#73 ← print_line_cursor#2 -Coalesced [597] print_line_cursor#69 ← print_line_cursor#2 -Coalesced (already) [598] print_str_lines::str#14 ← print_str_lines::str#0 -Coalesced [599] print_char_cursor#75 ← print_char_cursor#44 -Coalesced (already) [600] print_char_cursor#76 ← print_char_cursor#43 -Coalesced [611] form_set_screen::line#3 ← form_set_screen::line#1 -Coalesced [612] form_set_screen::y#3 ← form_set_screen::y#1 -Coalesced [618] form_field_ptr::field_idx#4 ← form_field_ptr::field_idx#0 -Coalesced [622] form_render_values::idx#5 ← form_render_values::idx#1 -Coalesced [653] form_field_ptr::field_idx#3 ← form_field_ptr::field_idx#1 -Coalesced (already) [664] keyboard_events_size#146 ← keyboard_events_size#49 -Coalesced [679] form_field_idx#76 ← form_field_idx#33 -Coalesced [682] form_field_idx#73 ← form_field_idx#5 -Coalesced [686] form_field_idx#74 ← form_field_idx#4 -Coalesced [694] form_cursor_count#69 ← form_cursor_count#16 -Coalesced (already) [695] form_field_idx#77 ← form_field_idx#30 -Coalesced (already) [700] form_cursor_count#68 ← form_cursor_count#16 -Coalesced (already) [701] form_field_idx#75 ← form_field_idx#30 -Coalesced (already) [702] form_cursor_count#70 ← form_cursor_count#16 -Coalesced (already) [703] form_field_idx#78 ← form_field_idx#30 -Coalesced [706] form_cursor_count#67 ← form_cursor_count#4 -Coalesced [725] apply_preset::i#4 ← apply_preset::i#1 -Coalesced [791] keyboard_events_size#148 ← keyboard_events_size#98 -Coalesced [799] keyboard_event_scan::keycode#17 ← keyboard_event_scan::keycode#1 -Coalesced [800] keyboard_events_size#151 ← keyboard_events_size#107 -Coalesced [816] keyboard_modifiers#128 ← keyboard_modifiers#2 -Coalesced [823] keyboard_modifiers#130 ← keyboard_modifiers#3 -Coalesced [830] keyboard_modifiers#132 ← keyboard_modifiers#4 -Coalesced [833] keyboard_modifiers#131 ← keyboard_modifiers#21 -Coalesced [834] keyboard_modifiers#129 ← keyboard_modifiers#20 -Coalesced [835] keyboard_modifiers#127 ← keyboard_modifiers#19 -Coalesced [836] keyboard_event_scan::row#14 ← keyboard_event_scan::row#1 -Coalesced [837] keyboard_event_scan::keycode#15 ← keyboard_event_scan::keycode#13 -Coalesced (already) [838] keyboard_events_size#149 ← keyboard_events_size#100 -Coalesced [839] keyboard_event_scan::keycode#19 ← keyboard_event_scan::keycode#11 -Coalesced [840] keyboard_events_size#153 ← keyboard_events_size#107 -Coalesced [850] keyboard_events_size#157 ← keyboard_events_size#1 -Coalesced [856] keyboard_event_scan::keycode#16 ← keyboard_event_scan::keycode#14 -Coalesced [857] keyboard_events_size#150 ← keyboard_events_size#106 -Coalesced [858] keyboard_event_scan::col#8 ← keyboard_event_scan::col#1 -Coalesced (already) [859] keyboard_event_scan::keycode#18 ← keyboard_event_scan::keycode#14 -Coalesced (already) [860] keyboard_events_size#152 ← keyboard_events_size#106 -Coalesced [864] keyboard_events_size#155 ← keyboard_events_size#0 -Coalesced (already) [865] keyboard_events_size#156 ← keyboard_events_size#19 -Coalesced (already) [866] keyboard_events_size#154 ← keyboard_events_size#19 -Coalesced [870] keyboard_event_get::return#8 ← keyboard_event_get::return#1 -Coalesced [871] keyboard_events_size#159 ← keyboard_events_size#3 -Coalesced (already) [874] keyboard_events_size#158 ← keyboard_events_size#100 -Coalesced [897] bitmap_init::yoffs#7 ← bitmap_init::yoffs#1 -Coalesced [902] bitmap_init::y#5 ← bitmap_init::y#1 -Coalesced [903] bitmap_init::yoffs#5 ← bitmap_init::yoffs#4 -Coalesced (already) [904] bitmap_init::yoffs#6 ← bitmap_init::yoffs#2 -Coalesced [905] bitmap_init::x#5 ← bitmap_init::x#1 -Coalesced [906] bitmap_init::bits#5 ← bitmap_init::bits#4 -Coalesced [907] bitmap_init::bits#6 ← bitmap_init::bits#1 -Coalesced [911] bitmap_clear::bitmap#7 ← bitmap_clear::bitmap#3 -Coalesced [920] bitmap_clear::bitmap#6 ← bitmap_clear::bitmap#1 -Coalesced [921] bitmap_clear::y#5 ← bitmap_clear::y#1 -Coalesced (already) [922] bitmap_clear::bitmap#8 ← bitmap_clear::bitmap#1 -Coalesced [923] bitmap_clear::x#3 ← bitmap_clear::x#1 -Coalesced [934] bitmap_line_ydxi::xd#8 ← bitmap_line_ydxi::xd#0 -Coalesced [935] bitmap_line_ydxi::x#9 ← bitmap_line_ydxi::x#0 -Coalesced [936] bitmap_line_ydxi::y#9 ← bitmap_line_ydxi::y#0 -Coalesced [937] bitmap_line_ydxi::yd#8 ← bitmap_line_ydxi::yd#0 -Coalesced [938] bitmap_line_ydxi::y1#8 ← bitmap_line_ydxi::y1#0 -Coalesced [947] bitmap_line_xdyi::yd#8 ← bitmap_line_xdyi::yd#0 -Coalesced [948] bitmap_line_xdyi::x#9 ← bitmap_line_xdyi::x#0 -Coalesced [949] bitmap_line_xdyi::y#9 ← bitmap_line_xdyi::y#0 -Coalesced [950] bitmap_line_xdyi::xd#8 ← bitmap_line_xdyi::xd#0 -Coalesced [951] bitmap_line_xdyi::x1#8 ← bitmap_line_xdyi::x1#0 -Coalesced [961] bitmap_line_ydxd::xd#7 ← bitmap_line_ydxd::xd#0 -Coalesced [962] bitmap_line_ydxd::x#8 ← bitmap_line_ydxd::x#0 -Coalesced [963] bitmap_line_ydxd::y#9 ← bitmap_line_ydxd::y#0 -Coalesced [964] bitmap_line_ydxd::yd#7 ← bitmap_line_ydxd::yd#0 -Coalesced [965] bitmap_line_ydxd::y1#7 ← bitmap_line_ydxd::y1#0 -Coalesced [973] bitmap_line_xdyd::yd#8 ← bitmap_line_xdyd::yd#0 -Coalesced [974] bitmap_line_xdyd::x#9 ← bitmap_line_xdyd::x#0 -Coalesced [975] bitmap_line_xdyd::y#9 ← bitmap_line_xdyd::y#0 -Coalesced [976] bitmap_line_xdyd::xd#8 ← bitmap_line_xdyd::xd#0 -Coalesced [977] bitmap_line_xdyd::x1#8 ← bitmap_line_xdyd::x1#0 -Coalesced [989] bitmap_line_ydxd::xd#8 ← bitmap_line_ydxd::xd#1 -Coalesced [990] bitmap_line_ydxd::x#9 ← bitmap_line_ydxd::x#1 -Coalesced [991] bitmap_line_ydxd::y#10 ← bitmap_line_ydxd::y#1 -Coalesced [992] bitmap_line_ydxd::yd#8 ← bitmap_line_ydxd::yd#1 -Coalesced [993] bitmap_line_ydxd::y1#8 ← bitmap_line_ydxd::y1#1 -Coalesced [1001] bitmap_line_xdyd::yd#7 ← bitmap_line_xdyd::yd#1 -Coalesced [1002] bitmap_line_xdyd::x#8 ← bitmap_line_xdyd::x#1 -Coalesced [1003] bitmap_line_xdyd::y#8 ← bitmap_line_xdyd::y#1 -Coalesced [1004] bitmap_line_xdyd::xd#7 ← bitmap_line_xdyd::xd#1 -Coalesced [1005] bitmap_line_xdyd::x1#7 ← bitmap_line_xdyd::x1#1 -Coalesced [1015] bitmap_line_ydxi::xd#7 ← bitmap_line_ydxi::xd#1 -Coalesced [1016] bitmap_line_ydxi::x#8 ← bitmap_line_ydxi::x#1 -Coalesced [1017] bitmap_line_ydxi::y#8 ← bitmap_line_ydxi::y#1 -Coalesced [1018] bitmap_line_ydxi::yd#7 ← bitmap_line_ydxi::yd#1 -Coalesced [1019] bitmap_line_ydxi::y1#7 ← bitmap_line_ydxi::y1#1 -Coalesced [1027] bitmap_line_xdyi::yd#7 ← bitmap_line_xdyi::yd#1 -Coalesced [1028] bitmap_line_xdyi::x#8 ← bitmap_line_xdyi::x#1 -Coalesced [1029] bitmap_line_xdyi::y#8 ← bitmap_line_xdyi::y#1 -Coalesced [1030] bitmap_line_xdyi::xd#7 ← bitmap_line_xdyi::xd#1 -Coalesced [1031] bitmap_line_xdyi::x1#7 ← bitmap_line_xdyi::x1#1 -Coalesced [1043] dtvSetCpuBankSegment1::cpuBankIdx#15 ← dtvSetCpuBankSegment1::cpuBankIdx#11 -Coalesced [1050] gfx_init_plane_fill::gfxb#7 ← gfx_init_plane_fill::gfxb#3 -Coalesced [1062] gfx_init_plane_fill::gfxb#5 ← gfx_init_plane_fill::gfxb#1 -Coalesced [1063] gfx_init_plane_fill::by#5 ← gfx_init_plane_fill::by#1 -Coalesced (already) [1064] gfx_init_plane_fill::gfxb#8 ← gfx_init_plane_fill::gfxb#1 -Coalesced [1065] gfx_init_plane_fill::bx#3 ← gfx_init_plane_fill::bx#1 -Coalesced [1075] memset::dst#5 ← memset::dst#1 -Coalesced [1079] print_line_cursor#70 ← print_line_cursor#1 -Coalesced (already) [1085] print_line_cursor#71 ← print_line_cursor#2 -Coalesced [1092] print_str_at::str#5 ← print_str_at::str#1 -Coalesced [1099] print_str_at::str#6 ← print_str_at::str#0 -Coalesced [1100] print_str_at::at#5 ← print_str_at::at#0 -Coalesced [1112] bitmap_line_ydxi::x#10 ← bitmap_line_ydxi::x#5 -Coalesced [1113] bitmap_line_ydxi::y#10 ← bitmap_line_ydxi::y#6 -Coalesced [1114] bitmap_line_ydxi::e#7 ← bitmap_line_ydxi::e#0 -Coalesced [1118] bitmap_plot::x#8 ← bitmap_plot::x#2 -Coalesced [1119] bitmap_plot::y#8 ← bitmap_plot::y#2 -Coalesced [1126] bitmap_line_ydxi::x#12 ← bitmap_line_ydxi::x#2 -Coalesced [1127] bitmap_line_ydxi::e#9 ← bitmap_line_ydxi::e#2 -Coalesced [1132] bitmap_line_ydxi::x#11 ← bitmap_line_ydxi::x#6 -Coalesced [1133] bitmap_line_ydxi::y#11 ← bitmap_line_ydxi::y#2 -Coalesced [1134] bitmap_line_ydxi::e#8 ← bitmap_line_ydxi::e#6 -Coalesced (already) [1135] bitmap_line_ydxi::x#13 ← bitmap_line_ydxi::x#3 -Coalesced [1136] bitmap_line_ydxi::e#10 ← bitmap_line_ydxi::e#1 -Coalesced [1139] bitmap_line_xdyi::x#10 ← bitmap_line_xdyi::x#6 -Coalesced [1140] bitmap_line_xdyi::y#10 ← bitmap_line_xdyi::y#5 -Coalesced [1141] bitmap_line_xdyi::e#7 ← bitmap_line_xdyi::e#0 -Coalesced [1145] bitmap_plot::x#6 ← bitmap_plot::x#0 -Coalesced [1146] bitmap_plot::y#6 ← bitmap_plot::y#0 -Coalesced [1153] bitmap_line_xdyi::y#12 ← bitmap_line_xdyi::y#2 -Coalesced [1154] bitmap_line_xdyi::e#9 ← bitmap_line_xdyi::e#2 -Coalesced [1159] bitmap_line_xdyi::x#11 ← bitmap_line_xdyi::x#2 -Coalesced [1160] bitmap_line_xdyi::y#11 ← bitmap_line_xdyi::y#6 -Coalesced [1161] bitmap_line_xdyi::e#8 ← bitmap_line_xdyi::e#6 -Coalesced (already) [1162] bitmap_line_xdyi::y#13 ← bitmap_line_xdyi::y#3 -Coalesced [1163] bitmap_line_xdyi::e#10 ← bitmap_line_xdyi::e#1 -Coalesced [1166] bitmap_line_ydxd::x#10 ← bitmap_line_ydxd::x#5 -Coalesced [1167] bitmap_line_ydxd::y#11 ← bitmap_line_ydxd::y#7 -Coalesced [1168] bitmap_line_ydxd::e#7 ← bitmap_line_ydxd::e#0 -Coalesced [1172] bitmap_plot::x#7 ← bitmap_plot::x#3 -Coalesced [1173] bitmap_plot::y#7 ← bitmap_plot::y#3 -Coalesced [1180] bitmap_line_ydxd::x#12 ← bitmap_line_ydxd::x#2 -Coalesced [1181] bitmap_line_ydxd::e#9 ← bitmap_line_ydxd::e#2 -Coalesced [1186] bitmap_line_ydxd::x#11 ← bitmap_line_ydxd::x#6 -Coalesced [1187] bitmap_line_ydxd::y#12 ← bitmap_line_ydxd::y#3 -Coalesced [1188] bitmap_line_ydxd::e#8 ← bitmap_line_ydxd::e#6 -Coalesced (already) [1189] bitmap_line_ydxd::x#13 ← bitmap_line_ydxd::x#3 -Coalesced [1190] bitmap_line_ydxd::e#10 ← bitmap_line_ydxd::e#1 -Coalesced [1193] bitmap_line_xdyd::x#10 ← bitmap_line_xdyd::x#6 -Coalesced [1194] bitmap_line_xdyd::y#10 ← bitmap_line_xdyd::y#5 -Coalesced [1195] bitmap_line_xdyd::e#7 ← bitmap_line_xdyd::e#0 -Coalesced [1199] bitmap_plot::x#5 ← bitmap_plot::x#1 -Coalesced [1200] bitmap_plot::y#5 ← bitmap_plot::y#1 -Coalesced [1207] bitmap_line_xdyd::y#12 ← bitmap_line_xdyd::y#2 -Coalesced [1208] bitmap_line_xdyd::e#9 ← bitmap_line_xdyd::e#2 -Coalesced [1213] bitmap_line_xdyd::x#11 ← bitmap_line_xdyd::x#2 -Coalesced [1214] bitmap_line_xdyd::y#11 ← bitmap_line_xdyd::y#6 -Coalesced [1215] bitmap_line_xdyd::e#8 ← bitmap_line_xdyd::e#6 -Coalesced (already) [1216] bitmap_line_xdyd::y#13 ← bitmap_line_xdyd::y#3 -Coalesced [1217] bitmap_line_xdyd::e#10 ← bitmap_line_xdyd::e#1 +Coalesced [181] get_plane::idx#16 ← get_plane::idx#1 +Coalesced [205] get_vic_screen::idx#7 ← get_vic_screen::idx#0 +Coalesced [222] get_vic_screen::idx#8 ← get_vic_screen::idx#1 +Coalesced [226] gfx_mode::vic_colors#6 ← gfx_mode::vic_colors#0 +Coalesced [228] gfx_mode::vic_colors#7 ← gfx_mode::vic_colors#3 +Coalesced [229] gfx_mode::col#6 ← gfx_mode::col#3 +Coalesced [259] keyboard_events_size#147 ← keyboard_events_size#25 +Coalesced [267] gfx_mode::j#3 ← gfx_mode::j#1 +Coalesced [273] gfx_mode::i#3 ← gfx_mode::i#1 +Coalesced [274] gfx_mode::vic_colors#5 ← gfx_mode::vic_colors#1 +Coalesced [275] gfx_mode::col#5 ← gfx_mode::col#1 +Coalesced [276] gfx_mode::cy#5 ← gfx_mode::cy#1 +Coalesced (already) [277] gfx_mode::vic_colors#8 ← gfx_mode::vic_colors#1 +Coalesced (already) [278] gfx_mode::col#7 ← gfx_mode::col#1 +Coalesced [279] gfx_mode::cx#3 ← gfx_mode::cx#1 +Coalesced [280] gfx_mode::vic_control#8 ← gfx_mode::vic_control#5 +Coalesced [281] gfx_mode::dtv_control#28 ← gfx_mode::dtv_control#13 +Coalesced [282] gfx_mode::dtv_control#26 ← gfx_mode::dtv_control#11 +Coalesced [283] gfx_mode::dtv_control#24 ← gfx_mode::dtv_control#10 +Coalesced [284] gfx_mode::dtv_control#22 ← gfx_mode::dtv_control#15 +Coalesced [285] gfx_mode::dtv_control#19 ← gfx_mode::dtv_control#14 +Coalesced [288] gfx_init_screen0::ch#6 ← gfx_init_screen0::ch#3 +Coalesced [301] gfx_init_screen0::cy#5 ← gfx_init_screen0::cy#1 +Coalesced [302] gfx_init_screen0::ch#5 ← gfx_init_screen0::ch#1 +Coalesced [303] gfx_init_screen0::cx#3 ← gfx_init_screen0::cx#1 +Coalesced (already) [304] gfx_init_screen0::ch#7 ← gfx_init_screen0::ch#1 +Coalesced [307] gfx_init_screen1::ch#6 ← gfx_init_screen1::ch#3 +Coalesced [318] gfx_init_screen1::cy#5 ← gfx_init_screen1::cy#1 +Coalesced [319] gfx_init_screen1::ch#5 ← gfx_init_screen1::ch#1 +Coalesced [320] gfx_init_screen1::cx#3 ← gfx_init_screen1::cx#1 +Coalesced (already) [321] gfx_init_screen1::ch#7 ← gfx_init_screen1::ch#1 +Coalesced [324] gfx_init_screen2::ch#6 ← gfx_init_screen2::ch#3 +Coalesced [338] gfx_init_screen2::cy#5 ← gfx_init_screen2::cy#1 +Coalesced [339] gfx_init_screen2::ch#5 ← gfx_init_screen2::ch#1 +Coalesced [340] gfx_init_screen2::cx#3 ← gfx_init_screen2::cx#1 +Coalesced (already) [341] gfx_init_screen2::ch#7 ← gfx_init_screen2::ch#1 +Coalesced [344] gfx_init_screen3::ch#6 ← gfx_init_screen3::ch#3 +Coalesced [357] gfx_init_screen3::cy#5 ← gfx_init_screen3::cy#1 +Coalesced [358] gfx_init_screen3::ch#5 ← gfx_init_screen3::ch#1 +Coalesced [359] gfx_init_screen3::cx#3 ← gfx_init_screen3::cx#1 +Coalesced (already) [360] gfx_init_screen3::ch#7 ← gfx_init_screen3::ch#1 +Coalesced [363] gfx_init_screen4::ch#6 ← gfx_init_screen4::ch#3 +Coalesced [372] gfx_init_screen4::ch#5 ← gfx_init_screen4::ch#1 +Coalesced [373] gfx_init_screen4::cy#5 ← gfx_init_screen4::cy#1 +Coalesced (already) [374] gfx_init_screen4::ch#7 ← gfx_init_screen4::ch#1 +Coalesced [375] gfx_init_screen4::cx#3 ← gfx_init_screen4::cx#1 +Coalesced [378] gfx_init_charset::chargen#6 ← gfx_init_charset::chargen#3 +Coalesced [379] gfx_init_charset::charset#6 ← gfx_init_charset::charset#3 +Coalesced [390] gfx_init_charset::chargen#5 ← gfx_init_charset::chargen#1 +Coalesced [391] gfx_init_charset::charset#5 ← gfx_init_charset::charset#1 +Coalesced [392] gfx_init_charset::c#5 ← gfx_init_charset::c#1 +Coalesced (already) [393] gfx_init_charset::chargen#7 ← gfx_init_charset::chargen#1 +Coalesced (already) [394] gfx_init_charset::charset#7 ← gfx_init_charset::charset#1 +Coalesced [395] gfx_init_charset::l#3 ← gfx_init_charset::l#1 +Coalesced [410] gfx_init_vic_bitmap::l#5 ← gfx_init_vic_bitmap::l#1 +Coalesced [415] gfx_init_plane_8bppchunky::gfxb#8 ← gfx_init_plane_8bppchunky::gfxb#5 +Coalesced [416] gfx_init_plane_8bppchunky::gfxbCpuBank#11 ← gfx_init_plane_8bppchunky::gfxbCpuBank#7 +Coalesced [420] dtvSetCpuBankSegment1::cpuBankIdx#14 ← dtvSetCpuBankSegment1::cpuBankIdx#1 +Coalesced [423] gfx_init_plane_8bppchunky::gfxbCpuBank#14 ← gfx_init_plane_8bppchunky::gfxbCpuBank#2 +Coalesced [437] gfx_init_plane_8bppchunky::gfxb#7 ← gfx_init_plane_8bppchunky::gfxb#1 +Coalesced [438] gfx_init_plane_8bppchunky::y#8 ← gfx_init_plane_8bppchunky::y#1 +Coalesced [439] gfx_init_plane_8bppchunky::gfxbCpuBank#10 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 +Coalesced (already) [440] gfx_init_plane_8bppchunky::gfxb#9 ← gfx_init_plane_8bppchunky::gfxb#1 +Coalesced [441] gfx_init_plane_8bppchunky::x#6 ← gfx_init_plane_8bppchunky::x#1 +Coalesced (already) [442] gfx_init_plane_8bppchunky::gfxbCpuBank#12 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 +Coalesced [443] gfx_init_plane_8bppchunky::gfxb#10 ← gfx_init_plane_8bppchunky::gfxb#3 +Coalesced (already) [444] gfx_init_plane_8bppchunky::gfxbCpuBank#13 ← gfx_init_plane_8bppchunky::gfxbCpuBank#4 +Coalesced [449] gfx_init_plane_charset8::chargen#10 ← gfx_init_plane_charset8::chargen#3 +Coalesced [450] gfx_init_plane_charset8::gfxa#10 ← gfx_init_plane_charset8::gfxa#6 +Coalesced [451] gfx_init_plane_charset8::col#10 ← gfx_init_plane_charset8::col#6 +Coalesced [455] gfx_init_plane_charset8::bits#5 ← gfx_init_plane_charset8::bits#0 +Coalesced [456] gfx_init_plane_charset8::gfxa#12 ← gfx_init_plane_charset8::gfxa#5 +Coalesced [457] gfx_init_plane_charset8::col#12 ← gfx_init_plane_charset8::col#5 +Not coalescing [461] gfx_init_plane_charset8::c#3 ← gfx_init_plane_charset8::col#2 +Coalesced [477] gfx_init_plane_charset8::chargen#9 ← gfx_init_plane_charset8::chargen#1 +Coalesced [478] gfx_init_plane_charset8::gfxa#9 ← gfx_init_plane_charset8::gfxa#1 +Coalesced [479] gfx_init_plane_charset8::col#9 ← gfx_init_plane_charset8::col#1 +Coalesced [480] gfx_init_plane_charset8::ch#9 ← gfx_init_plane_charset8::ch#1 +Coalesced (already) [481] gfx_init_plane_charset8::chargen#11 ← gfx_init_plane_charset8::chargen#1 +Coalesced (already) [482] gfx_init_plane_charset8::gfxa#11 ← gfx_init_plane_charset8::gfxa#1 +Coalesced (already) [483] gfx_init_plane_charset8::col#11 ← gfx_init_plane_charset8::col#1 +Coalesced [484] gfx_init_plane_charset8::cr#7 ← gfx_init_plane_charset8::cr#1 +Coalesced [485] gfx_init_plane_charset8::bits#6 ← gfx_init_plane_charset8::bits#1 +Coalesced (already) [486] gfx_init_plane_charset8::gfxa#13 ← gfx_init_plane_charset8::gfxa#1 +Coalesced (already) [487] gfx_init_plane_charset8::col#13 ← gfx_init_plane_charset8::col#1 +Coalesced [488] gfx_init_plane_charset8::cp#5 ← gfx_init_plane_charset8::cp#1 +Coalesced [493] gfx_init_plane_horisontal::gfxa#10 ← gfx_init_plane_horisontal::gfxa#6 +Coalesced [499] gfx_init_plane_horisontal::gfxa#13 ← gfx_init_plane_horisontal::gfxa#2 +Coalesced [509] gfx_init_plane_horisontal::ay#8 ← gfx_init_plane_horisontal::ay#1 +Coalesced [510] gfx_init_plane_horisontal::gfxa#9 ← gfx_init_plane_horisontal::gfxa#7 +Coalesced (already) [511] gfx_init_plane_horisontal::gfxa#11 ← gfx_init_plane_horisontal::gfxa#7 +Coalesced [512] gfx_init_plane_horisontal::ax#6 ← gfx_init_plane_horisontal::ax#1 +Coalesced [515] gfx_init_plane_horisontal::gfxa#12 ← gfx_init_plane_horisontal::gfxa#1 +Coalesced [520] gfx_init_plane_vertical::gfxb#6 ← gfx_init_plane_vertical::gfxb#3 +Coalesced [532] gfx_init_plane_vertical::gfxb#5 ← gfx_init_plane_vertical::gfxb#1 +Coalesced [533] gfx_init_plane_vertical::by#5 ← gfx_init_plane_vertical::by#1 +Coalesced (already) [534] gfx_init_plane_vertical::gfxb#7 ← gfx_init_plane_vertical::gfxb#1 +Coalesced [535] gfx_init_plane_vertical::bx#3 ← gfx_init_plane_vertical::bx#1 +Coalesced [540] gfx_init_plane_horisontal2::gfxa#6 ← gfx_init_plane_horisontal2::gfxa#3 +Coalesced [554] gfx_init_plane_horisontal2::ay#5 ← gfx_init_plane_horisontal2::ay#1 +Coalesced [555] gfx_init_plane_horisontal2::gfxa#5 ← gfx_init_plane_horisontal2::gfxa#1 +Coalesced (already) [556] gfx_init_plane_horisontal2::gfxa#7 ← gfx_init_plane_horisontal2::gfxa#1 +Coalesced [557] gfx_init_plane_horisontal2::ax#3 ← gfx_init_plane_horisontal2::ax#1 +Coalesced [578] print_str_lines::str#11 ← print_str_lines::str#5 +Not coalescing [579] print_char_cursor#72 ← print_screen#0 +Coalesced [580] print_line_cursor#68 ← print_screen#0 +Coalesced [584] print_str_lines::str#13 ← print_str_lines::str#3 +Coalesced [585] print_char_cursor#74 ← print_char_cursor#2 +Coalesced [592] print_char_cursor#77 ← print_char_cursor#29 +Coalesced [597] print_str_lines::str#12 ← print_str_lines::str#0 +Not coalescing [598] print_char_cursor#73 ← print_line_cursor#2 +Coalesced [599] print_line_cursor#69 ← print_line_cursor#2 +Coalesced (already) [600] print_str_lines::str#14 ← print_str_lines::str#0 +Coalesced [601] print_char_cursor#75 ← print_char_cursor#44 +Coalesced (already) [602] print_char_cursor#76 ← print_char_cursor#43 +Coalesced [613] form_set_screen::line#3 ← form_set_screen::line#1 +Coalesced [614] form_set_screen::y#3 ← form_set_screen::y#1 +Coalesced [620] form_field_ptr::field_idx#4 ← form_field_ptr::field_idx#0 +Coalesced [624] form_render_values::idx#5 ← form_render_values::idx#1 +Coalesced [655] form_field_ptr::field_idx#3 ← form_field_ptr::field_idx#1 +Coalesced (already) [666] keyboard_events_size#146 ← keyboard_events_size#49 +Coalesced [681] form_field_idx#76 ← form_field_idx#33 +Coalesced [684] form_field_idx#73 ← form_field_idx#5 +Coalesced [688] form_field_idx#74 ← form_field_idx#4 +Coalesced [696] form_cursor_count#69 ← form_cursor_count#16 +Coalesced (already) [697] form_field_idx#77 ← form_field_idx#30 +Coalesced (already) [702] form_cursor_count#68 ← form_cursor_count#16 +Coalesced (already) [703] form_field_idx#75 ← form_field_idx#30 +Coalesced (already) [704] form_cursor_count#70 ← form_cursor_count#16 +Coalesced (already) [705] form_field_idx#78 ← form_field_idx#30 +Coalesced [708] form_cursor_count#67 ← form_cursor_count#4 +Coalesced [727] apply_preset::i#4 ← apply_preset::i#1 +Coalesced [793] keyboard_events_size#148 ← keyboard_events_size#98 +Coalesced [801] keyboard_event_scan::keycode#17 ← keyboard_event_scan::keycode#1 +Coalesced [802] keyboard_events_size#151 ← keyboard_events_size#107 +Coalesced [818] keyboard_modifiers#128 ← keyboard_modifiers#2 +Coalesced [825] keyboard_modifiers#130 ← keyboard_modifiers#3 +Coalesced [832] keyboard_modifiers#132 ← keyboard_modifiers#4 +Coalesced [835] keyboard_modifiers#131 ← keyboard_modifiers#21 +Coalesced [836] keyboard_modifiers#129 ← keyboard_modifiers#20 +Coalesced [837] keyboard_modifiers#127 ← keyboard_modifiers#19 +Coalesced [838] keyboard_event_scan::row#14 ← keyboard_event_scan::row#1 +Coalesced [839] keyboard_event_scan::keycode#15 ← keyboard_event_scan::keycode#13 +Coalesced (already) [840] keyboard_events_size#149 ← keyboard_events_size#100 +Coalesced [841] keyboard_event_scan::keycode#19 ← keyboard_event_scan::keycode#11 +Coalesced [842] keyboard_events_size#153 ← keyboard_events_size#107 +Coalesced [852] keyboard_events_size#157 ← keyboard_events_size#1 +Coalesced [858] keyboard_event_scan::keycode#16 ← keyboard_event_scan::keycode#14 +Coalesced [859] keyboard_events_size#150 ← keyboard_events_size#106 +Coalesced [860] keyboard_event_scan::col#8 ← keyboard_event_scan::col#1 +Coalesced (already) [861] keyboard_event_scan::keycode#18 ← keyboard_event_scan::keycode#14 +Coalesced (already) [862] keyboard_events_size#152 ← keyboard_events_size#106 +Coalesced [866] keyboard_events_size#155 ← keyboard_events_size#0 +Coalesced (already) [867] keyboard_events_size#156 ← keyboard_events_size#19 +Coalesced (already) [868] keyboard_events_size#154 ← keyboard_events_size#19 +Coalesced [872] keyboard_event_get::return#8 ← keyboard_event_get::return#1 +Coalesced [873] keyboard_events_size#159 ← keyboard_events_size#3 +Coalesced (already) [876] keyboard_events_size#158 ← keyboard_events_size#100 +Coalesced [899] bitmap_init::yoffs#7 ← bitmap_init::yoffs#1 +Coalesced [904] bitmap_init::y#5 ← bitmap_init::y#1 +Coalesced [905] bitmap_init::yoffs#5 ← bitmap_init::yoffs#4 +Coalesced (already) [906] bitmap_init::yoffs#6 ← bitmap_init::yoffs#2 +Coalesced [907] bitmap_init::x#5 ← bitmap_init::x#1 +Coalesced [908] bitmap_init::bits#5 ← bitmap_init::bits#4 +Coalesced [909] bitmap_init::bits#6 ← bitmap_init::bits#1 +Coalesced [913] bitmap_clear::bitmap#7 ← bitmap_clear::bitmap#3 +Coalesced [922] bitmap_clear::bitmap#6 ← bitmap_clear::bitmap#1 +Coalesced [923] bitmap_clear::y#5 ← bitmap_clear::y#1 +Coalesced (already) [924] bitmap_clear::bitmap#8 ← bitmap_clear::bitmap#1 +Coalesced [925] bitmap_clear::x#3 ← bitmap_clear::x#1 +Coalesced [936] bitmap_line_ydxi::xd#8 ← bitmap_line_ydxi::xd#0 +Coalesced [937] bitmap_line_ydxi::x#9 ← bitmap_line_ydxi::x#0 +Coalesced [938] bitmap_line_ydxi::y#9 ← bitmap_line_ydxi::y#0 +Coalesced [939] bitmap_line_ydxi::yd#8 ← bitmap_line_ydxi::yd#0 +Coalesced [940] bitmap_line_ydxi::y1#8 ← bitmap_line_ydxi::y1#0 +Coalesced [949] bitmap_line_xdyi::yd#8 ← bitmap_line_xdyi::yd#0 +Coalesced [950] bitmap_line_xdyi::x#9 ← bitmap_line_xdyi::x#0 +Coalesced [951] bitmap_line_xdyi::y#9 ← bitmap_line_xdyi::y#0 +Coalesced [952] bitmap_line_xdyi::xd#8 ← bitmap_line_xdyi::xd#0 +Coalesced [953] bitmap_line_xdyi::x1#8 ← bitmap_line_xdyi::x1#0 +Coalesced [963] bitmap_line_ydxd::xd#7 ← bitmap_line_ydxd::xd#0 +Coalesced [964] bitmap_line_ydxd::x#8 ← bitmap_line_ydxd::x#0 +Coalesced [965] bitmap_line_ydxd::y#9 ← bitmap_line_ydxd::y#0 +Coalesced [966] bitmap_line_ydxd::yd#7 ← bitmap_line_ydxd::yd#0 +Coalesced [967] bitmap_line_ydxd::y1#7 ← bitmap_line_ydxd::y1#0 +Coalesced [975] bitmap_line_xdyd::yd#8 ← bitmap_line_xdyd::yd#0 +Coalesced [976] bitmap_line_xdyd::x#9 ← bitmap_line_xdyd::x#0 +Coalesced [977] bitmap_line_xdyd::y#9 ← bitmap_line_xdyd::y#0 +Coalesced [978] bitmap_line_xdyd::xd#8 ← bitmap_line_xdyd::xd#0 +Coalesced [979] bitmap_line_xdyd::x1#8 ← bitmap_line_xdyd::x1#0 +Coalesced [991] bitmap_line_ydxd::xd#8 ← bitmap_line_ydxd::xd#1 +Coalesced [992] bitmap_line_ydxd::x#9 ← bitmap_line_ydxd::x#1 +Coalesced [993] bitmap_line_ydxd::y#10 ← bitmap_line_ydxd::y#1 +Coalesced [994] bitmap_line_ydxd::yd#8 ← bitmap_line_ydxd::yd#1 +Coalesced [995] bitmap_line_ydxd::y1#8 ← bitmap_line_ydxd::y1#1 +Coalesced [1003] bitmap_line_xdyd::yd#7 ← bitmap_line_xdyd::yd#1 +Coalesced [1004] bitmap_line_xdyd::x#8 ← bitmap_line_xdyd::x#1 +Coalesced [1005] bitmap_line_xdyd::y#8 ← bitmap_line_xdyd::y#1 +Coalesced [1006] bitmap_line_xdyd::xd#7 ← bitmap_line_xdyd::xd#1 +Coalesced [1007] bitmap_line_xdyd::x1#7 ← bitmap_line_xdyd::x1#1 +Coalesced [1017] bitmap_line_ydxi::xd#7 ← bitmap_line_ydxi::xd#1 +Coalesced [1018] bitmap_line_ydxi::x#8 ← bitmap_line_ydxi::x#1 +Coalesced [1019] bitmap_line_ydxi::y#8 ← bitmap_line_ydxi::y#1 +Coalesced [1020] bitmap_line_ydxi::yd#7 ← bitmap_line_ydxi::yd#1 +Coalesced [1021] bitmap_line_ydxi::y1#7 ← bitmap_line_ydxi::y1#1 +Coalesced [1029] bitmap_line_xdyi::yd#7 ← bitmap_line_xdyi::yd#1 +Coalesced [1030] bitmap_line_xdyi::x#8 ← bitmap_line_xdyi::x#1 +Coalesced [1031] bitmap_line_xdyi::y#8 ← bitmap_line_xdyi::y#1 +Coalesced [1032] bitmap_line_xdyi::xd#7 ← bitmap_line_xdyi::xd#1 +Coalesced [1033] bitmap_line_xdyi::x1#7 ← bitmap_line_xdyi::x1#1 +Coalesced [1045] dtvSetCpuBankSegment1::cpuBankIdx#15 ← dtvSetCpuBankSegment1::cpuBankIdx#11 +Coalesced [1052] gfx_init_plane_fill::gfxb#7 ← gfx_init_plane_fill::gfxb#3 +Coalesced [1064] gfx_init_plane_fill::gfxb#5 ← gfx_init_plane_fill::gfxb#1 +Coalesced [1065] gfx_init_plane_fill::by#5 ← gfx_init_plane_fill::by#1 +Coalesced (already) [1066] gfx_init_plane_fill::gfxb#8 ← gfx_init_plane_fill::gfxb#1 +Coalesced [1067] gfx_init_plane_fill::bx#3 ← gfx_init_plane_fill::bx#1 +Coalesced [1077] memset::dst#5 ← memset::dst#1 +Coalesced [1081] print_line_cursor#70 ← print_line_cursor#1 +Coalesced (already) [1087] print_line_cursor#71 ← print_line_cursor#2 +Coalesced [1094] print_str_at::str#5 ← print_str_at::str#1 +Coalesced [1101] print_str_at::str#6 ← print_str_at::str#0 +Coalesced [1102] print_str_at::at#5 ← print_str_at::at#0 +Coalesced [1114] bitmap_line_ydxi::x#10 ← bitmap_line_ydxi::x#5 +Coalesced [1115] bitmap_line_ydxi::y#10 ← bitmap_line_ydxi::y#6 +Coalesced [1116] bitmap_line_ydxi::e#7 ← bitmap_line_ydxi::e#0 +Coalesced [1120] bitmap_plot::x#8 ← bitmap_plot::x#2 +Coalesced [1121] bitmap_plot::y#8 ← bitmap_plot::y#2 +Coalesced [1128] bitmap_line_ydxi::x#12 ← bitmap_line_ydxi::x#2 +Coalesced [1129] bitmap_line_ydxi::e#9 ← bitmap_line_ydxi::e#2 +Coalesced [1134] bitmap_line_ydxi::x#11 ← bitmap_line_ydxi::x#6 +Coalesced [1135] bitmap_line_ydxi::y#11 ← bitmap_line_ydxi::y#2 +Coalesced [1136] bitmap_line_ydxi::e#8 ← bitmap_line_ydxi::e#6 +Coalesced (already) [1137] bitmap_line_ydxi::x#13 ← bitmap_line_ydxi::x#3 +Coalesced [1138] bitmap_line_ydxi::e#10 ← bitmap_line_ydxi::e#1 +Coalesced [1141] bitmap_line_xdyi::x#10 ← bitmap_line_xdyi::x#6 +Coalesced [1142] bitmap_line_xdyi::y#10 ← bitmap_line_xdyi::y#5 +Coalesced [1143] bitmap_line_xdyi::e#7 ← bitmap_line_xdyi::e#0 +Coalesced [1147] bitmap_plot::x#6 ← bitmap_plot::x#0 +Coalesced [1148] bitmap_plot::y#6 ← bitmap_plot::y#0 +Coalesced [1155] bitmap_line_xdyi::y#12 ← bitmap_line_xdyi::y#2 +Coalesced [1156] bitmap_line_xdyi::e#9 ← bitmap_line_xdyi::e#2 +Coalesced [1161] bitmap_line_xdyi::x#11 ← bitmap_line_xdyi::x#2 +Coalesced [1162] bitmap_line_xdyi::y#11 ← bitmap_line_xdyi::y#6 +Coalesced [1163] bitmap_line_xdyi::e#8 ← bitmap_line_xdyi::e#6 +Coalesced (already) [1164] bitmap_line_xdyi::y#13 ← bitmap_line_xdyi::y#3 +Coalesced [1165] bitmap_line_xdyi::e#10 ← bitmap_line_xdyi::e#1 +Coalesced [1168] bitmap_line_ydxd::x#10 ← bitmap_line_ydxd::x#5 +Coalesced [1169] bitmap_line_ydxd::y#11 ← bitmap_line_ydxd::y#7 +Coalesced [1170] bitmap_line_ydxd::e#7 ← bitmap_line_ydxd::e#0 +Coalesced [1174] bitmap_plot::x#7 ← bitmap_plot::x#3 +Coalesced [1175] bitmap_plot::y#7 ← bitmap_plot::y#3 +Coalesced [1182] bitmap_line_ydxd::x#12 ← bitmap_line_ydxd::x#2 +Coalesced [1183] bitmap_line_ydxd::e#9 ← bitmap_line_ydxd::e#2 +Coalesced [1188] bitmap_line_ydxd::x#11 ← bitmap_line_ydxd::x#6 +Coalesced [1189] bitmap_line_ydxd::y#12 ← bitmap_line_ydxd::y#3 +Coalesced [1190] bitmap_line_ydxd::e#8 ← bitmap_line_ydxd::e#6 +Coalesced (already) [1191] bitmap_line_ydxd::x#13 ← bitmap_line_ydxd::x#3 +Coalesced [1192] bitmap_line_ydxd::e#10 ← bitmap_line_ydxd::e#1 +Coalesced [1195] bitmap_line_xdyd::x#10 ← bitmap_line_xdyd::x#6 +Coalesced [1196] bitmap_line_xdyd::y#10 ← bitmap_line_xdyd::y#5 +Coalesced [1197] bitmap_line_xdyd::e#7 ← bitmap_line_xdyd::e#0 +Coalesced [1201] bitmap_plot::x#5 ← bitmap_plot::x#1 +Coalesced [1202] bitmap_plot::y#5 ← bitmap_plot::y#1 +Coalesced [1209] bitmap_line_xdyd::y#12 ← bitmap_line_xdyd::y#2 +Coalesced [1210] bitmap_line_xdyd::e#9 ← bitmap_line_xdyd::e#2 +Coalesced [1215] bitmap_line_xdyd::x#11 ← bitmap_line_xdyd::x#2 +Coalesced [1216] bitmap_line_xdyd::y#11 ← bitmap_line_xdyd::y#6 +Coalesced [1217] bitmap_line_xdyd::e#8 ← bitmap_line_xdyd::e#6 +Coalesced (already) [1218] bitmap_line_xdyd::y#13 ← bitmap_line_xdyd::y#3 +Coalesced [1219] bitmap_line_xdyd::e#10 ← bitmap_line_xdyd::e#1 Coalesced down to 121 phi equivalence classes Culled Empty Block (label) main::@4 Culled Empty Block (label) main::@6 @@ -9869,1537 +9865,1539 @@ gfx_mode::@9: scope:[gfx_mode] from gfx_mode::@18 gfx_mode::@8 gfx_mode::@27: scope:[gfx_mode] from gfx_mode::@9 [133] (dword~) gfx_mode::$20 ← (dword) get_plane::return#16 [134] (dword) gfx_mode::plane_a#0 ← (dword~) gfx_mode::$20 + (byte) gfx_mode::plane_a_offs#0 - [135] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 - [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$24 + [135] (word~) gfx_mode::$22 ← < (dword) gfx_mode::plane_a#0 + [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$22 [137] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$23 - [138] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 - [139] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 - [140] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 - [141] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 - [142] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 - [143] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 - [144] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) - [145] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 - [146] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 - [147] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) - [148] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 - [149] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 - [150] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 - [151] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) - [152] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) - [153] call get_plane - [154] (dword) get_plane::return#17 ← (dword) get_plane::return#14 + [138] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 + [139] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 + [140] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 + [141] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 + [142] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 + [143] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 + [144] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 + [145] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) + [146] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 + [147] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 + [148] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) + [149] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 + [150] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 + [151] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 + [152] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) + [153] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) + [154] call get_plane + [155] (dword) get_plane::return#17 ← (dword) get_plane::return#14 to:gfx_mode::@28 gfx_mode::@28: scope:[gfx_mode] from gfx_mode::@27 - [155] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 - [156] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 - [157] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 - [158] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$38 - [159] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 - [160] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 - [161] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 - [162] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 - [163] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 - [164] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 - [165] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 - [166] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) - [167] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 - [168] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 - [169] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) - [170] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 - [171] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 - [172] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 - [173] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 - [174] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) - [175] call get_vic_screen - [176] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 + [156] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 + [157] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 + [158] (word~) gfx_mode::$36 ← < (dword) gfx_mode::plane_b#0 + [159] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$36 + [160] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 + [161] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 + [162] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 + [163] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 + [164] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 + [165] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 + [166] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 + [167] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 + [168] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) + [169] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 + [170] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 + [171] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) + [172] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 + [173] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 + [174] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 + [175] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 + [176] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) + [177] call get_vic_screen + [178] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 to:gfx_mode::@29 gfx_mode::@29: scope:[gfx_mode] from gfx_mode::@28 - [177] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 - [178] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff - [179] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 - [180] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) - [181] call get_vic_charset - [182] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 + [179] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 + [180] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff + [181] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 + [182] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) + [183] call get_vic_charset + [184] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 to:gfx_mode::@30 gfx_mode::@30: scope:[gfx_mode] from gfx_mode::@29 - [183] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 - [184] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff - [185] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 - [186] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 - [187] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 - [188] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 - [189] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 - [190] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) - [191] call get_vic_screen - [192] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 + [185] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 + [186] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff + [187] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 + [188] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 + [189] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 + [190] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 + [191] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 + [192] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) + [193] call get_vic_screen + [194] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 to:gfx_mode::@31 gfx_mode::@31: scope:[gfx_mode] from gfx_mode::@30 - [193] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 + [195] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 to:gfx_mode::@19 gfx_mode::@19: scope:[gfx_mode] from gfx_mode::@21 gfx_mode::@31 - [194] (byte) gfx_mode::cy#4 ← phi( gfx_mode::@21/(byte) gfx_mode::cy#1 gfx_mode::@31/(byte) 0 ) - [194] (byte*) gfx_mode::col#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::col#1 gfx_mode::@31/(const nomodify byte*) COLS ) - [194] (byte*) gfx_mode::vic_colors#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::vic_colors#1 gfx_mode::@31/(byte*) gfx_mode::vic_colors#0 ) + [196] (byte) gfx_mode::cy#4 ← phi( gfx_mode::@21/(byte) gfx_mode::cy#1 gfx_mode::@31/(byte) 0 ) + [196] (byte*) gfx_mode::col#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::col#1 gfx_mode::@31/(const nomodify byte*) COLS ) + [196] (byte*) gfx_mode::vic_colors#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::vic_colors#1 gfx_mode::@31/(byte*) gfx_mode::vic_colors#0 ) to:gfx_mode::@20 gfx_mode::@20: scope:[gfx_mode] from gfx_mode::@19 gfx_mode::@20 - [195] (byte) gfx_mode::cx#2 ← phi( gfx_mode::@19/(byte) 0 gfx_mode::@20/(byte) gfx_mode::cx#1 ) - [195] (byte*) gfx_mode::col#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::col#3 gfx_mode::@20/(byte*) gfx_mode::col#1 ) - [195] (byte*) gfx_mode::vic_colors#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::vic_colors#3 gfx_mode::@20/(byte*) gfx_mode::vic_colors#1 ) - [196] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) - [197] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 - [198] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 - [199] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 - [200] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 + [197] (byte) gfx_mode::cx#2 ← phi( gfx_mode::@19/(byte) 0 gfx_mode::@20/(byte) gfx_mode::cx#1 ) + [197] (byte*) gfx_mode::col#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::col#3 gfx_mode::@20/(byte*) gfx_mode::col#1 ) + [197] (byte*) gfx_mode::vic_colors#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::vic_colors#3 gfx_mode::@20/(byte*) gfx_mode::vic_colors#1 ) + [198] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) + [199] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 + [200] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 + [201] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 + [202] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 to:gfx_mode::@21 gfx_mode::@21: scope:[gfx_mode] from gfx_mode::@20 - [201] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 - [202] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 + [203] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 + [204] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 to:gfx_mode::@22 gfx_mode::@22: scope:[gfx_mode] from gfx_mode::@21 - [203] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 - [204] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 - [205] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) - [206] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 - [207] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 - [208] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) - [209] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 - [210] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 - [211] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) - [212] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 - [213] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 - [214] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) - [215] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 - [216] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 + [205] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 + [206] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 + [207] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) + [208] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 + [209] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 + [210] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) + [211] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 + [212] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 + [213] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) + [214] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 + [215] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 + [216] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) + [217] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 + [218] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 to:gfx_mode::@23 gfx_mode::@23: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@23 - [217] (byte) gfx_mode::j#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@23/(byte) gfx_mode::j#1 ) - [218] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 - [219] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 - [220] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 + [219] (byte) gfx_mode::j#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@23/(byte) gfx_mode::j#1 ) + [220] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 + [221] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 + [222] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 to:gfx_mode::@25 gfx_mode::@25: scope:[gfx_mode] from gfx_mode::@23 gfx_mode::@24 gfx_mode::@25 gfx_mode::@33 - [221] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 + [223] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 to:gfx_mode::@26 gfx_mode::@26: scope:[gfx_mode] from gfx_mode::@25 - [222] phi() - [223] call keyboard_event_scan + [224] phi() + [225] call keyboard_event_scan to:gfx_mode::@32 gfx_mode::@32: scope:[gfx_mode] from gfx_mode::@26 - [224] phi() - [225] call keyboard_event_get - [226] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 + [226] phi() + [227] call keyboard_event_get + [228] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 to:gfx_mode::@33 gfx_mode::@33: scope:[gfx_mode] from gfx_mode::@32 - [227] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 - [228] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return + [229] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 + [230] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return to:gfx_mode::@25 gfx_mode::@return: scope:[gfx_mode] from gfx_mode::@33 - [229] return + [231] return to:@return gfx_mode::@24: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@24 - [230] (byte) gfx_mode::i#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@24/(byte) gfx_mode::i#1 ) - [231] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) - [232] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 - [233] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 + [232] (byte) gfx_mode::i#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@24/(byte) gfx_mode::i#1 ) + [233] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) + [234] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 + [235] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 to:gfx_mode::@25 (void()) gfx_init_screen0() gfx_init_screen0: scope:[gfx_init_screen0] from gfx_init - [234] phi() + [236] phi() to:gfx_init_screen0::@1 gfx_init_screen0::@1: scope:[gfx_init_screen0] from gfx_init_screen0 gfx_init_screen0::@3 - [235] (byte*) gfx_init_screen0::ch#3 ← phi( gfx_init_screen0/(const nomodify byte*) VIC_SCREEN0 gfx_init_screen0::@3/(byte*) gfx_init_screen0::ch#1 ) - [235] (byte) gfx_init_screen0::cy#4 ← phi( gfx_init_screen0/(byte) 0 gfx_init_screen0::@3/(byte) gfx_init_screen0::cy#1 ) + [237] (byte*) gfx_init_screen0::ch#3 ← phi( gfx_init_screen0/(const nomodify byte*) VIC_SCREEN0 gfx_init_screen0::@3/(byte*) gfx_init_screen0::ch#1 ) + [237] (byte) gfx_init_screen0::cy#4 ← phi( gfx_init_screen0/(byte) 0 gfx_init_screen0::@3/(byte) gfx_init_screen0::cy#1 ) to:gfx_init_screen0::@2 gfx_init_screen0::@2: scope:[gfx_init_screen0] from gfx_init_screen0::@1 gfx_init_screen0::@2 - [236] (byte*) gfx_init_screen0::ch#2 ← phi( gfx_init_screen0::@1/(byte*) gfx_init_screen0::ch#3 gfx_init_screen0::@2/(byte*) gfx_init_screen0::ch#1 ) - [236] (byte) gfx_init_screen0::cx#2 ← phi( gfx_init_screen0::@1/(byte) 0 gfx_init_screen0::@2/(byte) gfx_init_screen0::cx#1 ) - [237] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f - [238] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 - [239] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f - [240] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 - [241] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 - [242] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 - [243] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 - [244] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 + [238] (byte*) gfx_init_screen0::ch#2 ← phi( gfx_init_screen0::@1/(byte*) gfx_init_screen0::ch#3 gfx_init_screen0::@2/(byte*) gfx_init_screen0::ch#1 ) + [238] (byte) gfx_init_screen0::cx#2 ← phi( gfx_init_screen0::@1/(byte) 0 gfx_init_screen0::@2/(byte) gfx_init_screen0::cx#1 ) + [239] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f + [240] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 + [241] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f + [242] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 + [243] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 + [244] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 + [245] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 + [246] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 to:gfx_init_screen0::@3 gfx_init_screen0::@3: scope:[gfx_init_screen0] from gfx_init_screen0::@2 - [245] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 - [246] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 + [247] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 + [248] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 to:gfx_init_screen0::@return gfx_init_screen0::@return: scope:[gfx_init_screen0] from gfx_init_screen0::@3 - [247] return + [249] return to:@return (void()) gfx_init_screen1() gfx_init_screen1: scope:[gfx_init_screen1] from gfx_init::@1 - [248] phi() + [250] phi() to:gfx_init_screen1::@1 gfx_init_screen1::@1: scope:[gfx_init_screen1] from gfx_init_screen1 gfx_init_screen1::@3 - [249] (byte*) gfx_init_screen1::ch#3 ← phi( gfx_init_screen1/(const nomodify byte*) VIC_SCREEN1 gfx_init_screen1::@3/(byte*) gfx_init_screen1::ch#1 ) - [249] (byte) gfx_init_screen1::cy#4 ← phi( gfx_init_screen1/(byte) 0 gfx_init_screen1::@3/(byte) gfx_init_screen1::cy#1 ) + [251] (byte*) gfx_init_screen1::ch#3 ← phi( gfx_init_screen1/(const nomodify byte*) VIC_SCREEN1 gfx_init_screen1::@3/(byte*) gfx_init_screen1::ch#1 ) + [251] (byte) gfx_init_screen1::cy#4 ← phi( gfx_init_screen1/(byte) 0 gfx_init_screen1::@3/(byte) gfx_init_screen1::cy#1 ) to:gfx_init_screen1::@2 gfx_init_screen1::@2: scope:[gfx_init_screen1] from gfx_init_screen1::@1 gfx_init_screen1::@2 - [250] (byte*) gfx_init_screen1::ch#2 ← phi( gfx_init_screen1::@1/(byte*) gfx_init_screen1::ch#3 gfx_init_screen1::@2/(byte*) gfx_init_screen1::ch#1 ) - [250] (byte) gfx_init_screen1::cx#2 ← phi( gfx_init_screen1::@1/(byte) 0 gfx_init_screen1::@2/(byte) gfx_init_screen1::cx#1 ) - [251] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 - [252] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f - [253] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 - [254] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 - [255] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 - [256] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 + [252] (byte*) gfx_init_screen1::ch#2 ← phi( gfx_init_screen1::@1/(byte*) gfx_init_screen1::ch#3 gfx_init_screen1::@2/(byte*) gfx_init_screen1::ch#1 ) + [252] (byte) gfx_init_screen1::cx#2 ← phi( gfx_init_screen1::@1/(byte) 0 gfx_init_screen1::@2/(byte) gfx_init_screen1::cx#1 ) + [253] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 + [254] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f + [255] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 + [256] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 + [257] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 + [258] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 to:gfx_init_screen1::@3 gfx_init_screen1::@3: scope:[gfx_init_screen1] from gfx_init_screen1::@2 - [257] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 - [258] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 + [259] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 + [260] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 to:gfx_init_screen1::@return gfx_init_screen1::@return: scope:[gfx_init_screen1] from gfx_init_screen1::@3 - [259] return + [261] return to:@return (void()) gfx_init_screen2() gfx_init_screen2: scope:[gfx_init_screen2] from gfx_init::@2 - [260] phi() + [262] phi() to:gfx_init_screen2::@1 gfx_init_screen2::@1: scope:[gfx_init_screen2] from gfx_init_screen2 gfx_init_screen2::@3 - [261] (byte*) gfx_init_screen2::ch#3 ← phi( gfx_init_screen2/(const nomodify byte*) VIC_SCREEN2 gfx_init_screen2::@3/(byte*) gfx_init_screen2::ch#1 ) - [261] (byte) gfx_init_screen2::cy#4 ← phi( gfx_init_screen2/(byte) 0 gfx_init_screen2::@3/(byte) gfx_init_screen2::cy#1 ) + [263] (byte*) gfx_init_screen2::ch#3 ← phi( gfx_init_screen2/(const nomodify byte*) VIC_SCREEN2 gfx_init_screen2::@3/(byte*) gfx_init_screen2::ch#1 ) + [263] (byte) gfx_init_screen2::cy#4 ← phi( gfx_init_screen2/(byte) 0 gfx_init_screen2::@3/(byte) gfx_init_screen2::cy#1 ) to:gfx_init_screen2::@2 gfx_init_screen2::@2: scope:[gfx_init_screen2] from gfx_init_screen2::@1 gfx_init_screen2::@2 - [262] (byte*) gfx_init_screen2::ch#2 ← phi( gfx_init_screen2::@1/(byte*) gfx_init_screen2::ch#3 gfx_init_screen2::@2/(byte*) gfx_init_screen2::ch#1 ) - [262] (byte) gfx_init_screen2::cx#2 ← phi( gfx_init_screen2::@1/(byte) 0 gfx_init_screen2::@2/(byte) gfx_init_screen2::cx#1 ) - [263] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 - [264] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f - [265] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 - [266] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 - [267] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 - [268] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 - [269] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 - [270] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 - [271] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 + [264] (byte*) gfx_init_screen2::ch#2 ← phi( gfx_init_screen2::@1/(byte*) gfx_init_screen2::ch#3 gfx_init_screen2::@2/(byte*) gfx_init_screen2::ch#1 ) + [264] (byte) gfx_init_screen2::cx#2 ← phi( gfx_init_screen2::@1/(byte) 0 gfx_init_screen2::@2/(byte) gfx_init_screen2::cx#1 ) + [265] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 + [266] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f + [267] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 + [268] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 + [269] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 + [270] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 + [271] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 + [272] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 + [273] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 to:gfx_init_screen2::@3 gfx_init_screen2::@3: scope:[gfx_init_screen2] from gfx_init_screen2::@2 - [272] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 - [273] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 + [274] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 + [275] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 to:gfx_init_screen2::@return gfx_init_screen2::@return: scope:[gfx_init_screen2] from gfx_init_screen2::@3 - [274] return + [276] return to:@return (void()) gfx_init_screen3() gfx_init_screen3: scope:[gfx_init_screen3] from gfx_init::@3 - [275] phi() + [277] phi() to:gfx_init_screen3::@1 gfx_init_screen3::@1: scope:[gfx_init_screen3] from gfx_init_screen3 gfx_init_screen3::@3 - [276] (byte*) gfx_init_screen3::ch#3 ← phi( gfx_init_screen3/(const nomodify byte*) VIC_SCREEN3 gfx_init_screen3::@3/(byte*) gfx_init_screen3::ch#1 ) - [276] (byte) gfx_init_screen3::cy#4 ← phi( gfx_init_screen3/(byte) 0 gfx_init_screen3::@3/(byte) gfx_init_screen3::cy#1 ) + [278] (byte*) gfx_init_screen3::ch#3 ← phi( gfx_init_screen3/(const nomodify byte*) VIC_SCREEN3 gfx_init_screen3::@3/(byte*) gfx_init_screen3::ch#1 ) + [278] (byte) gfx_init_screen3::cy#4 ← phi( gfx_init_screen3/(byte) 0 gfx_init_screen3::@3/(byte) gfx_init_screen3::cy#1 ) to:gfx_init_screen3::@2 gfx_init_screen3::@2: scope:[gfx_init_screen3] from gfx_init_screen3::@1 gfx_init_screen3::@2 - [277] (byte*) gfx_init_screen3::ch#2 ← phi( gfx_init_screen3::@1/(byte*) gfx_init_screen3::ch#3 gfx_init_screen3::@2/(byte*) gfx_init_screen3::ch#1 ) - [277] (byte) gfx_init_screen3::cx#2 ← phi( gfx_init_screen3::@1/(byte) 0 gfx_init_screen3::@2/(byte) gfx_init_screen3::cx#1 ) - [278] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 - [279] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 - [280] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 - [281] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 - [282] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 - [283] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 - [284] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 - [285] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 + [279] (byte*) gfx_init_screen3::ch#2 ← phi( gfx_init_screen3::@1/(byte*) gfx_init_screen3::ch#3 gfx_init_screen3::@2/(byte*) gfx_init_screen3::ch#1 ) + [279] (byte) gfx_init_screen3::cx#2 ← phi( gfx_init_screen3::@1/(byte) 0 gfx_init_screen3::@2/(byte) gfx_init_screen3::cx#1 ) + [280] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 + [281] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 + [282] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 + [283] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 + [284] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 + [285] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 + [286] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 + [287] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 to:gfx_init_screen3::@3 gfx_init_screen3::@3: scope:[gfx_init_screen3] from gfx_init_screen3::@2 - [286] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 - [287] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 + [288] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 + [289] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 to:gfx_init_screen3::@return gfx_init_screen3::@return: scope:[gfx_init_screen3] from gfx_init_screen3::@3 - [288] return + [290] return to:@return (void()) gfx_init_screen4() gfx_init_screen4: scope:[gfx_init_screen4] from gfx_init::@4 - [289] phi() + [291] phi() to:gfx_init_screen4::@1 gfx_init_screen4::@1: scope:[gfx_init_screen4] from gfx_init_screen4 gfx_init_screen4::@3 - [290] (byte) gfx_init_screen4::cy#4 ← phi( gfx_init_screen4/(byte) 0 gfx_init_screen4::@3/(byte) gfx_init_screen4::cy#1 ) - [290] (byte*) gfx_init_screen4::ch#3 ← phi( gfx_init_screen4/(const nomodify byte*) VIC_SCREEN4 gfx_init_screen4::@3/(byte*) gfx_init_screen4::ch#1 ) + [292] (byte) gfx_init_screen4::cy#4 ← phi( gfx_init_screen4/(byte) 0 gfx_init_screen4::@3/(byte) gfx_init_screen4::cy#1 ) + [292] (byte*) gfx_init_screen4::ch#3 ← phi( gfx_init_screen4/(const nomodify byte*) VIC_SCREEN4 gfx_init_screen4::@3/(byte*) gfx_init_screen4::ch#1 ) to:gfx_init_screen4::@2 gfx_init_screen4::@2: scope:[gfx_init_screen4] from gfx_init_screen4::@1 gfx_init_screen4::@2 - [291] (byte) gfx_init_screen4::cx#2 ← phi( gfx_init_screen4::@1/(byte) 0 gfx_init_screen4::@2/(byte) gfx_init_screen4::cx#1 ) - [291] (byte*) gfx_init_screen4::ch#2 ← phi( gfx_init_screen4::@1/(byte*) gfx_init_screen4::ch#3 gfx_init_screen4::@2/(byte*) gfx_init_screen4::ch#1 ) - [292] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 - [293] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 - [294] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 - [295] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 + [293] (byte) gfx_init_screen4::cx#2 ← phi( gfx_init_screen4::@1/(byte) 0 gfx_init_screen4::@2/(byte) gfx_init_screen4::cx#1 ) + [293] (byte*) gfx_init_screen4::ch#2 ← phi( gfx_init_screen4::@1/(byte*) gfx_init_screen4::ch#3 gfx_init_screen4::@2/(byte*) gfx_init_screen4::ch#1 ) + [294] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 + [295] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 + [296] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 + [297] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 to:gfx_init_screen4::@3 gfx_init_screen4::@3: scope:[gfx_init_screen4] from gfx_init_screen4::@2 - [296] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 - [297] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 + [298] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 + [299] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 to:gfx_init_screen4::@return gfx_init_screen4::@return: scope:[gfx_init_screen4] from gfx_init_screen4::@3 - [298] return + [300] return to:@return (void()) gfx_init_charset() gfx_init_charset: scope:[gfx_init_charset] from gfx_init::@5 - [299] *((const nomodify byte*) PROCPORT) ← (byte) $32 + [301] *((const nomodify byte*) PROCPORT) ← (byte) $32 to:gfx_init_charset::@1 gfx_init_charset::@1: scope:[gfx_init_charset] from gfx_init_charset gfx_init_charset::@3 - [300] (byte) gfx_init_charset::c#4 ← phi( gfx_init_charset/(byte) 0 gfx_init_charset::@3/(byte) gfx_init_charset::c#1 ) - [300] (byte*) gfx_init_charset::charset#3 ← phi( gfx_init_charset/(const nomodify byte*) VIC_CHARSET_ROM gfx_init_charset::@3/(byte*) gfx_init_charset::charset#1 ) - [300] (byte*) gfx_init_charset::chargen#3 ← phi( gfx_init_charset/(const nomodify byte*) CHARGEN gfx_init_charset::@3/(byte*) gfx_init_charset::chargen#1 ) + [302] (byte) gfx_init_charset::c#4 ← phi( gfx_init_charset/(byte) 0 gfx_init_charset::@3/(byte) gfx_init_charset::c#1 ) + [302] (byte*) gfx_init_charset::charset#3 ← phi( gfx_init_charset/(const nomodify byte*) VIC_CHARSET_ROM gfx_init_charset::@3/(byte*) gfx_init_charset::charset#1 ) + [302] (byte*) gfx_init_charset::chargen#3 ← phi( gfx_init_charset/(const nomodify byte*) CHARGEN gfx_init_charset::@3/(byte*) gfx_init_charset::chargen#1 ) to:gfx_init_charset::@2 gfx_init_charset::@2: scope:[gfx_init_charset] from gfx_init_charset::@1 gfx_init_charset::@2 - [301] (byte) gfx_init_charset::l#2 ← phi( gfx_init_charset::@1/(byte) 0 gfx_init_charset::@2/(byte) gfx_init_charset::l#1 ) - [301] (byte*) gfx_init_charset::charset#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::charset#3 gfx_init_charset::@2/(byte*) gfx_init_charset::charset#1 ) - [301] (byte*) gfx_init_charset::chargen#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::chargen#3 gfx_init_charset::@2/(byte*) gfx_init_charset::chargen#1 ) - [302] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) - [303] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 - [304] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 - [305] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 - [306] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 + [303] (byte) gfx_init_charset::l#2 ← phi( gfx_init_charset::@1/(byte) 0 gfx_init_charset::@2/(byte) gfx_init_charset::l#1 ) + [303] (byte*) gfx_init_charset::charset#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::charset#3 gfx_init_charset::@2/(byte*) gfx_init_charset::charset#1 ) + [303] (byte*) gfx_init_charset::chargen#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::chargen#3 gfx_init_charset::@2/(byte*) gfx_init_charset::chargen#1 ) + [304] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) + [305] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 + [306] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 + [307] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 + [308] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 to:gfx_init_charset::@3 gfx_init_charset::@3: scope:[gfx_init_charset] from gfx_init_charset::@2 - [307] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 - [308] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 + [309] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 + [310] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 to:gfx_init_charset::@4 gfx_init_charset::@4: scope:[gfx_init_charset] from gfx_init_charset::@3 - [309] *((const nomodify byte*) PROCPORT) ← (byte) $37 + [311] *((const nomodify byte*) PROCPORT) ← (byte) $37 to:gfx_init_charset::@return gfx_init_charset::@return: scope:[gfx_init_charset] from gfx_init_charset::@4 - [310] return + [312] return to:@return (void()) gfx_init_vic_bitmap() gfx_init_vic_bitmap: scope:[gfx_init_vic_bitmap] from gfx_init::@6 - [311] phi() - [312] call bitmap_init + [313] phi() + [314] call bitmap_init to:gfx_init_vic_bitmap::@3 gfx_init_vic_bitmap::@3: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap - [313] phi() - [314] call bitmap_clear + [315] phi() + [316] call bitmap_clear to:gfx_init_vic_bitmap::@1 gfx_init_vic_bitmap::@1: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@3 gfx_init_vic_bitmap::@4 - [315] (byte) gfx_init_vic_bitmap::l#2 ← phi( gfx_init_vic_bitmap::@3/(byte) 0 gfx_init_vic_bitmap::@4/(byte) gfx_init_vic_bitmap::l#1 ) - [316] if((byte) gfx_init_vic_bitmap::l#2<(const byte) gfx_init_vic_bitmap::lines_cnt) goto gfx_init_vic_bitmap::@2 + [317] (byte) gfx_init_vic_bitmap::l#2 ← phi( gfx_init_vic_bitmap::@3/(byte) 0 gfx_init_vic_bitmap::@4/(byte) gfx_init_vic_bitmap::l#1 ) + [318] if((byte) gfx_init_vic_bitmap::l#2<(const byte) gfx_init_vic_bitmap::lines_cnt) goto gfx_init_vic_bitmap::@2 to:gfx_init_vic_bitmap::@return gfx_init_vic_bitmap::@return: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@1 - [317] return + [319] return to:@return gfx_init_vic_bitmap::@2: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@1 - [318] (byte) bitmap_line::x0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x + (byte) gfx_init_vic_bitmap::l#2) - [319] (byte) bitmap_line::x1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) - [320] (byte) bitmap_line::y0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y + (byte) gfx_init_vic_bitmap::l#2) - [321] (byte) bitmap_line::y1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) - [322] call bitmap_line + [320] (byte) bitmap_line::x0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x + (byte) gfx_init_vic_bitmap::l#2) + [321] (byte) bitmap_line::x1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) + [322] (byte) bitmap_line::y0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y + (byte) gfx_init_vic_bitmap::l#2) + [323] (byte) bitmap_line::y1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) + [324] call bitmap_line to:gfx_init_vic_bitmap::@4 gfx_init_vic_bitmap::@4: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@2 - [323] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 + [325] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 to:gfx_init_vic_bitmap::@1 (void()) gfx_init_plane_8bppchunky() gfx_init_plane_8bppchunky: scope:[gfx_init_plane_8bppchunky] from gfx_init::@7 - [324] phi() - [325] call dtvSetCpuBankSegment1 + [326] phi() + [327] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@1: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@5 - [326] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky/++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 ) - [326] (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky/(byte) 0 ) - [326] (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky/(byte*) 16384 ) + [328] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky/++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 ) + [328] (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky/(byte) 0 ) + [328] (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky/(byte*) 16384 ) to:gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@2: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@3 - [327] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) - [327] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(word) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) - [327] (byte*) gfx_init_plane_8bppchunky::gfxb#3 ← phi( gfx_init_plane_8bppchunky::@1/(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) - [328] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 + [329] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) + [329] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(word) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) + [329] (byte*) gfx_init_plane_8bppchunky::gfxb#3 ← phi( gfx_init_plane_8bppchunky::@1/(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) + [330] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 to:gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@4: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 - [329] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 - [330] call dtvSetCpuBankSegment1 + [331] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 + [332] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@7 gfx_init_plane_8bppchunky::@7: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@4 - [331] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 + [333] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 to:gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@3: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@7 - [332] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) - [332] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@7/(byte*) 16384 ) - [333] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 - [334] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 - [335] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 - [336] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 - [337] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 - [338] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 + [334] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) + [334] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@7/(byte*) 16384 ) + [335] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 + [336] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 + [337] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 + [338] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 + [339] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 + [340] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 to:gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@5: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@3 - [339] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 - [340] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 + [341] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 + [342] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 to:gfx_init_plane_8bppchunky::@6 gfx_init_plane_8bppchunky::@6: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@5 - [341] phi() - [342] call dtvSetCpuBankSegment1 + [343] phi() + [344] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@return gfx_init_plane_8bppchunky::@return: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@6 - [343] return + [345] return to:@return (void()) gfx_init_plane_charset8() gfx_init_plane_charset8: scope:[gfx_init_plane_charset8] from gfx_init::@8 - [344] phi() - [345] call dtvSetCpuBankSegment1 + [346] phi() + [347] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@9 gfx_init_plane_charset8::@9: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8 - [346] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM + [348] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM to:gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@1: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@9 - [347] (byte) gfx_init_plane_charset8::ch#8 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::ch#1 gfx_init_plane_charset8::@9/(byte) 0 ) - [347] (byte) gfx_init_plane_charset8::col#6 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::col#1 gfx_init_plane_charset8::@9/(byte) 0 ) - [347] (byte*) gfx_init_plane_charset8::gfxa#6 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::gfxa#1 gfx_init_plane_charset8::@9/(byte*)(word) $4000 ) - [347] (byte*) gfx_init_plane_charset8::chargen#3 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::@9/(const nomodify byte*) CHARGEN ) + [349] (byte) gfx_init_plane_charset8::ch#8 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::ch#1 gfx_init_plane_charset8::@9/(byte) 0 ) + [349] (byte) gfx_init_plane_charset8::col#6 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::col#1 gfx_init_plane_charset8::@9/(byte) 0 ) + [349] (byte*) gfx_init_plane_charset8::gfxa#6 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::gfxa#1 gfx_init_plane_charset8::@9/(byte*)(word) $4000 ) + [349] (byte*) gfx_init_plane_charset8::chargen#3 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::@9/(const nomodify byte*) CHARGEN ) to:gfx_init_plane_charset8::@2 gfx_init_plane_charset8::@2: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@6 - [348] (byte) gfx_init_plane_charset8::cr#6 ← phi( gfx_init_plane_charset8::@1/(byte) 0 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::cr#1 ) - [348] (byte) gfx_init_plane_charset8::col#5 ← phi( gfx_init_plane_charset8::@1/(byte) gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::col#1 ) - [348] (byte*) gfx_init_plane_charset8::gfxa#5 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::gfxa#1 ) - [348] (byte*) gfx_init_plane_charset8::chargen#2 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::chargen#1 ) - [349] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) - [350] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 + [350] (byte) gfx_init_plane_charset8::cr#6 ← phi( gfx_init_plane_charset8::@1/(byte) 0 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::cr#1 ) + [350] (byte) gfx_init_plane_charset8::col#5 ← phi( gfx_init_plane_charset8::@1/(byte) gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::col#1 ) + [350] (byte*) gfx_init_plane_charset8::gfxa#5 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::gfxa#1 ) + [350] (byte*) gfx_init_plane_charset8::chargen#2 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::chargen#1 ) + [351] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) + [352] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 to:gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@3: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@2 gfx_init_plane_charset8::@4 - [351] (byte) gfx_init_plane_charset8::cp#2 ← phi( gfx_init_plane_charset8::@2/(byte) 0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::cp#1 ) - [351] (byte) gfx_init_plane_charset8::col#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::col#1 ) - [351] (byte*) gfx_init_plane_charset8::gfxa#2 ← phi( gfx_init_plane_charset8::@2/(byte*) gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::@4/(byte*) gfx_init_plane_charset8::gfxa#1 ) - [351] (byte) gfx_init_plane_charset8::bits#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::bits#1 ) - [352] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 - [353] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 + [353] (byte) gfx_init_plane_charset8::cp#2 ← phi( gfx_init_plane_charset8::@2/(byte) 0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::cp#1 ) + [353] (byte) gfx_init_plane_charset8::col#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::col#1 ) + [353] (byte*) gfx_init_plane_charset8::gfxa#2 ← phi( gfx_init_plane_charset8::@2/(byte*) gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::@4/(byte*) gfx_init_plane_charset8::gfxa#1 ) + [353] (byte) gfx_init_plane_charset8::bits#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::bits#1 ) + [354] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 + [355] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 to:gfx_init_plane_charset8::@5 gfx_init_plane_charset8::@5: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 - [354] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 + [356] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 to:gfx_init_plane_charset8::@4 gfx_init_plane_charset8::@4: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@5 - [355] (byte) gfx_init_plane_charset8::c#2 ← phi( gfx_init_plane_charset8::@3/(byte) 0 gfx_init_plane_charset8::@5/(byte) gfx_init_plane_charset8::c#3 ) - [356] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 - [357] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 - [358] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 - [359] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 - [360] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 - [361] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 + [357] (byte) gfx_init_plane_charset8::c#2 ← phi( gfx_init_plane_charset8::@3/(byte) 0 gfx_init_plane_charset8::@5/(byte) gfx_init_plane_charset8::c#3 ) + [358] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 + [359] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 + [360] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 + [361] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 + [362] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 + [363] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 to:gfx_init_plane_charset8::@6 gfx_init_plane_charset8::@6: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@4 - [362] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 - [363] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 + [364] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 + [365] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 to:gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@7: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@6 - [364] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 - [365] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 + [366] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 + [367] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 to:gfx_init_plane_charset8::@8 gfx_init_plane_charset8::@8: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 - [366] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO - [367] call dtvSetCpuBankSegment1 + [368] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO + [369] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@return gfx_init_plane_charset8::@return: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@8 - [368] return + [370] return to:@return (void()) gfx_init_plane_horisontal() gfx_init_plane_horisontal: scope:[gfx_init_plane_horisontal] from gfx_init::@9 - [369] phi() - [370] call dtvSetCpuBankSegment1 + [371] phi() + [372] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal::@1 gfx_init_plane_horisontal::@1: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal gfx_init_plane_horisontal::@6 - [371] (byte*) gfx_init_plane_horisontal::gfxa#6 ← phi( gfx_init_plane_horisontal::@6/(byte*) gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal/(byte*)(word) $4000 ) - [371] (byte) gfx_init_plane_horisontal::ay#4 ← phi( gfx_init_plane_horisontal::@6/(byte) gfx_init_plane_horisontal::ay#1 gfx_init_plane_horisontal/(byte) 0 ) + [373] (byte*) gfx_init_plane_horisontal::gfxa#6 ← phi( gfx_init_plane_horisontal::@6/(byte*) gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal/(byte*)(word) $4000 ) + [373] (byte) gfx_init_plane_horisontal::ay#4 ← phi( gfx_init_plane_horisontal::@6/(byte) gfx_init_plane_horisontal::ay#1 gfx_init_plane_horisontal/(byte) 0 ) to:gfx_init_plane_horisontal::@2 gfx_init_plane_horisontal::@2: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@1 gfx_init_plane_horisontal::@4 - [372] (byte) gfx_init_plane_horisontal::ax#2 ← phi( gfx_init_plane_horisontal::@1/(byte) 0 gfx_init_plane_horisontal::@4/(byte) gfx_init_plane_horisontal::ax#1 ) - [372] (byte*) gfx_init_plane_horisontal::gfxa#3 ← phi( gfx_init_plane_horisontal::@1/(byte*) gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::@4/(byte*) gfx_init_plane_horisontal::gfxa#7 ) - [373] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 - [374] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 + [374] (byte) gfx_init_plane_horisontal::ax#2 ← phi( gfx_init_plane_horisontal::@1/(byte) 0 gfx_init_plane_horisontal::@4/(byte) gfx_init_plane_horisontal::ax#1 ) + [374] (byte*) gfx_init_plane_horisontal::gfxa#3 ← phi( gfx_init_plane_horisontal::@1/(byte*) gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::@4/(byte*) gfx_init_plane_horisontal::gfxa#7 ) + [375] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 + [376] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 to:gfx_init_plane_horisontal::@5 gfx_init_plane_horisontal::@5: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 - [375] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff - [376] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 + [377] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff + [378] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 gfx_init_plane_horisontal::@4: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 - [377] (byte*) gfx_init_plane_horisontal::gfxa#7 ← phi( gfx_init_plane_horisontal::@3/(byte*) gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::@5/(byte*) gfx_init_plane_horisontal::gfxa#2 ) - [378] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 - [379] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 + [379] (byte*) gfx_init_plane_horisontal::gfxa#7 ← phi( gfx_init_plane_horisontal::@3/(byte*) gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::@5/(byte*) gfx_init_plane_horisontal::gfxa#2 ) + [380] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 + [381] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 to:gfx_init_plane_horisontal::@6 gfx_init_plane_horisontal::@6: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@4 - [380] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 - [381] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 + [382] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 + [383] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 to:gfx_init_plane_horisontal::@7 gfx_init_plane_horisontal::@7: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@6 - [382] phi() - [383] call dtvSetCpuBankSegment1 + [384] phi() + [385] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal::@return gfx_init_plane_horisontal::@return: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@7 - [384] return + [386] return to:@return gfx_init_plane_horisontal::@3: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 - [385] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 - [386] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 + [387] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 + [388] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 (void()) gfx_init_plane_vertical() gfx_init_plane_vertical: scope:[gfx_init_plane_vertical] from gfx_init::@10 - [387] phi() - [388] call dtvSetCpuBankSegment1 + [389] phi() + [390] call dtvSetCpuBankSegment1 to:gfx_init_plane_vertical::@1 gfx_init_plane_vertical::@1: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical gfx_init_plane_vertical::@3 - [389] (byte) gfx_init_plane_vertical::by#4 ← phi( gfx_init_plane_vertical::@3/(byte) gfx_init_plane_vertical::by#1 gfx_init_plane_vertical/(byte) 0 ) - [389] (byte*) gfx_init_plane_vertical::gfxb#3 ← phi( gfx_init_plane_vertical::@3/(byte*) gfx_init_plane_vertical::gfxb#1 gfx_init_plane_vertical/(byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff ) + [391] (byte) gfx_init_plane_vertical::by#4 ← phi( gfx_init_plane_vertical::@3/(byte) gfx_init_plane_vertical::by#1 gfx_init_plane_vertical/(byte) 0 ) + [391] (byte*) gfx_init_plane_vertical::gfxb#3 ← phi( gfx_init_plane_vertical::@3/(byte*) gfx_init_plane_vertical::gfxb#1 gfx_init_plane_vertical/(byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff ) to:gfx_init_plane_vertical::@2 gfx_init_plane_vertical::@2: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@1 gfx_init_plane_vertical::@2 - [390] (byte) gfx_init_plane_vertical::bx#2 ← phi( gfx_init_plane_vertical::@1/(byte) 0 gfx_init_plane_vertical::@2/(byte) gfx_init_plane_vertical::bx#1 ) - [390] (byte*) gfx_init_plane_vertical::gfxb#2 ← phi( gfx_init_plane_vertical::@1/(byte*) gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::@2/(byte*) gfx_init_plane_vertical::gfxb#1 ) - [391] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f - [392] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 - [393] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 - [394] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 + [392] (byte) gfx_init_plane_vertical::bx#2 ← phi( gfx_init_plane_vertical::@1/(byte) 0 gfx_init_plane_vertical::@2/(byte) gfx_init_plane_vertical::bx#1 ) + [392] (byte*) gfx_init_plane_vertical::gfxb#2 ← phi( gfx_init_plane_vertical::@1/(byte*) gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::@2/(byte*) gfx_init_plane_vertical::gfxb#1 ) + [393] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f + [394] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 + [395] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 + [396] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 to:gfx_init_plane_vertical::@3 gfx_init_plane_vertical::@3: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@2 - [395] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 - [396] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 + [397] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 + [398] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 to:gfx_init_plane_vertical::@4 gfx_init_plane_vertical::@4: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@3 - [397] phi() - [398] call dtvSetCpuBankSegment1 + [399] phi() + [400] call dtvSetCpuBankSegment1 to:gfx_init_plane_vertical::@return gfx_init_plane_vertical::@return: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@4 - [399] return + [401] return to:@return (void()) gfx_init_plane_horisontal2() gfx_init_plane_horisontal2: scope:[gfx_init_plane_horisontal2] from gfx_init::@11 - [400] phi() - [401] call dtvSetCpuBankSegment1 + [402] phi() + [403] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal2::@1 gfx_init_plane_horisontal2::@1: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@3 - [402] (byte*) gfx_init_plane_horisontal2::gfxa#3 ← phi( gfx_init_plane_horisontal2::@3/(byte*) gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_horisontal2/(byte*)(word) $4000 ) - [402] (byte) gfx_init_plane_horisontal2::ay#4 ← phi( gfx_init_plane_horisontal2::@3/(byte) gfx_init_plane_horisontal2::ay#1 gfx_init_plane_horisontal2/(byte) 0 ) + [404] (byte*) gfx_init_plane_horisontal2::gfxa#3 ← phi( gfx_init_plane_horisontal2::@3/(byte*) gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_horisontal2/(byte*)(word) $4000 ) + [404] (byte) gfx_init_plane_horisontal2::ay#4 ← phi( gfx_init_plane_horisontal2::@3/(byte) gfx_init_plane_horisontal2::ay#1 gfx_init_plane_horisontal2/(byte) 0 ) to:gfx_init_plane_horisontal2::@2 gfx_init_plane_horisontal2::@2: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@1 gfx_init_plane_horisontal2::@2 - [403] (byte) gfx_init_plane_horisontal2::ax#2 ← phi( gfx_init_plane_horisontal2::@1/(byte) 0 gfx_init_plane_horisontal2::@2/(byte) gfx_init_plane_horisontal2::ax#1 ) - [403] (byte*) gfx_init_plane_horisontal2::gfxa#2 ← phi( gfx_init_plane_horisontal2::@1/(byte*) gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::@2/(byte*) gfx_init_plane_horisontal2::gfxa#1 ) - [404] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 - [405] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 - [406] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) - [407] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 - [408] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 - [409] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 + [405] (byte) gfx_init_plane_horisontal2::ax#2 ← phi( gfx_init_plane_horisontal2::@1/(byte) 0 gfx_init_plane_horisontal2::@2/(byte) gfx_init_plane_horisontal2::ax#1 ) + [405] (byte*) gfx_init_plane_horisontal2::gfxa#2 ← phi( gfx_init_plane_horisontal2::@1/(byte*) gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::@2/(byte*) gfx_init_plane_horisontal2::gfxa#1 ) + [406] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 + [407] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 + [408] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) + [409] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 + [410] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 + [411] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 to:gfx_init_plane_horisontal2::@3 gfx_init_plane_horisontal2::@3: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@2 - [410] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 - [411] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 + [412] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 + [413] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 to:gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal2::@4: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@3 - [412] phi() - [413] call dtvSetCpuBankSegment1 + [414] phi() + [415] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal2::@return gfx_init_plane_horisontal2::@return: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@4 - [414] return + [416] return to:@return (void()) gfx_init_plane_vertical2() gfx_init_plane_vertical2: scope:[gfx_init_plane_vertical2] from gfx_init::@12 - [415] phi() - [416] call gfx_init_plane_fill + [417] phi() + [418] call gfx_init_plane_fill to:gfx_init_plane_vertical2::@return gfx_init_plane_vertical2::@return: scope:[gfx_init_plane_vertical2] from gfx_init_plane_vertical2 - [417] return + [419] return to:@return (void()) gfx_init_plane_blank() gfx_init_plane_blank: scope:[gfx_init_plane_blank] from gfx_init::@13 - [418] phi() - [419] call gfx_init_plane_fill + [420] phi() + [421] call gfx_init_plane_fill to:gfx_init_plane_blank::@return gfx_init_plane_blank::@return: scope:[gfx_init_plane_blank] from gfx_init_plane_blank - [420] return + [422] return to:@return (void()) gfx_init_plane_full() gfx_init_plane_full: scope:[gfx_init_plane_full] from gfx_init::@14 - [421] phi() - [422] call gfx_init_plane_fill + [423] phi() + [424] call gfx_init_plane_fill to:gfx_init_plane_full::@return gfx_init_plane_full::@return: scope:[gfx_init_plane_full] from gfx_init_plane_full - [423] return + [425] return to:@return (void()) print_set_screen((byte*) print_set_screen::screen) print_set_screen: scope:[print_set_screen] from form_mode form_mode::@10 - [424] (byte*) print_set_screen::screen#2 ← phi( form_mode/(const nomodify byte*) COLS form_mode::@10/(const nomodify byte*) FORM_SCREEN ) - [425] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 + [426] (byte*) print_set_screen::screen#2 ← phi( form_mode/(const nomodify byte*) COLS form_mode::@10/(const nomodify byte*) FORM_SCREEN ) + [427] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - [426] return + [428] return to:@return (void()) print_cls() print_cls: scope:[print_cls] from form_mode::@11 form_mode::@8 - [427] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 - [428] call memset + [429] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 + [430] call memset to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls - [429] return + [431] return to:@return (void()) print_str_lines((byte*) print_str_lines::str) print_str_lines: scope:[print_str_lines] from form_mode::@12 form_mode::@9 - [430] (byte*) print_str_lines::str#5 ← phi( form_mode::@12/(const byte*) FORM_TEXT form_mode::@9/(const byte*) FORM_COLS ) - [431] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 + [432] (byte*) print_str_lines::str#5 ← phi( form_mode::@12/(const byte*) FORM_TEXT form_mode::@9/(const byte*) FORM_COLS ) + [433] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@6 - [432] (byte*) print_line_cursor#1 ← phi( print_str_lines/(byte*) print_screen#0 print_str_lines::@6/(byte*) print_line_cursor#2 ) - [432] (byte*) print_char_cursor#2 ← phi( print_str_lines/(byte*) print_char_cursor#72 print_str_lines::@6/(byte*) print_char_cursor#73 ) - [432] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@6/(byte*) print_str_lines::str#0 ) - [433] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 + [434] (byte*) print_line_cursor#1 ← phi( print_str_lines/(byte*) print_screen#0 print_str_lines::@6/(byte*) print_line_cursor#2 ) + [434] (byte*) print_char_cursor#2 ← phi( print_str_lines/(byte*) print_char_cursor#72 print_str_lines::@6/(byte*) print_char_cursor#73 ) + [434] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@6/(byte*) print_str_lines::str#0 ) + [435] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - [434] return + [436] return to:@return print_str_lines::@2: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@3 - [435] (byte*) print_char_cursor#43 ← phi( print_str_lines::@1/(byte*) print_char_cursor#2 print_str_lines::@3/(byte*) print_char_cursor#44 ) - [435] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@3/(byte*) print_str_lines::str#0 ) - [436] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) - [437] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 - [438] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 + [437] (byte*) print_char_cursor#43 ← phi( print_str_lines::@1/(byte*) print_char_cursor#2 print_str_lines::@3/(byte*) print_char_cursor#44 ) + [437] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@3/(byte*) print_str_lines::str#0 ) + [438] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) + [439] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 + [440] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 to:print_str_lines::@4 print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 - [439] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 - [440] call print_char + [441] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 + [442] call print_char to:print_str_lines::@3 print_str_lines::@3: scope:[print_str_lines] from print_str_lines::@2 print_str_lines::@4 - [441] (byte*) print_char_cursor#44 ← phi( print_str_lines::@2/(byte*) print_char_cursor#43 print_str_lines::@4/(byte*) print_char_cursor#29 ) - [442] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 + [443] (byte*) print_char_cursor#44 ← phi( print_str_lines::@2/(byte*) print_char_cursor#43 print_str_lines::@4/(byte*) print_char_cursor#29 ) + [444] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@3 - [443] phi() - [444] call print_ln + [445] phi() + [446] call print_ln to:print_str_lines::@6 print_str_lines::@6: scope:[print_str_lines] from print_str_lines::@5 - [445] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 + [447] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 to:print_str_lines::@1 (void()) form_set_screen((byte*) form_set_screen::screen) form_set_screen: scope:[form_set_screen] from form_mode::@13 - [446] phi() + [448] phi() to:form_set_screen::@1 form_set_screen::@1: scope:[form_set_screen] from form_set_screen form_set_screen::@1 - [447] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) - [447] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const nomodify byte*) FORM_SCREEN form_set_screen::@1/(byte*) form_set_screen::line#1 ) - [448] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 - [449] *((const byte*) form_line_lo + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 - [450] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 - [451] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 - [452] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 - [453] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 - [454] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 + [449] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) + [449] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const nomodify byte*) FORM_SCREEN form_set_screen::@1/(byte*) form_set_screen::line#1 ) + [450] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 + [451] *((const byte*) form_line_lo + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 + [452] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 + [453] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 + [454] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 + [455] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 + [456] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 to:form_set_screen::@return form_set_screen::@return: scope:[form_set_screen] from form_set_screen::@1 - [455] return + [457] return to:@return (void()) form_render_values() form_render_values: scope:[form_render_values] from form_mode::@14 form_mode::@18 - [456] phi() + [458] phi() to:form_render_values::@1 form_render_values::@1: scope:[form_render_values] from form_render_values form_render_values::@3 - [457] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte) 0 form_render_values::@3/(byte) form_render_values::idx#1 ) - [458] if((byte) form_render_values::idx#2<(const byte) form_fields_cnt) goto form_render_values::@2 + [459] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte) 0 form_render_values::@3/(byte) form_render_values::idx#1 ) + [460] if((byte) form_render_values::idx#2<(const byte) form_fields_cnt) goto form_render_values::@2 to:form_render_values::@return form_render_values::@return: scope:[form_render_values] from form_render_values::@1 - [459] return + [461] return to:@return form_render_values::@2: scope:[form_render_values] from form_render_values::@1 - [460] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 - [461] call form_field_ptr + [462] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 + [463] call form_field_ptr to:form_render_values::@3 form_render_values::@3: scope:[form_render_values] from form_render_values::@2 - [462] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) - [463] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 + [464] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) + [465] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 to:form_render_values::@1 (void()) render_preset_name((byte) render_preset_name::idx) render_preset_name: scope:[render_preset_name] from form_mode::@15 form_mode::@19 - [464] (byte) render_preset_name::idx#10 ← phi( form_mode::@15/(byte) render_preset_name::idx#0 form_mode::@19/(byte) render_preset_name::idx#1 ) - [465] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 + [466] (byte) render_preset_name::idx#10 ← phi( form_mode::@15/(byte) render_preset_name::idx#0 form_mode::@19/(byte) render_preset_name::idx#1 ) + [467] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 to:render_preset_name::@3 render_preset_name::@3: scope:[render_preset_name] from render_preset_name - [466] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 + [468] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 to:render_preset_name::@4 render_preset_name::@4: scope:[render_preset_name] from render_preset_name::@3 - [467] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 + [469] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 to:render_preset_name::@5 render_preset_name::@5: scope:[render_preset_name] from render_preset_name::@4 - [468] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 + [470] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 to:render_preset_name::@6 render_preset_name::@6: scope:[render_preset_name] from render_preset_name::@5 - [469] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 + [471] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 to:render_preset_name::@7 render_preset_name::@7: scope:[render_preset_name] from render_preset_name::@6 - [470] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 + [472] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 to:render_preset_name::@8 render_preset_name::@8: scope:[render_preset_name] from render_preset_name::@7 - [471] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 + [473] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 to:render_preset_name::@9 render_preset_name::@9: scope:[render_preset_name] from render_preset_name::@8 - [472] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 + [474] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 to:render_preset_name::@10 render_preset_name::@10: scope:[render_preset_name] from render_preset_name::@9 - [473] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 + [475] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 to:render_preset_name::@11 render_preset_name::@11: scope:[render_preset_name] from render_preset_name::@10 - [474] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 + [476] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 to:render_preset_name::@12 render_preset_name::@12: scope:[render_preset_name] from render_preset_name::@11 - [475] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 + [477] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 to:render_preset_name::@2 render_preset_name::@1: scope:[render_preset_name] from render_preset_name::@12 - [476] phi() + [478] phi() to:render_preset_name::@2 render_preset_name::@2: scope:[render_preset_name] from render_preset_name render_preset_name::@1 render_preset_name::@10 render_preset_name::@11 render_preset_name::@12 render_preset_name::@3 render_preset_name::@4 render_preset_name::@5 render_preset_name::@6 render_preset_name::@7 render_preset_name::@8 render_preset_name::@9 - [477] (byte*) render_preset_name::name#13 ← phi( render_preset_name/(const byte*) render_preset_name::name#1 render_preset_name::@11/(const byte*) render_preset_name::name#10 render_preset_name::@1/(const byte*) render_preset_name::name#11 render_preset_name::@3/(const byte*) render_preset_name::name#2 render_preset_name::@12/(const byte*) render_preset_name::name#1 render_preset_name::@4/(const byte*) render_preset_name::name#3 render_preset_name::@5/(const byte*) render_preset_name::name#4 render_preset_name::@6/(const byte*) render_preset_name::name#5 render_preset_name::@7/(const byte*) render_preset_name::name#6 render_preset_name::@8/(const byte*) render_preset_name::name#7 render_preset_name::@9/(const byte*) render_preset_name::name#8 render_preset_name::@10/(const byte*) render_preset_name::name#9 ) - [478] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 - [479] call print_str_at + [479] (byte*) render_preset_name::name#13 ← phi( render_preset_name/(const byte*) render_preset_name::name#1 render_preset_name::@11/(const byte*) render_preset_name::name#10 render_preset_name::@1/(const byte*) render_preset_name::name#11 render_preset_name::@3/(const byte*) render_preset_name::name#2 render_preset_name::@12/(const byte*) render_preset_name::name#1 render_preset_name::@4/(const byte*) render_preset_name::name#3 render_preset_name::@5/(const byte*) render_preset_name::name#4 render_preset_name::@6/(const byte*) render_preset_name::name#5 render_preset_name::@7/(const byte*) render_preset_name::name#6 render_preset_name::@8/(const byte*) render_preset_name::name#7 render_preset_name::@9/(const byte*) render_preset_name::name#8 render_preset_name::@10/(const byte*) render_preset_name::name#9 ) + [480] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 + [481] call print_str_at to:render_preset_name::@return render_preset_name::@return: scope:[render_preset_name] from render_preset_name::@2 - [480] return + [482] return to:@return (byte()) form_control() form_control: scope:[form_control] from form_mode::@5 - [481] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 - [482] call form_field_ptr - [483] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 + [483] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 + [484] call form_field_ptr + [485] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 to:form_control::@18 form_control::@18: scope:[form_control] from form_control - [484] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 - [485] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 - [486] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 + [486] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 + [487] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 + [488] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 to:form_control::@1 form_control::@21: scope:[form_control] from form_control::@18 - [487] phi() + [489] phi() to:form_control::@1 form_control::@1: scope:[form_control] from form_control::@18 form_control::@21 - [488] (signed byte) form_cursor_count#16 ← phi( form_control::@21/(signed byte) form_cursor_count#4 form_control::@18/(const nomodify signed byte) FORM_CURSOR_BLINK ) - [489] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 + [490] (signed byte) form_cursor_count#16 ← phi( form_control::@21/(signed byte) form_cursor_count#4 form_control::@18/(const nomodify signed byte) FORM_CURSOR_BLINK ) + [491] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 to:form_control::@7 form_control::@7: scope:[form_control] from form_control::@1 - [490] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f - [491] *((byte*) form_control::field#0) ← (byte~) form_control::$12 + [492] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f + [493] *((byte*) form_control::field#0) ← (byte~) form_control::$12 to:form_control::@3 form_control::@3: scope:[form_control] from form_control::@2 form_control::@7 - [492] phi() - [493] call keyboard_event_scan + [494] phi() + [495] call keyboard_event_scan to:form_control::@19 form_control::@19: scope:[form_control] from form_control::@3 - [494] phi() - [495] call keyboard_event_get - [496] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + [496] phi() + [497] call keyboard_event_get + [498] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 to:form_control::@20 form_control::@20: scope:[form_control] from form_control::@19 - [497] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 - [498] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 + [499] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 + [500] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 to:form_control::@8 form_control::@8: scope:[form_control] from form_control::@20 - [499] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f - [500] *((byte*) form_control::field#0) ← (byte~) form_control::$14 - [501] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT - [502] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 + [501] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f + [502] *((byte*) form_control::field#0) ← (byte~) form_control::$14 + [503] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT + [504] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 to:form_control::@9 form_control::@9: scope:[form_control] from form_control::@8 - [503] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 - [504] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 + [505] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 + [506] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 to:form_control::@14 form_control::@22: scope:[form_control] from form_control::@9 - [505] phi() + [507] phi() to:form_control::@14 form_control::@14: scope:[form_control] from form_control::@13 form_control::@22 form_control::@23 form_control::@9 - [506] (byte) form_field_idx#33 ← phi( form_control::@22/(byte) form_field_idx#5 form_control::@9/(const byte) form_fields_cnt-(byte) 1 form_control::@23/(byte) form_field_idx#4 form_control::@13/(byte) 0 ) + [508] (byte) form_field_idx#33 ← phi( form_control::@22/(byte) form_field_idx#5 form_control::@9/(const byte) form_fields_cnt-(byte) 1 form_control::@23/(byte) form_field_idx#4 form_control::@13/(byte) 0 ) to:form_control::@return form_control::@return: scope:[form_control] from form_control::@14 form_control::@16 form_control::@5 form_control::@6 - [507] (byte) form_field_idx#19 ← phi( form_control::@5/(byte) form_field_idx#30 form_control::@14/(byte) form_field_idx#33 form_control::@16/(byte) form_field_idx#30 form_control::@6/(byte) form_field_idx#30 ) - [507] (signed byte) form_cursor_count#17 ← phi( form_control::@5/(signed byte) form_cursor_count#16 form_control::@14/(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 form_control::@16/(signed byte) form_cursor_count#16 form_control::@6/(signed byte) form_cursor_count#16 ) - [507] (byte) form_control::return#2 ← phi( form_control::@5/(byte) $ff form_control::@14/(byte) 0 form_control::@16/(byte) 0 form_control::@6/(byte) 0 ) - [508] return + [509] (byte) form_field_idx#19 ← phi( form_control::@5/(byte) form_field_idx#30 form_control::@14/(byte) form_field_idx#33 form_control::@16/(byte) form_field_idx#30 form_control::@6/(byte) form_field_idx#30 ) + [509] (signed byte) form_cursor_count#17 ← phi( form_control::@5/(signed byte) form_cursor_count#16 form_control::@14/(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 form_control::@16/(signed byte) form_cursor_count#16 form_control::@6/(signed byte) form_cursor_count#16 ) + [509] (byte) form_control::return#2 ← phi( form_control::@5/(byte) $ff form_control::@14/(byte) 0 form_control::@16/(byte) 0 form_control::@6/(byte) 0 ) + [510] return to:@return form_control::@13: scope:[form_control] from form_control::@8 - [509] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 - [510] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 + [511] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 + [512] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 to:form_control::@14 form_control::@23: scope:[form_control] from form_control::@13 - [511] phi() + [513] phi() to:form_control::@14 form_control::@4: scope:[form_control] from form_control::@20 - [512] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 + [514] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 to:form_control::@10 form_control::@10: scope:[form_control] from form_control::@4 - [513] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT - [514] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 + [515] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT + [516] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 to:form_control::@11 form_control::@11: scope:[form_control] from form_control::@10 - [515] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) - [516] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 + [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) + [518] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 to:form_control::@12 form_control::@12: scope:[form_control] from form_control::@11 - [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) + [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) to:form_control::@16 form_control::@16: scope:[form_control] from form_control::@11 form_control::@12 form_control::@15 form_control::@17 - [518] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) + [520] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) to:form_control::@return form_control::@15: scope:[form_control] from form_control::@10 - [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) - [520] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 + [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) + [522] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 to:form_control::@17 form_control::@17: scope:[form_control] from form_control::@15 - [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 + [523] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 to:form_control::@16 form_control::@5: scope:[form_control] from form_control::@4 - [522] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 + [524] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 to:form_control::@return form_control::@6: scope:[form_control] from form_control::@5 - [523] phi() + [525] phi() to:form_control::@return form_control::@2: scope:[form_control] from form_control::@1 - [524] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 - [525] *((byte*) form_control::field#0) ← (byte~) form_control::$13 + [526] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 + [527] *((byte*) form_control::field#0) ← (byte~) form_control::$13 to:form_control::@3 (void()) apply_preset((byte) apply_preset::idx) apply_preset: scope:[apply_preset] from form_mode::@7 - [526] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 + [528] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 to:apply_preset::@3 apply_preset::@3: scope:[apply_preset] from apply_preset - [527] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 + [529] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 to:apply_preset::@4 apply_preset::@4: scope:[apply_preset] from apply_preset::@3 - [528] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 + [530] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 to:apply_preset::@5 apply_preset::@5: scope:[apply_preset] from apply_preset::@4 - [529] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 + [531] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 to:apply_preset::@6 apply_preset::@6: scope:[apply_preset] from apply_preset::@5 - [530] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 + [532] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 to:apply_preset::@7 apply_preset::@7: scope:[apply_preset] from apply_preset::@6 - [531] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 + [533] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 to:apply_preset::@8 apply_preset::@8: scope:[apply_preset] from apply_preset::@7 - [532] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 + [534] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 to:apply_preset::@9 apply_preset::@9: scope:[apply_preset] from apply_preset::@8 - [533] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 + [535] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 to:apply_preset::@10 apply_preset::@10: scope:[apply_preset] from apply_preset::@9 - [534] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 + [536] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 to:apply_preset::@11 apply_preset::@11: scope:[apply_preset] from apply_preset::@10 - [535] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 + [537] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 to:apply_preset::@12 apply_preset::@12: scope:[apply_preset] from apply_preset::@11 - [536] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 + [538] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 to:apply_preset::@2 apply_preset::@1: scope:[apply_preset] from apply_preset::@12 - [537] phi() + [539] phi() to:apply_preset::@2 apply_preset::@2: scope:[apply_preset] from apply_preset apply_preset::@1 apply_preset::@10 apply_preset::@11 apply_preset::@12 apply_preset::@3 apply_preset::@4 apply_preset::@5 apply_preset::@6 apply_preset::@7 apply_preset::@8 apply_preset::@9 - [538] (byte*) apply_preset::preset#15 ← phi( apply_preset/(const byte*) preset_stdchar apply_preset::@11/(const byte*) preset_sixsfred2 apply_preset::@1/(const byte*) preset_8bpppixelcell apply_preset::@3/(const byte*) preset_ecmchar apply_preset::@12/(const byte*) preset_stdchar apply_preset::@4/(const byte*) preset_stdbm apply_preset::@5/(const byte*) preset_mcbm apply_preset::@6/(const byte*) preset_hi_stdchar apply_preset::@7/(const byte*) preset_hi_ecmchar apply_preset::@8/(const byte*) preset_twoplane apply_preset::@9/(const byte*) preset_chunky apply_preset::@10/(const byte*) preset_sixsfred ) + [540] (byte*) apply_preset::preset#15 ← phi( apply_preset/(const byte*) preset_stdchar apply_preset::@11/(const byte*) preset_sixsfred2 apply_preset::@1/(const byte*) preset_8bpppixelcell apply_preset::@3/(const byte*) preset_ecmchar apply_preset::@12/(const byte*) preset_stdchar apply_preset::@4/(const byte*) preset_stdbm apply_preset::@5/(const byte*) preset_mcbm apply_preset::@6/(const byte*) preset_hi_stdchar apply_preset::@7/(const byte*) preset_hi_ecmchar apply_preset::@8/(const byte*) preset_twoplane apply_preset::@9/(const byte*) preset_chunky apply_preset::@10/(const byte*) preset_sixsfred ) to:apply_preset::@13 apply_preset::@13: scope:[apply_preset] from apply_preset::@14 apply_preset::@2 - [539] (byte) apply_preset::i#2 ← phi( apply_preset::@2/(byte) 0 apply_preset::@14/(byte) apply_preset::i#1 ) - [540] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 + [541] (byte) apply_preset::i#2 ← phi( apply_preset::@2/(byte) 0 apply_preset::@14/(byte) apply_preset::i#1 ) + [542] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 to:apply_preset::@return apply_preset::@return: scope:[apply_preset] from apply_preset::@13 - [541] return + [543] return to:@return apply_preset::@14: scope:[apply_preset] from apply_preset::@13 - [542] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) - [543] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 + [544] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) + [545] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 to:apply_preset::@13 (dword()) get_plane((byte) get_plane::idx) get_plane: scope:[get_plane] from gfx_mode::@27 gfx_mode::@9 - [544] (byte) get_plane::idx#10 ← phi( gfx_mode::@27/(byte) get_plane::idx#1 gfx_mode::@9/(byte) get_plane::idx#0 ) - [545] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return + [546] (byte) get_plane::idx#10 ← phi( gfx_mode::@27/(byte) get_plane::idx#1 gfx_mode::@9/(byte) get_plane::idx#0 ) + [547] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return to:get_plane::@2 get_plane::@2: scope:[get_plane] from get_plane - [546] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return + [548] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return to:get_plane::@3 get_plane::@3: scope:[get_plane] from get_plane::@2 - [547] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return + [549] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return to:get_plane::@4 get_plane::@4: scope:[get_plane] from get_plane::@3 - [548] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return + [550] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return to:get_plane::@5 get_plane::@5: scope:[get_plane] from get_plane::@4 - [549] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return + [551] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return to:get_plane::@6 get_plane::@6: scope:[get_plane] from get_plane::@5 - [550] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return + [552] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return to:get_plane::@7 get_plane::@7: scope:[get_plane] from get_plane::@6 - [551] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return + [553] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return to:get_plane::@8 get_plane::@8: scope:[get_plane] from get_plane::@7 - [552] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return + [554] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return to:get_plane::@9 get_plane::@9: scope:[get_plane] from get_plane::@8 - [553] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return + [555] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return to:get_plane::@10 get_plane::@10: scope:[get_plane] from get_plane::@9 - [554] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return + [556] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return to:get_plane::@11 get_plane::@11: scope:[get_plane] from get_plane::@10 - [555] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return + [557] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return to:get_plane::@12 get_plane::@12: scope:[get_plane] from get_plane::@11 - [556] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return + [558] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return to:get_plane::@13 get_plane::@13: scope:[get_plane] from get_plane::@12 - [557] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return + [559] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return to:get_plane::@14 get_plane::@14: scope:[get_plane] from get_plane::@13 - [558] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 + [560] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 to:get_plane::@return get_plane::@1: scope:[get_plane] from get_plane::@14 - [559] phi() + [561] phi() to:get_plane::@return get_plane::@return: scope:[get_plane] from get_plane get_plane::@1 get_plane::@10 get_plane::@11 get_plane::@12 get_plane::@13 get_plane::@14 get_plane::@2 get_plane::@3 get_plane::@4 get_plane::@5 get_plane::@6 get_plane::@7 get_plane::@8 get_plane::@9 - [560] (dword) get_plane::return#14 ← phi( get_plane/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@10/(const nomodify dword) PLANE_HORISONTAL2 get_plane::@11/(const nomodify dword) PLANE_VERTICAL2 get_plane::@12/(const nomodify dword) PLANE_CHARSET8 get_plane::@13/(const nomodify dword) PLANE_BLANK get_plane::@1/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@2/(dword)(const nomodify byte*) VIC_SCREEN1 get_plane::@14/(const nomodify dword) PLANE_FULL get_plane::@3/(dword)(const nomodify byte*) VIC_SCREEN2 get_plane::@4/(dword)(const nomodify byte*) VIC_SCREEN3 get_plane::@5/(dword)(const nomodify byte*) VIC_BITMAP get_plane::@6/(dword)(const nomodify byte*) VIC_CHARSET_ROM get_plane::@7/(const nomodify dword) PLANE_8BPP_CHUNKY get_plane::@8/(const nomodify dword) PLANE_HORISONTAL get_plane::@9/(const nomodify dword) PLANE_VERTICAL ) - [561] return + [562] (dword) get_plane::return#14 ← phi( get_plane/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@10/(const nomodify dword) PLANE_HORISONTAL2 get_plane::@11/(const nomodify dword) PLANE_VERTICAL2 get_plane::@12/(const nomodify dword) PLANE_CHARSET8 get_plane::@13/(const nomodify dword) PLANE_BLANK get_plane::@1/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@2/(dword)(const nomodify byte*) VIC_SCREEN1 get_plane::@14/(const nomodify dword) PLANE_FULL get_plane::@3/(dword)(const nomodify byte*) VIC_SCREEN2 get_plane::@4/(dword)(const nomodify byte*) VIC_SCREEN3 get_plane::@5/(dword)(const nomodify byte*) VIC_BITMAP get_plane::@6/(dword)(const nomodify byte*) VIC_CHARSET_ROM get_plane::@7/(const nomodify dword) PLANE_8BPP_CHUNKY get_plane::@8/(const nomodify dword) PLANE_HORISONTAL get_plane::@9/(const nomodify dword) PLANE_VERTICAL ) + [563] return to:@return (byte*()) get_vic_screen((byte) get_vic_screen::idx) get_vic_screen: scope:[get_vic_screen] from gfx_mode::@28 gfx_mode::@30 - [562] (byte) get_vic_screen::idx#2 ← phi( gfx_mode::@28/(byte) get_vic_screen::idx#0 gfx_mode::@30/(byte) get_vic_screen::idx#1 ) - [563] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return + [564] (byte) get_vic_screen::idx#2 ← phi( gfx_mode::@28/(byte) get_vic_screen::idx#0 gfx_mode::@30/(byte) get_vic_screen::idx#1 ) + [565] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return to:get_vic_screen::@2 get_vic_screen::@2: scope:[get_vic_screen] from get_vic_screen - [564] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return + [566] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return to:get_vic_screen::@3 get_vic_screen::@3: scope:[get_vic_screen] from get_vic_screen::@2 - [565] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return + [567] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return to:get_vic_screen::@4 get_vic_screen::@4: scope:[get_vic_screen] from get_vic_screen::@3 - [566] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return + [568] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return to:get_vic_screen::@5 get_vic_screen::@5: scope:[get_vic_screen] from get_vic_screen::@4 - [567] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 + [569] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 to:get_vic_screen::@return get_vic_screen::@1: scope:[get_vic_screen] from get_vic_screen::@5 - [568] phi() + [570] phi() to:get_vic_screen::@return get_vic_screen::@return: scope:[get_vic_screen] from get_vic_screen get_vic_screen::@1 get_vic_screen::@2 get_vic_screen::@3 get_vic_screen::@4 get_vic_screen::@5 - [569] (byte*) get_vic_screen::return#5 ← phi( get_vic_screen/(const nomodify byte*) VIC_SCREEN0 get_vic_screen::@5/(const nomodify byte*) VIC_SCREEN4 get_vic_screen::@2/(const nomodify byte*) VIC_SCREEN1 get_vic_screen::@3/(const nomodify byte*) VIC_SCREEN2 get_vic_screen::@4/(const nomodify byte*) VIC_SCREEN3 get_vic_screen::@1/(const nomodify byte*) VIC_SCREEN0 ) - [570] return + [571] (byte*) get_vic_screen::return#5 ← phi( get_vic_screen/(const nomodify byte*) VIC_SCREEN0 get_vic_screen::@5/(const nomodify byte*) VIC_SCREEN4 get_vic_screen::@2/(const nomodify byte*) VIC_SCREEN1 get_vic_screen::@3/(const nomodify byte*) VIC_SCREEN2 get_vic_screen::@4/(const nomodify byte*) VIC_SCREEN3 get_vic_screen::@1/(const nomodify byte*) VIC_SCREEN0 ) + [572] return to:@return (byte*()) get_vic_charset((byte) get_vic_charset::idx) get_vic_charset: scope:[get_vic_charset] from gfx_mode::@29 - [571] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return + [573] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return to:get_vic_charset::@2 get_vic_charset::@2: scope:[get_vic_charset] from get_vic_charset - [572] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 + [574] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 to:get_vic_charset::@return get_vic_charset::@1: scope:[get_vic_charset] from get_vic_charset::@2 - [573] phi() + [575] phi() to:get_vic_charset::@return get_vic_charset::@return: scope:[get_vic_charset] from get_vic_charset get_vic_charset::@1 get_vic_charset::@2 - [574] (byte*) get_vic_charset::return#2 ← phi( get_vic_charset/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@1/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@2/(const nomodify byte*) VIC_BITMAP ) - [575] return + [576] (byte*) get_vic_charset::return#2 ← phi( get_vic_charset/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@1/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@2/(const nomodify byte*) VIC_BITMAP ) + [577] return to:@return (void()) keyboard_event_scan() keyboard_event_scan: scope:[keyboard_event_scan] from form_control::@3 gfx_mode::@26 - [576] (byte) keyboard_events_size#98 ← phi( form_control::@3/(byte) keyboard_events_size#49 gfx_mode::@26/(byte) keyboard_events_size#25 ) + [578] (byte) keyboard_events_size#98 ← phi( form_control::@3/(byte) keyboard_events_size#49 gfx_mode::@26/(byte) keyboard_events_size#25 ) to:keyboard_event_scan::@7 keyboard_event_scan::@7: scope:[keyboard_event_scan] from keyboard_event_scan keyboard_event_scan::@8 - [577] (byte) keyboard_events_size#107 ← phi( keyboard_event_scan/(byte) keyboard_events_size#98 keyboard_event_scan::@8/(byte) keyboard_events_size#100 ) - [577] (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::keycode#13 ) - [577] (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::row#1 ) - [578] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 - [579] call keyboard_matrix_read - [580] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 + [579] (byte) keyboard_events_size#107 ← phi( keyboard_event_scan/(byte) keyboard_events_size#98 keyboard_event_scan::@8/(byte) keyboard_events_size#100 ) + [579] (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::keycode#13 ) + [579] (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::row#1 ) + [580] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 + [581] call keyboard_matrix_read + [582] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 to:keyboard_event_scan::@19 keyboard_event_scan::@19: scope:[keyboard_event_scan] from keyboard_event_scan::@7 - [581] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 - [582] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 + [583] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 + [584] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 to:keyboard_event_scan::@16 keyboard_event_scan::@16: scope:[keyboard_event_scan] from keyboard_event_scan::@19 - [583] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 + [585] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 to:keyboard_event_scan::@8 keyboard_event_scan::@8: scope:[keyboard_event_scan] from keyboard_event_scan::@15 keyboard_event_scan::@16 - [584] (byte) keyboard_events_size#100 ← phi( keyboard_event_scan::@15/(byte) keyboard_events_size#106 keyboard_event_scan::@16/(byte) keyboard_events_size#107 ) - [584] (byte) keyboard_event_scan::keycode#13 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@16/(byte) keyboard_event_scan::keycode#1 ) - [585] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 - [586] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 + [586] (byte) keyboard_events_size#100 ← phi( keyboard_event_scan::@15/(byte) keyboard_events_size#106 keyboard_event_scan::@16/(byte) keyboard_events_size#107 ) + [586] (byte) keyboard_event_scan::keycode#13 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@16/(byte) keyboard_event_scan::keycode#1 ) + [587] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 + [588] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 to:keyboard_event_scan::@17 keyboard_event_scan::@17: scope:[keyboard_event_scan] from keyboard_event_scan::@8 - [587] phi() - [588] call keyboard_event_pressed - [589] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 + [589] phi() + [590] call keyboard_event_pressed + [591] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@20 keyboard_event_scan::@20: scope:[keyboard_event_scan] from keyboard_event_scan::@17 - [590] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 - [591] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 + [592] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 + [593] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 to:keyboard_event_scan::@18 keyboard_event_scan::@18: scope:[keyboard_event_scan] from keyboard_event_scan::@20 - [592] phi() + [594] phi() to:keyboard_event_scan::@1 keyboard_event_scan::@1: scope:[keyboard_event_scan] from keyboard_event_scan::@18 keyboard_event_scan::@20 - [593] (byte) keyboard_modifiers#19 ← phi( keyboard_event_scan::@18/(const nomodify byte) KEY_MODIFIER_LSHIFT keyboard_event_scan::@20/(byte) 0 ) - [594] call keyboard_event_pressed - [595] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 + [595] (byte) keyboard_modifiers#19 ← phi( keyboard_event_scan::@18/(const nomodify byte) KEY_MODIFIER_LSHIFT keyboard_event_scan::@20/(byte) 0 ) + [596] call keyboard_event_pressed + [597] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@21 keyboard_event_scan::@21: scope:[keyboard_event_scan] from keyboard_event_scan::@1 - [596] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 - [597] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 + [598] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 + [599] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 to:keyboard_event_scan::@4 keyboard_event_scan::@4: scope:[keyboard_event_scan] from keyboard_event_scan::@21 - [598] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT + [600] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT to:keyboard_event_scan::@2 keyboard_event_scan::@2: scope:[keyboard_event_scan] from keyboard_event_scan::@21 keyboard_event_scan::@4 - [599] (byte) keyboard_modifiers#20 ← phi( keyboard_event_scan::@21/(byte) keyboard_modifiers#19 keyboard_event_scan::@4/(byte) keyboard_modifiers#2 ) - [600] call keyboard_event_pressed - [601] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 + [601] (byte) keyboard_modifiers#20 ← phi( keyboard_event_scan::@21/(byte) keyboard_modifiers#19 keyboard_event_scan::@4/(byte) keyboard_modifiers#2 ) + [602] call keyboard_event_pressed + [603] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@22 keyboard_event_scan::@22: scope:[keyboard_event_scan] from keyboard_event_scan::@2 - [602] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 - [603] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 + [604] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 + [605] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 to:keyboard_event_scan::@5 keyboard_event_scan::@5: scope:[keyboard_event_scan] from keyboard_event_scan::@22 - [604] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL + [606] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL to:keyboard_event_scan::@3 keyboard_event_scan::@3: scope:[keyboard_event_scan] from keyboard_event_scan::@22 keyboard_event_scan::@5 - [605] (byte) keyboard_modifiers#21 ← phi( keyboard_event_scan::@22/(byte) keyboard_modifiers#20 keyboard_event_scan::@5/(byte) keyboard_modifiers#3 ) - [606] call keyboard_event_pressed - [607] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 + [607] (byte) keyboard_modifiers#21 ← phi( keyboard_event_scan::@22/(byte) keyboard_modifiers#20 keyboard_event_scan::@5/(byte) keyboard_modifiers#3 ) + [608] call keyboard_event_pressed + [609] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@23 keyboard_event_scan::@23: scope:[keyboard_event_scan] from keyboard_event_scan::@3 - [608] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 - [609] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return + [610] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 + [611] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return to:keyboard_event_scan::@6 keyboard_event_scan::@6: scope:[keyboard_event_scan] from keyboard_event_scan::@23 - [610] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE + [612] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE to:keyboard_event_scan::@return keyboard_event_scan::@return: scope:[keyboard_event_scan] from keyboard_event_scan::@23 keyboard_event_scan::@6 - [611] (byte) keyboard_modifiers#22 ← phi( keyboard_event_scan::@23/(byte) keyboard_modifiers#21 keyboard_event_scan::@6/(byte) keyboard_modifiers#4 ) - [612] return + [613] (byte) keyboard_modifiers#22 ← phi( keyboard_event_scan::@23/(byte) keyboard_modifiers#21 keyboard_event_scan::@6/(byte) keyboard_modifiers#4 ) + [614] return to:@return keyboard_event_scan::@9: scope:[keyboard_event_scan] from keyboard_event_scan::@10 keyboard_event_scan::@19 - [613] (byte) keyboard_events_size#19 ← phi( keyboard_event_scan::@10/(byte) keyboard_events_size#106 keyboard_event_scan::@19/(byte) keyboard_events_size#107 ) - [613] (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@19/(byte) keyboard_event_scan::keycode#11 ) - [613] (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::col#1 keyboard_event_scan::@19/(byte) 0 ) - [614] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) - [615] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) - [616] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 + [615] (byte) keyboard_events_size#19 ← phi( keyboard_event_scan::@10/(byte) keyboard_events_size#106 keyboard_event_scan::@19/(byte) keyboard_events_size#107 ) + [615] (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@19/(byte) keyboard_event_scan::keycode#11 ) + [615] (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::col#1 keyboard_event_scan::@19/(byte) 0 ) + [616] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) + [617] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) + [618] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 to:keyboard_event_scan::@12 keyboard_event_scan::@12: scope:[keyboard_event_scan] from keyboard_event_scan::@9 - [617] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 + [619] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 to:keyboard_event_scan::@13 keyboard_event_scan::@13: scope:[keyboard_event_scan] from keyboard_event_scan::@12 - [618] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) - [619] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 + [620] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) + [621] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 to:keyboard_event_scan::@14 keyboard_event_scan::@14: scope:[keyboard_event_scan] from keyboard_event_scan::@13 - [620] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 - [621] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 + [622] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 + [623] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 to:keyboard_event_scan::@10 keyboard_event_scan::@10: scope:[keyboard_event_scan] from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 - [622] (byte) keyboard_events_size#106 ← phi( keyboard_event_scan::@9/(byte) keyboard_events_size#19 keyboard_event_scan::@11/(byte) keyboard_events_size#0 keyboard_event_scan::@12/(byte) keyboard_events_size#19 keyboard_event_scan::@14/(byte) keyboard_events_size#1 ) - [623] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 - [624] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 - [625] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 + [624] (byte) keyboard_events_size#106 ← phi( keyboard_event_scan::@9/(byte) keyboard_events_size#19 keyboard_event_scan::@11/(byte) keyboard_events_size#0 keyboard_event_scan::@12/(byte) keyboard_events_size#19 keyboard_event_scan::@14/(byte) keyboard_events_size#1 ) + [625] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 + [626] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 + [627] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 to:keyboard_event_scan::@15 keyboard_event_scan::@15: scope:[keyboard_event_scan] from keyboard_event_scan::@10 - [626] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 + [628] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 to:keyboard_event_scan::@8 keyboard_event_scan::@11: scope:[keyboard_event_scan] from keyboard_event_scan::@13 - [627] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 - [628] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 - [629] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 + [629] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 + [630] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 + [631] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 to:keyboard_event_scan::@10 (byte()) keyboard_event_get() keyboard_event_get: scope:[keyboard_event_get] from form_control::@19 gfx_mode::@32 - [630] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return + [632] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return to:keyboard_event_get::@1 keyboard_event_get::@1: scope:[keyboard_event_get] from keyboard_event_get - [631] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 - [632] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) + [633] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 + [634] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) to:keyboard_event_get::@return keyboard_event_get::@return: scope:[keyboard_event_get] from keyboard_event_get keyboard_event_get::@1 - [633] (byte) keyboard_events_size#25 ← phi( keyboard_event_get/(byte) keyboard_events_size#100 keyboard_event_get::@1/(byte) keyboard_events_size#3 ) - [633] (byte) keyboard_event_get::return#2 ← phi( keyboard_event_get/(byte) $ff keyboard_event_get::@1/(byte) keyboard_event_get::return#1 ) - [634] return + [635] (byte) keyboard_events_size#25 ← phi( keyboard_event_get/(byte) keyboard_events_size#100 keyboard_event_get::@1/(byte) keyboard_events_size#3 ) + [635] (byte) keyboard_event_get::return#2 ← phi( keyboard_event_get/(byte) $ff keyboard_event_get::@1/(byte) keyboard_event_get::return#1 ) + [636] return to:@return (void()) bitmap_init((byte*) bitmap_init::bitmap) bitmap_init: scope:[bitmap_init] from gfx_init_vic_bitmap - [635] phi() + [637] phi() to:bitmap_init::@1 bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2 - [636] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 ) - [636] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) 0 bitmap_init::@2/(byte) bitmap_init::x#1 ) - [637] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 - [638] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 - [639] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP - [640] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 - [641] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 - [642] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 + [638] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 ) + [638] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) 0 bitmap_init::@2/(byte) bitmap_init::x#1 ) + [639] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 + [640] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 + [641] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP + [642] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 + [643] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 + [644] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 to:bitmap_init::@2 bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1 - [643] phi() + [645] phi() to:bitmap_init::@2 bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6 - [644] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte) $80 ) - [645] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 - [646] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 + [646] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte) $80 ) + [647] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 + [648] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 to:bitmap_init::@3 bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4 - [647] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/(byte*) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 ) - [647] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte) 0 bitmap_init::@4/(byte) bitmap_init::y#1 ) - [648] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 - [649] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 - [650] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$10 | (byte~) bitmap_init::$7 - [651] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 - [652] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 - [653] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 - [654] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 + [649] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/(byte*) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 ) + [649] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte) 0 bitmap_init::@4/(byte) bitmap_init::y#1 ) + [650] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 + [651] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 + [652] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$10 | (byte~) bitmap_init::$7 + [653] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 + [654] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 + [655] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 + [656] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 to:bitmap_init::@5 bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3 - [655] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 + [657] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 to:bitmap_init::@4 bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5 - [656] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 ) - [657] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 - [658] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 + [658] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 ) + [659] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 + [660] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 to:bitmap_init::@return bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4 - [659] return + [661] return to:@return (void()) bitmap_clear() bitmap_clear: scope:[bitmap_clear] from gfx_init_vic_bitmap::@3 - [660] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) - [661] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 + [662] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) + [663] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 to:bitmap_clear::@1 bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3 - [662] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 ) - [662] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 ) + [664] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 ) + [664] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 ) to:bitmap_clear::@2 bitmap_clear::@2: scope:[bitmap_clear] from bitmap_clear::@1 bitmap_clear::@2 - [663] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 ) - [663] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 ) - [664] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 - [665] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 - [666] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 - [667] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 + [665] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 ) + [665] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 ) + [666] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 + [667] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 + [668] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 + [669] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 to:bitmap_clear::@3 bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2 - [668] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 - [669] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 + [670] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 + [671] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 to:bitmap_clear::@return bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3 - [670] return + [672] return to:@return (void()) bitmap_line((byte) bitmap_line::x0 , (byte) bitmap_line::x1 , (byte) bitmap_line::y0 , (byte) bitmap_line::y1) bitmap_line: scope:[bitmap_line] from gfx_init_vic_bitmap::@2 - [671] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 + [673] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 to:bitmap_line::@2 bitmap_line::@2: scope:[bitmap_line] from bitmap_line - [672] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 - [673] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 + [674] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 + [675] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 to:bitmap_line::@3 bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@2 - [674] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 - [675] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 + [676] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 + [677] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 to:bitmap_line::@4 bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@3 - [676] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 - [677] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 - [678] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 - [679] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 - [680] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 - [681] call bitmap_line_ydxi + [678] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 + [679] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 + [680] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 + [681] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 + [682] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 + [683] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@12 bitmap_line::@13 bitmap_line::@14 bitmap_line::@4 bitmap_line::@6 bitmap_line::@8 bitmap_line::@9 - [682] return + [684] return to:@return bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@3 - [683] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 - [684] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 - [685] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 - [686] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 - [687] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 - [688] call bitmap_line_xdyi + [685] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 + [686] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 + [687] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 + [688] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 + [689] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 + [690] call bitmap_line_xdyi to:bitmap_line::@return bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@2 - [689] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 - [690] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 + [691] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 + [692] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 to:bitmap_line::@10 bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@7 - [691] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 - [692] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 - [693] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 - [694] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 - [695] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 - [696] call bitmap_line_ydxd + [693] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 + [694] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 + [695] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 + [696] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 + [697] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 + [698] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@7 - [697] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 - [698] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 - [699] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 - [700] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 - [701] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 - [702] call bitmap_line_xdyd + [699] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 + [700] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 + [701] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 + [702] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 + [703] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 + [704] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@1: scope:[bitmap_line] from bitmap_line - [703] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 - [704] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 + [705] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 + [706] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 to:bitmap_line::@5 bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@1 - [705] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 - [706] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 + [707] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 + [708] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 to:bitmap_line::@6 bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5 - [707] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 - [708] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 - [709] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 - [710] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 - [711] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 - [712] call bitmap_line_ydxd + [709] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 + [710] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 + [711] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 + [712] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 + [713] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 + [714] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@12: scope:[bitmap_line] from bitmap_line::@5 - [713] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 - [714] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - [715] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 - [716] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 - [717] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 - [718] call bitmap_line_xdyd + [715] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 + [716] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + [717] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 + [718] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 + [719] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 + [720] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@1 - [719] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 - [720] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 + [721] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 + [722] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 to:bitmap_line::@14 bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@11 - [721] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 - [722] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 - [723] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 - [724] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 - [725] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 - [726] call bitmap_line_ydxi + [723] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 + [724] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 + [725] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 + [726] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 + [727] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 + [728] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@11 - [727] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 - [728] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - [729] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 - [730] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 - [731] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 - [732] call bitmap_line_xdyi + [729] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 + [730] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + [731] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 + [732] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 + [733] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 + [734] call bitmap_line_xdyi to:bitmap_line::@return (void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) dtvSetCpuBankSegment1: scope:[dtvSetCpuBankSegment1] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@6 gfx_init_plane_charset8 gfx_init_plane_charset8::@8 gfx_init_plane_fill gfx_init_plane_fill::@4 gfx_init_plane_horisontal gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal::@7 gfx_init_plane_vertical gfx_init_plane_vertical::@4 - [733] (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 ← phi( gfx_init_plane_8bppchunky/(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/(byte)(number) $4000/(number) $4000 gfx_init_plane_charset8/(const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfx_init_plane_charset8::@8/(byte)(number) $4000/(number) $4000 gfx_init_plane_fill/(byte) dtvSetCpuBankSegment1::cpuBankIdx#11 gfx_init_plane_fill::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal/(const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 gfx_init_plane_horisontal2/(const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfx_init_plane_horisontal2::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal::@7/(byte)(number) $4000/(number) $4000 gfx_init_plane_vertical/(const byte) gfx_init_plane_vertical::gfxbCpuBank#0 gfx_init_plane_vertical::@4/(byte)(number) $4000/(number) $4000 ) - [734] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 + [735] (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 ← phi( gfx_init_plane_8bppchunky/(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/(byte)(number) $4000/(number) $4000 gfx_init_plane_charset8/(const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfx_init_plane_charset8::@8/(byte)(number) $4000/(number) $4000 gfx_init_plane_fill/(byte) dtvSetCpuBankSegment1::cpuBankIdx#11 gfx_init_plane_fill::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal/(const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 gfx_init_plane_horisontal2/(const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfx_init_plane_horisontal2::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal::@7/(byte)(number) $4000/(number) $4000 gfx_init_plane_vertical/(const byte) gfx_init_plane_vertical::gfxbCpuBank#0 gfx_init_plane_vertical::@4/(byte)(number) $4000/(number) $4000 ) + [736] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 asm { .byte$32,$dd lda$ff .byte$32,$00 } to:dtvSetCpuBankSegment1::@return dtvSetCpuBankSegment1::@return: scope:[dtvSetCpuBankSegment1] from dtvSetCpuBankSegment1 - [736] return + [738] return to:@return (void()) gfx_init_plane_fill((dword) gfx_init_plane_fill::plane_addr , (byte) gfx_init_plane_fill::fill) gfx_init_plane_fill: scope:[gfx_init_plane_fill] from gfx_init_plane_blank gfx_init_plane_full gfx_init_plane_vertical2 - [737] (byte) gfx_init_plane_fill::fill#6 ← phi( gfx_init_plane_blank/(byte) 0 gfx_init_plane_full/(byte) $ff gfx_init_plane_vertical2/(byte) $1b ) - [737] (dword) gfx_init_plane_fill::plane_addr#3 ← phi( gfx_init_plane_blank/(const nomodify dword) PLANE_BLANK gfx_init_plane_full/(const nomodify dword) PLANE_FULL gfx_init_plane_vertical2/(const nomodify dword) PLANE_VERTICAL2 ) - [738] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 - [739] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 - [740] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 - [741] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 - [742] call dtvSetCpuBankSegment1 + [739] (byte) gfx_init_plane_fill::fill#6 ← phi( gfx_init_plane_blank/(byte) 0 gfx_init_plane_full/(byte) $ff gfx_init_plane_vertical2/(byte) $1b ) + [739] (dword) gfx_init_plane_fill::plane_addr#3 ← phi( gfx_init_plane_blank/(const nomodify dword) PLANE_BLANK gfx_init_plane_full/(const nomodify dword) PLANE_FULL gfx_init_plane_vertical2/(const nomodify dword) PLANE_VERTICAL2 ) + [740] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 + [741] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 + [742] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 + [743] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 + [744] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@5 gfx_init_plane_fill::@5: scope:[gfx_init_plane_fill] from gfx_init_plane_fill - [743] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 - [744] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff - [745] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 - [746] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 + [745] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 + [746] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff + [747] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 + [748] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 to:gfx_init_plane_fill::@1 gfx_init_plane_fill::@1: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 gfx_init_plane_fill::@5 - [747] (byte) gfx_init_plane_fill::by#4 ← phi( gfx_init_plane_fill::@3/(byte) gfx_init_plane_fill::by#1 gfx_init_plane_fill::@5/(byte) 0 ) - [747] (byte*) gfx_init_plane_fill::gfxb#3 ← phi( gfx_init_plane_fill::@3/(byte*) gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::@5/(byte*) gfx_init_plane_fill::gfxb#6 ) + [749] (byte) gfx_init_plane_fill::by#4 ← phi( gfx_init_plane_fill::@3/(byte) gfx_init_plane_fill::by#1 gfx_init_plane_fill::@5/(byte) 0 ) + [749] (byte*) gfx_init_plane_fill::gfxb#3 ← phi( gfx_init_plane_fill::@3/(byte*) gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::@5/(byte*) gfx_init_plane_fill::gfxb#6 ) to:gfx_init_plane_fill::@2 gfx_init_plane_fill::@2: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@1 gfx_init_plane_fill::@2 - [748] (byte) gfx_init_plane_fill::bx#2 ← phi( gfx_init_plane_fill::@1/(byte) 0 gfx_init_plane_fill::@2/(byte) gfx_init_plane_fill::bx#1 ) - [748] (byte*) gfx_init_plane_fill::gfxb#2 ← phi( gfx_init_plane_fill::@1/(byte*) gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::@2/(byte*) gfx_init_plane_fill::gfxb#1 ) - [749] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 - [750] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 - [751] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 - [752] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 + [750] (byte) gfx_init_plane_fill::bx#2 ← phi( gfx_init_plane_fill::@1/(byte) 0 gfx_init_plane_fill::@2/(byte) gfx_init_plane_fill::bx#1 ) + [750] (byte*) gfx_init_plane_fill::gfxb#2 ← phi( gfx_init_plane_fill::@1/(byte*) gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::@2/(byte*) gfx_init_plane_fill::gfxb#1 ) + [751] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 + [752] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 + [753] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 + [754] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 to:gfx_init_plane_fill::@3 gfx_init_plane_fill::@3: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@2 - [753] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 - [754] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 + [755] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 + [756] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 to:gfx_init_plane_fill::@4 gfx_init_plane_fill::@4: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 - [755] phi() - [756] call dtvSetCpuBankSegment1 + [757] phi() + [758] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@return gfx_init_plane_fill::@return: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@4 - [757] return + [759] return to:@return (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) memset: scope:[memset] from print_cls - [758] phi() + [760] phi() to:memset::@1 memset::@1: scope:[memset] from memset - [759] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 - [760] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 + [761] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 + [762] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 to:memset::@2 memset::@2: scope:[memset] from memset::@1 memset::@3 - [761] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) - [762] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 + [763] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) + [764] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 to:memset::@return memset::@return: scope:[memset] from memset::@2 - [763] return + [765] return to:@return memset::@3: scope:[memset] from memset::@2 - [764] *((byte*) memset::dst#2) ← (const byte) memset::c#0 - [765] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + [766] *((byte*) memset::dst#2) ← (const byte) memset::c#0 + [767] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 to:memset::@2 (void()) print_char((byte) print_char::ch) print_char: scope:[print_char] from print_str_lines::@4 - [766] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 - [767] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 + [768] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 + [769] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 to:print_char::@return print_char::@return: scope:[print_char] from print_char - [768] return + [770] return to:@return (void()) print_ln() print_ln: scope:[print_ln] from print_str_lines::@5 - [769] phi() + [771] phi() to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [770] (byte*) print_line_cursor#22 ← phi( print_ln/(byte*) print_line_cursor#1 print_ln::@1/(byte*) print_line_cursor#2 ) - [771] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 - [772] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 + [772] (byte*) print_line_cursor#22 ← phi( print_ln/(byte*) print_line_cursor#1 print_ln::@1/(byte*) print_line_cursor#2 ) + [773] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 + [774] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [773] return + [775] return to:@return (byte*()) form_field_ptr((byte) form_field_ptr::field_idx) form_field_ptr: scope:[form_field_ptr] from form_control form_render_values::@2 - [774] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@2/(byte) form_field_ptr::field_idx#0 ) - [775] (byte) form_field_ptr::y#0 ← *((const byte*) form_fields_y + (byte) form_field_ptr::field_idx#2) - [776] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) - [777] (byte) form_field_ptr::x#0 ← *((const byte*) form_fields_x + (byte) form_field_ptr::field_idx#2) - [778] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 + [776] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@2/(byte) form_field_ptr::field_idx#0 ) + [777] (byte) form_field_ptr::y#0 ← *((const byte*) form_fields_y + (byte) form_field_ptr::field_idx#2) + [778] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) + [779] (byte) form_field_ptr::x#0 ← *((const byte*) form_fields_x + (byte) form_field_ptr::field_idx#2) + [780] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 to:form_field_ptr::@return form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr - [779] return + [781] return to:@return (void()) print_str_at((byte*) print_str_at::str , (byte*) print_str_at::at) print_str_at: scope:[print_str_at] from render_preset_name::@2 - [780] phi() + [782] phi() to:print_str_at::@1 print_str_at::@1: scope:[print_str_at] from print_str_at print_str_at::@2 - [781] (byte*) print_str_at::at#2 ← phi( print_str_at/(const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a print_str_at::@2/(byte*) print_str_at::at#0 ) - [781] (byte*) print_str_at::str#2 ← phi( print_str_at/(byte*) print_str_at::str#1 print_str_at::@2/(byte*) print_str_at::str#0 ) - [782] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 + [783] (byte*) print_str_at::at#2 ← phi( print_str_at/(const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a print_str_at::@2/(byte*) print_str_at::at#0 ) + [783] (byte*) print_str_at::str#2 ← phi( print_str_at/(byte*) print_str_at::str#1 print_str_at::@2/(byte*) print_str_at::str#0 ) + [784] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 to:print_str_at::@return print_str_at::@return: scope:[print_str_at] from print_str_at::@1 - [783] return + [785] return to:@return print_str_at::@2: scope:[print_str_at] from print_str_at::@1 - [784] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) - [785] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 - [786] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 + [786] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) + [787] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 + [788] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 to:print_str_at::@1 (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_event_scan::@7 - [787] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) - [788] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) + [789] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) + [790] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) to:keyboard_matrix_read::@return keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read - [789] return + [791] return to:@return (byte()) keyboard_event_pressed((byte) keyboard_event_pressed::keycode) keyboard_event_pressed: scope:[keyboard_event_pressed] from keyboard_event_scan::@1 keyboard_event_scan::@17 keyboard_event_scan::@2 keyboard_event_scan::@3 - [790] (byte) keyboard_event_pressed::keycode#4 ← phi( keyboard_event_scan::@1/(const nomodify byte) KEY_RSHIFT keyboard_event_scan::@17/(const nomodify byte) KEY_LSHIFT keyboard_event_scan::@2/(const nomodify byte) KEY_CTRL keyboard_event_scan::@3/(const nomodify byte) KEY_COMMODORE ) - [791] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 - [792] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) - [793] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 - [794] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) + [792] (byte) keyboard_event_pressed::keycode#4 ← phi( keyboard_event_scan::@1/(const nomodify byte) KEY_RSHIFT keyboard_event_scan::@17/(const nomodify byte) KEY_LSHIFT keyboard_event_scan::@2/(const nomodify byte) KEY_CTRL keyboard_event_scan::@3/(const nomodify byte) KEY_COMMODORE ) + [793] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 + [794] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) + [795] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 + [796] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) to:keyboard_event_pressed::@return keyboard_event_pressed::@return: scope:[keyboard_event_pressed] from keyboard_event_pressed - [795] return + [797] return to:@return (void()) bitmap_line_ydxi((byte) bitmap_line_ydxi::y , (byte) bitmap_line_ydxi::x , (byte) bitmap_line_ydxi::y1 , (byte) bitmap_line_ydxi::yd , (byte) bitmap_line_ydxi::xd) bitmap_line_ydxi: scope:[bitmap_line_ydxi] from bitmap_line::@14 bitmap_line::@4 - [796] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 ) - [796] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 ) - [796] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 ) - [796] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 ) - [796] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 ) - [797] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 + [798] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 ) + [798] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 ) + [798] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 ) + [798] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 ) + [798] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 ) + [799] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 to:bitmap_line_ydxi::@1 bitmap_line_ydxi::@1: scope:[bitmap_line_ydxi] from bitmap_line_ydxi bitmap_line_ydxi::@2 - [798] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 ) - [798] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 ) - [798] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 ) - [799] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 - [800] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 - [801] call bitmap_plot + [800] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 ) + [800] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 ) + [800] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 ) + [801] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 + [802] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 + [803] call bitmap_plot to:bitmap_line_ydxi::@4 bitmap_line_ydxi::@4: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@1 - [802] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 - [803] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 - [804] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 + [804] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 + [805] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 + [806] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 to:bitmap_line_ydxi::@3 bitmap_line_ydxi::@3: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@4 - [805] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 - [806] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 + [807] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 + [808] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 to:bitmap_line_ydxi::@2 bitmap_line_ydxi::@2: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 - [807] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 ) - [807] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 ) - [808] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 - [809] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 + [809] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 ) + [809] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 ) + [810] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 + [811] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 to:bitmap_line_ydxi::@return bitmap_line_ydxi::@return: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@2 - [810] return + [812] return to:@return (void()) bitmap_line_xdyi((byte) bitmap_line_xdyi::x , (byte) bitmap_line_xdyi::y , (byte) bitmap_line_xdyi::x1 , (byte) bitmap_line_xdyi::xd , (byte) bitmap_line_xdyi::yd) bitmap_line_xdyi: scope:[bitmap_line_xdyi] from bitmap_line::@13 bitmap_line::@8 - [811] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 ) - [811] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 ) - [811] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 ) - [811] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 ) - [811] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 ) - [812] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 + [813] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 ) + [813] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 ) + [813] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 ) + [813] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 ) + [813] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 ) + [814] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 to:bitmap_line_xdyi::@1 bitmap_line_xdyi::@1: scope:[bitmap_line_xdyi] from bitmap_line_xdyi bitmap_line_xdyi::@2 - [813] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 ) - [813] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 ) - [813] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 ) - [814] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 - [815] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 - [816] call bitmap_plot + [815] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 ) + [815] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 ) + [815] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 ) + [816] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 + [817] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 + [818] call bitmap_plot to:bitmap_line_xdyi::@4 bitmap_line_xdyi::@4: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@1 - [817] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 - [818] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 - [819] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 + [819] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 + [820] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 + [821] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 to:bitmap_line_xdyi::@3 bitmap_line_xdyi::@3: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@4 - [820] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 - [821] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 + [822] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 + [823] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 to:bitmap_line_xdyi::@2 bitmap_line_xdyi::@2: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 - [822] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 ) - [822] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 ) - [823] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 - [824] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 + [824] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 ) + [824] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 ) + [825] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 + [826] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 to:bitmap_line_xdyi::@return bitmap_line_xdyi::@return: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@2 - [825] return + [827] return to:@return (void()) bitmap_line_ydxd((byte) bitmap_line_ydxd::y , (byte) bitmap_line_ydxd::x , (byte) bitmap_line_ydxd::y1 , (byte) bitmap_line_ydxd::yd , (byte) bitmap_line_ydxd::xd) bitmap_line_ydxd: scope:[bitmap_line_ydxd] from bitmap_line::@10 bitmap_line::@6 - [826] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 ) - [826] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 ) - [826] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 ) - [826] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 ) - [826] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 ) - [827] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 + [828] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 ) + [828] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 ) + [828] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 ) + [828] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 ) + [828] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 ) + [829] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 to:bitmap_line_ydxd::@1 bitmap_line_ydxd::@1: scope:[bitmap_line_ydxd] from bitmap_line_ydxd bitmap_line_ydxd::@2 - [828] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 ) - [828] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 ) - [828] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 ) - [829] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 - [830] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 - [831] call bitmap_plot + [830] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 ) + [830] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 ) + [830] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 ) + [831] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 + [832] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 + [833] call bitmap_plot to:bitmap_line_ydxd::@4 bitmap_line_ydxd::@4: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@1 - [832] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 - [833] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 - [834] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 + [834] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 + [835] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 + [836] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 to:bitmap_line_ydxd::@3 bitmap_line_ydxd::@3: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@4 - [835] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 - [836] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 + [837] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 + [838] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 to:bitmap_line_ydxd::@2 bitmap_line_ydxd::@2: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 - [837] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 ) - [837] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 ) - [838] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 - [839] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 + [839] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 ) + [839] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 ) + [840] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 + [841] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 to:bitmap_line_ydxd::@return bitmap_line_ydxd::@return: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@2 - [840] return + [842] return to:@return (void()) bitmap_line_xdyd((byte) bitmap_line_xdyd::x , (byte) bitmap_line_xdyd::y , (byte) bitmap_line_xdyd::x1 , (byte) bitmap_line_xdyd::xd , (byte) bitmap_line_xdyd::yd) bitmap_line_xdyd: scope:[bitmap_line_xdyd] from bitmap_line::@12 bitmap_line::@9 - [841] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 ) - [841] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 ) - [841] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 ) - [841] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 ) - [841] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 ) - [842] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 + [843] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 ) + [843] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 ) + [843] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 ) + [843] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 ) + [843] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 ) + [844] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 to:bitmap_line_xdyd::@1 bitmap_line_xdyd::@1: scope:[bitmap_line_xdyd] from bitmap_line_xdyd bitmap_line_xdyd::@2 - [843] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 ) - [843] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 ) - [843] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 ) - [844] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 - [845] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 - [846] call bitmap_plot + [845] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 ) + [845] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 ) + [845] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 ) + [846] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 + [847] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 + [848] call bitmap_plot to:bitmap_line_xdyd::@4 bitmap_line_xdyd::@4: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@1 - [847] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 - [848] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 - [849] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 + [849] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 + [850] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 + [851] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 to:bitmap_line_xdyd::@3 bitmap_line_xdyd::@3: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@4 - [850] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 - [851] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 + [852] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 + [853] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 to:bitmap_line_xdyd::@2 bitmap_line_xdyd::@2: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 - [852] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 ) - [852] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 ) - [853] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 - [854] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 + [854] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 ) + [854] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 ) + [855] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 + [856] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 to:bitmap_line_xdyd::@return bitmap_line_xdyd::@return: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@2 - [855] return + [857] return to:@return (void()) bitmap_plot((byte) bitmap_plot::x , (byte) bitmap_plot::y) bitmap_plot: scope:[bitmap_plot] from bitmap_line_xdyd::@1 bitmap_line_xdyi::@1 bitmap_line_ydxd::@1 bitmap_line_ydxi::@1 - [856] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 ) - [856] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 ) - [857] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) - [858] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) - [859] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 - [860] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) - [861] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 + [858] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 ) + [858] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 ) + [859] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) + [860] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) + [861] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 + [862] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) + [863] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot - [862] return + [864] return to:@return @@ -12009,8 +12007,9 @@ VARIABLE REGISTER WEIGHTS (void()) gfx_mode() (byte~) gfx_mode::$18 202.0 (dword~) gfx_mode::$20 202.0 +(word~) gfx_mode::$22 202.0 (byte~) gfx_mode::$23 202.0 -(word~) gfx_mode::$24 101.0 +(word~) gfx_mode::$24 202.0 (byte~) gfx_mode::$25 202.0 (word~) gfx_mode::$26 202.0 (byte~) gfx_mode::$27 202.0 @@ -12020,8 +12019,9 @@ VARIABLE REGISTER WEIGHTS (byte~) gfx_mode::$31 202.0 (byte~) gfx_mode::$32 202.0 (dword~) gfx_mode::$34 202.0 +(word~) gfx_mode::$36 202.0 (byte~) gfx_mode::$37 202.0 -(word~) gfx_mode::$38 101.0 +(word~) gfx_mode::$38 202.0 (byte~) gfx_mode::$39 202.0 (word~) gfx_mode::$40 202.0 (byte~) gfx_mode::$41 202.0 @@ -12077,11 +12077,11 @@ VARIABLE REGISTER WEIGHTS (byte) gfx_mode::keyboard_event (byte) gfx_mode::keyboard_event#0 20002.0 (dword) gfx_mode::plane_a -(dword) gfx_mode::plane_a#0 50.5 +(dword) gfx_mode::plane_a#0 57.714285714285715 (byte) gfx_mode::plane_a_offs (byte) gfx_mode::plane_a_offs#0 40.4 (dword) gfx_mode::plane_b -(dword) gfx_mode::plane_b#0 50.5 +(dword) gfx_mode::plane_b#0 57.714285714285715 (byte) gfx_mode::plane_b_offs (byte) gfx_mode::plane_b_offs#0 40.4 (byte*) gfx_mode::vic_colors @@ -12145,7 +12145,7 @@ VARIABLE REGISTER WEIGHTS (byte) keyboard_events_size#106 1.0200000000012E12 (byte) keyboard_events_size#107 4.285857142914285E10 (byte) keyboard_events_size#19 8.100000000008999E11 -(byte) keyboard_events_size#25 111777.86666666667 +(byte) keyboard_events_size#25 110549.53846153847 (byte) keyboard_events_size#28 2.871794871794872 (byte) keyboard_events_size#3 1.50000015E7 (byte) keyboard_events_size#49 65300.23529411765 @@ -12354,8 +12354,9 @@ Added variable gfx_mode::plane_a_offs#0 to live range equivalence class [ gfx_mo Added variable get_plane::return#16 to live range equivalence class [ get_plane::return#16 ] Added variable gfx_mode::$20 to live range equivalence class [ gfx_mode::$20 ] Added variable gfx_mode::plane_a#0 to live range equivalence class [ gfx_mode::plane_a#0 ] -Added variable gfx_mode::$24 to live range equivalence class [ gfx_mode::$24 ] +Added variable gfx_mode::$22 to live range equivalence class [ gfx_mode::$22 ] Added variable gfx_mode::$23 to live range equivalence class [ gfx_mode::$23 ] +Added variable gfx_mode::$24 to live range equivalence class [ gfx_mode::$24 ] Added variable gfx_mode::$25 to live range equivalence class [ gfx_mode::$25 ] Added variable gfx_mode::$26 to live range equivalence class [ gfx_mode::$26 ] Added variable gfx_mode::$27 to live range equivalence class [ gfx_mode::$27 ] @@ -12368,8 +12369,9 @@ Added variable gfx_mode::plane_b_offs#0 to live range equivalence class [ gfx_mo Added variable get_plane::return#17 to live range equivalence class [ get_plane::return#17 ] Added variable gfx_mode::$34 to live range equivalence class [ gfx_mode::$34 ] Added variable gfx_mode::plane_b#0 to live range equivalence class [ gfx_mode::plane_b#0 ] -Added variable gfx_mode::$38 to live range equivalence class [ gfx_mode::$38 ] +Added variable gfx_mode::$36 to live range equivalence class [ gfx_mode::$36 ] Added variable gfx_mode::$37 to live range equivalence class [ gfx_mode::$37 ] +Added variable gfx_mode::$38 to live range equivalence class [ gfx_mode::$38 ] Added variable gfx_mode::$39 to live range equivalence class [ gfx_mode::$39 ] Added variable gfx_mode::$40 to live range equivalence class [ gfx_mode::$40 ] Added variable gfx_mode::$41 to live range equivalence class [ gfx_mode::$41 ] @@ -12620,8 +12622,9 @@ Complete equivalence classes [ get_plane::return#16 ] [ gfx_mode::$20 ] [ gfx_mode::plane_a#0 ] -[ gfx_mode::$24 ] +[ gfx_mode::$22 ] [ gfx_mode::$23 ] +[ gfx_mode::$24 ] [ gfx_mode::$25 ] [ gfx_mode::$26 ] [ gfx_mode::$27 ] @@ -12634,8 +12637,9 @@ Complete equivalence classes [ get_plane::return#17 ] [ gfx_mode::$34 ] [ gfx_mode::plane_b#0 ] -[ gfx_mode::$38 ] +[ gfx_mode::$36 ] [ gfx_mode::$37 ] +[ gfx_mode::$38 ] [ gfx_mode::$39 ] [ gfx_mode::$40 ] [ gfx_mode::$41 ] @@ -12885,142 +12889,144 @@ Allocated zp[1]:164 [ gfx_mode::plane_a_offs#0 ] Allocated zp[4]:165 [ get_plane::return#16 ] Allocated zp[4]:169 [ gfx_mode::$20 ] Allocated zp[4]:173 [ gfx_mode::plane_a#0 ] -Allocated zp[2]:177 [ gfx_mode::$24 ] +Allocated zp[2]:177 [ gfx_mode::$22 ] Allocated zp[1]:179 [ gfx_mode::$23 ] -Allocated zp[1]:180 [ gfx_mode::$25 ] -Allocated zp[2]:181 [ gfx_mode::$26 ] -Allocated zp[1]:183 [ gfx_mode::$27 ] -Allocated zp[1]:184 [ gfx_mode::$28 ] -Allocated zp[1]:185 [ gfx_mode::$29 ] -Allocated zp[1]:186 [ gfx_mode::$30 ] -Allocated zp[1]:187 [ gfx_mode::$31 ] -Allocated zp[1]:188 [ gfx_mode::$32 ] -Allocated zp[1]:189 [ gfx_mode::plane_b_offs#0 ] -Allocated zp[4]:190 [ get_plane::return#17 ] -Allocated zp[4]:194 [ gfx_mode::$34 ] -Allocated zp[4]:198 [ gfx_mode::plane_b#0 ] -Allocated zp[2]:202 [ gfx_mode::$38 ] -Allocated zp[1]:204 [ gfx_mode::$37 ] -Allocated zp[1]:205 [ gfx_mode::$39 ] -Allocated zp[2]:206 [ gfx_mode::$40 ] -Allocated zp[1]:208 [ gfx_mode::$41 ] -Allocated zp[1]:209 [ gfx_mode::$42 ] -Allocated zp[1]:210 [ gfx_mode::$43 ] -Allocated zp[1]:211 [ gfx_mode::$44 ] -Allocated zp[1]:212 [ gfx_mode::$45 ] -Allocated zp[2]:213 [ get_vic_screen::return#10 ] -Allocated zp[2]:215 [ gfx_mode::$82 ] -Allocated zp[2]:217 [ gfx_mode::$47 ] -Allocated zp[2]:219 [ gfx_mode::$48 ] -Allocated zp[1]:221 [ get_vic_charset::idx#0 ] -Allocated zp[2]:222 [ get_vic_charset::return#4 ] -Allocated zp[2]:224 [ gfx_mode::$83 ] -Allocated zp[2]:226 [ gfx_mode::$50 ] -Allocated zp[1]:228 [ gfx_mode::$51 ] -Allocated zp[1]:229 [ gfx_mode::$52 ] -Allocated zp[1]:230 [ gfx_mode::$84 ] -Allocated zp[1]:231 [ gfx_mode::$53 ] -Allocated zp[2]:232 [ get_vic_screen::return#11 ] -Allocated zp[1]:234 [ gfx_mode::$55 ] -Allocated zp[1]:235 [ gfx_mode::$56 ] -Allocated zp[1]:236 [ gfx_mode::$57 ] -Allocated zp[1]:237 [ gfx_mode::$58 ] -Allocated zp[1]:238 [ gfx_mode::$59 ] -Allocated zp[1]:239 [ gfx_mode::$60 ] -Allocated zp[1]:240 [ gfx_mode::$61 ] -Allocated zp[1]:241 [ gfx_mode::$62 ] -Allocated zp[1]:242 [ keyboard_event_get::return#3 ] -Allocated zp[1]:243 [ gfx_mode::keyboard_event#0 ] -Allocated zp[1]:244 [ gfx_init_screen0::$0 ] -Allocated zp[1]:245 [ gfx_init_screen0::$1 ] -Allocated zp[1]:246 [ gfx_init_screen0::$2 ] -Allocated zp[1]:247 [ gfx_init_screen0::$3 ] -Allocated zp[1]:248 [ gfx_init_screen1::$0 ] -Allocated zp[1]:249 [ gfx_init_screen1::$1 ] -Allocated zp[1]:250 [ gfx_init_screen2::$0 ] -Allocated zp[1]:251 [ gfx_init_screen2::col#0 ] -Allocated zp[1]:252 [ gfx_init_screen2::col2#0 ] -Allocated zp[1]:253 [ gfx_init_screen2::$3 ] -Allocated zp[1]:254 [ gfx_init_screen2::$4 ] -Allocated zp[1]:255 [ gfx_init_screen3::$0 ] -Allocated zp[1]:256 [ gfx_init_screen3::$1 ] -Allocated zp[1]:257 [ gfx_init_screen3::$2 ] -Allocated zp[1]:258 [ gfx_init_screen3::$3 ] -Allocated zp[1]:259 [ bitmap_line::x0#0 ] -Allocated zp[1]:260 [ bitmap_line::x1#0 ] -Allocated zp[1]:261 [ bitmap_line::y0#0 ] -Allocated zp[1]:262 [ bitmap_line::y1#0 ] -Allocated zp[2]:263 [ gfx_init_plane_8bppchunky::$5 ] -Allocated zp[1]:265 [ gfx_init_plane_8bppchunky::c#0 ] -Allocated zp[1]:266 [ gfx_init_plane_charset8::$2 ] -Allocated zp[1]:267 [ gfx_init_plane_horisontal::$2 ] -Allocated zp[1]:268 [ gfx_init_plane_horisontal2::$2 ] -Allocated zp[1]:269 [ gfx_init_plane_horisontal2::row#0 ] -Allocated zp[2]:270 [ memset::str#0 ] -Allocated zp[1]:272 [ print_str_lines::ch#0 ] -Allocated zp[1]:273 [ print_char::ch#0 ] -Allocated zp[1]:274 [ form_set_screen::$0 ] -Allocated zp[1]:275 [ form_set_screen::$1 ] -Allocated zp[2]:276 [ form_field_ptr::return#3 ] -Allocated zp[2]:278 [ form_control::field#0 ] -Allocated zp[1]:280 [ form_control::$12 ] -Allocated zp[1]:281 [ keyboard_event_get::return#4 ] -Allocated zp[1]:282 [ form_control::key_event#0 ] -Allocated zp[1]:283 [ form_control::$14 ] -Allocated zp[1]:284 [ form_control::$15 ] -Allocated zp[1]:285 [ form_control::$22 ] -Allocated zp[1]:286 [ form_control::$13 ] -Allocated zp[1]:287 [ keyboard_matrix_read::rowid#0 ] -Allocated zp[1]:288 [ keyboard_matrix_read::return#2 ] -Allocated zp[1]:289 [ keyboard_event_scan::row_scan#0 ] -Allocated zp[1]:290 [ keyboard_event_pressed::return#0 ] -Allocated zp[1]:291 [ keyboard_event_scan::$0 ] -Allocated zp[1]:292 [ keyboard_event_pressed::return#1 ] -Allocated zp[1]:293 [ keyboard_event_scan::$3 ] -Allocated zp[1]:294 [ keyboard_event_pressed::return#2 ] -Allocated zp[1]:295 [ keyboard_event_scan::$6 ] -Allocated zp[1]:296 [ keyboard_event_pressed::return#3 ] -Allocated zp[1]:297 [ keyboard_event_scan::$9 ] -Allocated zp[1]:298 [ keyboard_event_scan::$15 ] -Allocated zp[1]:299 [ keyboard_event_scan::$16 ] -Allocated zp[1]:300 [ keyboard_event_scan::event_type#0 ] -Allocated zp[1]:301 [ keyboard_event_scan::$23 ] -Allocated zp[1]:302 [ bitmap_init::$0 ] -Allocated zp[1]:303 [ bitmap_init::$10 ] -Allocated zp[1]:304 [ bitmap_init::$7 ] -Allocated zp[1]:305 [ bitmap_init::$8 ] -Allocated zp[1]:306 [ bitmap_init::$9 ] -Allocated zp[2]:307 [ bitmap_clear::bitmap#0 ] -Allocated zp[1]:309 [ bitmap_line::xd#2 ] -Allocated zp[1]:310 [ bitmap_line::yd#2 ] -Allocated zp[1]:311 [ bitmap_line::yd#1 ] -Allocated zp[1]:312 [ bitmap_line::xd#1 ] -Allocated zp[1]:313 [ bitmap_line::yd#10 ] -Allocated zp[1]:314 [ bitmap_line::yd#11 ] -Allocated zp[4]:315 [ gfx_init_plane_fill::$0 ] -Allocated zp[2]:319 [ gfx_init_plane_fill::$1 ] -Allocated zp[1]:321 [ gfx_init_plane_fill::gfxbCpuBank#0 ] -Allocated zp[2]:322 [ gfx_init_plane_fill::$4 ] -Allocated zp[2]:324 [ gfx_init_plane_fill::$5 ] -Allocated zp[2]:326 [ gfx_init_plane_fill::gfxb#0 ] -Allocated zp[2]:328 [ memset::end#0 ] -Allocated zp[1]:330 [ form_field_ptr::y#0 ] -Allocated zp[2]:331 [ form_field_ptr::line#0 ] -Allocated zp[1]:333 [ form_field_ptr::x#0 ] -Allocated zp[2]:334 [ form_field_ptr::return#0 ] -Allocated zp[1]:336 [ keyboard_matrix_read::return#0 ] -Allocated zp[1]:337 [ keyboard_event_pressed::$0 ] -Allocated zp[1]:338 [ keyboard_event_pressed::row_bits#0 ] -Allocated zp[1]:339 [ keyboard_event_pressed::$1 ] -Allocated zp[1]:340 [ keyboard_event_pressed::return#10 ] -Allocated zp[1]:341 [ bitmap_line_ydxi::$6 ] -Allocated zp[1]:342 [ bitmap_line_xdyi::$6 ] -Allocated zp[1]:343 [ bitmap_line_ydxd::$6 ] -Allocated zp[1]:344 [ bitmap_line_xdyd::$6 ] -Allocated zp[2]:345 [ bitmap_plot::plotter_x#0 ] -Allocated zp[2]:347 [ bitmap_plot::plotter_y#0 ] -Allocated zp[2]:349 [ bitmap_plot::plotter#0 ] -Allocated zp[1]:351 [ bitmap_plot::$1 ] +Allocated zp[2]:180 [ gfx_mode::$24 ] +Allocated zp[1]:182 [ gfx_mode::$25 ] +Allocated zp[2]:183 [ gfx_mode::$26 ] +Allocated zp[1]:185 [ gfx_mode::$27 ] +Allocated zp[1]:186 [ gfx_mode::$28 ] +Allocated zp[1]:187 [ gfx_mode::$29 ] +Allocated zp[1]:188 [ gfx_mode::$30 ] +Allocated zp[1]:189 [ gfx_mode::$31 ] +Allocated zp[1]:190 [ gfx_mode::$32 ] +Allocated zp[1]:191 [ gfx_mode::plane_b_offs#0 ] +Allocated zp[4]:192 [ get_plane::return#17 ] +Allocated zp[4]:196 [ gfx_mode::$34 ] +Allocated zp[4]:200 [ gfx_mode::plane_b#0 ] +Allocated zp[2]:204 [ gfx_mode::$36 ] +Allocated zp[1]:206 [ gfx_mode::$37 ] +Allocated zp[2]:207 [ gfx_mode::$38 ] +Allocated zp[1]:209 [ gfx_mode::$39 ] +Allocated zp[2]:210 [ gfx_mode::$40 ] +Allocated zp[1]:212 [ gfx_mode::$41 ] +Allocated zp[1]:213 [ gfx_mode::$42 ] +Allocated zp[1]:214 [ gfx_mode::$43 ] +Allocated zp[1]:215 [ gfx_mode::$44 ] +Allocated zp[1]:216 [ gfx_mode::$45 ] +Allocated zp[2]:217 [ get_vic_screen::return#10 ] +Allocated zp[2]:219 [ gfx_mode::$82 ] +Allocated zp[2]:221 [ gfx_mode::$47 ] +Allocated zp[2]:223 [ gfx_mode::$48 ] +Allocated zp[1]:225 [ get_vic_charset::idx#0 ] +Allocated zp[2]:226 [ get_vic_charset::return#4 ] +Allocated zp[2]:228 [ gfx_mode::$83 ] +Allocated zp[2]:230 [ gfx_mode::$50 ] +Allocated zp[1]:232 [ gfx_mode::$51 ] +Allocated zp[1]:233 [ gfx_mode::$52 ] +Allocated zp[1]:234 [ gfx_mode::$84 ] +Allocated zp[1]:235 [ gfx_mode::$53 ] +Allocated zp[2]:236 [ get_vic_screen::return#11 ] +Allocated zp[1]:238 [ gfx_mode::$55 ] +Allocated zp[1]:239 [ gfx_mode::$56 ] +Allocated zp[1]:240 [ gfx_mode::$57 ] +Allocated zp[1]:241 [ gfx_mode::$58 ] +Allocated zp[1]:242 [ gfx_mode::$59 ] +Allocated zp[1]:243 [ gfx_mode::$60 ] +Allocated zp[1]:244 [ gfx_mode::$61 ] +Allocated zp[1]:245 [ gfx_mode::$62 ] +Allocated zp[1]:246 [ keyboard_event_get::return#3 ] +Allocated zp[1]:247 [ gfx_mode::keyboard_event#0 ] +Allocated zp[1]:248 [ gfx_init_screen0::$0 ] +Allocated zp[1]:249 [ gfx_init_screen0::$1 ] +Allocated zp[1]:250 [ gfx_init_screen0::$2 ] +Allocated zp[1]:251 [ gfx_init_screen0::$3 ] +Allocated zp[1]:252 [ gfx_init_screen1::$0 ] +Allocated zp[1]:253 [ gfx_init_screen1::$1 ] +Allocated zp[1]:254 [ gfx_init_screen2::$0 ] +Allocated zp[1]:255 [ gfx_init_screen2::col#0 ] +Allocated zp[1]:256 [ gfx_init_screen2::col2#0 ] +Allocated zp[1]:257 [ gfx_init_screen2::$3 ] +Allocated zp[1]:258 [ gfx_init_screen2::$4 ] +Allocated zp[1]:259 [ gfx_init_screen3::$0 ] +Allocated zp[1]:260 [ gfx_init_screen3::$1 ] +Allocated zp[1]:261 [ gfx_init_screen3::$2 ] +Allocated zp[1]:262 [ gfx_init_screen3::$3 ] +Allocated zp[1]:263 [ bitmap_line::x0#0 ] +Allocated zp[1]:264 [ bitmap_line::x1#0 ] +Allocated zp[1]:265 [ bitmap_line::y0#0 ] +Allocated zp[1]:266 [ bitmap_line::y1#0 ] +Allocated zp[2]:267 [ gfx_init_plane_8bppchunky::$5 ] +Allocated zp[1]:269 [ gfx_init_plane_8bppchunky::c#0 ] +Allocated zp[1]:270 [ gfx_init_plane_charset8::$2 ] +Allocated zp[1]:271 [ gfx_init_plane_horisontal::$2 ] +Allocated zp[1]:272 [ gfx_init_plane_horisontal2::$2 ] +Allocated zp[1]:273 [ gfx_init_plane_horisontal2::row#0 ] +Allocated zp[2]:274 [ memset::str#0 ] +Allocated zp[1]:276 [ print_str_lines::ch#0 ] +Allocated zp[1]:277 [ print_char::ch#0 ] +Allocated zp[1]:278 [ form_set_screen::$0 ] +Allocated zp[1]:279 [ form_set_screen::$1 ] +Allocated zp[2]:280 [ form_field_ptr::return#3 ] +Allocated zp[2]:282 [ form_control::field#0 ] +Allocated zp[1]:284 [ form_control::$12 ] +Allocated zp[1]:285 [ keyboard_event_get::return#4 ] +Allocated zp[1]:286 [ form_control::key_event#0 ] +Allocated zp[1]:287 [ form_control::$14 ] +Allocated zp[1]:288 [ form_control::$15 ] +Allocated zp[1]:289 [ form_control::$22 ] +Allocated zp[1]:290 [ form_control::$13 ] +Allocated zp[1]:291 [ keyboard_matrix_read::rowid#0 ] +Allocated zp[1]:292 [ keyboard_matrix_read::return#2 ] +Allocated zp[1]:293 [ keyboard_event_scan::row_scan#0 ] +Allocated zp[1]:294 [ keyboard_event_pressed::return#0 ] +Allocated zp[1]:295 [ keyboard_event_scan::$0 ] +Allocated zp[1]:296 [ keyboard_event_pressed::return#1 ] +Allocated zp[1]:297 [ keyboard_event_scan::$3 ] +Allocated zp[1]:298 [ keyboard_event_pressed::return#2 ] +Allocated zp[1]:299 [ keyboard_event_scan::$6 ] +Allocated zp[1]:300 [ keyboard_event_pressed::return#3 ] +Allocated zp[1]:301 [ keyboard_event_scan::$9 ] +Allocated zp[1]:302 [ keyboard_event_scan::$15 ] +Allocated zp[1]:303 [ keyboard_event_scan::$16 ] +Allocated zp[1]:304 [ keyboard_event_scan::event_type#0 ] +Allocated zp[1]:305 [ keyboard_event_scan::$23 ] +Allocated zp[1]:306 [ bitmap_init::$0 ] +Allocated zp[1]:307 [ bitmap_init::$10 ] +Allocated zp[1]:308 [ bitmap_init::$7 ] +Allocated zp[1]:309 [ bitmap_init::$8 ] +Allocated zp[1]:310 [ bitmap_init::$9 ] +Allocated zp[2]:311 [ bitmap_clear::bitmap#0 ] +Allocated zp[1]:313 [ bitmap_line::xd#2 ] +Allocated zp[1]:314 [ bitmap_line::yd#2 ] +Allocated zp[1]:315 [ bitmap_line::yd#1 ] +Allocated zp[1]:316 [ bitmap_line::xd#1 ] +Allocated zp[1]:317 [ bitmap_line::yd#10 ] +Allocated zp[1]:318 [ bitmap_line::yd#11 ] +Allocated zp[4]:319 [ gfx_init_plane_fill::$0 ] +Allocated zp[2]:323 [ gfx_init_plane_fill::$1 ] +Allocated zp[1]:325 [ gfx_init_plane_fill::gfxbCpuBank#0 ] +Allocated zp[2]:326 [ gfx_init_plane_fill::$4 ] +Allocated zp[2]:328 [ gfx_init_plane_fill::$5 ] +Allocated zp[2]:330 [ gfx_init_plane_fill::gfxb#0 ] +Allocated zp[2]:332 [ memset::end#0 ] +Allocated zp[1]:334 [ form_field_ptr::y#0 ] +Allocated zp[2]:335 [ form_field_ptr::line#0 ] +Allocated zp[1]:337 [ form_field_ptr::x#0 ] +Allocated zp[2]:338 [ form_field_ptr::return#0 ] +Allocated zp[1]:340 [ keyboard_matrix_read::return#0 ] +Allocated zp[1]:341 [ keyboard_event_pressed::$0 ] +Allocated zp[1]:342 [ keyboard_event_pressed::row_bits#0 ] +Allocated zp[1]:343 [ keyboard_event_pressed::$1 ] +Allocated zp[1]:344 [ keyboard_event_pressed::return#10 ] +Allocated zp[1]:345 [ bitmap_line_ydxi::$6 ] +Allocated zp[1]:346 [ bitmap_line_xdyi::$6 ] +Allocated zp[1]:347 [ bitmap_line_ydxd::$6 ] +Allocated zp[1]:348 [ bitmap_line_xdyd::$6 ] +Allocated zp[2]:349 [ bitmap_plot::plotter_x#0 ] +Allocated zp[2]:351 [ bitmap_plot::plotter_y#0 ] +Allocated zp[2]:353 [ bitmap_plot::plotter#0 ] +Allocated zp[1]:355 [ bitmap_plot::$1 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -13298,7 +13304,7 @@ keyboard_init: { // Initialize the different graphics in the memory gfx_init: { // [16] call gfx_init_screen0 - // [234] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] + // [236] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] gfx_init_screen0_from_gfx_init: jsr gfx_init_screen0 // [17] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] @@ -13307,7 +13313,7 @@ gfx_init: { // gfx_init::@1 __b1: // [18] call gfx_init_screen1 - // [248] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] + // [250] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] gfx_init_screen1_from___b1: jsr gfx_init_screen1 // [19] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] @@ -13316,7 +13322,7 @@ gfx_init: { // gfx_init::@2 __b2: // [20] call gfx_init_screen2 - // [260] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] + // [262] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] gfx_init_screen2_from___b2: jsr gfx_init_screen2 // [21] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] @@ -13325,7 +13331,7 @@ gfx_init: { // gfx_init::@3 __b3: // [22] call gfx_init_screen3 - // [275] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] + // [277] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] gfx_init_screen3_from___b3: jsr gfx_init_screen3 // [23] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] @@ -13334,7 +13340,7 @@ gfx_init: { // gfx_init::@4 __b4: // [24] call gfx_init_screen4 - // [289] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] + // [291] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] gfx_init_screen4_from___b4: jsr gfx_init_screen4 // [25] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] @@ -13350,7 +13356,7 @@ gfx_init: { // gfx_init::@6 __b6: // [28] call gfx_init_vic_bitmap - // [311] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] + // [313] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] gfx_init_vic_bitmap_from___b6: jsr gfx_init_vic_bitmap // [29] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] @@ -13359,7 +13365,7 @@ gfx_init: { // gfx_init::@7 __b7: // [30] call gfx_init_plane_8bppchunky - // [324] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] + // [326] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] gfx_init_plane_8bppchunky_from___b7: jsr gfx_init_plane_8bppchunky // [31] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] @@ -13368,7 +13374,7 @@ gfx_init: { // gfx_init::@8 __b8: // [32] call gfx_init_plane_charset8 - // [344] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] + // [346] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] gfx_init_plane_charset8_from___b8: jsr gfx_init_plane_charset8 // [33] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] @@ -13377,7 +13383,7 @@ gfx_init: { // gfx_init::@9 __b9: // [34] call gfx_init_plane_horisontal - // [369] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] + // [371] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] gfx_init_plane_horisontal_from___b9: jsr gfx_init_plane_horisontal // [35] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] @@ -13386,7 +13392,7 @@ gfx_init: { // gfx_init::@10 __b10: // [36] call gfx_init_plane_vertical - // [387] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] + // [389] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] gfx_init_plane_vertical_from___b10: jsr gfx_init_plane_vertical // [37] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] @@ -13395,7 +13401,7 @@ gfx_init: { // gfx_init::@11 __b11: // [38] call gfx_init_plane_horisontal2 - // [400] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] + // [402] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] gfx_init_plane_horisontal2_from___b11: jsr gfx_init_plane_horisontal2 // [39] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] @@ -13404,7 +13410,7 @@ gfx_init: { // gfx_init::@12 __b12: // [40] call gfx_init_plane_vertical2 - // [415] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] + // [417] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] gfx_init_plane_vertical2_from___b12: jsr gfx_init_plane_vertical2 // [41] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] @@ -13413,7 +13419,7 @@ gfx_init: { // gfx_init::@13 __b13: // [42] call gfx_init_plane_blank - // [418] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] + // [420] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] gfx_init_plane_blank_from___b13: jsr gfx_init_plane_blank // [43] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] @@ -13422,7 +13428,7 @@ gfx_init: { // gfx_init::@14 __b14: // [44] call gfx_init_plane_full - // [421] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] + // [423] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] gfx_init_plane_full_from___b14: jsr gfx_init_plane_full jmp __breturn @@ -13439,9 +13445,9 @@ form_mode: { .label preset_current = 5 // [47] call print_set_screen // Form Colors - // [424] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] + // [426] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] print_set_screen_from_form_mode: - // [424] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) COLS [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 + // [426] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) COLS [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 lda #COLS @@ -13460,9 +13466,9 @@ form_mode: { // form_mode::@9 __b9: // [51] call print_str_lines - // [430] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] + // [432] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] print_str_lines_from___b9: - // [430] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_COLS [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 + // [432] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_COLS [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_COLS @@ -13475,9 +13481,9 @@ form_mode: { __b10: // [53] call print_set_screen // Form Text - // [424] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] + // [426] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] print_set_screen_from___b10: - // [424] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) FORM_SCREEN [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 + // [426] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) FORM_SCREEN [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 lda #FORM_SCREEN @@ -13496,9 +13502,9 @@ form_mode: { // form_mode::@12 __b12: // [57] call print_str_lines - // [430] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] + // [432] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] print_str_lines_from___b12: - // [430] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_TEXT [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 + // [432] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_TEXT [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_TEXT @@ -13511,7 +13517,7 @@ form_mode: { __b13: // [59] call form_set_screen // Form Fields - // [446] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] + // [448] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] form_set_screen_from___b13: jsr form_set_screen // [60] phi from form_mode::@13 to form_mode::@14 [phi:form_mode::@13->form_mode::@14] @@ -13520,7 +13526,7 @@ form_mode: { // form_mode::@14 __b14: // [61] call form_render_values - // [456] phi from form_mode::@14 to form_render_values [phi:form_mode::@14->form_render_values] + // [458] phi from form_mode::@14 to form_render_values [phi:form_mode::@14->form_render_values] form_render_values_from___b14: jsr form_render_values jmp __b15 @@ -13530,9 +13536,9 @@ form_mode: { lda form_fields_val sta.z render_preset_name.idx // [63] call render_preset_name - // [464] phi from form_mode::@15 to render_preset_name [phi:form_mode::@15->render_preset_name] + // [466] phi from form_mode::@15 to render_preset_name [phi:form_mode::@15->render_preset_name] render_preset_name_from___b15: - // [464] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#0 [phi:form_mode::@15->render_preset_name#0] -- register_copy + // [466] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#0 [phi:form_mode::@15->render_preset_name#0] -- register_copy jsr render_preset_name jmp __b16 // form_mode::@16 @@ -13684,7 +13690,7 @@ form_mode: { lda form_fields_val sta.z preset_current // [95] call form_render_values - // [456] phi from form_mode::@18 to form_render_values [phi:form_mode::@18->form_render_values] + // [458] phi from form_mode::@18 to form_render_values [phi:form_mode::@18->form_render_values] form_render_values_from___b18: jsr form_render_values jmp __b19 @@ -13694,9 +13700,9 @@ form_mode: { lda form_fields_val sta.z render_preset_name.idx // [97] call render_preset_name - // [464] phi from form_mode::@19 to render_preset_name [phi:form_mode::@19->render_preset_name] + // [466] phi from form_mode::@19 to render_preset_name [phi:form_mode::@19->render_preset_name] render_preset_name_from___b19: - // [464] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#1 [phi:form_mode::@19->render_preset_name#0] -- register_copy + // [466] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#1 [phi:form_mode::@19->render_preset_name#0] -- register_copy jsr render_preset_name jmp __b3_from___b19 } @@ -13705,43 +13711,45 @@ form_mode: { gfx_mode: { .label __18 = $a3 .label __20 = $a9 + .label __22 = $b1 .label __23 = $b3 - .label __24 = $b1 - .label __25 = $b4 - .label __26 = $b5 - .label __27 = $b7 - .label __28 = $b8 - .label __29 = $b9 - .label __30 = $ba - .label __31 = $bb - .label __32 = $bc - .label __34 = $c2 - .label __37 = $cc - .label __38 = $ca - .label __39 = $cd - .label __40 = $ce - .label __41 = $d0 - .label __42 = $d1 - .label __43 = $d2 - .label __44 = $d3 - .label __45 = $d4 - .label __47 = $d9 - .label __48 = $db - .label __50 = $e2 - .label __51 = $e4 - .label __52 = $e5 - .label __53 = $e7 - .label __55 = $ea - .label __56 = $eb - .label __57 = $ec - .label __58 = $ed - .label __59 = $ee - .label __60 = $ef - .label __61 = $f0 - .label __62 = $f1 - .label __82 = $d7 - .label __83 = $e0 - .label __84 = $e6 + .label __24 = $b4 + .label __25 = $b6 + .label __26 = $b7 + .label __27 = $b9 + .label __28 = $ba + .label __29 = $bb + .label __30 = $bc + .label __31 = $bd + .label __32 = $be + .label __34 = $c4 + .label __36 = $cc + .label __37 = $ce + .label __38 = $cf + .label __39 = $d1 + .label __40 = $d2 + .label __41 = $d4 + .label __42 = $d5 + .label __43 = $d6 + .label __44 = $d7 + .label __45 = $d8 + .label __47 = $dd + .label __48 = $df + .label __50 = $e6 + .label __51 = $e8 + .label __52 = $e9 + .label __53 = $eb + .label __55 = $ee + .label __56 = $ef + .label __57 = $f0 + .label __58 = $f1 + .label __59 = $f2 + .label __60 = $f3 + .label __61 = $f4 + .label __62 = $f5 + .label __82 = $db + .label __83 = $e4 + .label __84 = $ea // Show the GFX configuration // DTV Graphics Mode .label dtv_control = 6 @@ -13749,15 +13757,15 @@ gfx_mode: { .label vic_control = 7 .label plane_a_offs = $a4 .label plane_a = $ad - .label plane_b_offs = $bd - .label plane_b = $c6 + .label plane_b_offs = $bf + .label plane_b = $c8 .label vic_colors = $a .label col = $c .label cx = $e .label cy = 9 .label j = $f .label i = $10 - .label keyboard_event = $f3 + .label keyboard_event = $f7 .label vic_control2 = 8 // [98] if(*((const nomodify byte*) form_ctrl_line)==(byte) 0) goto gfx_mode::@1 -- _deref_pbuc1_eq_0_then_la1 lda form_ctrl_line @@ -13960,9 +13968,9 @@ gfx_mode: { lda form_a_pattern sta.z get_plane.idx // [131] call get_plane - // [544] phi from gfx_mode::@9 to get_plane [phi:gfx_mode::@9->get_plane] + // [546] phi from gfx_mode::@9 to get_plane [phi:gfx_mode::@9->get_plane] get_plane_from___b9: - // [544] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#0 [phi:gfx_mode::@9->get_plane#0] -- register_copy + // [546] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#0 [phi:gfx_mode::@9->get_plane#0] -- register_copy jsr get_plane // [132] (dword) get_plane::return#16 ← (dword) get_plane::return#14 -- vduz1=vduz2 lda.z get_plane.return @@ -13999,85 +14007,90 @@ gfx_mode: { lda.z __20+3 adc #0 sta.z plane_a+3 - // [135] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 -- vwuz1=_lo_vduz2 + // [135] (word~) gfx_mode::$22 ← < (dword) gfx_mode::plane_a#0 -- vwuz1=_lo_vduz2 lda.z plane_a - sta.z __24 + sta.z __22 lda.z plane_a+1 - sta.z __24+1 - // [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$24 -- vbuz1=_lo_vwuz2 - lda.z __24 + sta.z __22+1 + // [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$22 -- vbuz1=_lo_vwuz2 + lda.z __22 sta.z __23 // [137] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$23 -- _deref_pbuc1=vbuz1 lda.z __23 sta DTV_PLANEA_START_LO - // [138] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 -- vbuz1=_hi_vwuz2 + // [138] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 -- vwuz1=_lo_vduz2 + lda.z plane_a + sta.z __24 + lda.z plane_a+1 + sta.z __24+1 + // [139] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 -- vbuz1=_hi_vwuz2 lda.z __24+1 sta.z __25 - // [139] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 -- _deref_pbuc1=vbuz1 + // [140] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 -- _deref_pbuc1=vbuz1 lda.z __25 sta DTV_PLANEA_START_MI - // [140] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 -- vwuz1=_hi_vduz2 + // [141] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 -- vwuz1=_hi_vduz2 lda.z plane_a+2 sta.z __26 lda.z plane_a+3 sta.z __26+1 - // [141] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 -- vbuz1=_lo_vwuz2 + // [142] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 -- vbuz1=_lo_vwuz2 lda.z __26 sta.z __27 - // [142] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 -- _deref_pbuc1=vbuz1 + // [143] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 -- _deref_pbuc1=vbuz1 lda.z __27 sta DTV_PLANEA_START_HI - // [143] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 + // [144] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 lda form_a_step_hi asl asl asl asl sta.z __28 - // [144] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 + // [145] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 lda form_a_step_lo ora.z __28 sta.z __29 - // [145] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 -- _deref_pbuc1=vbuz1 + // [146] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 -- _deref_pbuc1=vbuz1 lda.z __29 sta DTV_PLANEA_STEP - // [146] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 + // [147] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 lda form_a_mod_hi asl asl asl asl sta.z __30 - // [147] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 + // [148] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 lda form_a_mod_lo ora.z __30 sta.z __31 - // [148] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 -- _deref_pbuc1=vbuz1 + // [149] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 -- _deref_pbuc1=vbuz1 lda.z __31 sta DTV_PLANEA_MODULO_LO - // [149] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [150] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_MODULO_HI - // [150] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 + // [151] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 lda form_b_start_hi asl asl asl asl sta.z __32 - // [151] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 + // [152] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 lda form_b_start_lo ora.z __32 sta.z plane_b_offs - // [152] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) -- vbuz1=_deref_pbuc1 + // [153] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) -- vbuz1=_deref_pbuc1 lda form_b_pattern sta.z get_plane.idx - // [153] call get_plane - // [544] phi from gfx_mode::@27 to get_plane [phi:gfx_mode::@27->get_plane] + // [154] call get_plane + // [546] phi from gfx_mode::@27 to get_plane [phi:gfx_mode::@27->get_plane] get_plane_from___b27: - // [544] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#1 [phi:gfx_mode::@27->get_plane#0] -- register_copy + // [546] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#1 [phi:gfx_mode::@27->get_plane#0] -- register_copy jsr get_plane - // [154] (dword) get_plane::return#17 ← (dword) get_plane::return#14 -- vduz1=vduz2 + // [155] (dword) get_plane::return#17 ← (dword) get_plane::return#14 -- vduz1=vduz2 lda.z get_plane.return sta.z get_plane.return_2 lda.z get_plane.return+1 @@ -14089,7 +14102,7 @@ gfx_mode: { jmp __b28 // gfx_mode::@28 __b28: - // [155] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 -- vduz1=vduz2 + // [156] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 -- vduz1=vduz2 lda.z get_plane.return_2 sta.z __34 lda.z get_plane.return_2+1 @@ -14098,7 +14111,7 @@ gfx_mode: { sta.z __34+2 lda.z get_plane.return_2+3 sta.z __34+3 - // [156] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 -- vduz1=vduz2_plus_vbuz3 + // [157] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 -- vduz1=vduz2_plus_vbuz3 lda.z plane_b_offs clc adc.z __34 @@ -14112,82 +14125,87 @@ gfx_mode: { lda.z __34+3 adc #0 sta.z plane_b+3 - // [157] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 -- vwuz1=_lo_vduz2 + // [158] (word~) gfx_mode::$36 ← < (dword) gfx_mode::plane_b#0 -- vwuz1=_lo_vduz2 + lda.z plane_b + sta.z __36 + lda.z plane_b+1 + sta.z __36+1 + // [159] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$36 -- vbuz1=_lo_vwuz2 + lda.z __36 + sta.z __37 + // [160] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 -- _deref_pbuc1=vbuz1 + lda.z __37 + sta DTV_PLANEB_START_LO + // [161] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 -- vwuz1=_lo_vduz2 lda.z plane_b sta.z __38 lda.z plane_b+1 sta.z __38+1 - // [158] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$38 -- vbuz1=_lo_vwuz2 - lda.z __38 - sta.z __37 - // [159] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 -- _deref_pbuc1=vbuz1 - lda.z __37 - sta DTV_PLANEB_START_LO - // [160] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 -- vbuz1=_hi_vwuz2 + // [162] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 -- vbuz1=_hi_vwuz2 lda.z __38+1 sta.z __39 - // [161] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 -- _deref_pbuc1=vbuz1 + // [163] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 -- _deref_pbuc1=vbuz1 lda.z __39 sta DTV_PLANEB_START_MI - // [162] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 -- vwuz1=_hi_vduz2 + // [164] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 -- vwuz1=_hi_vduz2 lda.z plane_b+2 sta.z __40 lda.z plane_b+3 sta.z __40+1 - // [163] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 -- vbuz1=_lo_vwuz2 + // [165] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 -- vbuz1=_lo_vwuz2 lda.z __40 sta.z __41 - // [164] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 -- _deref_pbuc1=vbuz1 + // [166] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 -- _deref_pbuc1=vbuz1 lda.z __41 sta DTV_PLANEB_START_HI - // [165] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 + // [167] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 lda form_b_step_hi asl asl asl asl sta.z __42 - // [166] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 + // [168] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 lda form_b_step_lo ora.z __42 sta.z __43 - // [167] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 -- _deref_pbuc1=vbuz1 + // [169] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 -- _deref_pbuc1=vbuz1 lda.z __43 sta DTV_PLANEB_STEP - // [168] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 + // [170] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 lda form_b_mod_hi asl asl asl asl sta.z __44 - // [169] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 + // [171] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 lda form_b_mod_lo ora.z __44 sta.z __45 - // [170] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 -- _deref_pbuc1=vbuz1 + // [172] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 -- _deref_pbuc1=vbuz1 lda.z __45 sta DTV_PLANEB_MODULO_LO - // [171] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [173] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_MODULO_HI - // [172] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 -- _deref_pbuc1=vbuc2 + // [174] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 -- _deref_pbuc1=vbuc2 // VIC Graphics Bank lda #3 sta CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR - // [173] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 -- _deref_pbuc1=vbuc2 + // [175] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 -- _deref_pbuc1=vbuc2 // Set VIC Bank bits to output - all others to input lda #3^VIC_SCREEN0/$4000 sta CIA2 - // [174] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) -- vbuz1=_deref_pbuc1 + // [176] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) -- vbuz1=_deref_pbuc1 lda form_vic_screen sta.z get_vic_screen.idx - // [175] call get_vic_screen - // [562] phi from gfx_mode::@28 to get_vic_screen [phi:gfx_mode::@28->get_vic_screen] + // [177] call get_vic_screen + // [564] phi from gfx_mode::@28 to get_vic_screen [phi:gfx_mode::@28->get_vic_screen] get_vic_screen_from___b28: - // [562] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#0 [phi:gfx_mode::@28->get_vic_screen#0] -- register_copy + // [564] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#0 [phi:gfx_mode::@28->get_vic_screen#0] -- register_copy jsr get_vic_screen - // [176] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 -- pbuz1=pbuz2 + // [178] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 -- pbuz1=pbuz2 lda.z get_vic_screen.return sta.z get_vic_screen.return_1 lda.z get_vic_screen.return+1 @@ -14195,19 +14213,19 @@ gfx_mode: { jmp __b29 // gfx_mode::@29 __b29: - // [177] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 -- pbuz1=pbuz2 + // [179] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 -- pbuz1=pbuz2 lda.z get_vic_screen.return_1 sta.z __82 lda.z get_vic_screen.return_1+1 sta.z __82+1 - // [178] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff -- vwuz1=vwuz2_band_vwuc1 + // [180] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff -- vwuz1=vwuz2_band_vwuc1 lda.z __82 and #<$3fff sta.z __47 lda.z __82+1 and #>$3fff sta.z __47+1 - // [179] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 -- vwuz1=vwuz2_ror_6 + // [181] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 -- vwuz1=vwuz2_ror_6 lda.z __47 asl sta.z $ff @@ -14220,12 +14238,12 @@ gfx_mode: { asl.z $ff rol.z __48 rol.z __48+1 - // [180] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) -- vbuz1=_deref_pbuc1 + // [182] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) -- vbuz1=_deref_pbuc1 lda form_vic_gfx sta.z get_vic_charset.idx - // [181] call get_vic_charset + // [183] call get_vic_charset jsr get_vic_charset - // [182] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 -- pbuz1=pbuz2 + // [184] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 -- pbuz1=pbuz2 lda.z get_vic_charset.return sta.z get_vic_charset.return_1 lda.z get_vic_charset.return+1 @@ -14233,47 +14251,47 @@ gfx_mode: { jmp __b30 // gfx_mode::@30 __b30: - // [183] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 -- pbuz1=pbuz2 + // [185] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 -- pbuz1=pbuz2 lda.z get_vic_charset.return_1 sta.z __83 lda.z get_vic_charset.return_1+1 sta.z __83+1 - // [184] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff -- vwuz1=vwuz2_band_vwuc1 + // [186] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff -- vwuz1=vwuz2_band_vwuc1 lda.z __83 and #<$3fff sta.z __50 lda.z __83+1 and #>$3fff sta.z __50+1 - // [185] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 -- vbuz1=_hi_vwuz2 + // [187] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 -- vbuz1=_hi_vwuz2 lda.z __50+1 sta.z __51 - // [186] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 -- vbuz1=vbuz2_ror_2 + // [188] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 -- vbuz1=vbuz2_ror_2 lda.z __51 lsr lsr sta.z __52 - // [187] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 -- vbuz1=_byte_vwuz2 + // [189] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 -- vbuz1=_byte_vwuz2 lda.z __48 sta.z __84 - // [188] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 -- vbuz1=vbuz2_bor_vbuz3 + // [190] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 -- vbuz1=vbuz2_bor_vbuz3 lda.z __84 ora.z __52 sta.z __53 - // [189] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 -- _deref_pbuc1=vbuz1 + // [191] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 -- _deref_pbuc1=vbuz1 // Set VIC Bank // VIC memory lda.z __53 sta VIC_MEMORY - // [190] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) -- vbuz1=_deref_pbuc1 + // [192] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) -- vbuz1=_deref_pbuc1 lda form_vic_cols sta.z get_vic_screen.idx - // [191] call get_vic_screen - // [562] phi from gfx_mode::@30 to get_vic_screen [phi:gfx_mode::@30->get_vic_screen] + // [193] call get_vic_screen + // [564] phi from gfx_mode::@30 to get_vic_screen [phi:gfx_mode::@30->get_vic_screen] get_vic_screen_from___b30: - // [562] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#1 [phi:gfx_mode::@30->get_vic_screen#0] -- register_copy + // [564] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#1 [phi:gfx_mode::@30->get_vic_screen#0] -- register_copy jsr get_vic_screen - // [192] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 -- pbuz1=pbuz2 + // [194] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 -- pbuz1=pbuz2 lda.z get_vic_screen.return sta.z get_vic_screen.return_2 lda.z get_vic_screen.return+1 @@ -14281,230 +14299,230 @@ gfx_mode: { jmp __b31 // gfx_mode::@31 __b31: - // [193] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 -- pbuz1=pbuz2 + // [195] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 -- pbuz1=pbuz2 lda.z get_vic_screen.return_2 sta.z vic_colors lda.z get_vic_screen.return_2+1 sta.z vic_colors+1 - // [194] phi from gfx_mode::@31 to gfx_mode::@19 [phi:gfx_mode::@31->gfx_mode::@19] + // [196] phi from gfx_mode::@31 to gfx_mode::@19 [phi:gfx_mode::@31->gfx_mode::@19] __b19_from___b31: - // [194] phi (byte) gfx_mode::cy#4 = (byte) 0 [phi:gfx_mode::@31->gfx_mode::@19#0] -- vbuz1=vbuc1 + // [196] phi (byte) gfx_mode::cy#4 = (byte) 0 [phi:gfx_mode::@31->gfx_mode::@19#0] -- vbuz1=vbuc1 lda #0 sta.z cy - // [194] phi (byte*) gfx_mode::col#3 = (const nomodify byte*) COLS [phi:gfx_mode::@31->gfx_mode::@19#1] -- pbuz1=pbuc1 + // [196] phi (byte*) gfx_mode::col#3 = (const nomodify byte*) COLS [phi:gfx_mode::@31->gfx_mode::@19#1] -- pbuz1=pbuc1 lda #COLS sta.z col+1 - // [194] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#0 [phi:gfx_mode::@31->gfx_mode::@19#2] -- register_copy + // [196] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#0 [phi:gfx_mode::@31->gfx_mode::@19#2] -- register_copy jmp __b19 - // [194] phi from gfx_mode::@21 to gfx_mode::@19 [phi:gfx_mode::@21->gfx_mode::@19] + // [196] phi from gfx_mode::@21 to gfx_mode::@19 [phi:gfx_mode::@21->gfx_mode::@19] __b19_from___b21: - // [194] phi (byte) gfx_mode::cy#4 = (byte) gfx_mode::cy#1 [phi:gfx_mode::@21->gfx_mode::@19#0] -- register_copy - // [194] phi (byte*) gfx_mode::col#3 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@21->gfx_mode::@19#1] -- register_copy - // [194] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@21->gfx_mode::@19#2] -- register_copy + // [196] phi (byte) gfx_mode::cy#4 = (byte) gfx_mode::cy#1 [phi:gfx_mode::@21->gfx_mode::@19#0] -- register_copy + // [196] phi (byte*) gfx_mode::col#3 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@21->gfx_mode::@19#1] -- register_copy + // [196] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@21->gfx_mode::@19#2] -- register_copy jmp __b19 // gfx_mode::@19 __b19: - // [195] phi from gfx_mode::@19 to gfx_mode::@20 [phi:gfx_mode::@19->gfx_mode::@20] + // [197] phi from gfx_mode::@19 to gfx_mode::@20 [phi:gfx_mode::@19->gfx_mode::@20] __b20_from___b19: - // [195] phi (byte) gfx_mode::cx#2 = (byte) 0 [phi:gfx_mode::@19->gfx_mode::@20#0] -- vbuz1=vbuc1 + // [197] phi (byte) gfx_mode::cx#2 = (byte) 0 [phi:gfx_mode::@19->gfx_mode::@20#0] -- vbuz1=vbuc1 lda #0 sta.z cx - // [195] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#3 [phi:gfx_mode::@19->gfx_mode::@20#1] -- register_copy - // [195] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#3 [phi:gfx_mode::@19->gfx_mode::@20#2] -- register_copy + // [197] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#3 [phi:gfx_mode::@19->gfx_mode::@20#1] -- register_copy + // [197] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#3 [phi:gfx_mode::@19->gfx_mode::@20#2] -- register_copy jmp __b20 - // [195] phi from gfx_mode::@20 to gfx_mode::@20 [phi:gfx_mode::@20->gfx_mode::@20] + // [197] phi from gfx_mode::@20 to gfx_mode::@20 [phi:gfx_mode::@20->gfx_mode::@20] __b20_from___b20: - // [195] phi (byte) gfx_mode::cx#2 = (byte) gfx_mode::cx#1 [phi:gfx_mode::@20->gfx_mode::@20#0] -- register_copy - // [195] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@20->gfx_mode::@20#1] -- register_copy - // [195] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@20->gfx_mode::@20#2] -- register_copy + // [197] phi (byte) gfx_mode::cx#2 = (byte) gfx_mode::cx#1 [phi:gfx_mode::@20->gfx_mode::@20#0] -- register_copy + // [197] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@20->gfx_mode::@20#1] -- register_copy + // [197] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@20->gfx_mode::@20#2] -- register_copy jmp __b20 // gfx_mode::@20 __b20: - // [196] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) -- _deref_pbuz1=_deref_pbuz2 + // [198] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (vic_colors),y ldy #0 sta (col),y - // [197] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 -- pbuz1=_inc_pbuz1 + // [199] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 -- pbuz1=_inc_pbuz1 inc.z col bne !+ inc.z col+1 !: - // [198] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 -- pbuz1=_inc_pbuz1 + // [200] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 -- pbuz1=_inc_pbuz1 inc.z vic_colors bne !+ inc.z vic_colors+1 !: - // [199] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 -- vbuz1=_inc_vbuz1 + // [201] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 -- vbuz1=_inc_vbuz1 inc.z cx - // [200] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 -- vbuz1_neq_vbuc1_then_la1 + // [202] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z cx bne __b20_from___b20 jmp __b21 // gfx_mode::@21 __b21: - // [201] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 -- vbuz1=_inc_vbuz1 + // [203] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [202] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 -- vbuz1_neq_vbuc1_then_la1 + // [204] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b19_from___b21 jmp __b22 // gfx_mode::@22 __b22: - // [203] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [205] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2 // Background colors lda #0 sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR - // [204] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 + // [206] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 lda form_vic_bg0_hi asl asl asl asl sta.z __55 - // [205] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 + // [207] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 lda form_vic_bg0_lo ora.z __55 sta.z __56 - // [206] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuz1 + // [208] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuz1 lda.z __56 sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR - // [207] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 + // [209] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 lda form_vic_bg1_hi asl asl asl asl sta.z __57 - // [208] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 + // [210] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 lda form_vic_bg1_lo ora.z __57 sta.z __58 - // [209] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuz1 + // [211] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuz1 lda.z __58 sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1 - // [210] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 + // [212] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 lda form_vic_bg2_hi asl asl asl asl sta.z __59 - // [211] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 + // [213] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 lda form_vic_bg2_lo ora.z __59 sta.z __60 - // [212] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuz1 + // [214] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuz1 lda.z __60 sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2 - // [213] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 + // [215] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 -- vbuz1=_deref_pbuc1_rol_4 lda form_vic_bg3_hi asl asl asl asl sta.z __61 - // [214] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 + // [216] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) -- vbuz1=vbuz2_bor__deref_pbuc1 lda form_vic_bg3_lo ora.z __61 sta.z __62 - // [215] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuz1 + // [217] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuz1 lda.z __62 sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3 - // [216] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 -- _deref_pbuc1_eq_0_then_la1 + // [218] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 -- _deref_pbuc1_eq_0_then_la1 // DTV Palette lda form_dtv_palet cmp #0 beq __b24_from___b22 - // [217] phi from gfx_mode::@22 to gfx_mode::@23 [phi:gfx_mode::@22->gfx_mode::@23] + // [219] phi from gfx_mode::@22 to gfx_mode::@23 [phi:gfx_mode::@22->gfx_mode::@23] __b23_from___b22: - // [217] phi (byte) gfx_mode::j#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@23#0] -- vbuz1=vbuc1 + // [219] phi (byte) gfx_mode::j#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@23#0] -- vbuz1=vbuc1 lda #0 sta.z j jmp __b23 // DTV Palette - Grey Tones - // [217] phi from gfx_mode::@23 to gfx_mode::@23 [phi:gfx_mode::@23->gfx_mode::@23] + // [219] phi from gfx_mode::@23 to gfx_mode::@23 [phi:gfx_mode::@23->gfx_mode::@23] __b23_from___b23: - // [217] phi (byte) gfx_mode::j#2 = (byte) gfx_mode::j#1 [phi:gfx_mode::@23->gfx_mode::@23#0] -- register_copy + // [219] phi (byte) gfx_mode::j#2 = (byte) gfx_mode::j#1 [phi:gfx_mode::@23->gfx_mode::@23#0] -- register_copy jmp __b23 // gfx_mode::@23 __b23: - // [218] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 -- pbuc1_derefidx_vbuz1=vbuz1 + // [220] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 -- pbuc1_derefidx_vbuz1=vbuz1 ldy.z j tya sta DTV_PALETTE,y - // [219] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 -- vbuz1=_inc_vbuz1 + // [221] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 -- vbuz1=_inc_vbuz1 inc.z j - // [220] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 -- vbuz1_neq_vbuc1_then_la1 + // [222] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 -- vbuz1_neq_vbuc1_then_la1 lda #$10 cmp.z j bne __b23_from___b23 jmp __b25 // gfx_mode::@25 __b25: - // [221] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1 + // [223] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1 lda #$ff cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER bne __b25 - // [222] phi from gfx_mode::@25 to gfx_mode::@26 [phi:gfx_mode::@25->gfx_mode::@26] + // [224] phi from gfx_mode::@25 to gfx_mode::@26 [phi:gfx_mode::@25->gfx_mode::@26] __b26_from___b25: jmp __b26 // gfx_mode::@26 __b26: - // [223] call keyboard_event_scan - // [576] phi from gfx_mode::@26 to keyboard_event_scan [phi:gfx_mode::@26->keyboard_event_scan] + // [225] call keyboard_event_scan + // [578] phi from gfx_mode::@26 to keyboard_event_scan [phi:gfx_mode::@26->keyboard_event_scan] keyboard_event_scan_from___b26: - // [576] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#25 [phi:gfx_mode::@26->keyboard_event_scan#0] -- register_copy + // [578] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#25 [phi:gfx_mode::@26->keyboard_event_scan#0] -- register_copy jsr keyboard_event_scan - // [224] phi from gfx_mode::@26 to gfx_mode::@32 [phi:gfx_mode::@26->gfx_mode::@32] + // [226] phi from gfx_mode::@26 to gfx_mode::@32 [phi:gfx_mode::@26->gfx_mode::@32] __b32_from___b26: jmp __b32 // gfx_mode::@32 __b32: - // [225] call keyboard_event_get + // [227] call keyboard_event_get jsr keyboard_event_get - // [226] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 -- vbuz1=vbuz2 + // [228] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 -- vbuz1=vbuz2 lda.z keyboard_event_get.return sta.z keyboard_event_get.return_1 jmp __b33 // gfx_mode::@33 __b33: - // [227] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 -- vbuz1=vbuz2 + // [229] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 -- vbuz1=vbuz2 lda.z keyboard_event_get.return_1 sta.z keyboard_event - // [228] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return -- vbuz1_eq_vbuc1_then_la1 + // [230] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return -- vbuz1_eq_vbuc1_then_la1 lda #KEY_SPACE cmp.z keyboard_event beq __breturn jmp __b25 // gfx_mode::@return __breturn: - // [229] return + // [231] return rts // DTV Palette - default - // [230] phi from gfx_mode::@22 to gfx_mode::@24 [phi:gfx_mode::@22->gfx_mode::@24] + // [232] phi from gfx_mode::@22 to gfx_mode::@24 [phi:gfx_mode::@22->gfx_mode::@24] __b24_from___b22: - // [230] phi (byte) gfx_mode::i#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@24#0] -- vbuz1=vbuc1 + // [232] phi (byte) gfx_mode::i#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@24#0] -- vbuz1=vbuc1 lda #0 sta.z i jmp __b24 - // [230] phi from gfx_mode::@24 to gfx_mode::@24 [phi:gfx_mode::@24->gfx_mode::@24] + // [232] phi from gfx_mode::@24 to gfx_mode::@24 [phi:gfx_mode::@24->gfx_mode::@24] __b24_from___b24: - // [230] phi (byte) gfx_mode::i#2 = (byte) gfx_mode::i#1 [phi:gfx_mode::@24->gfx_mode::@24#0] -- register_copy + // [232] phi (byte) gfx_mode::i#2 = (byte) gfx_mode::i#1 [phi:gfx_mode::@24->gfx_mode::@24#0] -- register_copy jmp __b24 // gfx_mode::@24 __b24: - // [231] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + // [233] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy.z i lda DTV_PALETTE_DEFAULT,y sta DTV_PALETTE,y - // [232] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 -- vbuz1=_inc_vbuz1 + // [234] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 -- vbuz1=_inc_vbuz1 inc.z i - // [233] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 -- vbuz1_neq_vbuc1_then_la1 + // [235] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 -- vbuz1_neq_vbuc1_then_la1 lda #$10 cmp.z i bne __b24_from___b24 @@ -14513,360 +14531,360 @@ gfx_mode: { // gfx_init_screen0 // Initialize VIC screen 0 ( value is %yyyyxxxx where yyyy is ypos and xxxx is xpos) gfx_init_screen0: { - .label __0 = $f4 - .label __1 = $f5 - .label __2 = $f6 - .label __3 = $f7 + .label __0 = $f8 + .label __1 = $f9 + .label __2 = $fa + .label __3 = $fb .label ch = $13 .label cx = $12 .label cy = $11 - // [235] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] + // [237] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] __b1_from_gfx_init_screen0: - // [235] phi (byte*) gfx_init_screen0::ch#3 = (const nomodify byte*) VIC_SCREEN0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 + // [237] phi (byte*) gfx_init_screen0::ch#3 = (const nomodify byte*) VIC_SCREEN0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN0 sta.z ch+1 - // [235] phi (byte) gfx_init_screen0::cy#4 = (byte) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 + // [237] phi (byte) gfx_init_screen0::cy#4 = (byte) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy jmp __b1 - // [235] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] + // [237] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] __b1_from___b3: - // [235] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy - // [235] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy + // [237] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy + // [237] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy jmp __b1 // gfx_init_screen0::@1 __b1: - // [236] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] + // [238] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] __b2_from___b1: - // [236] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy - // [236] phi (byte) gfx_init_screen0::cx#2 = (byte) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuz1=vbuc1 + // [238] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy + // [238] phi (byte) gfx_init_screen0::cx#2 = (byte) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuz1=vbuc1 lda #0 sta.z cx jmp __b2 - // [236] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] + // [238] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] __b2_from___b2: - // [236] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy - // [236] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy + // [238] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy + // [238] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy jmp __b2 // gfx_init_screen0::@2 __b2: - // [237] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 + // [239] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and.z cy sta.z __0 - // [238] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 -- vbuz1=vbuz2_rol_4 + // [240] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 -- vbuz1=vbuz2_rol_4 lda.z __0 asl asl asl asl sta.z __1 - // [239] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 + // [241] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and.z cx sta.z __2 - // [240] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuz1=vbuz2_bor_vbuz3 + // [242] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuz1=vbuz2_bor_vbuz3 lda.z __1 ora.z __2 sta.z __3 - // [241] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuz2 + // [243] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuz2 lda.z __3 ldy #0 sta (ch),y - // [242] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 + // [244] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [243] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuz1=_inc_vbuz1 + // [245] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuz1=_inc_vbuz1 inc.z cx - // [244] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 -- vbuz1_neq_vbuc1_then_la1 + // [246] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z cx bne __b2_from___b2 jmp __b3 // gfx_init_screen0::@3 __b3: - // [245] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 + // [247] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [246] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 + // [248] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen0::@return __breturn: - // [247] return + // [249] return rts } // gfx_init_screen1 // Initialize VIC screen 1 ( value is %0000cccc where cccc is (x+y mod $f)) gfx_init_screen1: { - .label __0 = $f8 - .label __1 = $f9 + .label __0 = $fc + .label __1 = $fd .label ch = $17 .label cx = $16 .label cy = $15 - // [249] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] + // [251] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] __b1_from_gfx_init_screen1: - // [249] phi (byte*) gfx_init_screen1::ch#3 = (const nomodify byte*) VIC_SCREEN1 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 + // [251] phi (byte*) gfx_init_screen1::ch#3 = (const nomodify byte*) VIC_SCREEN1 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN1 sta.z ch+1 - // [249] phi (byte) gfx_init_screen1::cy#4 = (byte) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 + // [251] phi (byte) gfx_init_screen1::cy#4 = (byte) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy jmp __b1 - // [249] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] + // [251] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] __b1_from___b3: - // [249] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy - // [249] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy + // [251] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy + // [251] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy jmp __b1 // gfx_init_screen1::@1 __b1: - // [250] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] + // [252] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] __b2_from___b1: - // [250] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy - // [250] phi (byte) gfx_init_screen1::cx#2 = (byte) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuz1=vbuc1 + // [252] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy + // [252] phi (byte) gfx_init_screen1::cx#2 = (byte) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuz1=vbuc1 lda #0 sta.z cx jmp __b2 - // [250] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] + // [252] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] __b2_from___b2: - // [250] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy - // [250] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy + // [252] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy + // [252] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy jmp __b2 // gfx_init_screen1::@2 __b2: - // [251] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuz1=vbuz2_plus_vbuz3 + // [253] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuz1=vbuz2_plus_vbuz3 lda.z cx clc adc.z cy sta.z __0 - // [252] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 + // [254] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and.z __0 sta.z __1 - // [253] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuz2 + // [255] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuz2 lda.z __1 ldy #0 sta (ch),y - // [254] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 + // [256] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [255] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuz1=_inc_vbuz1 + // [257] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuz1=_inc_vbuz1 inc.z cx - // [256] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 -- vbuz1_neq_vbuc1_then_la1 + // [258] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z cx bne __b2_from___b2 jmp __b3 // gfx_init_screen1::@3 __b3: - // [257] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 + // [259] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [258] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 + // [260] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen1::@return __breturn: - // [259] return + // [261] return rts } // gfx_init_screen2 // Initialize VIC screen 2 ( value is %ccccrrrr where cccc is (x+y mod $f) and rrrr is %1111-%cccc) gfx_init_screen2: { - .label __0 = $fa - .label __3 = $fd - .label __4 = $fe - .label col = $fb - .label col2 = $fc + .label __0 = $fe + .label __3 = $101 + .label __4 = $102 + .label col = $ff + .label col2 = $100 .label ch = $1b .label cx = $1a .label cy = $19 - // [261] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] + // [263] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] __b1_from_gfx_init_screen2: - // [261] phi (byte*) gfx_init_screen2::ch#3 = (const nomodify byte*) VIC_SCREEN2 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 + // [263] phi (byte*) gfx_init_screen2::ch#3 = (const nomodify byte*) VIC_SCREEN2 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN2 sta.z ch+1 - // [261] phi (byte) gfx_init_screen2::cy#4 = (byte) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 + // [263] phi (byte) gfx_init_screen2::cy#4 = (byte) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy jmp __b1 - // [261] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] + // [263] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] __b1_from___b3: - // [261] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy - // [261] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy + // [263] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy + // [263] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy jmp __b1 // gfx_init_screen2::@1 __b1: - // [262] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] + // [264] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] __b2_from___b1: - // [262] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy - // [262] phi (byte) gfx_init_screen2::cx#2 = (byte) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuz1=vbuc1 + // [264] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy + // [264] phi (byte) gfx_init_screen2::cx#2 = (byte) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuz1=vbuc1 lda #0 sta.z cx jmp __b2 - // [262] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] + // [264] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] __b2_from___b2: - // [262] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy - // [262] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy + // [264] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy + // [264] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy jmp __b2 // gfx_init_screen2::@2 __b2: - // [263] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuz1=vbuz2_plus_vbuz3 + // [265] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuz1=vbuz2_plus_vbuz3 lda.z cx clc adc.z cy sta.z __0 - // [264] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 + // [266] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and.z __0 sta.z col - // [265] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuz2 + // [267] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuz2 lda #$f sec sbc.z col sta.z col2 - // [266] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 -- vbuz1=vbuz2_rol_4 + // [268] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 -- vbuz1=vbuz2_rol_4 lda.z col asl asl asl asl sta.z __3 - // [267] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuz1=vbuz2_bor_vbuz3 + // [269] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuz1=vbuz2_bor_vbuz3 lda.z __3 ora.z col2 sta.z __4 - // [268] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuz2 + // [270] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuz2 lda.z __4 ldy #0 sta (ch),y - // [269] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 + // [271] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [270] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuz1=_inc_vbuz1 + // [272] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuz1=_inc_vbuz1 inc.z cx - // [271] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 -- vbuz1_neq_vbuc1_then_la1 + // [273] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z cx bne __b2_from___b2 jmp __b3 // gfx_init_screen2::@3 __b3: - // [272] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 + // [274] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [273] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [275] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen2::@return __breturn: - // [274] return + // [276] return rts } // gfx_init_screen3 // Initialize VIC screen 3 ( value is %00xx00yy where xx is xpos and yy is ypos gfx_init_screen3: { - .label __0 = $ff - .label __1 = $100 - .label __2 = $101 - .label __3 = $102 + .label __0 = $103 + .label __1 = $104 + .label __2 = $105 + .label __3 = $106 .label ch = $1f .label cx = $1e .label cy = $1d - // [276] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] + // [278] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] __b1_from_gfx_init_screen3: - // [276] phi (byte*) gfx_init_screen3::ch#3 = (const nomodify byte*) VIC_SCREEN3 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 + // [278] phi (byte*) gfx_init_screen3::ch#3 = (const nomodify byte*) VIC_SCREEN3 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN3 sta.z ch+1 - // [276] phi (byte) gfx_init_screen3::cy#4 = (byte) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 + // [278] phi (byte) gfx_init_screen3::cy#4 = (byte) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy jmp __b1 - // [276] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] + // [278] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] __b1_from___b3: - // [276] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy - // [276] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy + // [278] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy + // [278] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy jmp __b1 // gfx_init_screen3::@1 __b1: - // [277] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] + // [279] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] __b2_from___b1: - // [277] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy - // [277] phi (byte) gfx_init_screen3::cx#2 = (byte) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuz1=vbuc1 + // [279] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy + // [279] phi (byte) gfx_init_screen3::cx#2 = (byte) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuz1=vbuc1 lda #0 sta.z cx jmp __b2 - // [277] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] + // [279] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] __b2_from___b2: - // [277] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy - // [277] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy + // [279] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy + // [279] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy jmp __b2 // gfx_init_screen3::@2 __b2: - // [278] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 -- vbuz1=vbuz2_band_vbuc1 + // [280] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 -- vbuz1=vbuz2_band_vbuc1 lda #3 and.z cx sta.z __0 - // [279] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 -- vbuz1=vbuz2_rol_4 + // [281] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 -- vbuz1=vbuz2_rol_4 lda.z __0 asl asl asl asl sta.z __1 - // [280] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 -- vbuz1=vbuz2_band_vbuc1 + // [282] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 -- vbuz1=vbuz2_band_vbuc1 lda #3 and.z cy sta.z __2 - // [281] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuz1=vbuz2_bor_vbuz3 + // [283] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuz1=vbuz2_bor_vbuz3 lda.z __1 ora.z __2 sta.z __3 - // [282] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuz2 + // [284] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuz2 lda.z __3 ldy #0 sta (ch),y - // [283] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 + // [285] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [284] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuz1=_inc_vbuz1 + // [286] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuz1=_inc_vbuz1 inc.z cx - // [285] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 -- vbuz1_neq_vbuc1_then_la1 + // [287] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z cx bne __b2_from___b2 jmp __b3 // gfx_init_screen3::@3 __b3: - // [286] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 + // [288] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [287] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 + // [289] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen3::@return __breturn: - // [288] return + // [290] return rts } // gfx_init_screen4 @@ -14875,66 +14893,66 @@ gfx_init_screen4: { .label ch = $22 .label cx = $24 .label cy = $21 - // [290] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] + // [292] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] __b1_from_gfx_init_screen4: - // [290] phi (byte) gfx_init_screen4::cy#4 = (byte) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 + // [292] phi (byte) gfx_init_screen4::cy#4 = (byte) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 lda #0 sta.z cy - // [290] phi (byte*) gfx_init_screen4::ch#3 = (const nomodify byte*) VIC_SCREEN4 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 + // [292] phi (byte*) gfx_init_screen4::ch#3 = (const nomodify byte*) VIC_SCREEN4 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 lda #VIC_SCREEN4 sta.z ch+1 jmp __b1 - // [290] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] + // [292] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] __b1_from___b3: - // [290] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy - // [290] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy + // [292] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy + // [292] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy jmp __b1 // gfx_init_screen4::@1 __b1: - // [291] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] + // [293] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] __b2_from___b1: - // [291] phi (byte) gfx_init_screen4::cx#2 = (byte) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuz1=vbuc1 + // [293] phi (byte) gfx_init_screen4::cx#2 = (byte) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuz1=vbuc1 lda #0 sta.z cx - // [291] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy + // [293] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy jmp __b2 - // [291] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] + // [293] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] __b2_from___b2: - // [291] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy - // [291] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy + // [293] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy + // [293] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy jmp __b2 // gfx_init_screen4::@2 __b2: - // [292] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 + // [294] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (ch),y - // [293] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 + // [295] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [294] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuz1=_inc_vbuz1 + // [296] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuz1=_inc_vbuz1 inc.z cx - // [295] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 -- vbuz1_neq_vbuc1_then_la1 + // [297] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z cx bne __b2_from___b2 jmp __b3 // gfx_init_screen4::@3 __b3: - // [296] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 + // [298] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [297] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 + // [299] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen4::@return __breturn: - // [298] return + // [300] return rts } // gfx_init_charset @@ -14943,89 +14961,89 @@ gfx_init_charset: { .label chargen = $26 .label l = $2a .label c = $25 - // [299] *((const nomodify byte*) PROCPORT) ← (byte) $32 -- _deref_pbuc1=vbuc2 + // [301] *((const nomodify byte*) PROCPORT) ← (byte) $32 -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - // [300] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] + // [302] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] __b1_from_gfx_init_charset: - // [300] phi (byte) gfx_init_charset::c#4 = (byte) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 + // [302] phi (byte) gfx_init_charset::c#4 = (byte) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 lda #0 sta.z c - // [300] phi (byte*) gfx_init_charset::charset#3 = (const nomodify byte*) VIC_CHARSET_ROM [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 + // [302] phi (byte*) gfx_init_charset::charset#3 = (const nomodify byte*) VIC_CHARSET_ROM [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 lda #VIC_CHARSET_ROM sta.z charset+1 - // [300] phi (byte*) gfx_init_charset::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 + // [302] phi (byte*) gfx_init_charset::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 lda #CHARGEN sta.z chargen+1 jmp __b1 - // [300] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] + // [302] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] __b1_from___b3: - // [300] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy - // [300] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy - // [300] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy + // [302] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy + // [302] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy + // [302] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy jmp __b1 // gfx_init_charset::@1 __b1: - // [301] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] + // [303] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] __b2_from___b1: - // [301] phi (byte) gfx_init_charset::l#2 = (byte) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuz1=vbuc1 + // [303] phi (byte) gfx_init_charset::l#2 = (byte) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuz1=vbuc1 lda #0 sta.z l - // [301] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy - // [301] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy + // [303] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy + // [303] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy jmp __b2 - // [301] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] + // [303] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] __b2_from___b2: - // [301] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy - // [301] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy - // [301] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy + // [303] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy + // [303] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy + // [303] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy jmp __b2 // gfx_init_charset::@2 __b2: - // [302] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 + // [304] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (chargen),y ldy #0 sta (charset),y - // [303] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 + // [305] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 inc.z charset bne !+ inc.z charset+1 !: - // [304] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 + // [306] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 inc.z chargen bne !+ inc.z chargen+1 !: - // [305] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuz1=_inc_vbuz1 + // [307] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [306] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 -- vbuz1_neq_vbuc1_then_la1 + // [308] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l bne __b2_from___b2 jmp __b3 // gfx_init_charset::@3 __b3: - // [307] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 + // [309] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 inc.z c - // [308] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 + // [310] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 lda.z c cmp #0 bne __b1_from___b3 jmp __b4 // gfx_init_charset::@4 __b4: - // [309] *((const nomodify byte*) PROCPORT) ← (byte) $37 -- _deref_pbuc1=vbuc2 + // [311] *((const nomodify byte*) PROCPORT) ← (byte) $37 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT jmp __breturn // gfx_init_charset::@return __breturn: - // [310] return + // [312] return rts } // gfx_init_vic_bitmap @@ -15033,63 +15051,63 @@ gfx_init_charset: { gfx_init_vic_bitmap: { .const lines_cnt = 9 .label l = $2b - // [312] call bitmap_init + // [314] call bitmap_init // Draw some lines on the bitmap - // [635] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] + // [637] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] bitmap_init_from_gfx_init_vic_bitmap: jsr bitmap_init - // [313] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] + // [315] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] __b3_from_gfx_init_vic_bitmap: jmp __b3 // gfx_init_vic_bitmap::@3 __b3: - // [314] call bitmap_clear + // [316] call bitmap_clear jsr bitmap_clear - // [315] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] + // [317] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] __b1_from___b3: - // [315] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 + // [317] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 lda #0 sta.z l jmp __b1 // gfx_init_vic_bitmap::@1 __b1: - // [316] if((byte) gfx_init_vic_bitmap::l#2<(const byte) gfx_init_vic_bitmap::lines_cnt) goto gfx_init_vic_bitmap::@2 -- vbuz1_lt_vbuc1_then_la1 + // [318] if((byte) gfx_init_vic_bitmap::l#2<(const byte) gfx_init_vic_bitmap::lines_cnt) goto gfx_init_vic_bitmap::@2 -- vbuz1_lt_vbuc1_then_la1 lda.z l cmp #lines_cnt bcc __b2 jmp __breturn // gfx_init_vic_bitmap::@return __breturn: - // [317] return + // [319] return rts // gfx_init_vic_bitmap::@2 __b2: - // [318] (byte) bitmap_line::x0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [320] (byte) bitmap_line::x0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z l lda lines_x,y sta.z bitmap_line.x0 - // [319] (byte) bitmap_line::x1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [321] (byte) bitmap_line::x1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z l lda lines_x+1,y sta.z bitmap_line.x1 - // [320] (byte) bitmap_line::y0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [322] (byte) bitmap_line::y0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z l lda lines_y,y sta.z bitmap_line.y0 - // [321] (byte) bitmap_line::y1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [323] (byte) bitmap_line::y1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z l lda lines_y+1,y sta.z bitmap_line.y1 - // [322] call bitmap_line + // [324] call bitmap_line jsr bitmap_line jmp __b4 // gfx_init_vic_bitmap::@4 __b4: - // [323] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 + // [325] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [315] phi from gfx_init_vic_bitmap::@4 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1] + // [317] phi from gfx_init_vic_bitmap::@4 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1] __b1_from___b4: - // [315] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1#0] -- register_copy + // [317] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1#0] -- register_copy jmp __b1 lines_x: .byte 0, $ff, $ff, 0, 0, $80, $ff, $80, 0, $80 lines_y: .byte 0, 0, $c7, $c7, 0, 0, $64, $c7, $64, 0 @@ -15097,61 +15115,61 @@ gfx_init_vic_bitmap: { // gfx_init_plane_8bppchunky // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { - .label __5 = $107 - .label c = $109 + .label __5 = $10b + .label c = $10d .label gfxb = $30 .label x = $2d // 320x200 8bpp pixels for Plane .label gfxbCpuBank = $2f .label y = $2c - // [325] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + // [327] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_8bppchunky: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000 sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 - // [326] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + // [328] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] __b1_from_gfx_init_plane_8bppchunky: - // [326] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuz1=vbuc1 + // [328] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuz1=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000+1 sta.z gfxbCpuBank - // [326] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 + // [328] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 lda #0 sta.z y - // [326] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + // [328] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxb lda #>$4000 sta.z gfxb+1 jmp __b1 - // [326] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + // [328] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] __b1_from___b5: - // [326] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy - // [326] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy - // [326] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy + // [328] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy + // [328] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy + // [328] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy jmp __b1 // gfx_init_plane_8bppchunky::@1 __b1: - // [327] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + // [329] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] __b2_from___b1: - // [327] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy - // [327] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vwuc1 + // [329] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy + // [329] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vwuc1 lda #<0 sta.z x lda #>0 sta.z x+1 - // [327] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy + // [329] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy jmp __b2 - // [327] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + // [329] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] __b2_from___b3: - // [327] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy - // [327] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy - // [327] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy + // [329] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy + // [329] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy + // [329] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy jmp __b2 // gfx_init_plane_8bppchunky::@2 __b2: - // [328] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 + // [330] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 lda.z gfxb+1 cmp #>$8000 bne __b3_from___b2 @@ -15161,36 +15179,36 @@ gfx_init_plane_8bppchunky: { jmp __b4 // gfx_init_plane_8bppchunky::@4 __b4: - // [329] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=vbuz2 + // [331] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=vbuz2 lda.z gfxbCpuBank sta.z dtvSetCpuBankSegment1.cpuBankIdx - // [330] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + // [332] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b4: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp __b7 // gfx_init_plane_8bppchunky::@7 __b7: - // [331] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=_inc_vbuz1 + // [333] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuz1=_inc_vbuz1 inc.z gfxbCpuBank - // [332] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] + // [334] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] __b3_from___b7: - // [332] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy - // [332] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + // [334] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy + // [334] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxb lda #>$4000 sta.z gfxb+1 jmp __b3 - // [332] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + // [334] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] __b3_from___b2: - // [332] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy - // [332] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy + // [334] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy + // [334] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy jmp __b3 // gfx_init_plane_8bppchunky::@3 __b3: - // [333] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 + // [335] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 lda.z y clc adc.z x @@ -15198,24 +15216,24 @@ gfx_init_plane_8bppchunky: { lda #0 adc.z x+1 sta.z __5+1 - // [334] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 -- vbuz1=_byte_vwuz2 + // [336] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 -- vbuz1=_byte_vwuz2 lda.z __5 sta.z c - // [335] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuz2 + // [337] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuz2 lda.z c ldy #0 sta (gfxb),y - // [336] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 + // [338] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 inc.z gfxb bne !+ inc.z gfxb+1 !: - // [337] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 + // [339] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 inc.z x bne !+ inc.z x+1 !: - // [338] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 + // [340] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 lda.z x+1 cmp #>$140 bne __b2_from___b3 @@ -15225,29 +15243,29 @@ gfx_init_plane_8bppchunky: { jmp __b5 // gfx_init_plane_8bppchunky::@5 __b5: - // [339] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 + // [341] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 inc.z y - // [340] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 + // [342] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z y bne __b1_from___b5 - // [341] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + // [343] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] __b6_from___b5: jmp __b6 // gfx_init_plane_8bppchunky::@6 __b6: - // [342] call dtvSetCpuBankSegment1 + // [344] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b6: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_8bppchunky::@return __breturn: - // [343] return + // [345] return rts } // gfx_init_plane_charset8 @@ -15255,7 +15273,7 @@ gfx_init_plane_8bppchunky: { gfx_init_plane_charset8: { // 8bpp cells for Plane B (charset) - ROM charset with 256 colors .const gfxbCpuBank = PLANE_CHARSET8/$4000 - .label __2 = $10a + .label __2 = $10e .label bits = $36 .label chargen = $33 .label gfxa = $37 @@ -15264,289 +15282,289 @@ gfx_init_plane_charset8: { .label cr = $35 .label ch = $32 .label c = $3b - // [345] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] + // [347] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_charset8: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #gfxbCpuBank sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp __b9 // gfx_init_plane_charset8::@9 __b9: - // [346] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM -- _deref_pbuc1=vbuc2 + // [348] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_CHARROM sta PROCPORT - // [347] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] + // [349] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] __b1_from___b9: - // [347] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 + // [349] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 lda #0 sta.z ch - // [347] phi (byte) gfx_init_plane_charset8::col#6 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 + // [349] phi (byte) gfx_init_plane_charset8::col#6 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 lda #0 sta.z col - // [347] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 + // [349] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxa lda #>$4000 sta.z gfxa+1 - // [347] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 + // [349] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 lda #CHARGEN sta.z chargen+1 jmp __b1 - // [347] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] + // [349] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] __b1_from___b7: - // [347] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy - // [347] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy - // [347] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy - // [347] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy + // [349] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy + // [349] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy + // [349] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy + // [349] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy jmp __b1 // gfx_init_plane_charset8::@1 __b1: - // [348] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] + // [350] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] __b2_from___b1: - // [348] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 + // [350] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 lda #0 sta.z cr - // [348] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy + // [350] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy jmp __b2 - // [348] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] + // [350] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] __b2_from___b6: - // [348] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy - // [348] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy + // [350] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy + // [350] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy jmp __b2 // gfx_init_plane_charset8::@2 __b2: - // [349] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 + // [351] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta.z bits - // [350] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 + // [352] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 inc.z chargen bne !+ inc.z chargen+1 !: - // [351] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] + // [353] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] __b3_from___b2: - // [351] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuz1=vbuc1 + // [353] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuz1=vbuc1 lda #0 sta.z cp - // [351] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy - // [351] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy - // [351] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy + // [353] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy jmp __b3 - // [351] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] + // [353] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] __b3_from___b4: - // [351] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy - // [351] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy - // [351] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy - // [351] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy + // [353] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy jmp __b3 // gfx_init_plane_charset8::@3 __b3: - // [352] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 + // [354] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 lda #$80 and.z bits sta.z __2 - // [353] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 -- vbuz1_eq_0_then_la1 + // [355] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 -- vbuz1_eq_0_then_la1 lda.z __2 cmp #0 beq __b4_from___b3 jmp __b5 // gfx_init_plane_charset8::@5 __b5: - // [354] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuz1=vbuz2 + // [356] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuz1=vbuz2 lda.z col sta.z c - // [355] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] + // [357] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] __b4_from___b5: - // [355] phi (byte) gfx_init_plane_charset8::c#2 = (byte) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy + // [357] phi (byte) gfx_init_plane_charset8::c#2 = (byte) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy jmp __b4 - // [355] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] + // [357] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] __b4_from___b3: - // [355] phi (byte) gfx_init_plane_charset8::c#2 = (byte) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuz1=vbuc1 + // [357] phi (byte) gfx_init_plane_charset8::c#2 = (byte) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuz1=vbuc1 lda #0 sta.z c jmp __b4 // gfx_init_plane_charset8::@4 __b4: - // [356] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuz2 + // [358] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuz2 lda.z c ldy #0 sta (gfxa),y - // [357] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 + // [359] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 !: - // [358] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 -- vbuz1=vbuz1_rol_1 + // [360] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 -- vbuz1=vbuz1_rol_1 asl.z bits - // [359] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 + // [361] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 inc.z col - // [360] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuz1=_inc_vbuz1 + // [362] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuz1=_inc_vbuz1 inc.z cp - // [361] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 -- vbuz1_neq_vbuc1_then_la1 + // [363] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z cp bne __b3_from___b4 jmp __b6 // gfx_init_plane_charset8::@6 __b6: - // [362] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 + // [364] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 inc.z cr - // [363] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 + // [365] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z cr bne __b2_from___b6 jmp __b7 // gfx_init_plane_charset8::@7 __b7: - // [364] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 + // [366] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 inc.z ch - // [365] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 + // [367] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 lda.z ch cmp #0 bne __b1_from___b7 jmp __b8 // gfx_init_plane_charset8::@8 __b8: - // [366] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO -- _deref_pbuc1=vbuc2 + // [368] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_IO sta PROCPORT - // [367] call dtvSetCpuBankSegment1 + // [369] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b8: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_charset8::@return __breturn: - // [368] return + // [370] return rts } // gfx_init_plane_horisontal // Initialize Plane with Horizontal Stripes gfx_init_plane_horisontal: { .const gfxbCpuBank = PLANE_HORISONTAL/$4000 - .label __2 = $10b + .label __2 = $10f .label gfxa = $3d .label ax = $3f .label ay = $3c - // [370] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] + // [372] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #gfxbCpuBank sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 - // [371] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] + // [373] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] __b1_from_gfx_init_plane_horisontal: - // [371] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 + // [373] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxa lda #>$4000 sta.z gfxa+1 - // [371] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 + // [373] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 lda #0 sta.z ay jmp __b1 - // [371] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] + // [373] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] __b1_from___b6: - // [371] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy - // [371] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy + // [373] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy + // [373] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy jmp __b1 // gfx_init_plane_horisontal::@1 __b1: - // [372] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] + // [374] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] __b2_from___b1: - // [372] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuz1=vbuc1 + // [374] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuz1=vbuc1 lda #0 sta.z ax - // [372] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy + // [374] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy jmp __b2 - // [372] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] + // [374] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] __b2_from___b4: - // [372] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy - // [372] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy + // [374] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy + // [374] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy jmp __b2 // gfx_init_plane_horisontal::@2 __b2: - // [373] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 -- vbuz1=vbuz2_band_vbuc1 + // [375] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 -- vbuz1=vbuz2_band_vbuc1 lda #4 and.z ay sta.z __2 - // [374] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 -- vbuz1_eq_0_then_la1 + // [376] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 -- vbuz1_eq_0_then_la1 lda.z __2 cmp #0 beq __b3 jmp __b5 // gfx_init_plane_horisontal::@5 __b5: - // [375] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff -- _deref_pbuz1=vbuc1 + // [377] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - // [376] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + // [378] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 !: - // [377] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] + // [379] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] __b4_from___b3: __b4_from___b5: - // [377] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy + // [379] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy jmp __b4 // gfx_init_plane_horisontal::@4 __b4: - // [378] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuz1=_inc_vbuz1 + // [380] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuz1=_inc_vbuz1 inc.z ax - // [379] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 -- vbuz1_neq_vbuc1_then_la1 + // [381] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z ax bne __b2_from___b4 jmp __b6 // gfx_init_plane_horisontal::@6 __b6: - // [380] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 + // [382] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 inc.z ay - // [381] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 + // [383] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z ay bne __b1_from___b6 - // [382] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] + // [384] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] __b7_from___b6: jmp __b7 // gfx_init_plane_horisontal::@7 __b7: - // [383] call dtvSetCpuBankSegment1 + // [385] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b7: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_horisontal::@return __breturn: - // [384] return + // [386] return rts // gfx_init_plane_horisontal::@3 __b3: - // [385] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 + // [387] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (gfxa),y - // [386] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + // [388] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 @@ -15560,199 +15578,199 @@ gfx_init_plane_vertical: { .label gfxb = $41 .label bx = $43 .label by = $40 - // [388] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] + // [390] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_vertical: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #gfxbCpuBank sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 - // [389] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] + // [391] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] __b1_from_gfx_init_plane_vertical: - // [389] phi (byte) gfx_init_plane_vertical::by#4 = (byte) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 + // [391] phi (byte) gfx_init_plane_vertical::by#4 = (byte) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 lda #0 sta.z by - // [389] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 + // [391] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 lda #<$4000+(PLANE_VERTICAL&$3fff) sta.z gfxb lda #>$4000+(PLANE_VERTICAL&$3fff) sta.z gfxb+1 jmp __b1 - // [389] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] + // [391] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] __b1_from___b3: - // [389] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy - // [389] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy + // [391] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy + // [391] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy jmp __b1 // gfx_init_plane_vertical::@1 __b1: - // [390] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] + // [392] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] __b2_from___b1: - // [390] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuz1=vbuc1 + // [392] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuz1=vbuc1 lda #0 sta.z bx - // [390] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy + // [392] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy jmp __b2 - // [390] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] + // [392] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] __b2_from___b2: - // [390] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy - // [390] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy + // [392] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy + // [392] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy jmp __b2 // gfx_init_plane_vertical::@2 __b2: - // [391] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f -- _deref_pbuz1=vbuc1 + // [393] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - // [392] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 + // [394] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 inc.z gfxb bne !+ inc.z gfxb+1 !: - // [393] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuz1=_inc_vbuz1 + // [395] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuz1=_inc_vbuz1 inc.z bx - // [394] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 -- vbuz1_neq_vbuc1_then_la1 + // [396] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z bx bne __b2_from___b2 jmp __b3 // gfx_init_plane_vertical::@3 __b3: - // [395] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 + // [397] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 inc.z by - // [396] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 + // [398] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z by bne __b1_from___b3 - // [397] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] + // [399] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] __b4_from___b3: jmp __b4 // gfx_init_plane_vertical::@4 __b4: - // [398] call dtvSetCpuBankSegment1 + // [400] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b4: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_vertical::@return __breturn: - // [399] return + // [401] return rts } // gfx_init_plane_horisontal2 // Initialize Plane with Horizontal Stripes every 2 pixels gfx_init_plane_horisontal2: { .const gfxbCpuBank = PLANE_HORISONTAL2/$4000 - .label __2 = $10c - .label row = $10d + .label __2 = $110 + .label row = $111 .label gfxa = $45 .label ax = $47 .label ay = $44 - // [401] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] + // [403] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal2: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #gfxbCpuBank sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 - // [402] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] + // [404] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] __b1_from_gfx_init_plane_horisontal2: - // [402] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 + // [404] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxa lda #>$4000 sta.z gfxa+1 - // [402] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 + // [404] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 lda #0 sta.z ay jmp __b1 - // [402] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] + // [404] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] __b1_from___b3: - // [402] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy - // [402] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy + // [404] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy + // [404] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy jmp __b1 // gfx_init_plane_horisontal2::@1 __b1: - // [403] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] + // [405] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] __b2_from___b1: - // [403] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuz1=vbuc1 + // [405] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuz1=vbuc1 lda #0 sta.z ax - // [403] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy + // [405] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy jmp __b2 - // [403] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] + // [405] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] __b2_from___b2: - // [403] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy - // [403] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy + // [405] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy + // [405] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy jmp __b2 // gfx_init_plane_horisontal2::@2 __b2: - // [404] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [406] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z ay lsr sta.z __2 - // [405] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 -- vbuz1=vbuz2_band_vbuc1 + // [407] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 -- vbuz1=vbuz2_band_vbuc1 lda #3 and.z __2 sta.z row - // [406] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + // [408] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy.z row lda row_bitmask,y ldy #0 sta (gfxa),y - // [407] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 + // [409] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 !: - // [408] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuz1=_inc_vbuz1 + // [410] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuz1=_inc_vbuz1 inc.z ax - // [409] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 -- vbuz1_neq_vbuc1_then_la1 + // [411] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z ax bne __b2_from___b2 jmp __b3 // gfx_init_plane_horisontal2::@3 __b3: - // [410] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 + // [412] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 inc.z ay - // [411] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [413] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z ay bne __b1_from___b3 - // [412] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] + // [414] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] __b4_from___b3: jmp __b4 // gfx_init_plane_horisontal2::@4 __b4: - // [413] call dtvSetCpuBankSegment1 + // [415] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b4: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_horisontal2::@return __breturn: - // [414] return + // [416] return rts row_bitmask: .byte 0, $55, $aa, $ff } // gfx_init_plane_vertical2 // Initialize Plane with Vertical Stripes every 2 pixels gfx_init_plane_vertical2: { - // [416] call gfx_init_plane_fill - // [737] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] + // [418] call gfx_init_plane_fill + // [739] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_vertical2: - // [737] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + // [739] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$1b sta.z gfx_init_plane_fill.fill - // [737] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_VERTICAL2 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 + // [739] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_VERTICAL2 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_VERTICAL2 @@ -15765,19 +15783,19 @@ gfx_init_plane_vertical2: { jmp __breturn // gfx_init_plane_vertical2::@return __breturn: - // [417] return + // [419] return rts } // gfx_init_plane_blank // Initialize Plane with blank pixels gfx_init_plane_blank: { - // [419] call gfx_init_plane_fill - // [737] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] + // [421] call gfx_init_plane_fill + // [739] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_blank: - // [737] phi (byte) gfx_init_plane_fill::fill#6 = (byte) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + // [739] phi (byte) gfx_init_plane_fill::fill#6 = (byte) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #0 sta.z gfx_init_plane_fill.fill - // [737] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_BLANK [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 + // [739] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_BLANK [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_BLANK @@ -15790,19 +15808,19 @@ gfx_init_plane_blank: { jmp __breturn // gfx_init_plane_blank::@return __breturn: - // [420] return + // [422] return rts } // gfx_init_plane_full // Initialize Plane with all pixels gfx_init_plane_full: { - // [422] call gfx_init_plane_fill - // [737] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] + // [424] call gfx_init_plane_fill + // [739] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_full: - // [737] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + // [739] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$ff sta.z gfx_init_plane_fill.fill - // [737] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_FULL [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 + // [739] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_FULL [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_FULL @@ -15815,7 +15833,7 @@ gfx_init_plane_full: { jmp __breturn // gfx_init_plane_full::@return __breturn: - // [423] return + // [425] return rts } // print_set_screen @@ -15823,7 +15841,7 @@ gfx_init_plane_full: { // print_set_screen(byte* zp($48) screen) print_set_screen: { .label screen = $48 - // [425] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 + // [427] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 -- pbuz1=pbuz2 lda.z screen sta.z print_screen lda.z screen+1 @@ -15831,25 +15849,25 @@ print_set_screen: { jmp __breturn // print_set_screen::@return __breturn: - // [426] return + // [428] return rts } // print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { - // [427] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 -- pvoz1=pvoz2 + // [429] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 -- pvoz1=pvoz2 lda.z print_screen sta.z memset.str lda.z print_screen+1 sta.z memset.str+1 - // [428] call memset - // [758] phi from print_cls to memset [phi:print_cls->memset] + // [430] call memset + // [760] phi from print_cls to memset [phi:print_cls->memset] memset_from_print_cls: jsr memset jmp __breturn // print_cls::@return __breturn: - // [429] return + // [431] return rts } // print_str_lines @@ -15857,23 +15875,23 @@ print_cls: { // The sequence of lines is terminated by another zero. // print_str_lines(byte* zp($4a) str) print_str_lines: { - .label ch = $110 + .label ch = $114 .label str = $4a - // [431] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 -- pbuz1=pbuz2 + // [433] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 -- pbuz1=pbuz2 lda.z print_screen sta.z print_char_cursor lda.z print_screen+1 sta.z print_char_cursor+1 - // [432] phi from print_str_lines print_str_lines::@6 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1] + // [434] phi from print_str_lines print_str_lines::@6 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1] __b1_from_print_str_lines: __b1_from___b6: - // [432] phi (byte*) print_line_cursor#1 = (byte*) print_screen#0 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#0] -- register_copy - // [432] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#72 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#1] -- register_copy - // [432] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#2] -- register_copy + // [434] phi (byte*) print_line_cursor#1 = (byte*) print_screen#0 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#0] -- register_copy + // [434] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#72 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#1] -- register_copy + // [434] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#2] -- register_copy jmp __b1 // print_str_lines::@1 __b1: - // [433] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + // [435] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 -- vbuc1_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 @@ -15881,61 +15899,61 @@ print_str_lines: { jmp __breturn // print_str_lines::@return __breturn: - // [434] return + // [436] return rts - // [435] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] + // [437] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] __b2_from___b1: __b2_from___b3: - // [435] phi (byte*) print_char_cursor#43 = (byte*) print_char_cursor#2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy - // [435] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy + // [437] phi (byte*) print_char_cursor#43 = (byte*) print_char_cursor#2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy + // [437] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy jmp __b2 // print_str_lines::@2 __b2: - // [436] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuz1=_deref_pbuz2 + // [438] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuz1=_deref_pbuz2 ldy #0 lda (str),y sta.z ch - // [437] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 + // [439] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 !: - // [438] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 -- vbuc1_eq_vbuz1_then_la1 + // [440] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 -- vbuc1_eq_vbuz1_then_la1 lda #0 cmp.z ch beq __b3_from___b2 jmp __b4 // print_str_lines::@4 __b4: - // [439] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 -- vbuz1=vbuz2 + // [441] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 -- vbuz1=vbuz2 lda.z ch sta.z print_char.ch - // [440] call print_char + // [442] call print_char jsr print_char - // [441] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] + // [443] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] __b3_from___b2: __b3_from___b4: - // [441] phi (byte*) print_char_cursor#44 = (byte*) print_char_cursor#43 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy + // [443] phi (byte*) print_char_cursor#44 = (byte*) print_char_cursor#43 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy jmp __b3 // print_str_lines::@3 __b3: - // [442] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 -- vbuc1_neq_vbuz1_then_la1 + // [444] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 -- vbuc1_neq_vbuz1_then_la1 lda #0 cmp.z ch bne __b2_from___b3 - // [443] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] + // [445] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] __b5_from___b3: jmp __b5 // print_str_lines::@5 __b5: - // [444] call print_ln - // [769] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] + // [446] call print_ln + // [771] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] print_ln_from___b5: jsr print_ln jmp __b6 // print_str_lines::@6 __b6: - // [445] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 -- pbuz1=pbuz2 + // [447] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 -- pbuz1=pbuz2 lda.z print_line_cursor sta.z print_char_cursor lda.z print_line_cursor+1 @@ -15946,43 +15964,43 @@ print_str_lines: { // Set the screen to use for the form. // screen is the start address of the screen to use form_set_screen: { - .label __0 = $112 - .label __1 = $113 + .label __0 = $116 + .label __1 = $117 .label line = $4e .label y = $50 - // [447] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + // [449] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] __b1_from_form_set_screen: - // [447] phi (byte) form_set_screen::y#2 = (byte) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuz1=vbuc1 + // [449] phi (byte) form_set_screen::y#2 = (byte) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuz1=vbuc1 lda #0 sta.z y - // [447] phi (byte*) form_set_screen::line#2 = (const nomodify byte*) FORM_SCREEN [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + // [449] phi (byte*) form_set_screen::line#2 = (const nomodify byte*) FORM_SCREEN [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 lda #FORM_SCREEN sta.z line+1 jmp __b1 - // [447] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + // [449] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] __b1_from___b1: - // [447] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy - // [447] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy + // [449] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy + // [449] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy jmp __b1 // form_set_screen::@1 __b1: - // [448] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuz1=_lo_pbuz2 + // [450] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuz1=_lo_pbuz2 lda.z line sta.z __0 - // [449] *((const byte*) form_line_lo + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuz1=vbuz2 + // [451] *((const byte*) form_line_lo + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __0 ldy.z y sta form_line_lo,y - // [450] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuz1=_hi_pbuz2 + // [452] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuz1=_hi_pbuz2 lda.z line+1 sta.z __1 - // [451] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuz1=vbuz2 + // [453] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __1 ldy.z y sta form_line_hi,y - // [452] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [454] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc.z line @@ -15990,63 +16008,63 @@ form_set_screen: { bcc !+ inc.z line+1 !: - // [453] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuz1=_inc_vbuz1 + // [455] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuz1=_inc_vbuz1 inc.z y - // [454] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 -- vbuz1_neq_vbuc1_then_la1 + // [456] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z y bne __b1_from___b1 jmp __breturn // form_set_screen::@return __breturn: - // [455] return + // [457] return rts } // form_render_values // Render all form values from the form_fields_val array form_render_values: { .label idx = $51 - // [457] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + // [459] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] __b1_from_form_render_values: - // [457] phi (byte) form_render_values::idx#2 = (byte) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuz1=vbuc1 + // [459] phi (byte) form_render_values::idx#2 = (byte) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuz1=vbuc1 lda #0 sta.z idx jmp __b1 // form_render_values::@1 __b1: - // [458] if((byte) form_render_values::idx#2<(const byte) form_fields_cnt) goto form_render_values::@2 -- vbuz1_lt_vbuc1_then_la1 + // [460] if((byte) form_render_values::idx#2<(const byte) form_fields_cnt) goto form_render_values::@2 -- vbuz1_lt_vbuc1_then_la1 lda.z idx cmp #form_fields_cnt bcc __b2 jmp __breturn // form_render_values::@return __breturn: - // [459] return + // [461] return rts // form_render_values::@2 __b2: - // [460] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 -- vbuz1=vbuz2 + // [462] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 -- vbuz1=vbuz2 lda.z idx sta.z form_field_ptr.field_idx - // [461] call form_field_ptr - // [774] phi from form_render_values::@2 to form_field_ptr [phi:form_render_values::@2->form_field_ptr] + // [463] call form_field_ptr + // [776] phi from form_render_values::@2 to form_field_ptr [phi:form_render_values::@2->form_field_ptr] form_field_ptr_from___b2: - // [774] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@2->form_field_ptr#0] -- register_copy + // [776] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@2->form_field_ptr#0] -- register_copy jsr form_field_ptr jmp __b3 // form_render_values::@3 __b3: - // [462] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuz3) + // [464] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuz3) ldx.z idx ldy form_fields_val,x lda print_hextab,y ldy.z form_field_ptr.x sta (form_field_ptr.line),y - // [463] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 + // [465] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuz1=_inc_vbuz1 inc.z idx - // [457] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + // [459] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] __b1_from___b3: - // [457] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + // [459] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy jmp __b1 } // render_preset_name @@ -16056,169 +16074,169 @@ form_render_values: { render_preset_name: { .label idx = $52 .label name = $53 - // [465] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 -- vbuz1_eq_0_then_la1 + // [467] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 -- vbuz1_eq_0_then_la1 lda.z idx cmp #0 beq __b2_from_render_preset_name jmp __b3 // render_preset_name::@3 __b3: - // [466] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 + // [468] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 lda #1 cmp.z idx beq __b2_from___b3 jmp __b4 // render_preset_name::@4 __b4: - // [467] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 + // [469] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 lda #2 cmp.z idx beq __b2_from___b4 jmp __b5 // render_preset_name::@5 __b5: - // [468] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 + // [470] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 lda #3 cmp.z idx beq __b2_from___b5 jmp __b6 // render_preset_name::@6 __b6: - // [469] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 + // [471] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 lda #4 cmp.z idx beq __b2_from___b6 jmp __b7 // render_preset_name::@7 __b7: - // [470] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 + // [472] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 lda #5 cmp.z idx beq __b2_from___b7 jmp __b8 // render_preset_name::@8 __b8: - // [471] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 + // [473] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 lda #6 cmp.z idx beq __b2_from___b8 jmp __b9 // render_preset_name::@9 __b9: - // [472] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 + // [474] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 lda #7 cmp.z idx beq __b2_from___b9 jmp __b10 // render_preset_name::@10 __b10: - // [473] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 + // [475] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 lda #8 cmp.z idx beq __b2_from___b10 jmp __b11 // render_preset_name::@11 __b11: - // [474] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 + // [476] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 -- vbuz1_eq_vbuc1_then_la1 lda #9 cmp.z idx beq __b2_from___b11 jmp __b12 // render_preset_name::@12 __b12: - // [475] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 -- vbuz1_eq_vbuc1_then_la1 + // [477] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 -- vbuz1_eq_vbuc1_then_la1 lda #$a cmp.z idx beq __b1_from___b12 - // [477] phi from render_preset_name render_preset_name::@12 to render_preset_name::@2 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2] + // [479] phi from render_preset_name render_preset_name::@12 to render_preset_name::@2 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2] __b2_from_render_preset_name: __b2_from___b12: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#1 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#1 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_1 sta.z name+1 jmp __b2 - // [476] phi from render_preset_name::@12 to render_preset_name::@1 [phi:render_preset_name::@12->render_preset_name::@1] + // [478] phi from render_preset_name::@12 to render_preset_name::@1 [phi:render_preset_name::@12->render_preset_name::@1] __b1_from___b12: jmp __b1 // render_preset_name::@1 __b1: - // [477] phi from render_preset_name::@1 to render_preset_name::@2 [phi:render_preset_name::@1->render_preset_name::@2] + // [479] phi from render_preset_name::@1 to render_preset_name::@2 [phi:render_preset_name::@1->render_preset_name::@2] __b2_from___b1: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#11 [phi:render_preset_name::@1->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#11 [phi:render_preset_name::@1->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_11 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@10 to render_preset_name::@2 [phi:render_preset_name::@10->render_preset_name::@2] + // [479] phi from render_preset_name::@10 to render_preset_name::@2 [phi:render_preset_name::@10->render_preset_name::@2] __b2_from___b10: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@10->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@10->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_9 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@11 to render_preset_name::@2 [phi:render_preset_name::@11->render_preset_name::@2] + // [479] phi from render_preset_name::@11 to render_preset_name::@2 [phi:render_preset_name::@11->render_preset_name::@2] __b2_from___b11: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@11->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@11->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_10 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@3 to render_preset_name::@2 [phi:render_preset_name::@3->render_preset_name::@2] + // [479] phi from render_preset_name::@3 to render_preset_name::@2 [phi:render_preset_name::@3->render_preset_name::@2] __b2_from___b3: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@3->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@3->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_2 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@4 to render_preset_name::@2 [phi:render_preset_name::@4->render_preset_name::@2] + // [479] phi from render_preset_name::@4 to render_preset_name::@2 [phi:render_preset_name::@4->render_preset_name::@2] __b2_from___b4: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@4->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@4->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_3 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@5 to render_preset_name::@2 [phi:render_preset_name::@5->render_preset_name::@2] + // [479] phi from render_preset_name::@5 to render_preset_name::@2 [phi:render_preset_name::@5->render_preset_name::@2] __b2_from___b5: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@5->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@5->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_4 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@6 to render_preset_name::@2 [phi:render_preset_name::@6->render_preset_name::@2] + // [479] phi from render_preset_name::@6 to render_preset_name::@2 [phi:render_preset_name::@6->render_preset_name::@2] __b2_from___b6: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@6->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@6->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_5 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@7 to render_preset_name::@2 [phi:render_preset_name::@7->render_preset_name::@2] + // [479] phi from render_preset_name::@7 to render_preset_name::@2 [phi:render_preset_name::@7->render_preset_name::@2] __b2_from___b7: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@7->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@7->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_6 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@8 to render_preset_name::@2 [phi:render_preset_name::@8->render_preset_name::@2] + // [479] phi from render_preset_name::@8 to render_preset_name::@2 [phi:render_preset_name::@8->render_preset_name::@2] __b2_from___b8: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@8->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@8->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_7 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@9 to render_preset_name::@2 [phi:render_preset_name::@9->render_preset_name::@2] + // [479] phi from render_preset_name::@9 to render_preset_name::@2 [phi:render_preset_name::@9->render_preset_name::@2] __b2_from___b9: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@9->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@9->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_8 @@ -16226,20 +16244,20 @@ render_preset_name: { jmp __b2 // render_preset_name::@2 __b2: - // [478] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 -- pbuz1=pbuz2 + // [480] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 -- pbuz1=pbuz2 lda.z name sta.z print_str_at.str lda.z name+1 sta.z print_str_at.str+1 - // [479] call print_str_at + // [481] call print_str_at // Render it - // [780] phi from render_preset_name::@2 to print_str_at [phi:render_preset_name::@2->print_str_at] + // [782] phi from render_preset_name::@2 to print_str_at [phi:render_preset_name::@2->print_str_at] print_str_at_from___b2: jsr print_str_at jmp __breturn // render_preset_name::@return __breturn: - // [480] return + // [482] return rts name_1: .text "Standard Charset " .byte 0 @@ -16268,26 +16286,26 @@ render_preset_name: { // Reads keyboard and allows the user to navigate and change the fields of the form // Returns 0 if space is not pressed, non-0 if space is pressed form_control: { - .label __12 = $118 - .label __13 = $11e - .label __14 = $11b - .label __15 = $11c - .label __22 = $11d + .label __12 = $11c + .label __13 = $122 + .label __14 = $11f + .label __15 = $120 + .label __22 = $121 // Return to refresh .label return = $a0 - .label field = $116 - .label key_event = $11a + .label field = $11a + .label key_event = $11e // Return to refresh .label return_1 = $55 - // [481] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 -- vbuz1=vbuz2 + // [483] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 -- vbuz1=vbuz2 lda.z form_field_idx sta.z form_field_ptr.field_idx - // [482] call form_field_ptr - // [774] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + // [484] call form_field_ptr + // [776] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - // [774] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + // [776] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy jsr form_field_ptr - // [483] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 -- pbuz1=pbuz2 + // [485] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 -- pbuz1=pbuz2 lda.z form_field_ptr.return sta.z form_field_ptr.return_1 lda.z form_field_ptr.return+1 @@ -16295,35 +16313,35 @@ form_control: { jmp __b18 // form_control::@18 __b18: - // [484] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 -- pbuz1=pbuz2 + // [486] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 -- pbuz1=pbuz2 lda.z form_field_ptr.return_1 sta.z field lda.z form_field_ptr.return_1+1 sta.z field+1 - // [485] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 -- vbsz1=_dec_vbsz1 + // [487] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 -- vbsz1=_dec_vbsz1 dec.z form_cursor_count - // [486] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 -- vbsz1_ge_0_then_la1 + // [488] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 -- vbsz1_ge_0_then_la1 lda.z form_cursor_count cmp #0 bpl __b21_from___b18 - // [488] phi from form_control::@18 to form_control::@1 [phi:form_control::@18->form_control::@1] + // [490] phi from form_control::@18 to form_control::@1 [phi:form_control::@18->form_control::@1] __b1_from___b18: - // [488] phi (signed byte) form_cursor_count#16 = (const nomodify signed byte) FORM_CURSOR_BLINK [phi:form_control::@18->form_control::@1#0] -- vbsz1=vbsc1 + // [490] phi (signed byte) form_cursor_count#16 = (const nomodify signed byte) FORM_CURSOR_BLINK [phi:form_control::@18->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta.z form_cursor_count jmp __b1 - // [487] phi from form_control::@18 to form_control::@21 [phi:form_control::@18->form_control::@21] + // [489] phi from form_control::@18 to form_control::@21 [phi:form_control::@18->form_control::@21] __b21_from___b18: jmp __b21 // form_control::@21 __b21: - // [488] phi from form_control::@21 to form_control::@1 [phi:form_control::@21->form_control::@1] + // [490] phi from form_control::@21 to form_control::@1 [phi:form_control::@21->form_control::@1] __b1_from___b21: - // [488] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#4 [phi:form_control::@21->form_control::@1#0] -- register_copy + // [490] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#4 [phi:form_control::@21->form_control::@1#0] -- register_copy jmp __b1 // form_control::@1 __b1: - // [489] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 -- vbsz1_lt_vbsc1_then_la1 + // [491] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 -- vbsz1_lt_vbsc1_then_la1 lda.z form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -16334,124 +16352,124 @@ form_control: { jmp __b7 // form_control::@7 __b7: - // [490] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuz1=_deref_pbuz2_band_vbuc1 + // [492] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$7f ldy #0 and (field),y sta.z __12 - // [491] *((byte*) form_control::field#0) ← (byte~) form_control::$12 -- _deref_pbuz1=vbuz2 + // [493] *((byte*) form_control::field#0) ← (byte~) form_control::$12 -- _deref_pbuz1=vbuz2 lda.z __12 ldy #0 sta (field),y - // [492] phi from form_control::@2 form_control::@7 to form_control::@3 [phi:form_control::@2/form_control::@7->form_control::@3] + // [494] phi from form_control::@2 form_control::@7 to form_control::@3 [phi:form_control::@2/form_control::@7->form_control::@3] __b3_from___b2: __b3_from___b7: jmp __b3 // form_control::@3 __b3: - // [493] call keyboard_event_scan + // [495] call keyboard_event_scan // Scan the keyboard - // [576] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + // [578] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] keyboard_event_scan_from___b3: - // [576] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#49 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy + // [578] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#49 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy jsr keyboard_event_scan - // [494] phi from form_control::@3 to form_control::@19 [phi:form_control::@3->form_control::@19] + // [496] phi from form_control::@3 to form_control::@19 [phi:form_control::@3->form_control::@19] __b19_from___b3: jmp __b19 // form_control::@19 __b19: - // [495] call keyboard_event_get + // [497] call keyboard_event_get jsr keyboard_event_get - // [496] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 -- vbuz1=vbuz2 + // [498] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 -- vbuz1=vbuz2 lda.z keyboard_event_get.return sta.z keyboard_event_get.return_2 jmp __b20 // form_control::@20 __b20: - // [497] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 -- vbuz1=vbuz2 + // [499] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 -- vbuz1=vbuz2 lda.z keyboard_event_get.return_2 sta.z key_event - // [498] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 -- vbuz1_neq_vbuc1_then_la1 + // [500] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 -- vbuz1_neq_vbuc1_then_la1 lda #KEY_CRSR_DOWN cmp.z key_event bne __b4 jmp __b8 // form_control::@8 __b8: - // [499] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuz1=_deref_pbuz2_band_vbuc1 + // [501] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$7f ldy #0 and (field),y sta.z __14 - // [500] *((byte*) form_control::field#0) ← (byte~) form_control::$14 -- _deref_pbuz1=vbuz2 + // [502] *((byte*) form_control::field#0) ← (byte~) form_control::$14 -- _deref_pbuz1=vbuz2 // Unblink the cursor lda.z __14 ldy #0 sta (field),y - // [501] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuz1=vbuz2_band_vbuc1 + // [503] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuz1=vbuz2_band_vbuc1 lda #KEY_MODIFIER_SHIFT and.z keyboard_modifiers sta.z __15 - // [502] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 -- vbuz1_eq_0_then_la1 + // [504] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 -- vbuz1_eq_0_then_la1 lda.z __15 cmp #0 beq __b13 jmp __b9 // form_control::@9 __b9: - // [503] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 -- vbuz1=_dec_vbuz1 + // [505] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 -- vbuz1=_dec_vbuz1 dec.z form_field_idx - // [504] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 + // [506] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 lda #$ff cmp.z form_field_idx bne __b22_from___b9 - // [506] phi from form_control::@9 to form_control::@14 [phi:form_control::@9->form_control::@14] + // [508] phi from form_control::@9 to form_control::@14 [phi:form_control::@9->form_control::@14] __b14_from___b9: - // [506] phi (byte) form_field_idx#33 = (const byte) form_fields_cnt-(byte) 1 [phi:form_control::@9->form_control::@14#0] -- vbuz1=vbuc1 + // [508] phi (byte) form_field_idx#33 = (const byte) form_fields_cnt-(byte) 1 [phi:form_control::@9->form_control::@14#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta.z form_field_idx jmp __b14 - // [505] phi from form_control::@9 to form_control::@22 [phi:form_control::@9->form_control::@22] + // [507] phi from form_control::@9 to form_control::@22 [phi:form_control::@9->form_control::@22] __b22_from___b9: jmp __b22 // form_control::@22 __b22: - // [506] phi from form_control::@22 form_control::@23 to form_control::@14 [phi:form_control::@22/form_control::@23->form_control::@14] + // [508] phi from form_control::@22 form_control::@23 to form_control::@14 [phi:form_control::@22/form_control::@23->form_control::@14] __b14_from___b22: __b14_from___b23: - // [506] phi (byte) form_field_idx#33 = (byte) form_field_idx#5 [phi:form_control::@22/form_control::@23->form_control::@14#0] -- register_copy + // [508] phi (byte) form_field_idx#33 = (byte) form_field_idx#5 [phi:form_control::@22/form_control::@23->form_control::@14#0] -- register_copy jmp __b14 // form_control::@14 __b14: - // [507] phi from form_control::@14 to form_control::@return [phi:form_control::@14->form_control::@return] + // [509] phi from form_control::@14 to form_control::@return [phi:form_control::@14->form_control::@return] __breturn_from___b14: - // [507] phi (byte) form_field_idx#19 = (byte) form_field_idx#33 [phi:form_control::@14->form_control::@return#0] -- register_copy - // [507] phi (signed byte) form_cursor_count#17 = (const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 [phi:form_control::@14->form_control::@return#1] -- vbsz1=vbsc1 + // [509] phi (byte) form_field_idx#19 = (byte) form_field_idx#33 [phi:form_control::@14->form_control::@return#0] -- register_copy + // [509] phi (signed byte) form_cursor_count#17 = (const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 [phi:form_control::@14->form_control::@return#1] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK/2 sta.z form_cursor_count - // [507] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@14->form_control::@return#2] -- vbuz1=vbuc1 + // [509] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@14->form_control::@return#2] -- vbuz1=vbuc1 lda #0 sta.z return_1 jmp __breturn // form_control::@return __breturn: - // [508] return + // [510] return rts // form_control::@13 __b13: - // [509] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 -- vbuz1=_inc_vbuz1 + // [511] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 -- vbuz1=_inc_vbuz1 inc.z form_field_idx - // [510] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 -- vbuz1_neq_vbuc1_then_la1 + // [512] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 -- vbuz1_neq_vbuc1_then_la1 lda #form_fields_cnt cmp.z form_field_idx bne __b23_from___b13 - // [506] phi from form_control::@13 to form_control::@14 [phi:form_control::@13->form_control::@14] + // [508] phi from form_control::@13 to form_control::@14 [phi:form_control::@13->form_control::@14] __b14_from___b13: - // [506] phi (byte) form_field_idx#33 = (byte) 0 [phi:form_control::@13->form_control::@14#0] -- vbuz1=vbuc1 + // [508] phi (byte) form_field_idx#33 = (byte) 0 [phi:form_control::@13->form_control::@14#0] -- vbuz1=vbuc1 lda #0 sta.z form_field_idx jmp __b14 - // [511] phi from form_control::@13 to form_control::@23 [phi:form_control::@13->form_control::@23] + // [513] phi from form_control::@13 to form_control::@23 [phi:form_control::@13->form_control::@23] __b23_from___b13: jmp __b23 // form_control::@23 @@ -16459,28 +16477,28 @@ form_control: { jmp __b14_from___b23 // form_control::@4 __b4: - // [512] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 -- vbuz1_neq_vbuc1_then_la1 + // [514] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 -- vbuz1_neq_vbuc1_then_la1 lda #KEY_CRSR_RIGHT cmp.z key_event bne __b5 jmp __b10 // form_control::@10 __b10: - // [513] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuz1=vbuz2_band_vbuc1 + // [515] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuz1=vbuz2_band_vbuc1 lda #KEY_MODIFIER_SHIFT and.z keyboard_modifiers sta.z __22 - // [514] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 -- vbuz1_eq_0_then_la1 + // [516] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 -- vbuz1_eq_0_then_la1 lda.z __22 cmp #0 beq __b15 jmp __b11 // form_control::@11 __b11: - // [515] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + // [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx.z form_field_idx dec form_fields_val,x - // [516] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + // [518] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 lda #$ff ldy.z form_field_idx cmp form_fields_val,y @@ -16488,35 +16506,35 @@ form_control: { jmp __b12 // form_control::@12 __b12: - // [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + // [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy.z form_field_idx lda form_fields_max,y sta form_fields_val,y jmp __b16 // form_control::@16 __b16: - // [518] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) -- _deref_pbuz1=pbuc1_derefidx_(pbuc2_derefidx_vbuz2) + // [520] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) -- _deref_pbuz1=pbuc1_derefidx_(pbuc2_derefidx_vbuz2) // Render field value ldx.z form_field_idx ldy form_fields_val,x lda print_hextab,y ldy #0 sta (field),y - // [507] phi from form_control::@16 form_control::@6 to form_control::@return [phi:form_control::@16/form_control::@6->form_control::@return] + // [509] phi from form_control::@16 form_control::@6 to form_control::@return [phi:form_control::@16/form_control::@6->form_control::@return] __breturn_from___b16: __breturn_from___b6: - // [507] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@16/form_control::@6->form_control::@return#0] -- register_copy - // [507] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@16/form_control::@6->form_control::@return#1] -- register_copy - // [507] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@16/form_control::@6->form_control::@return#2] -- vbuz1=vbuc1 + // [509] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@16/form_control::@6->form_control::@return#0] -- register_copy + // [509] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@16/form_control::@6->form_control::@return#1] -- register_copy + // [509] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@16/form_control::@6->form_control::@return#2] -- vbuz1=vbuc1 lda #0 sta.z return_1 jmp __breturn // form_control::@15 __b15: - // [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + // [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx.z form_field_idx inc form_fields_val,x - // [520] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + // [522] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy.z form_field_idx lda form_fields_max,y cmp form_fields_val,y @@ -16524,26 +16542,26 @@ form_control: { jmp __b17 // form_control::@17 __b17: - // [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 + // [523] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 ldy.z form_field_idx sta form_fields_val,y jmp __b16 // form_control::@5 __b5: - // [522] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 -- vbuz1_neq_vbuc1_then_la1 + // [524] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 -- vbuz1_neq_vbuc1_then_la1 lda #KEY_SPACE cmp.z key_event bne __b6_from___b5 - // [507] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] + // [509] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] __breturn_from___b5: - // [507] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@5->form_control::@return#0] -- register_copy - // [507] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@5->form_control::@return#1] -- register_copy - // [507] phi (byte) form_control::return#2 = (byte) $ff [phi:form_control::@5->form_control::@return#2] -- vbuz1=vbuc1 + // [509] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@5->form_control::@return#0] -- register_copy + // [509] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@5->form_control::@return#1] -- register_copy + // [509] phi (byte) form_control::return#2 = (byte) $ff [phi:form_control::@5->form_control::@return#2] -- vbuz1=vbuc1 lda #$ff sta.z return_1 jmp __breturn - // [523] phi from form_control::@5 to form_control::@6 [phi:form_control::@5->form_control::@6] + // [525] phi from form_control::@5 to form_control::@6 [phi:form_control::@5->form_control::@6] __b6_from___b5: jmp __b6 // form_control::@6 @@ -16551,12 +16569,12 @@ form_control: { jmp __breturn_from___b6 // form_control::@2 __b2: - // [524] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 -- vbuz1=_deref_pbuz2_bor_vbuc1 + // [526] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 -- vbuz1=_deref_pbuz2_bor_vbuc1 lda #$80 ldy #0 ora (field),y sta.z __13 - // [525] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- _deref_pbuz1=vbuz2 + // [527] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- _deref_pbuz1=vbuz2 lda.z __13 ldy #0 sta (field),y @@ -16570,169 +16588,169 @@ apply_preset: { .label i = $58 .label idx = $a2 .label preset = $56 - // [526] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 -- vbuz1_eq_0_then_la1 + // [528] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 -- vbuz1_eq_0_then_la1 lda.z idx cmp #0 beq __b2_from_apply_preset jmp __b3 // apply_preset::@3 __b3: - // [527] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 + // [529] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 lda #1 cmp.z idx beq __b2_from___b3 jmp __b4 // apply_preset::@4 __b4: - // [528] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 + // [530] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 lda #2 cmp.z idx beq __b2_from___b4 jmp __b5 // apply_preset::@5 __b5: - // [529] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 + // [531] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 lda #3 cmp.z idx beq __b2_from___b5 jmp __b6 // apply_preset::@6 __b6: - // [530] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 + // [532] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 lda #4 cmp.z idx beq __b2_from___b6 jmp __b7 // apply_preset::@7 __b7: - // [531] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 + // [533] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 lda #5 cmp.z idx beq __b2_from___b7 jmp __b8 // apply_preset::@8 __b8: - // [532] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 + // [534] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 lda #6 cmp.z idx beq __b2_from___b8 jmp __b9 // apply_preset::@9 __b9: - // [533] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 + // [535] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 lda #7 cmp.z idx beq __b2_from___b9 jmp __b10 // apply_preset::@10 __b10: - // [534] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 + // [536] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 lda #8 cmp.z idx beq __b2_from___b10 jmp __b11 // apply_preset::@11 __b11: - // [535] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 + // [537] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 -- vbuz1_eq_vbuc1_then_la1 lda #9 cmp.z idx beq __b2_from___b11 jmp __b12 // apply_preset::@12 __b12: - // [536] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 + // [538] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 -- vbuz1_eq_vbuc1_then_la1 lda #$a cmp.z idx beq __b1_from___b12 - // [538] phi from apply_preset apply_preset::@12 to apply_preset::@2 [phi:apply_preset/apply_preset::@12->apply_preset::@2] + // [540] phi from apply_preset apply_preset::@12 to apply_preset::@2 [phi:apply_preset/apply_preset::@12->apply_preset::@2] __b2_from_apply_preset: __b2_from___b12: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdchar [phi:apply_preset/apply_preset::@12->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdchar [phi:apply_preset/apply_preset::@12->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_stdchar sta.z preset+1 jmp __b2 - // [537] phi from apply_preset::@12 to apply_preset::@1 [phi:apply_preset::@12->apply_preset::@1] + // [539] phi from apply_preset::@12 to apply_preset::@1 [phi:apply_preset::@12->apply_preset::@1] __b1_from___b12: jmp __b1 // apply_preset::@1 __b1: - // [538] phi from apply_preset::@1 to apply_preset::@2 [phi:apply_preset::@1->apply_preset::@2] + // [540] phi from apply_preset::@1 to apply_preset::@2 [phi:apply_preset::@1->apply_preset::@2] __b2_from___b1: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_8bpppixelcell [phi:apply_preset::@1->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_8bpppixelcell [phi:apply_preset::@1->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_8bpppixelcell sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@10 to apply_preset::@2 [phi:apply_preset::@10->apply_preset::@2] + // [540] phi from apply_preset::@10 to apply_preset::@2 [phi:apply_preset::@10->apply_preset::@2] __b2_from___b10: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred [phi:apply_preset::@10->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred [phi:apply_preset::@10->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_sixsfred sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@11 to apply_preset::@2 [phi:apply_preset::@11->apply_preset::@2] + // [540] phi from apply_preset::@11 to apply_preset::@2 [phi:apply_preset::@11->apply_preset::@2] __b2_from___b11: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred2 [phi:apply_preset::@11->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred2 [phi:apply_preset::@11->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_sixsfred2 sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@3 to apply_preset::@2 [phi:apply_preset::@3->apply_preset::@2] + // [540] phi from apply_preset::@3 to apply_preset::@2 [phi:apply_preset::@3->apply_preset::@2] __b2_from___b3: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_ecmchar [phi:apply_preset::@3->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_ecmchar [phi:apply_preset::@3->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_ecmchar sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@4 to apply_preset::@2 [phi:apply_preset::@4->apply_preset::@2] + // [540] phi from apply_preset::@4 to apply_preset::@2 [phi:apply_preset::@4->apply_preset::@2] __b2_from___b4: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdbm [phi:apply_preset::@4->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdbm [phi:apply_preset::@4->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_stdbm sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@5 to apply_preset::@2 [phi:apply_preset::@5->apply_preset::@2] + // [540] phi from apply_preset::@5 to apply_preset::@2 [phi:apply_preset::@5->apply_preset::@2] __b2_from___b5: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_mcbm [phi:apply_preset::@5->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_mcbm [phi:apply_preset::@5->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_mcbm sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@6 to apply_preset::@2 [phi:apply_preset::@6->apply_preset::@2] + // [540] phi from apply_preset::@6 to apply_preset::@2 [phi:apply_preset::@6->apply_preset::@2] __b2_from___b6: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_stdchar [phi:apply_preset::@6->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_stdchar [phi:apply_preset::@6->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_hi_stdchar sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@7 to apply_preset::@2 [phi:apply_preset::@7->apply_preset::@2] + // [540] phi from apply_preset::@7 to apply_preset::@2 [phi:apply_preset::@7->apply_preset::@2] __b2_from___b7: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_ecmchar [phi:apply_preset::@7->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_ecmchar [phi:apply_preset::@7->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_hi_ecmchar sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@8 to apply_preset::@2 [phi:apply_preset::@8->apply_preset::@2] + // [540] phi from apply_preset::@8 to apply_preset::@2 [phi:apply_preset::@8->apply_preset::@2] __b2_from___b8: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_twoplane [phi:apply_preset::@8->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_twoplane [phi:apply_preset::@8->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_twoplane sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@9 to apply_preset::@2 [phi:apply_preset::@9->apply_preset::@2] + // [540] phi from apply_preset::@9 to apply_preset::@2 [phi:apply_preset::@9->apply_preset::@2] __b2_from___b9: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_chunky [phi:apply_preset::@9->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_chunky [phi:apply_preset::@9->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_chunky @@ -16740,35 +16758,35 @@ apply_preset: { jmp __b2 // apply_preset::@2 __b2: - // [539] phi from apply_preset::@2 to apply_preset::@13 [phi:apply_preset::@2->apply_preset::@13] + // [541] phi from apply_preset::@2 to apply_preset::@13 [phi:apply_preset::@2->apply_preset::@13] __b13_from___b2: - // [539] phi (byte) apply_preset::i#2 = (byte) 0 [phi:apply_preset::@2->apply_preset::@13#0] -- vbuz1=vbuc1 + // [541] phi (byte) apply_preset::i#2 = (byte) 0 [phi:apply_preset::@2->apply_preset::@13#0] -- vbuz1=vbuc1 lda #0 sta.z i jmp __b13 // Copy preset values into the fields // apply_preset::@13 __b13: - // [540] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 -- vbuz1_neq_vbuc1_then_la1 + // [542] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 -- vbuz1_neq_vbuc1_then_la1 lda #form_fields_cnt cmp.z i bne __b14 jmp __breturn // apply_preset::@return __breturn: - // [541] return + // [543] return rts // apply_preset::@14 __b14: - // [542] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1 + // [544] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuz1=pbuz2_derefidx_vbuz1 ldy.z i lda (preset),y sta form_fields_val,y - // [543] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuz1=_inc_vbuz1 + // [545] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuz1=_inc_vbuz1 inc.z i - // [539] phi from apply_preset::@14 to apply_preset::@13 [phi:apply_preset::@14->apply_preset::@13] + // [541] phi from apply_preset::@14 to apply_preset::@13 [phi:apply_preset::@14->apply_preset::@13] __b13_from___b14: - // [539] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@14->apply_preset::@13#0] -- register_copy + // [541] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@14->apply_preset::@13#0] -- register_copy jmp __b13 } // get_plane @@ -16778,105 +16796,105 @@ get_plane: { .label return = $5a .label idx = $59 .label return_1 = $a5 - .label return_2 = $be - // [545] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return -- vbuz1_eq_0_then_la1 + .label return_2 = $c0 + // [547] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return -- vbuz1_eq_0_then_la1 lda.z idx cmp #0 beq __breturn_from_get_plane jmp __b2 // get_plane::@2 __b2: - // [546] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [548] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #1 cmp.z idx beq __breturn_from___b2 jmp __b3 // get_plane::@3 __b3: - // [547] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [549] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #2 cmp.z idx beq __breturn_from___b3 jmp __b4 // get_plane::@4 __b4: - // [548] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [550] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #3 cmp.z idx beq __breturn_from___b4 jmp __b5 // get_plane::@5 __b5: - // [549] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [551] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #4 cmp.z idx beq __breturn_from___b5 jmp __b6 // get_plane::@6 __b6: - // [550] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [552] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #5 cmp.z idx beq __breturn_from___b6 jmp __b7 // get_plane::@7 __b7: - // [551] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [553] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #6 cmp.z idx beq __breturn_from___b7 jmp __b8 // get_plane::@8 __b8: - // [552] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [554] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #7 cmp.z idx beq __breturn_from___b8 jmp __b9 // get_plane::@9 __b9: - // [553] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [555] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #8 cmp.z idx beq __breturn_from___b9 jmp __b10 // get_plane::@10 __b10: - // [554] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [556] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #9 cmp.z idx beq __breturn_from___b10 jmp __b11 // get_plane::@11 __b11: - // [555] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [557] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #$a cmp.z idx beq __breturn_from___b11 jmp __b12 // get_plane::@12 __b12: - // [556] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [558] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #$b cmp.z idx beq __breturn_from___b12 jmp __b13 // get_plane::@13 __b13: - // [557] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 + // [559] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return -- vbuz1_eq_vbuc1_then_la1 lda #$c cmp.z idx beq __breturn_from___b13 jmp __b14 // get_plane::@14 __b14: - // [558] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 -- vbuz1_neq_vbuc1_then_la1 + // [560] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$d cmp.z idx bne __b1_from___b14 - // [560] phi from get_plane::@14 to get_plane::@return [phi:get_plane::@14->get_plane::@return] + // [562] phi from get_plane::@14 to get_plane::@return [phi:get_plane::@14->get_plane::@return] __breturn_from___b14: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_FULL [phi:get_plane::@14->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_FULL [phi:get_plane::@14->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_FULL @@ -16886,15 +16904,15 @@ get_plane: { lda #>PLANE_FULL>>$10 sta.z return+3 jmp __breturn - // [559] phi from get_plane::@14 to get_plane::@1 [phi:get_plane::@14->get_plane::@1] + // [561] phi from get_plane::@14 to get_plane::@1 [phi:get_plane::@14->get_plane::@1] __b1_from___b14: jmp __b1 // get_plane::@1 __b1: - // [560] phi from get_plane get_plane::@1 to get_plane::@return [phi:get_plane/get_plane::@1->get_plane::@return] + // [562] phi from get_plane get_plane::@1 to get_plane::@return [phi:get_plane/get_plane::@1->get_plane::@return] __breturn_from_get_plane: __breturn_from___b1: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN0 [phi:get_plane/get_plane::@1->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN0 [phi:get_plane/get_plane::@1->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN0 @@ -16904,9 +16922,9 @@ get_plane: { lda #>VIC_SCREEN0>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@10 to get_plane::@return [phi:get_plane::@10->get_plane::@return] + // [562] phi from get_plane::@10 to get_plane::@return [phi:get_plane::@10->get_plane::@return] __breturn_from___b10: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL2 [phi:get_plane::@10->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL2 [phi:get_plane::@10->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_HORISONTAL2 @@ -16916,9 +16934,9 @@ get_plane: { lda #>PLANE_HORISONTAL2>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@11 to get_plane::@return [phi:get_plane::@11->get_plane::@return] + // [562] phi from get_plane::@11 to get_plane::@return [phi:get_plane::@11->get_plane::@return] __breturn_from___b11: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL2 [phi:get_plane::@11->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL2 [phi:get_plane::@11->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_VERTICAL2 @@ -16928,9 +16946,9 @@ get_plane: { lda #>PLANE_VERTICAL2>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@12 to get_plane::@return [phi:get_plane::@12->get_plane::@return] + // [562] phi from get_plane::@12 to get_plane::@return [phi:get_plane::@12->get_plane::@return] __breturn_from___b12: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_CHARSET8 [phi:get_plane::@12->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_CHARSET8 [phi:get_plane::@12->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_CHARSET8 @@ -16940,9 +16958,9 @@ get_plane: { lda #>PLANE_CHARSET8>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@13 to get_plane::@return [phi:get_plane::@13->get_plane::@return] + // [562] phi from get_plane::@13 to get_plane::@return [phi:get_plane::@13->get_plane::@return] __breturn_from___b13: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_BLANK [phi:get_plane::@13->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_BLANK [phi:get_plane::@13->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_BLANK @@ -16952,9 +16970,9 @@ get_plane: { lda #>PLANE_BLANK>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@2 to get_plane::@return [phi:get_plane::@2->get_plane::@return] + // [562] phi from get_plane::@2 to get_plane::@return [phi:get_plane::@2->get_plane::@return] __breturn_from___b2: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN1 [phi:get_plane::@2->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN1 [phi:get_plane::@2->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN1 @@ -16964,9 +16982,9 @@ get_plane: { lda #>VIC_SCREEN1>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@3 to get_plane::@return [phi:get_plane::@3->get_plane::@return] + // [562] phi from get_plane::@3 to get_plane::@return [phi:get_plane::@3->get_plane::@return] __breturn_from___b3: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN2 [phi:get_plane::@3->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN2 [phi:get_plane::@3->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN2 @@ -16976,9 +16994,9 @@ get_plane: { lda #>VIC_SCREEN2>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@4 to get_plane::@return [phi:get_plane::@4->get_plane::@return] + // [562] phi from get_plane::@4 to get_plane::@return [phi:get_plane::@4->get_plane::@return] __breturn_from___b4: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN3 [phi:get_plane::@4->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN3 [phi:get_plane::@4->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN3 @@ -16988,9 +17006,9 @@ get_plane: { lda #>VIC_SCREEN3>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@5 to get_plane::@return [phi:get_plane::@5->get_plane::@return] + // [562] phi from get_plane::@5 to get_plane::@return [phi:get_plane::@5->get_plane::@return] __breturn_from___b5: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_BITMAP [phi:get_plane::@5->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_BITMAP [phi:get_plane::@5->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_BITMAP @@ -17000,9 +17018,9 @@ get_plane: { lda #>VIC_BITMAP>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@6 to get_plane::@return [phi:get_plane::@6->get_plane::@return] + // [562] phi from get_plane::@6 to get_plane::@return [phi:get_plane::@6->get_plane::@return] __breturn_from___b6: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_CHARSET_ROM [phi:get_plane::@6->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_CHARSET_ROM [phi:get_plane::@6->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_CHARSET_ROM @@ -17012,9 +17030,9 @@ get_plane: { lda #>VIC_CHARSET_ROM>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@7 to get_plane::@return [phi:get_plane::@7->get_plane::@return] + // [562] phi from get_plane::@7 to get_plane::@return [phi:get_plane::@7->get_plane::@return] __breturn_from___b7: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_8BPP_CHUNKY [phi:get_plane::@7->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_8BPP_CHUNKY [phi:get_plane::@7->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_8BPP_CHUNKY @@ -17024,9 +17042,9 @@ get_plane: { lda #>PLANE_8BPP_CHUNKY>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@8 to get_plane::@return [phi:get_plane::@8->get_plane::@return] + // [562] phi from get_plane::@8 to get_plane::@return [phi:get_plane::@8->get_plane::@return] __breturn_from___b8: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL [phi:get_plane::@8->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL [phi:get_plane::@8->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_HORISONTAL @@ -17036,9 +17054,9 @@ get_plane: { lda #>PLANE_HORISONTAL>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@9 to get_plane::@return [phi:get_plane::@9->get_plane::@return] + // [562] phi from get_plane::@9 to get_plane::@return [phi:get_plane::@9->get_plane::@return] __breturn_from___b9: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL [phi:get_plane::@9->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL [phi:get_plane::@9->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_VERTICAL @@ -17050,7 +17068,7 @@ get_plane: { jmp __breturn // get_plane::@return __breturn: - // [561] return + // [563] return rts } // get_vic_screen @@ -17059,81 +17077,81 @@ get_plane: { get_vic_screen: { .label return = $5f .label idx = $5e - .label return_1 = $d5 - .label return_2 = $e8 - // [563] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return -- vbuz1_eq_0_then_la1 + .label return_1 = $d9 + .label return_2 = $ec + // [565] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return -- vbuz1_eq_0_then_la1 lda.z idx cmp #0 beq __breturn_from_get_vic_screen jmp __b2 // get_vic_screen::@2 __b2: - // [564] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return -- vbuz1_eq_vbuc1_then_la1 + // [566] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return -- vbuz1_eq_vbuc1_then_la1 lda #1 cmp.z idx beq __breturn_from___b2 jmp __b3 // get_vic_screen::@3 __b3: - // [565] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return -- vbuz1_eq_vbuc1_then_la1 + // [567] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return -- vbuz1_eq_vbuc1_then_la1 lda #2 cmp.z idx beq __breturn_from___b3 jmp __b4 // get_vic_screen::@4 __b4: - // [566] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return -- vbuz1_eq_vbuc1_then_la1 + // [568] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return -- vbuz1_eq_vbuc1_then_la1 lda #3 cmp.z idx beq __breturn_from___b4 jmp __b5 // get_vic_screen::@5 __b5: - // [567] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 -- vbuz1_neq_vbuc1_then_la1 + // [569] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 -- vbuz1_neq_vbuc1_then_la1 lda #4 cmp.z idx bne __b1_from___b5 - // [569] phi from get_vic_screen::@5 to get_vic_screen::@return [phi:get_vic_screen::@5->get_vic_screen::@return] + // [571] phi from get_vic_screen::@5 to get_vic_screen::@return [phi:get_vic_screen::@5->get_vic_screen::@return] __breturn_from___b5: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN4 [phi:get_vic_screen::@5->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN4 [phi:get_vic_screen::@5->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN4 sta.z return+1 jmp __breturn - // [568] phi from get_vic_screen::@5 to get_vic_screen::@1 [phi:get_vic_screen::@5->get_vic_screen::@1] + // [570] phi from get_vic_screen::@5 to get_vic_screen::@1 [phi:get_vic_screen::@5->get_vic_screen::@1] __b1_from___b5: jmp __b1 // get_vic_screen::@1 __b1: - // [569] phi from get_vic_screen get_vic_screen::@1 to get_vic_screen::@return [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return] + // [571] phi from get_vic_screen get_vic_screen::@1 to get_vic_screen::@return [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return] __breturn_from_get_vic_screen: __breturn_from___b1: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN0 [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN0 [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN0 sta.z return+1 jmp __breturn - // [569] phi from get_vic_screen::@2 to get_vic_screen::@return [phi:get_vic_screen::@2->get_vic_screen::@return] + // [571] phi from get_vic_screen::@2 to get_vic_screen::@return [phi:get_vic_screen::@2->get_vic_screen::@return] __breturn_from___b2: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN1 [phi:get_vic_screen::@2->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN1 [phi:get_vic_screen::@2->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN1 sta.z return+1 jmp __breturn - // [569] phi from get_vic_screen::@3 to get_vic_screen::@return [phi:get_vic_screen::@3->get_vic_screen::@return] + // [571] phi from get_vic_screen::@3 to get_vic_screen::@return [phi:get_vic_screen::@3->get_vic_screen::@return] __breturn_from___b3: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN2 [phi:get_vic_screen::@3->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN2 [phi:get_vic_screen::@3->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN2 sta.z return+1 jmp __breturn - // [569] phi from get_vic_screen::@4 to get_vic_screen::@return [phi:get_vic_screen::@4->get_vic_screen::@return] + // [571] phi from get_vic_screen::@4 to get_vic_screen::@return [phi:get_vic_screen::@4->get_vic_screen::@return] __breturn_from___b4: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN3 [phi:get_vic_screen::@4->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN3 [phi:get_vic_screen::@4->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN3 @@ -17141,44 +17159,44 @@ get_vic_screen: { jmp __breturn // get_vic_screen::@return __breturn: - // [570] return + // [572] return rts } // get_vic_charset // Get the VIC charset/bitmap address from the index -// get_vic_charset(byte zp($dd) idx) +// get_vic_charset(byte zp($e1) idx) get_vic_charset: { .label return = $61 - .label idx = $dd - .label return_1 = $de - // [571] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return -- vbuz1_eq_0_then_la1 + .label idx = $e1 + .label return_1 = $e2 + // [573] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return -- vbuz1_eq_0_then_la1 lda.z idx cmp #0 beq __breturn_from_get_vic_charset jmp __b2 // get_vic_charset::@2 __b2: - // [572] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 -- vbuz1_neq_vbuc1_then_la1 + // [574] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 -- vbuz1_neq_vbuc1_then_la1 lda #1 cmp.z idx bne __b1_from___b2 - // [574] phi from get_vic_charset::@2 to get_vic_charset::@return [phi:get_vic_charset::@2->get_vic_charset::@return] + // [576] phi from get_vic_charset::@2 to get_vic_charset::@return [phi:get_vic_charset::@2->get_vic_charset::@return] __breturn_from___b2: - // [574] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_BITMAP [phi:get_vic_charset::@2->get_vic_charset::@return#0] -- pbuz1=pbuc1 + // [576] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_BITMAP [phi:get_vic_charset::@2->get_vic_charset::@return#0] -- pbuz1=pbuc1 lda #VIC_BITMAP sta.z return+1 jmp __breturn - // [573] phi from get_vic_charset::@2 to get_vic_charset::@1 [phi:get_vic_charset::@2->get_vic_charset::@1] + // [575] phi from get_vic_charset::@2 to get_vic_charset::@1 [phi:get_vic_charset::@2->get_vic_charset::@1] __b1_from___b2: jmp __b1 // get_vic_charset::@1 __b1: - // [574] phi from get_vic_charset get_vic_charset::@1 to get_vic_charset::@return [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return] + // [576] phi from get_vic_charset get_vic_charset::@1 to get_vic_charset::@return [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return] __breturn_from_get_vic_charset: __breturn_from___b1: - // [574] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_CHARSET_ROM [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return#0] -- pbuz1=pbuc1 + // [576] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_CHARSET_ROM [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return#0] -- pbuz1=pbuc1 lda #VIC_CHARSET_ROM @@ -17186,7 +17204,7 @@ get_vic_charset: { jmp __breturn // get_vic_charset::@return __breturn: - // [575] return + // [577] return rts } // keyboard_event_scan @@ -17195,51 +17213,51 @@ get_vic_charset: { // Handles debounce and only generates events when the status of a key changes. // Also stores current status of modifiers in keyboard_modifiers. keyboard_event_scan: { - .label __0 = $123 - .label __3 = $125 - .label __6 = $127 - .label __9 = $129 - .label __15 = $12a - .label __16 = $12b - .label __23 = $12d - .label row_scan = $121 + .label __0 = $127 + .label __3 = $129 + .label __6 = $12b + .label __9 = $12d + .label __15 = $12e + .label __16 = $12f + .label __23 = $131 + .label row_scan = $125 .label keycode = $66 .label row = $63 .label col = $65 - .label event_type = $12c - // [577] phi from keyboard_event_scan to keyboard_event_scan::@7 [phi:keyboard_event_scan->keyboard_event_scan::@7] + .label event_type = $130 + // [579] phi from keyboard_event_scan to keyboard_event_scan::@7 [phi:keyboard_event_scan->keyboard_event_scan::@7] __b7_from_keyboard_event_scan: - // [577] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#98 [phi:keyboard_event_scan->keyboard_event_scan::@7#0] -- register_copy - // [577] phi (byte) keyboard_event_scan::keycode#11 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#1] -- vbuz1=vbuc1 + // [579] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#98 [phi:keyboard_event_scan->keyboard_event_scan::@7#0] -- register_copy + // [579] phi (byte) keyboard_event_scan::keycode#11 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#1] -- vbuz1=vbuc1 lda #0 sta.z keycode - // [577] phi (byte) keyboard_event_scan::row#2 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#2] -- vbuz1=vbuc1 + // [579] phi (byte) keyboard_event_scan::row#2 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#2] -- vbuz1=vbuc1 lda #0 sta.z row jmp __b7 - // [577] phi from keyboard_event_scan::@8 to keyboard_event_scan::@7 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7] + // [579] phi from keyboard_event_scan::@8 to keyboard_event_scan::@7 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7] __b7_from___b8: - // [577] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#100 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#0] -- register_copy - // [577] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#13 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#1] -- register_copy - // [577] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#2] -- register_copy + // [579] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#100 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#0] -- register_copy + // [579] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#13 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#1] -- register_copy + // [579] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#2] -- register_copy jmp __b7 // keyboard_event_scan::@7 __b7: - // [578] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 -- vbuz1=vbuz2 + // [580] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 -- vbuz1=vbuz2 lda.z row sta.z keyboard_matrix_read.rowid - // [579] call keyboard_matrix_read + // [581] call keyboard_matrix_read jsr keyboard_matrix_read - // [580] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 -- vbuz1=vbuz2 + // [582] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 -- vbuz1=vbuz2 lda.z keyboard_matrix_read.return sta.z keyboard_matrix_read.return_1 jmp __b19 // keyboard_event_scan::@19 __b19: - // [581] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 -- vbuz1=vbuz2 + // [583] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 -- vbuz1=vbuz2 lda.z keyboard_matrix_read.return_1 sta.z row_scan - // [582] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 + // [584] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 lda.z row_scan ldy.z row cmp keyboard_scan_values,y @@ -17247,253 +17265,253 @@ keyboard_event_scan: { jmp __b16 // keyboard_event_scan::@16 __b16: - // [583] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 + // [585] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 lax.z keycode axs #-[8] stx.z keycode - // [584] phi from keyboard_event_scan::@15 keyboard_event_scan::@16 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8] + // [586] phi from keyboard_event_scan::@15 keyboard_event_scan::@16 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8] __b8_from___b15: __b8_from___b16: - // [584] phi (byte) keyboard_events_size#100 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#0] -- register_copy - // [584] phi (byte) keyboard_event_scan::keycode#13 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#1] -- register_copy + // [586] phi (byte) keyboard_events_size#100 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#0] -- register_copy + // [586] phi (byte) keyboard_event_scan::keycode#13 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#1] -- register_copy jmp __b8 // keyboard_event_scan::@8 __b8: - // [585] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 -- vbuz1=_inc_vbuz1 + // [587] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 -- vbuz1=_inc_vbuz1 inc.z row - // [586] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 -- vbuz1_neq_vbuc1_then_la1 + // [588] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z row bne __b7_from___b8 - // [587] phi from keyboard_event_scan::@8 to keyboard_event_scan::@17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@17] + // [589] phi from keyboard_event_scan::@8 to keyboard_event_scan::@17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@17] __b17_from___b8: jmp __b17 // keyboard_event_scan::@17 __b17: - // [588] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@17 to keyboard_event_pressed [phi:keyboard_event_scan::@17->keyboard_event_pressed] + // [590] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@17 to keyboard_event_pressed [phi:keyboard_event_scan::@17->keyboard_event_pressed] keyboard_event_pressed_from___b17: - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_LSHIFT [phi:keyboard_event_scan::@17->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_LSHIFT [phi:keyboard_event_scan::@17->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_LSHIFT sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed - // [589] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 -- vbuz1=vbuz2 + // [591] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 -- vbuz1=vbuz2 lda.z keyboard_event_pressed.return_4 sta.z keyboard_event_pressed.return jmp __b20 // keyboard_event_scan::@20 __b20: - // [590] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 -- vbuz1=vbuz2 + // [592] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 -- vbuz1=vbuz2 lda.z keyboard_event_pressed.return sta.z __0 - // [591] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 -- vbuz1_eq_0_then_la1 + // [593] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 -- vbuz1_eq_0_then_la1 lda.z __0 cmp #0 beq __b1_from___b20 - // [592] phi from keyboard_event_scan::@20 to keyboard_event_scan::@18 [phi:keyboard_event_scan::@20->keyboard_event_scan::@18] + // [594] phi from keyboard_event_scan::@20 to keyboard_event_scan::@18 [phi:keyboard_event_scan::@20->keyboard_event_scan::@18] __b18_from___b20: jmp __b18 // keyboard_event_scan::@18 __b18: - // [593] phi from keyboard_event_scan::@18 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@18->keyboard_event_scan::@1] + // [595] phi from keyboard_event_scan::@18 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@18->keyboard_event_scan::@1] __b1_from___b18: - // [593] phi (byte) keyboard_modifiers#19 = (const nomodify byte) KEY_MODIFIER_LSHIFT [phi:keyboard_event_scan::@18->keyboard_event_scan::@1#0] -- vbuz1=vbuc1 + // [595] phi (byte) keyboard_modifiers#19 = (const nomodify byte) KEY_MODIFIER_LSHIFT [phi:keyboard_event_scan::@18->keyboard_event_scan::@1#0] -- vbuz1=vbuc1 lda #KEY_MODIFIER_LSHIFT sta.z keyboard_modifiers jmp __b1 - // [593] phi from keyboard_event_scan::@20 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1] + // [595] phi from keyboard_event_scan::@20 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1] __b1_from___b20: - // [593] phi (byte) keyboard_modifiers#19 = (byte) 0 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1#0] -- vbuz1=vbuc1 + // [595] phi (byte) keyboard_modifiers#19 = (byte) 0 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1#0] -- vbuz1=vbuc1 lda #0 sta.z keyboard_modifiers jmp __b1 // keyboard_event_scan::@1 __b1: - // [594] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@1 to keyboard_event_pressed [phi:keyboard_event_scan::@1->keyboard_event_pressed] + // [596] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@1 to keyboard_event_pressed [phi:keyboard_event_scan::@1->keyboard_event_pressed] keyboard_event_pressed_from___b1: - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_RSHIFT [phi:keyboard_event_scan::@1->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_RSHIFT [phi:keyboard_event_scan::@1->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_RSHIFT sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed - // [595] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 -- vbuz1=vbuz2 + // [597] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 -- vbuz1=vbuz2 lda.z keyboard_event_pressed.return_4 sta.z keyboard_event_pressed.return_1 jmp __b21 // keyboard_event_scan::@21 __b21: - // [596] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 -- vbuz1=vbuz2 + // [598] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 -- vbuz1=vbuz2 lda.z keyboard_event_pressed.return_1 sta.z __3 - // [597] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 -- vbuz1_eq_0_then_la1 + // [599] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 -- vbuz1_eq_0_then_la1 lda.z __3 cmp #0 beq __b2_from___b21 jmp __b4 // keyboard_event_scan::@4 __b4: - // [598] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT -- vbuz1=vbuz1_bor_vbuc1 + // [600] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT -- vbuz1=vbuz1_bor_vbuc1 lda #KEY_MODIFIER_RSHIFT ora.z keyboard_modifiers sta.z keyboard_modifiers - // [599] phi from keyboard_event_scan::@21 keyboard_event_scan::@4 to keyboard_event_scan::@2 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2] + // [601] phi from keyboard_event_scan::@21 keyboard_event_scan::@4 to keyboard_event_scan::@2 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2] __b2_from___b21: __b2_from___b4: - // [599] phi (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#19 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2#0] -- register_copy + // [601] phi (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#19 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2#0] -- register_copy jmp __b2 // keyboard_event_scan::@2 __b2: - // [600] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@2 to keyboard_event_pressed [phi:keyboard_event_scan::@2->keyboard_event_pressed] + // [602] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@2 to keyboard_event_pressed [phi:keyboard_event_scan::@2->keyboard_event_pressed] keyboard_event_pressed_from___b2: - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_CTRL [phi:keyboard_event_scan::@2->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_CTRL [phi:keyboard_event_scan::@2->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_CTRL sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed - // [601] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 -- vbuz1=vbuz2 + // [603] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 -- vbuz1=vbuz2 lda.z keyboard_event_pressed.return_4 sta.z keyboard_event_pressed.return_2 jmp __b22 // keyboard_event_scan::@22 __b22: - // [602] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 -- vbuz1=vbuz2 + // [604] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 -- vbuz1=vbuz2 lda.z keyboard_event_pressed.return_2 sta.z __6 - // [603] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 -- vbuz1_eq_0_then_la1 + // [605] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 -- vbuz1_eq_0_then_la1 lda.z __6 cmp #0 beq __b3_from___b22 jmp __b5 // keyboard_event_scan::@5 __b5: - // [604] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL -- vbuz1=vbuz1_bor_vbuc1 + // [606] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL -- vbuz1=vbuz1_bor_vbuc1 lda #KEY_MODIFIER_CTRL ora.z keyboard_modifiers sta.z keyboard_modifiers - // [605] phi from keyboard_event_scan::@22 keyboard_event_scan::@5 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3] + // [607] phi from keyboard_event_scan::@22 keyboard_event_scan::@5 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3] __b3_from___b22: __b3_from___b5: - // [605] phi (byte) keyboard_modifiers#21 = (byte) keyboard_modifiers#20 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3#0] -- register_copy + // [607] phi (byte) keyboard_modifiers#21 = (byte) keyboard_modifiers#20 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3#0] -- register_copy jmp __b3 // keyboard_event_scan::@3 __b3: - // [606] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@3 to keyboard_event_pressed [phi:keyboard_event_scan::@3->keyboard_event_pressed] + // [608] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@3 to keyboard_event_pressed [phi:keyboard_event_scan::@3->keyboard_event_pressed] keyboard_event_pressed_from___b3: - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_COMMODORE [phi:keyboard_event_scan::@3->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_COMMODORE [phi:keyboard_event_scan::@3->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_COMMODORE sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed - // [607] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 -- vbuz1=vbuz2 + // [609] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 -- vbuz1=vbuz2 lda.z keyboard_event_pressed.return_4 sta.z keyboard_event_pressed.return_3 jmp __b23 // keyboard_event_scan::@23 __b23: - // [608] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 -- vbuz1=vbuz2 + // [610] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 -- vbuz1=vbuz2 lda.z keyboard_event_pressed.return_3 sta.z __9 - // [609] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return -- vbuz1_eq_0_then_la1 + // [611] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return -- vbuz1_eq_0_then_la1 lda.z __9 cmp #0 beq __breturn_from___b23 jmp __b6 // keyboard_event_scan::@6 __b6: - // [610] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE -- vbuz1=vbuz1_bor_vbuc1 + // [612] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE -- vbuz1=vbuz1_bor_vbuc1 lda #KEY_MODIFIER_COMMODORE ora.z keyboard_modifiers sta.z keyboard_modifiers - // [611] phi from keyboard_event_scan::@23 keyboard_event_scan::@6 to keyboard_event_scan::@return [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return] + // [613] phi from keyboard_event_scan::@23 keyboard_event_scan::@6 to keyboard_event_scan::@return [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return] __breturn_from___b23: __breturn_from___b6: - // [611] phi (byte) keyboard_modifiers#22 = (byte) keyboard_modifiers#21 [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return#0] -- register_copy + // [613] phi (byte) keyboard_modifiers#22 = (byte) keyboard_modifiers#21 [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return#0] -- register_copy jmp __breturn // keyboard_event_scan::@return __breturn: - // [612] return + // [614] return rts // Something has changed on the keyboard row - check each column - // [613] phi from keyboard_event_scan::@10 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9] + // [615] phi from keyboard_event_scan::@10 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9] __b9_from___b10: - // [613] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#0] -- register_copy - // [613] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#1] -- register_copy - // [613] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#2] -- register_copy + // [615] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#0] -- register_copy + // [615] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#1] -- register_copy + // [615] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#2] -- register_copy jmp __b9 - // [613] phi from keyboard_event_scan::@19 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9] + // [615] phi from keyboard_event_scan::@19 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9] __b9_from___b19: - // [613] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#107 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#0] -- register_copy - // [613] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#1] -- register_copy - // [613] phi (byte) keyboard_event_scan::col#2 = (byte) 0 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#2] -- vbuz1=vbuc1 + // [615] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#107 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#0] -- register_copy + // [615] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#1] -- register_copy + // [615] phi (byte) keyboard_event_scan::col#2 = (byte) 0 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#2] -- vbuz1=vbuc1 lda #0 sta.z col jmp __b9 // keyboard_event_scan::@9 __b9: - // [614] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) -- vbuz1=vbuz2_bxor_pbuc1_derefidx_vbuz3 + // [616] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) -- vbuz1=vbuz2_bxor_pbuc1_derefidx_vbuz3 lda.z row_scan ldy.z row eor keyboard_scan_values,y sta.z __15 - // [615] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 + // [617] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 lda.z __15 ldy.z col and keyboard_matrix_col_bitmask,y sta.z __16 - // [616] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 -- vbuz1_eq_0_then_la1 + // [618] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 -- vbuz1_eq_0_then_la1 lda.z __16 cmp #0 beq __b10_from___b9 jmp __b12 // keyboard_event_scan::@12 __b12: - // [617] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 -- vbuz1_eq_vbuc1_then_la1 + // [619] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 -- vbuz1_eq_vbuc1_then_la1 lda #8 cmp.z keyboard_events_size beq __b10_from___b12 jmp __b13 // keyboard_event_scan::@13 __b13: - // [618] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 + // [620] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 lda.z row_scan ldy.z col and keyboard_matrix_col_bitmask,y sta.z event_type - // [619] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 -- vbuz1_eq_0_then_la1 + // [621] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 -- vbuz1_eq_0_then_la1 lda.z event_type cmp #0 beq __b11 jmp __b14 // keyboard_event_scan::@14 __b14: - // [620] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 -- pbuc1_derefidx_vbuz1=vbuz2 + // [622] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 -- pbuc1_derefidx_vbuz1=vbuz2 // Key pressed lda.z keycode ldy.z keyboard_events_size sta keyboard_events,y - // [621] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 + // [623] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 inc.z keyboard_events_size - // [622] phi from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10] + // [624] phi from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10] __b10_from___b11: __b10_from___b12: __b10_from___b14: __b10_from___b9: - // [622] phi (byte) keyboard_events_size#106 = (byte) keyboard_events_size#0 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10#0] -- register_copy + // [624] phi (byte) keyboard_events_size#106 = (byte) keyboard_events_size#0 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10#0] -- register_copy jmp __b10 // keyboard_event_scan::@10 __b10: - // [623] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 -- vbuz1=_inc_vbuz1 + // [625] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 -- vbuz1=_inc_vbuz1 inc.z keycode - // [624] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 -- vbuz1=_inc_vbuz1 + // [626] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 -- vbuz1=_inc_vbuz1 inc.z col - // [625] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 -- vbuz1_neq_vbuc1_then_la1 + // [627] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z col bne __b9_from___b10 jmp __b15 // keyboard_event_scan::@15 __b15: - // [626] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 -- pbuc1_derefidx_vbuz1=vbuz2 + // [628] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 -- pbuc1_derefidx_vbuz1=vbuz2 // Store the current keyboard status for the row to debounce lda.z row_scan ldy.z row @@ -17501,16 +17519,16 @@ keyboard_event_scan: { jmp __b8_from___b15 // keyboard_event_scan::@11 __b11: - // [627] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 -- vbuz1=vbuz2_bor_vbuc1 + // [629] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 -- vbuz1=vbuz2_bor_vbuc1 lda #$40 ora.z keycode sta.z __23 - // [628] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 -- pbuc1_derefidx_vbuz1=vbuz2 + // [630] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 -- pbuc1_derefidx_vbuz1=vbuz2 // Key released lda.z __23 ldy.z keyboard_events_size sta keyboard_events,y - // [629] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 + // [631] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 inc.z keyboard_events_size jmp __b10_from___b11 } @@ -17520,159 +17538,159 @@ keyboard_event_scan: { // The buffer is filled by keyboard_event_scan() keyboard_event_get: { .label return = $68 - .label return_1 = $f2 - .label return_2 = $119 - // [630] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return -- vbuz1_eq_0_then_la1 + .label return_1 = $f6 + .label return_2 = $11d + // [632] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return -- vbuz1_eq_0_then_la1 lda.z keyboard_events_size cmp #0 beq __breturn_from_keyboard_event_get jmp __b1 // keyboard_event_get::@1 __b1: - // [631] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 -- vbuz1=_dec_vbuz1 + // [633] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 -- vbuz1=_dec_vbuz1 dec.z keyboard_events_size - // [632] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) -- vbuz1=pbuc1_derefidx_vbuz2 + // [634] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z keyboard_events_size lda keyboard_events,y sta.z return - // [633] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] + // [635] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] __breturn_from___b1: - // [633] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#3 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy - // [633] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#1 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy + // [635] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#3 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy + // [635] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#1 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy jmp __breturn - // [633] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] + // [635] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] __breturn_from_keyboard_event_get: - // [633] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#100 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy - // [633] phi (byte) keyboard_event_get::return#2 = (byte) $ff [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuz1=vbuc1 + // [635] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#100 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy + // [635] phi (byte) keyboard_event_get::return#2 = (byte) $ff [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuz1=vbuc1 lda #$ff sta.z return jmp __breturn // keyboard_event_get::@return __breturn: - // [634] return + // [636] return rts } // bitmap_init // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { - .label __0 = $12e - .label __7 = $130 - .label __8 = $131 - .label __9 = $132 - .label __10 = $12f + .label __0 = $132 + .label __7 = $134 + .label __8 = $135 + .label __9 = $136 + .label __10 = $133 .label bits = $6a .label x = $69 .label y = $6b .label yoffs = $6c - // [636] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] + // [638] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] __b1_from_bitmap_init: - // [636] phi (byte) bitmap_init::bits#3 = (byte) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuz1=vbuc1 + // [638] phi (byte) bitmap_init::bits#3 = (byte) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuz1=vbuc1 lda #$80 sta.z bits - // [636] phi (byte) bitmap_init::x#2 = (byte) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuz1=vbuc1 + // [638] phi (byte) bitmap_init::x#2 = (byte) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuz1=vbuc1 lda #0 sta.z x jmp __b1 - // [636] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] + // [638] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] __b1_from___b2: - // [636] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy - // [636] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy + // [638] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy + // [638] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy jmp __b1 // bitmap_init::@1 __b1: - // [637] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 -- vbuz1=vbuz2_band_vbuc1 + // [639] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 -- vbuz1=vbuz2_band_vbuc1 lda #$f8 and.z x sta.z __0 - // [638] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuz1=vbuz2 + // [640] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __0 ldy.z x sta bitmap_plot_xlo,y - // [639] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP -- pbuc1_derefidx_vbuz1=vbuc2 + // [641] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP -- pbuc1_derefidx_vbuz1=vbuc2 lda #>VIC_BITMAP ldy.z x sta bitmap_plot_xhi,y - // [640] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuz1=vbuz2 + // [642] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z bits ldy.z x sta bitmap_plot_bit,y - // [641] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 -- vbuz1=vbuz1_ror_1 + // [643] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 -- vbuz1=vbuz1_ror_1 lsr.z bits - // [642] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 -- vbuz1_neq_0_then_la1 + // [644] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 -- vbuz1_neq_0_then_la1 lda.z bits cmp #0 bne __b6_from___b1 - // [644] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] + // [646] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] __b2_from___b1: - // [644] phi (byte) bitmap_init::bits#4 = (byte) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuz1=vbuc1 + // [646] phi (byte) bitmap_init::bits#4 = (byte) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuz1=vbuc1 lda #$80 sta.z bits jmp __b2 - // [643] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] + // [645] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] __b6_from___b1: jmp __b6 // bitmap_init::@6 __b6: - // [644] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] + // [646] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] __b2_from___b6: - // [644] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy + // [646] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy jmp __b2 // bitmap_init::@2 __b2: - // [645] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuz1=_inc_vbuz1 + // [647] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuz1=_inc_vbuz1 inc.z x - // [646] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 -- vbuz1_neq_0_then_la1 + // [648] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 -- vbuz1_neq_0_then_la1 lda.z x cmp #0 bne __b1_from___b2 - // [647] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] + // [649] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] __b3_from___b2: - // [647] phi (byte*) bitmap_init::yoffs#2 = (byte*) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 + // [649] phi (byte*) bitmap_init::yoffs#2 = (byte*) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 lda #<0 sta.z yoffs lda #>0 sta.z yoffs+1 - // [647] phi (byte) bitmap_init::y#2 = (byte) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuz1=vbuc1 + // [649] phi (byte) bitmap_init::y#2 = (byte) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuz1=vbuc1 lda #0 sta.z y jmp __b3 - // [647] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] + // [649] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] __b3_from___b4: - // [647] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy - // [647] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy + // [649] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy + // [649] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy jmp __b3 // bitmap_init::@3 __b3: - // [648] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 -- vbuz1=vbuz2_band_vbuc1 + // [650] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 -- vbuz1=vbuz2_band_vbuc1 lda #7 and.z y sta.z __10 - // [649] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuz1=_lo_pbuz2 + // [651] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuz1=_lo_pbuz2 lda.z yoffs sta.z __7 - // [650] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$10 | (byte~) bitmap_init::$7 -- vbuz1=vbuz2_bor_vbuz3 + // [652] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$10 | (byte~) bitmap_init::$7 -- vbuz1=vbuz2_bor_vbuz3 lda.z __10 ora.z __7 sta.z __8 - // [651] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuz1=vbuz2 + // [653] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __8 ldy.z y sta bitmap_plot_ylo,y - // [652] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuz1=_hi_pbuz2 + // [654] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuz1=_hi_pbuz2 lda.z yoffs+1 sta.z __9 - // [653] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuz1=vbuz2 + // [655] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __9 ldy.z y sta bitmap_plot_yhi,y - // [654] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 + // [656] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 lda #7 cmp.z __10 bne __b4_from___b3 jmp __b5 // bitmap_init::@5 __b5: - // [655] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 -- pbuz1=pbuz1_plus_vwuc1 + // [657] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 -- pbuz1=pbuz1_plus_vwuc1 clc lda.z yoffs adc #<$28*8 @@ -17680,409 +17698,409 @@ bitmap_init: { lda.z yoffs+1 adc #>$28*8 sta.z yoffs+1 - // [656] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] + // [658] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] __b4_from___b3: __b4_from___b5: - // [656] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy + // [658] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy jmp __b4 // bitmap_init::@4 __b4: - // [657] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuz1=_inc_vbuz1 + // [659] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuz1=_inc_vbuz1 inc.z y - // [658] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 -- vbuz1_neq_0_then_la1 + // [660] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 -- vbuz1_neq_0_then_la1 lda.z y cmp #0 bne __b3_from___b4 jmp __breturn // bitmap_init::@return __breturn: - // [659] return + // [661] return rts } // bitmap_clear // Clear all graphics on the bitmap bitmap_clear: { - .label bitmap = $133 + .label bitmap = $137 .label bitmap_1 = $6f .label x = $71 .label y = $6e - // [660] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + // [662] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda bitmap_plot_xlo sta.z bitmap lda bitmap_plot_xhi sta.z bitmap+1 - // [661] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 -- pbuz1=pbuz2 + // [663] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 -- pbuz1=pbuz2 lda.z bitmap sta.z bitmap_1 lda.z bitmap+1 sta.z bitmap_1+1 - // [662] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] + // [664] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] __b1_from_bitmap_clear: - // [662] phi (byte) bitmap_clear::y#4 = (byte) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 + // [664] phi (byte) bitmap_clear::y#4 = (byte) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 lda #0 sta.z y - // [662] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy + // [664] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy jmp __b1 - // [662] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] + // [664] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] __b1_from___b3: - // [662] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy - // [662] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy + // [664] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy + // [664] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy jmp __b1 // bitmap_clear::@1 __b1: - // [663] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] + // [665] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] __b2_from___b1: - // [663] phi (byte) bitmap_clear::x#2 = (byte) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuz1=vbuc1 + // [665] phi (byte) bitmap_clear::x#2 = (byte) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuz1=vbuc1 lda #0 sta.z x - // [663] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy + // [665] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy jmp __b2 - // [663] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] + // [665] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] __b2_from___b2: - // [663] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy - // [663] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy + // [665] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy + // [665] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy jmp __b2 // bitmap_clear::@2 __b2: - // [664] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 + // [666] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (bitmap_1),y - // [665] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 + // [667] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 inc.z bitmap_1 bne !+ inc.z bitmap_1+1 !: - // [666] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuz1=_inc_vbuz1 + // [668] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuz1=_inc_vbuz1 inc.z x - // [667] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 -- vbuz1_neq_vbuc1_then_la1 + // [669] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z x bne __b2_from___b2 jmp __b3 // bitmap_clear::@3 __b3: - // [668] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 + // [670] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 inc.z y - // [669] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 + // [671] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z y bne __b1_from___b3 jmp __breturn // bitmap_clear::@return __breturn: - // [670] return + // [672] return rts } // bitmap_line // Draw a line on the bitmap -// bitmap_line(byte zp($103) x0, byte zp($104) x1, byte zp($105) y0, byte zp($106) y1) +// bitmap_line(byte zp($107) x0, byte zp($108) x1, byte zp($109) y0, byte zp($10a) y1) bitmap_line: { - .label xd = $138 - .label xd_1 = $135 - .label yd = $137 - .label yd_1 = $136 - .label x0 = $103 - .label x1 = $104 - .label y0 = $105 - .label y1 = $106 - .label yd_2 = $139 - .label yd_3 = $13a - // [671] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1 + .label xd = $13c + .label xd_1 = $139 + .label yd = $13b + .label yd_1 = $13a + .label x0 = $107 + .label x1 = $108 + .label y0 = $109 + .label y1 = $10a + .label yd_2 = $13d + .label yd_3 = $13e + // [673] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1 lda.z x0 cmp.z x1 bcc __b1 jmp __b2 // bitmap_line::@2 __b2: - // [672] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 + // [674] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z x0 sec sbc.z x1 sta.z xd_1 - // [673] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuz2_then_la1 + // [675] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuz1_lt_vbuz2_then_la1 lda.z y0 cmp.z y1 bcc __b7 jmp __b3 // bitmap_line::@3 __b3: - // [674] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 + // [676] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z y0 sec sbc.z y1 sta.z yd_1 - // [675] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuz1_lt_vbuz2_then_la1 + // [677] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuz1_lt_vbuz2_then_la1 lda.z yd_1 cmp.z xd_1 bcc __b8 jmp __b4 // bitmap_line::@4 __b4: - // [676] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + // [678] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda.z y1 sta.z bitmap_line_ydxi.y - // [677] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [679] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_ydxi.x - // [678] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + // [680] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda.z y0 sta.z bitmap_line_ydxi.y1 - // [679] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2 + // [681] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2 lda.z yd_1 sta.z bitmap_line_ydxi.yd - // [680] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 + // [682] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 lda.z xd_1 sta.z bitmap_line_ydxi.xd - // [681] call bitmap_line_ydxi - // [796] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] + // [683] call bitmap_line_ydxi + // [798] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] bitmap_line_ydxi_from___b4: - // [796] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp __breturn // bitmap_line::@return __breturn: - // [682] return + // [684] return rts // bitmap_line::@8 __b8: - // [683] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [685] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyi.x - // [684] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + // [686] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda.z y1 sta.z bitmap_line_xdyi.y - // [685] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [687] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyi.x1 - // [686] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 + // [688] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 lda.z xd_1 sta.z bitmap_line_xdyi.xd - // [687] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2 + // [689] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuz2 lda.z yd_1 sta.z bitmap_line_xdyi.yd - // [688] call bitmap_line_xdyi - // [811] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] + // [690] call bitmap_line_xdyi + // [813] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] bitmap_line_xdyi_from___b8: - // [811] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp __breturn // bitmap_line::@7 __b7: - // [689] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 + // [691] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z y1 sec sbc.z y0 sta.z yd - // [690] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuz1_lt_vbuz2_then_la1 + // [692] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuz1_lt_vbuz2_then_la1 lda.z yd cmp.z xd_1 bcc __b9 jmp __b10 // bitmap_line::@10 __b10: - // [691] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + // [693] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda.z y0 sta.z bitmap_line_ydxd.y - // [692] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [694] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_ydxd.x - // [693] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + // [695] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda.z y1 sta.z bitmap_line_ydxd.y1 - // [694] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 + // [696] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 lda.z yd sta.z bitmap_line_ydxd.yd - // [695] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 + // [697] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 lda.z xd_1 sta.z bitmap_line_ydxd.xd - // [696] call bitmap_line_ydxd - // [826] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] + // [698] call bitmap_line_ydxd + // [828] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] bitmap_line_ydxd_from___b10: - // [826] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp __breturn // bitmap_line::@9 __b9: - // [697] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [699] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyd.x - // [698] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + // [700] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda.z y1 sta.z bitmap_line_xdyd.y - // [699] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [701] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyd.x1 - // [700] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 + // [702] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 -- vbuz1=vbuz2 lda.z xd_1 sta.z bitmap_line_xdyd.xd - // [701] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 + // [703] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuz2 lda.z yd sta.z bitmap_line_xdyd.yd - // [702] call bitmap_line_xdyd - // [841] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] + // [704] call bitmap_line_xdyd + // [843] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] bitmap_line_xdyd_from___b9: - // [841] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp __breturn // bitmap_line::@1 __b1: - // [703] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 + // [705] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z x1 sec sbc.z x0 sta.z xd - // [704] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuz2_then_la1 + // [706] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuz1_lt_vbuz2_then_la1 lda.z y0 cmp.z y1 bcc __b11 jmp __b5 // bitmap_line::@5 __b5: - // [705] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 + // [707] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z y0 sec sbc.z y1 sta.z yd_2 - // [706] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuz1_lt_vbuz2_then_la1 + // [708] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuz1_lt_vbuz2_then_la1 lda.z yd_2 cmp.z xd bcc __b12 jmp __b6 // bitmap_line::@6 __b6: - // [707] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + // [709] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda.z y1 sta.z bitmap_line_ydxd.y - // [708] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [710] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_ydxd.x - // [709] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + // [711] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda.z y0 sta.z bitmap_line_ydxd.y1 - // [710] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 + // [712] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 lda.z yd_2 sta.z bitmap_line_ydxd.yd - // [711] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + // [713] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda.z xd sta.z bitmap_line_ydxd.xd - // [712] call bitmap_line_ydxd - // [826] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] + // [714] call bitmap_line_ydxd + // [828] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] bitmap_line_ydxd_from___b6: - // [826] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp __breturn // bitmap_line::@12 __b12: - // [713] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [715] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyd.x - // [714] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + // [716] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda.z y0 sta.z bitmap_line_xdyd.y - // [715] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [717] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyd.x1 - // [716] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + // [718] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda.z xd sta.z bitmap_line_xdyd.xd - // [717] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 + // [719] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuz2 lda.z yd_2 sta.z bitmap_line_xdyd.yd - // [718] call bitmap_line_xdyd - // [841] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] + // [720] call bitmap_line_xdyd + // [843] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] bitmap_line_xdyd_from___b12: - // [841] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp __breturn // bitmap_line::@11 __b11: - // [719] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 + // [721] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z y1 sec sbc.z y0 sta.z yd_3 - // [720] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 + // [722] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuz1_lt_vbuz2_then_la1 lda.z yd_3 cmp.z xd bcc __b13 jmp __b14 // bitmap_line::@14 __b14: - // [721] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + // [723] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda.z y0 sta.z bitmap_line_ydxi.y - // [722] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [724] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_ydxi.x - // [723] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + // [725] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda.z y1 sta.z bitmap_line_ydxi.y1 - // [724] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2 + // [726] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2 lda.z yd_3 sta.z bitmap_line_ydxi.yd - // [725] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + // [727] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda.z xd sta.z bitmap_line_ydxi.xd - // [726] call bitmap_line_ydxi - // [796] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] + // [728] call bitmap_line_ydxi + // [798] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] bitmap_line_ydxi_from___b14: - // [796] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp __breturn // bitmap_line::@13 __b13: - // [727] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [729] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyi.x - // [728] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 + // [730] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuz2 lda.z y0 sta.z bitmap_line_xdyi.y - // [729] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [731] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyi.x1 - // [730] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 + // [732] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 -- vbuz1=vbuz2 lda.z xd sta.z bitmap_line_xdyi.xd - // [731] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2 + // [733] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuz2 lda.z yd_3 sta.z bitmap_line_xdyi.yd - // [732] call bitmap_line_xdyi - // [811] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] + // [734] call bitmap_line_xdyi + // [813] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] bitmap_line_xdyi_from___b13: - // [811] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp __breturn } @@ -18095,7 +18113,7 @@ dtvSetCpuBankSegment1: { // Move CPU BANK 1 SEGMENT ($4000-$7fff) .label cpuBank = $ff .label cpuBankIdx = $72 - // [734] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuz1 + // [736] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuz1 lda.z cpuBankIdx sta cpuBank // asm { .byte$32,$dd lda$ff .byte$32,$00 } @@ -18105,25 +18123,25 @@ dtvSetCpuBankSegment1: { jmp __breturn // dtvSetCpuBankSegment1::@return __breturn: - // [736] return + // [738] return rts } // gfx_init_plane_fill // Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // gfx_init_plane_fill(dword zp($73) plane_addr, byte zp($77) fill) gfx_init_plane_fill: { - .label __0 = $13b - .label __1 = $13f - .label __4 = $142 - .label __5 = $144 - .label gfxbCpuBank = $141 - .label gfxb = $146 + .label __0 = $13f + .label __1 = $143 + .label __4 = $146 + .label __5 = $148 + .label gfxbCpuBank = $145 + .label gfxb = $14a .label gfxb_1 = $79 .label bx = $7b .label by = $78 .label plane_addr = $73 .label fill = $77 - // [738] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 -- vduz1=vduz2_rol_2 + // [740] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 -- vduz1=vduz2_rol_2 lda.z plane_addr asl sta.z __0 @@ -18140,38 +18158,38 @@ gfx_init_plane_fill: { rol.z __0+1 rol.z __0+2 rol.z __0+3 - // [739] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 + // [741] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 lda.z __0+2 sta.z __1 lda.z __0+3 sta.z __1+1 - // [740] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuz1=_lo_vwuz2 + // [742] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuz1=_lo_vwuz2 lda.z __1 sta.z gfxbCpuBank - // [741] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuz1=vbuz2 + // [743] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 -- vbuz1=vbuz2 lda.z gfxbCpuBank sta.z dtvSetCpuBankSegment1.cpuBankIdx - // [742] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] + // [744] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_fill: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp __b5 // gfx_init_plane_fill::@5 __b5: - // [743] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 + // [745] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 lda.z plane_addr sta.z __4 lda.z plane_addr+1 sta.z __4+1 - // [744] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff -- vwuz1=vwuz2_band_vwuc1 + // [746] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff -- vwuz1=vwuz2_band_vwuc1 lda.z __4 and #<$3fff sta.z __5 lda.z __4+1 and #>$3fff sta.z __5+1 - // [745] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz2 + // [747] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz2 lda.z __5 clc adc #<$4000 @@ -18179,95 +18197,95 @@ gfx_init_plane_fill: { lda.z __5+1 adc #>$4000 sta.z gfxb+1 - // [746] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 -- pbuz1=pbuz2 + // [748] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 -- pbuz1=pbuz2 lda.z gfxb sta.z gfxb_1 lda.z gfxb+1 sta.z gfxb_1+1 - // [747] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] + // [749] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] __b1_from___b5: - // [747] phi (byte) gfx_init_plane_fill::by#4 = (byte) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 + // [749] phi (byte) gfx_init_plane_fill::by#4 = (byte) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 lda #0 sta.z by - // [747] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy + // [749] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy jmp __b1 - // [747] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] + // [749] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] __b1_from___b3: - // [747] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy - // [747] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy + // [749] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy + // [749] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy jmp __b1 // gfx_init_plane_fill::@1 __b1: - // [748] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] + // [750] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] __b2_from___b1: - // [748] phi (byte) gfx_init_plane_fill::bx#2 = (byte) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuz1=vbuc1 + // [750] phi (byte) gfx_init_plane_fill::bx#2 = (byte) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuz1=vbuc1 lda #0 sta.z bx - // [748] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy + // [750] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy jmp __b2 - // [748] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] + // [750] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] __b2_from___b2: - // [748] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy - // [748] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy + // [750] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy + // [750] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy jmp __b2 // gfx_init_plane_fill::@2 __b2: - // [749] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 + // [751] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 lda.z fill ldy #0 sta (gfxb_1),y - // [750] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 + // [752] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 inc.z gfxb_1 bne !+ inc.z gfxb_1+1 !: - // [751] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuz1=_inc_vbuz1 + // [753] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuz1=_inc_vbuz1 inc.z bx - // [752] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 -- vbuz1_neq_vbuc1_then_la1 + // [754] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z bx bne __b2_from___b2 jmp __b3 // gfx_init_plane_fill::@3 __b3: - // [753] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 + // [755] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 inc.z by - // [754] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 + // [756] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z by bne __b1_from___b3 - // [755] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] + // [757] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] __b4_from___b3: jmp __b4 // gfx_init_plane_fill::@4 __b4: - // [756] call dtvSetCpuBankSegment1 + // [758] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b4: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 lda #$4000/$4000 sta.z dtvSetCpuBankSegment1.cpuBankIdx jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_fill::@return __breturn: - // [757] return + // [759] return rts } // memset // Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str. -// memset(void* zp($10e) str) +// memset(void* zp($112) str) memset: { .const c = ' ' .const num = $3e8 - .label end = $148 + .label end = $14c .label dst = $7c - .label str = $10e + .label str = $112 jmp __b1 // memset::@1 __b1: - // [759] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 -- pbuz1=pbuz2_plus_vwuc1 + // [761] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 -- pbuz1=pbuz2_plus_vwuc1 lda.z str clc adc #num sta.z end+1 - // [760] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 -- pbuz1=pbuz2 + // [762] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 -- pbuz1=pbuz2 lda.z str sta.z dst lda.z str+1 sta.z dst+1 - // [761] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] + // [763] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] __b2_from___b1: __b2_from___b3: - // [761] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy + // [763] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy jmp __b2 // memset::@2 __b2: - // [762] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 + // [764] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 lda.z dst+1 cmp.z end+1 bne __b3 @@ -18297,15 +18315,15 @@ memset: { jmp __breturn // memset::@return __breturn: - // [763] return + // [765] return rts // memset::@3 __b3: - // [764] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 + // [766] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 lda #c ldy #0 sta (dst),y - // [765] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [767] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 @@ -18314,14 +18332,14 @@ memset: { } // print_char // Print a single char -// print_char(byte zp($111) ch) +// print_char(byte zp($115) ch) print_char: { - .label ch = $111 - // [766] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 -- _deref_pbuz1=vbuz2 + .label ch = $115 + // [768] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 -- _deref_pbuz1=vbuz2 lda.z ch ldy #0 sta (print_char_cursor),y - // [767] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 -- pbuz1=_inc_pbuz1 + // [769] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 -- pbuz1=_inc_pbuz1 inc.z print_char_cursor bne !+ inc.z print_char_cursor+1 @@ -18329,20 +18347,20 @@ print_char: { jmp __breturn // print_char::@return __breturn: - // [768] return + // [770] return rts } // print_ln // Print a newline print_ln: { - // [770] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + // [772] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] __b1_from_print_ln: __b1_from___b1: - // [770] phi (byte*) print_line_cursor#22 = (byte*) print_line_cursor#1 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + // [772] phi (byte*) print_line_cursor#22 = (byte*) print_line_cursor#1 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp __b1 // print_ln::@1 __b1: - // [771] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [773] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc.z print_line_cursor @@ -18350,7 +18368,7 @@ print_ln: { bcc !+ inc.z print_line_cursor+1 !: - // [772] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + // [774] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 lda.z print_line_cursor+1 cmp.z print_char_cursor+1 bcc __b1_from___b1 @@ -18362,7 +18380,7 @@ print_ln: { jmp __breturn // print_ln::@return __breturn: - // [773] return + // [775] return rts } // form_field_ptr @@ -18370,27 +18388,27 @@ print_ln: { // field_idx is the index of the field to get the screen address for // form_field_ptr(byte zp($80) field_idx) form_field_ptr: { - .label y = $14a - .label line = $14b - .label x = $14d - .label return = $14e + .label y = $14e + .label line = $14f + .label x = $151 + .label return = $152 .label field_idx = $80 - .label return_1 = $114 - // [775] (byte) form_field_ptr::y#0 ← *((const byte*) form_fields_y + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 + .label return_1 = $118 + // [777] (byte) form_field_ptr::y#0 ← *((const byte*) form_fields_y + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z field_idx lda form_fields_y,y sta.z y - // [776] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + // [778] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy.z y lda form_line_hi,y sta.z line+1 lda form_line_lo,y sta.z line - // [777] (byte) form_field_ptr::x#0 ← *((const byte*) form_fields_x + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [779] (byte) form_field_ptr::x#0 ← *((const byte*) form_fields_x + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z field_idx lda form_fields_x,y sta.z x - // [778] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz2_plus_vbuz3 + // [780] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz2_plus_vbuz3 lda.z x clc adc.z line @@ -18401,7 +18419,7 @@ form_field_ptr: { jmp __breturn // form_field_ptr::@return __breturn: - // [779] return + // [781] return rts } // print_str_at @@ -18410,18 +18428,18 @@ form_field_ptr: { print_str_at: { .label at = $83 .label str = $81 - // [781] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] + // [783] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] __b1_from_print_str_at: - // [781] phi (byte*) print_str_at::at#2 = (const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 + // [783] phi (byte*) print_str_at::at#2 = (const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 lda #FORM_SCREEN+$28*2+$a sta.z at+1 - // [781] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy + // [783] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy jmp __b1 // print_str_at::@1 __b1: - // [782] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + // [784] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 -- vbuc1_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 @@ -18429,29 +18447,29 @@ print_str_at: { jmp __breturn // print_str_at::@return __breturn: - // [783] return + // [785] return rts // print_str_at::@2 __b2: - // [784] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 + // [786] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (at),y - // [785] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 + // [787] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 inc.z at bne !+ inc.z at+1 !: - // [786] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 + // [788] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 !: - // [781] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] + // [783] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] __b1_from___b2: - // [781] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy - // [781] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy + // [783] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy + // [783] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy jmp __b1 } // keyboard_matrix_read @@ -18460,23 +18478,23 @@ print_str_at: { // Returns the keys pressed on the row as bits according to the C64 key matrix. // Notice: If the C64 normal interrupt is still running it will occasionally interrupt right between the read & write // leading to erroneous readings. You must disable the normal interrupt or sei/cli around calls to the keyboard matrix reader. -// keyboard_matrix_read(byte zp($11f) rowid) +// keyboard_matrix_read(byte zp($123) rowid) keyboard_matrix_read: { - .label return = $150 - .label rowid = $11f - .label return_1 = $120 - // [787] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) -- _deref_pbuc1=pbuc2_derefidx_vbuz1 + .label return = $154 + .label rowid = $123 + .label return_1 = $124 + // [789] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) -- _deref_pbuc1=pbuc2_derefidx_vbuz1 ldy.z rowid lda keyboard_matrix_row_bitmask,y sta CIA1 - // [788] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuz1=_bnot__deref_pbuc1 + // [790] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuz1=_bnot__deref_pbuc1 lda CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B eor #$ff sta.z return jmp __breturn // keyboard_matrix_read::@return __breturn: - // [789] return + // [791] return rts } // keyboard_event_pressed @@ -18484,30 +18502,30 @@ keyboard_matrix_read: { // Returns 0 is not pressed and non-0 if pressed // keyboard_event_pressed(byte zp($85) keycode) keyboard_event_pressed: { - .label __0 = $151 - .label __1 = $153 - .label return = $122 - .label return_1 = $124 - .label return_2 = $126 - .label return_3 = $128 - .label row_bits = $152 + .label __0 = $155 + .label __1 = $157 + .label return = $126 + .label return_1 = $128 + .label return_2 = $12a + .label return_3 = $12c + .label row_bits = $156 .label keycode = $85 - .label return_4 = $154 - // [791] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 -- vbuz1=vbuz2_ror_3 + .label return_4 = $158 + // [793] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 -- vbuz1=vbuz2_ror_3 lda.z keycode lsr lsr lsr sta.z __0 - // [792] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) -- vbuz1=pbuc1_derefidx_vbuz2 + // [794] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z __0 lda keyboard_scan_values,y sta.z row_bits - // [793] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 -- vbuz1=vbuz2_band_vbuc1 + // [795] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 -- vbuz1=vbuz2_band_vbuc1 lda #7 and.z keycode sta.z __1 - // [794] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 + // [796] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 lda.z row_bits ldy.z __1 and keyboard_matrix_col_bitmask,y @@ -18515,355 +18533,355 @@ keyboard_event_pressed: { jmp __breturn // keyboard_event_pressed::@return __breturn: - // [795] return + // [797] return rts } // bitmap_line_ydxi // bitmap_line_ydxi(byte zp($8a) y, byte zp($89) x, byte zp($88) y1, byte zp($87) yd, byte zp($86) xd) bitmap_line_ydxi: { - .label __6 = $155 + .label __6 = $159 .label y = $8a .label x = $89 .label y1 = $88 .label yd = $87 .label xd = $86 .label e = $8b - // [797] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [799] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z xd lsr sta.z e - // [798] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] + // [800] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] __b1_from_bitmap_line_ydxi: __b1_from___b2: - // [798] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy - // [798] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy - // [798] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy + // [800] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy + // [800] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy + // [800] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy jmp __b1 // bitmap_line_ydxi::@1 __b1: - // [799] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuz1=vbuz2 + // [801] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuz1=vbuz2 lda.z x sta.z bitmap_plot.x - // [800] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuz1=vbuz2 + // [802] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuz1=vbuz2 lda.z y sta.z bitmap_plot.y - // [801] call bitmap_plot - // [856] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] + // [803] call bitmap_plot + // [858] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] bitmap_plot_from___b1: - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b4 // bitmap_line_ydxi::@4 __b4: - // [802] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 + // [804] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 inc.z y - // [803] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [805] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z xd sta.z e - // [804] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 + // [806] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z yd cmp.z e bcs __b2_from___b4 jmp __b3 // bitmap_line_ydxi::@3 __b3: - // [805] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 + // [807] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 inc.z x - // [806] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [808] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z yd sta.z e - // [807] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] + // [809] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] __b2_from___b3: __b2_from___b4: - // [807] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy - // [807] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy + // [809] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy + // [809] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy jmp __b2 // bitmap_line_ydxi::@2 __b2: - // [808] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 -- vbuz1=vbuz2_plus_1 + // [810] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 -- vbuz1=vbuz2_plus_1 ldy.z y1 iny sty.z __6 - // [809] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuz2_then_la1 + // [811] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuz2_then_la1 lda.z y cmp.z __6 bne __b1_from___b2 jmp __breturn // bitmap_line_ydxi::@return __breturn: - // [810] return + // [812] return rts } // bitmap_line_xdyi // bitmap_line_xdyi(byte zp($8f) x, byte zp($90) y, byte zp($8e) x1, byte zp($8d) xd, byte zp($8c) yd) bitmap_line_xdyi: { - .label __6 = $156 + .label __6 = $15a .label x = $8f .label y = $90 .label x1 = $8e .label xd = $8d .label yd = $8c .label e = $91 - // [812] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [814] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z yd lsr sta.z e - // [813] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] + // [815] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] __b1_from_bitmap_line_xdyi: __b1_from___b2: - // [813] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy - // [813] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy - // [813] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy + // [815] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy + // [815] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy + // [815] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy jmp __b1 // bitmap_line_xdyi::@1 __b1: - // [814] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuz1=vbuz2 + // [816] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuz1=vbuz2 lda.z x sta.z bitmap_plot.x - // [815] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuz1=vbuz2 + // [817] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 -- vbuz1=vbuz2 lda.z y sta.z bitmap_plot.y - // [816] call bitmap_plot - // [856] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] + // [818] call bitmap_plot + // [858] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] bitmap_plot_from___b1: - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b4 // bitmap_line_xdyi::@4 __b4: - // [817] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 + // [819] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 inc.z x - // [818] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [820] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z yd sta.z e - // [819] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 + // [821] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z xd cmp.z e bcs __b2_from___b4 jmp __b3 // bitmap_line_xdyi::@3 __b3: - // [820] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 + // [822] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuz1=_inc_vbuz1 inc.z y - // [821] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [823] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z xd sta.z e - // [822] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] + // [824] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] __b2_from___b3: __b2_from___b4: - // [822] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy - // [822] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy + // [824] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy + // [824] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy jmp __b2 // bitmap_line_xdyi::@2 __b2: - // [823] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 -- vbuz1=vbuz2_plus_1 + // [825] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 -- vbuz1=vbuz2_plus_1 ldy.z x1 iny sty.z __6 - // [824] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuz2_then_la1 + // [826] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuz2_then_la1 lda.z x cmp.z __6 bne __b1_from___b2 jmp __breturn // bitmap_line_xdyi::@return __breturn: - // [825] return + // [827] return rts } // bitmap_line_ydxd // bitmap_line_ydxd(byte zp($96) y, byte zp($95) x, byte zp($94) y1, byte zp($93) yd, byte zp($92) xd) bitmap_line_ydxd: { - .label __6 = $157 + .label __6 = $15b .label y = $96 .label x = $95 .label y1 = $94 .label yd = $93 .label xd = $92 .label e = $97 - // [827] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [829] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z xd lsr sta.z e - // [828] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] + // [830] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] __b1_from_bitmap_line_ydxd: __b1_from___b2: - // [828] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy - // [828] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy - // [828] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy + // [830] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy + // [830] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy + // [830] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy jmp __b1 // bitmap_line_ydxd::@1 __b1: - // [829] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuz1=vbuz2 + // [831] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuz1=vbuz2 lda.z x sta.z bitmap_plot.x - // [830] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuz1=vbuz2 + // [832] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuz1=vbuz2 lda.z y sta.z bitmap_plot.y - // [831] call bitmap_plot - // [856] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] + // [833] call bitmap_plot + // [858] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] bitmap_plot_from___b1: - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b4 // bitmap_line_ydxd::@4 __b4: - // [832] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 + // [834] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 inc.z y - // [833] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [835] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z xd sta.z e - // [834] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 + // [836] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z yd cmp.z e bcs __b2_from___b4 jmp __b3 // bitmap_line_ydxd::@3 __b3: - // [835] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 + // [837] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 dec.z x - // [836] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [838] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z yd sta.z e - // [837] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] + // [839] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] __b2_from___b3: __b2_from___b4: - // [837] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy - // [837] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy + // [839] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy + // [839] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy jmp __b2 // bitmap_line_ydxd::@2 __b2: - // [838] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 -- vbuz1=vbuz2_plus_1 + // [840] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 -- vbuz1=vbuz2_plus_1 ldy.z y1 iny sty.z __6 - // [839] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuz2_then_la1 + // [841] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuz2_then_la1 lda.z y cmp.z __6 bne __b1_from___b2 jmp __breturn // bitmap_line_ydxd::@return __breturn: - // [840] return + // [842] return rts } // bitmap_line_xdyd // bitmap_line_xdyd(byte zp($9b) x, byte zp($9c) y, byte zp($9a) x1, byte zp($99) xd, byte zp($98) yd) bitmap_line_xdyd: { - .label __6 = $158 + .label __6 = $15c .label x = $9b .label y = $9c .label x1 = $9a .label xd = $99 .label yd = $98 .label e = $9d - // [842] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [844] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z yd lsr sta.z e - // [843] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] + // [845] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] __b1_from_bitmap_line_xdyd: __b1_from___b2: - // [843] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy - // [843] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy - // [843] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy + // [845] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy + // [845] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy + // [845] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy jmp __b1 // bitmap_line_xdyd::@1 __b1: - // [844] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuz1=vbuz2 + // [846] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuz1=vbuz2 lda.z x sta.z bitmap_plot.x - // [845] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuz1=vbuz2 + // [847] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 -- vbuz1=vbuz2 lda.z y sta.z bitmap_plot.y - // [846] call bitmap_plot - // [856] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] + // [848] call bitmap_plot + // [858] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] bitmap_plot_from___b1: - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b4 // bitmap_line_xdyd::@4 __b4: - // [847] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 + // [849] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 inc.z x - // [848] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [850] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z yd sta.z e - // [849] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 + // [851] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z xd cmp.z e bcs __b2_from___b4 jmp __b3 // bitmap_line_xdyd::@3 __b3: - // [850] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 + // [852] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuz1=_dec_vbuz1 dec.z y - // [851] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [853] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z xd sta.z e - // [852] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] + // [854] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] __b2_from___b3: __b2_from___b4: - // [852] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy - // [852] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy + // [854] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy + // [854] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy jmp __b2 // bitmap_line_xdyd::@2 __b2: - // [853] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 -- vbuz1=vbuz2_plus_1 + // [855] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 -- vbuz1=vbuz2_plus_1 ldy.z x1 iny sty.z __6 - // [854] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuz2_then_la1 + // [856] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuz2_then_la1 lda.z x cmp.z __6 bne __b1_from___b2 jmp __breturn // bitmap_line_xdyd::@return __breturn: - // [855] return + // [857] return rts } // bitmap_plot // bitmap_plot(byte zp($9e) x, byte zp($9f) y) bitmap_plot: { - .label __1 = $15f - .label plotter_x = $159 - .label plotter_y = $15b - .label plotter = $15d + .label __1 = $163 + .label plotter_x = $15d + .label plotter_y = $15f + .label plotter = $161 .label x = $9e .label y = $9f - // [857] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + // [859] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy.z x lda bitmap_plot_xhi,y sta.z plotter_x+1 lda bitmap_plot_xlo,y sta.z plotter_x - // [858] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + // [860] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy.z y lda bitmap_plot_yhi,y sta.z plotter_y+1 lda bitmap_plot_ylo,y sta.z plotter_y - // [859] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz2_plus_vwuz3 + // [861] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz2_plus_vwuz3 lda.z plotter_x clc adc.z plotter_y @@ -18871,20 +18889,20 @@ bitmap_plot: { lda.z plotter_x+1 adc.z plotter_y+1 sta.z plotter+1 - // [860] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) -- vbuz1=_deref_pbuz2_bor_pbuc1_derefidx_vbuz3 + // [862] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) -- vbuz1=_deref_pbuz2_bor_pbuc1_derefidx_vbuz3 ldy #0 lda (plotter),y ldy.z x ora bitmap_plot_bit,y sta.z __1 - // [861] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuz2 + // [863] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuz2 lda.z __1 ldy #0 sta (plotter),y jmp __breturn // bitmap_plot::@return __breturn: - // [862] return + // [864] return rts } // File Data @@ -18944,7 +18962,7 @@ bitmap_plot: { form_line_hi: .fill $19, 0 REGISTER UPLIFT POTENTIAL REGISTERS -Equivalence Class zp[1]:304 [ bitmap_init::$7 ] has ALU potential. +Equivalence Class zp[1]:308 [ bitmap_init::$7 ] has ALU potential. Statement [1] *((const nomodify byte*) PROCPORT_DDR) ← (const nomodify byte) PROCPORT_DDR_MEMORY_MASK [ ] ( [ ] { } ) always clobbers reg byte a Statement [2] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO [ ] ( [ ] { } ) always clobbers reg byte a Statement [3] *((const nomodify byte*) DTV_FEATURE) ← (const nomodify byte) DTV_FEATURE_ENABLE [ ] ( [ ] { } ) always clobbers reg byte a @@ -18994,41 +19012,43 @@ Statement [132] (dword) get_plane::return#16 ← (dword) get_plane::return#14 [ Removing always clobbered register reg byte a as potential for zp[1]:164 [ gfx_mode::plane_a_offs#0 ] Statement [133] (dword~) gfx_mode::$20 ← (dword) get_plane::return#16 [ keyboard_events_size#25 gfx_mode::plane_a_offs#0 gfx_mode::$20 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a_offs#0 gfx_mode::$20 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a Statement [134] (dword) gfx_mode::plane_a#0 ← (dword~) gfx_mode::$20 + (byte) gfx_mode::plane_a_offs#0 [ keyboard_events_size#25 gfx_mode::plane_a#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a#0 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [135] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$24 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$24 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [140] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::$26 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$26 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [143] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$28 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$28 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [144] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) [ keyboard_events_size#25 gfx_mode::$29 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$29 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [146] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$30 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$30 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [147] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) [ keyboard_events_size#25 gfx_mode::$31 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$31 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [149] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [150] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$32 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$32 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [151] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [154] (dword) get_plane::return#17 ← (dword) get_plane::return#14 [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 get_plane::return#17 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 get_plane::return#17 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:189 [ gfx_mode::plane_b_offs#0 ] -Statement [155] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 gfx_mode::$34 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 gfx_mode::$34 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [156] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [157] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$38 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$38 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [162] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::$40 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$40 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [165] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$42 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$42 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [166] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) [ keyboard_events_size#25 gfx_mode::$43 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$43 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [168] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$44 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$44 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [169] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) [ keyboard_events_size#25 gfx_mode::$45 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$45 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [171] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [172] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [173] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [176] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#25 get_vic_screen::return#10 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 get_vic_screen::return#10 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [177] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 [ keyboard_events_size#25 gfx_mode::$82 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$82 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a -Statement [178] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff [ keyboard_events_size#25 gfx_mode::$47 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$47 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a -Statement [179] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 [ keyboard_events_size#25 gfx_mode::$48 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a -Statement [182] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 [ keyboard_events_size#25 gfx_mode::$48 get_vic_charset::return#4 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 get_vic_charset::return#4 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a -Statement [183] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$83 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$83 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [184] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$50 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$50 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [186] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$52 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$52 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [187] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 [ keyboard_events_size#25 gfx_mode::$52 gfx_mode::$84 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$52 gfx_mode::$84 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:229 [ gfx_mode::$52 ] -Statement [192] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#25 get_vic_screen::return#11 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 get_vic_screen::return#11 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [193] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 [ keyboard_events_size#25 gfx_mode::vic_colors#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::vic_colors#0 ] { } ) always clobbers reg byte a -Statement [196] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) [ keyboard_events_size#25 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] { } ) always clobbers reg byte a reg byte y +Statement [135] (word~) gfx_mode::$22 ← < (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$22 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$22 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [138] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$24 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$24 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [141] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::$26 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$26 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [144] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$28 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$28 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [145] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) [ keyboard_events_size#25 gfx_mode::$29 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$29 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [147] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$30 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$30 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [148] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) [ keyboard_events_size#25 gfx_mode::$31 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$31 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [150] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [151] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$32 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$32 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [152] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [155] (dword) get_plane::return#17 ← (dword) get_plane::return#14 [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 get_plane::return#17 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 get_plane::return#17 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:191 [ gfx_mode::plane_b_offs#0 ] +Statement [156] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 gfx_mode::$34 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 gfx_mode::$34 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [157] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [158] (word~) gfx_mode::$36 ← < (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$36 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$36 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [161] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$38 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$38 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [164] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::$40 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$40 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [167] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$42 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$42 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [168] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) [ keyboard_events_size#25 gfx_mode::$43 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$43 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [170] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$44 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$44 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [171] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) [ keyboard_events_size#25 gfx_mode::$45 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$45 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [173] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [174] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [175] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [178] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#25 get_vic_screen::return#10 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 get_vic_screen::return#10 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [179] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 [ keyboard_events_size#25 gfx_mode::$82 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$82 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a +Statement [180] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff [ keyboard_events_size#25 gfx_mode::$47 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$47 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a +Statement [181] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 [ keyboard_events_size#25 gfx_mode::$48 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a +Statement [184] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 [ keyboard_events_size#25 gfx_mode::$48 get_vic_charset::return#4 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 get_vic_charset::return#4 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a +Statement [185] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$83 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$83 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [186] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$50 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$50 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [188] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$52 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$52 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [189] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 [ keyboard_events_size#25 gfx_mode::$52 gfx_mode::$84 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$52 gfx_mode::$84 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:233 [ gfx_mode::$52 ] +Statement [194] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#25 get_vic_screen::return#11 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 get_vic_screen::return#11 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [195] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 [ keyboard_events_size#25 gfx_mode::vic_colors#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::vic_colors#0 ] { } ) always clobbers reg byte a +Statement [198] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) [ keyboard_events_size#25 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] Removing always clobbered register reg byte y as potential for zp[1]:4 [ form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] Removing always clobbered register reg byte y as potential for zp[1]:103 [ keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 ] @@ -19036,249 +19056,249 @@ Removing always clobbered register reg byte a as potential for zp[1]:9 [ gfx_mod Removing always clobbered register reg byte y as potential for zp[1]:9 [ gfx_mode::cy#4 gfx_mode::cy#1 ] Removing always clobbered register reg byte a as potential for zp[1]:14 [ gfx_mode::cx#2 gfx_mode::cx#1 ] Removing always clobbered register reg byte y as potential for zp[1]:14 [ gfx_mode::cx#2 gfx_mode::cx#1 ] -Statement [203] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a -Statement [204] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$55 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$55 ] { } ) always clobbers reg byte a -Statement [205] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) [ keyboard_events_size#25 gfx_mode::$56 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$56 ] { } ) always clobbers reg byte a -Statement [207] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$57 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$57 ] { } ) always clobbers reg byte a -Statement [208] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) [ keyboard_events_size#25 gfx_mode::$58 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$58 ] { } ) always clobbers reg byte a -Statement [210] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$59 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$59 ] { } ) always clobbers reg byte a -Statement [211] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) [ keyboard_events_size#25 gfx_mode::$60 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$60 ] { } ) always clobbers reg byte a -Statement [213] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$61 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$61 ] { } ) always clobbers reg byte a -Statement [214] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) [ keyboard_events_size#25 gfx_mode::$62 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$62 ] { } ) always clobbers reg byte a -Statement [216] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a -Statement [221] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a -Statement [231] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) [ keyboard_events_size#25 gfx_mode::i#2 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::i#2 ] { } ) always clobbers reg byte a +Statement [205] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a +Statement [206] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$55 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$55 ] { } ) always clobbers reg byte a +Statement [207] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) [ keyboard_events_size#25 gfx_mode::$56 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$56 ] { } ) always clobbers reg byte a +Statement [209] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$57 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$57 ] { } ) always clobbers reg byte a +Statement [210] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) [ keyboard_events_size#25 gfx_mode::$58 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$58 ] { } ) always clobbers reg byte a +Statement [212] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$59 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$59 ] { } ) always clobbers reg byte a +Statement [213] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) [ keyboard_events_size#25 gfx_mode::$60 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$60 ] { } ) always clobbers reg byte a +Statement [215] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$61 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$61 ] { } ) always clobbers reg byte a +Statement [216] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) [ keyboard_events_size#25 gfx_mode::$62 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$62 ] { } ) always clobbers reg byte a +Statement [218] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a +Statement [223] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a +Statement [233] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) [ keyboard_events_size#25 gfx_mode::i#2 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::i#2 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:16 [ gfx_mode::i#2 gfx_mode::i#1 ] -Statement [238] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] { } ) always clobbers reg byte a +Statement [240] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Removing always clobbered register reg byte a as potential for zp[1]:18 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] -Statement [239] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:245 [ gfx_init_screen0::$1 ] -Statement [241] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] { } ) always clobbers reg byte y +Statement [241] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:249 [ gfx_init_screen0::$1 ] +Statement [243] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] { } ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Removing always clobbered register reg byte y as potential for zp[1]:18 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] -Statement [251] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ( gfx_init:6::gfx_init_screen1:18 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] { } ) always clobbers reg byte a +Statement [253] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ( gfx_init:6::gfx_init_screen1:18 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:21 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Removing always clobbered register reg byte a as potential for zp[1]:22 [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] -Statement [253] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ( gfx_init:6::gfx_init_screen1:18 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] { } ) always clobbers reg byte y +Statement [255] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ( gfx_init:6::gfx_init_screen1:18 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] { } ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp[1]:21 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Removing always clobbered register reg byte y as potential for zp[1]:22 [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] -Statement [263] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] { } ) always clobbers reg byte a +Statement [265] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:25 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Removing always clobbered register reg byte a as potential for zp[1]:26 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] -Statement [265] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:251 [ gfx_init_screen2::col#0 ] -Statement [266] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:252 [ gfx_init_screen2::col2#0 ] -Statement [268] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] { } ) always clobbers reg byte y +Statement [267] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:255 [ gfx_init_screen2::col#0 ] +Statement [268] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:256 [ gfx_init_screen2::col2#0 ] +Statement [270] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] { } ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp[1]:25 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Removing always clobbered register reg byte y as potential for zp[1]:26 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] -Statement [279] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] { } ) always clobbers reg byte a +Statement [281] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Removing always clobbered register reg byte a as potential for zp[1]:30 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] -Statement [280] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:256 [ gfx_init_screen3::$1 ] -Statement [282] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] { } ) always clobbers reg byte y +Statement [282] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:260 [ gfx_init_screen3::$1 ] +Statement [284] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] { } ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Removing always clobbered register reg byte y as potential for zp[1]:30 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] -Statement [292] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ( gfx_init:6::gfx_init_screen4:24 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] { } ) always clobbers reg byte a reg byte y +Statement [294] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ( gfx_init:6::gfx_init_screen4:24 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp[1]:33 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] Removing always clobbered register reg byte y as potential for zp[1]:33 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] Removing always clobbered register reg byte a as potential for zp[1]:36 [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] Removing always clobbered register reg byte y as potential for zp[1]:36 [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] -Statement [299] *((const nomodify byte*) PROCPORT) ← (byte) $32 [ ] ( gfx_init:6::gfx_init_charset:26 [ ] { } ) always clobbers reg byte a -Statement [302] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ( gfx_init:6::gfx_init_charset:26 [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] { } ) always clobbers reg byte a reg byte y +Statement [301] *((const nomodify byte*) PROCPORT) ← (byte) $32 [ ] ( gfx_init:6::gfx_init_charset:26 [ ] { } ) always clobbers reg byte a +Statement [304] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ( gfx_init:6::gfx_init_charset:26 [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] Removing always clobbered register reg byte y as potential for zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] Removing always clobbered register reg byte a as potential for zp[1]:42 [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] Removing always clobbered register reg byte y as potential for zp[1]:42 [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] -Statement [309] *((const nomodify byte*) PROCPORT) ← (byte) $37 [ ] ( gfx_init:6::gfx_init_charset:26 [ ] { } ) always clobbers reg byte a -Statement [328] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] { } ) always clobbers reg byte a +Statement [311] *((const nomodify byte*) PROCPORT) ← (byte) $37 [ ] ( gfx_init:6::gfx_init_charset:26 [ ] { } ) always clobbers reg byte a +Statement [330] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:44 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Removing always clobbered register reg byte a as potential for zp[1]:47 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] -Statement [333] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$5 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$5 ] { } ) always clobbers reg byte a -Statement [334] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] { } ) always clobbers reg byte a -Statement [335] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] { } ) always clobbers reg byte y +Statement [335] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$5 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$5 ] { } ) always clobbers reg byte a +Statement [336] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] { } ) always clobbers reg byte a +Statement [337] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] { } ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp[1]:44 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Removing always clobbered register reg byte y as potential for zp[1]:47 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] -Statement [338] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] { } ) always clobbers reg byte a -Statement [346] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM [ ] ( gfx_init:6::gfx_init_plane_charset8:32 [ ] { } ) always clobbers reg byte a -Statement [349] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ( gfx_init:6::gfx_init_plane_charset8:32 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] { } ) always clobbers reg byte a reg byte y +Statement [340] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] { } ) always clobbers reg byte a +Statement [348] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM [ ] ( gfx_init:6::gfx_init_plane_charset8:32 [ ] { } ) always clobbers reg byte a +Statement [351] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ( gfx_init:6::gfx_init_plane_charset8:32 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp[1]:50 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Removing always clobbered register reg byte y as potential for zp[1]:50 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Removing always clobbered register reg byte a as potential for zp[1]:57 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] Removing always clobbered register reg byte y as potential for zp[1]:57 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] Removing always clobbered register reg byte a as potential for zp[1]:53 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] Removing always clobbered register reg byte y as potential for zp[1]:53 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] -Statement [356] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ( gfx_init:6::gfx_init_plane_charset8:32 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] { } ) always clobbers reg byte y +Statement [358] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ( gfx_init:6::gfx_init_plane_charset8:32 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] { } ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp[1]:54 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] Removing always clobbered register reg byte y as potential for zp[1]:58 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] -Statement [366] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO [ ] ( gfx_init:6::gfx_init_plane_charset8:32 [ ] { } ) always clobbers reg byte a -Statement [375] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] { } ) always clobbers reg byte a reg byte y +Statement [368] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO [ ] ( gfx_init:6::gfx_init_plane_charset8:32 [ ] { } ) always clobbers reg byte a +Statement [377] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp[1]:60 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Removing always clobbered register reg byte y as potential for zp[1]:60 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Removing always clobbered register reg byte a as potential for zp[1]:63 [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] Removing always clobbered register reg byte y as potential for zp[1]:63 [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] -Statement [385] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] { } ) always clobbers reg byte a reg byte y -Statement [391] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ( gfx_init:6::gfx_init_plane_vertical:36 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] { } ) always clobbers reg byte a reg byte y +Statement [387] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] { } ) always clobbers reg byte a reg byte y +Statement [393] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ( gfx_init:6::gfx_init_plane_vertical:36 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp[1]:64 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] Removing always clobbered register reg byte y as potential for zp[1]:64 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] Removing always clobbered register reg byte a as potential for zp[1]:67 [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] Removing always clobbered register reg byte y as potential for zp[1]:67 [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] -Statement [404] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$2 ] ( gfx_init:6::gfx_init_plane_horisontal2:38 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$2 ] { } ) always clobbers reg byte a +Statement [406] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$2 ] ( gfx_init:6::gfx_init_plane_horisontal2:38 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$2 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Removing always clobbered register reg byte a as potential for zp[1]:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] -Statement [406] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal2:38 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] { } ) always clobbers reg byte a reg byte y +Statement [408] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal2:38 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Removing always clobbered register reg byte y as potential for zp[1]:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] -Statement [425] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 [ print_screen#0 ] ( form_mode:9::print_set_screen:47 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 ] { } form_mode:9::print_set_screen:53 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 ] { } ) always clobbers reg byte a -Statement [427] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 [ print_screen#0 memset::str#0 ] ( form_mode:9::print_cls:49 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 ] { } form_mode:9::print_cls:55 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 ] { } ) always clobbers reg byte a -Statement [431] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 [ print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] { } ) always clobbers reg byte a -Statement [433] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 [ print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] { } ) always clobbers reg byte a reg byte y -Statement [436] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] { } ) always clobbers reg byte a reg byte y -Statement [445] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 [ print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] { } ) always clobbers reg byte a -Statement [452] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 [ form_set_screen::y#2 form_set_screen::line#1 ] ( form_mode:9::form_set_screen:59 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] { } ) always clobbers reg byte a +Statement [427] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 [ print_screen#0 ] ( form_mode:9::print_set_screen:47 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 ] { } form_mode:9::print_set_screen:53 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 ] { } ) always clobbers reg byte a +Statement [429] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 [ print_screen#0 memset::str#0 ] ( form_mode:9::print_cls:49 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 ] { } form_mode:9::print_cls:55 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 ] { } ) always clobbers reg byte a +Statement [433] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 [ print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] { } ) always clobbers reg byte a +Statement [435] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 [ print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] { } ) always clobbers reg byte a reg byte y +Statement [438] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] { } ) always clobbers reg byte a reg byte y +Statement [447] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 [ print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] { } ) always clobbers reg byte a +Statement [454] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 [ form_set_screen::y#2 form_set_screen::line#1 ] ( form_mode:9::form_set_screen:59 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:80 [ form_set_screen::y#2 form_set_screen::y#1 ] -Statement [462] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( form_mode:9::form_render_values:61 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 ] { } form_mode:9::form_render_values:95 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 ] { } ) always clobbers reg byte a +Statement [464] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( form_mode:9::form_render_values:61 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 ] { } form_mode:9::form_render_values:95 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:81 [ form_render_values::idx#2 form_render_values::idx#1 ] -Statement [478] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 [ print_str_at::str#1 ] ( form_mode:9::render_preset_name:63 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#1 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#1 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a -Statement [483] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::return#3 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::return#3 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a -Statement [484] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_control::field#0 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_control::field#0 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [489] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [490] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$12 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$12 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [480] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 [ print_str_at::str#1 ] ( form_mode:9::render_preset_name:63 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#1 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#1 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a +Statement [485] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::return#3 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::return#3 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a +Statement [486] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_control::field#0 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_control::field#0 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [491] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [492] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$12 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$12 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:5 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] -Statement [491] *((byte*) form_control::field#0) ← (byte~) form_control::$12 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y -Statement [499] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_control::$14 keyboard_modifiers#22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_control::$14 keyboard_modifiers#22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [493] *((byte*) form_control::field#0) ← (byte~) form_control::$12 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y +Statement [501] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_control::$14 keyboard_modifiers#22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_control::$14 keyboard_modifiers#22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp[1]:100 [ keyboard_modifiers#22 keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#2 keyboard_modifiers#3 keyboard_modifiers#4 ] Removing always clobbered register reg byte y as potential for zp[1]:100 [ keyboard_modifiers#22 keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#2 keyboard_modifiers#3 keyboard_modifiers#4 ] -Statement [500] *((byte*) form_control::field#0) ← (byte~) form_control::$14 [ keyboard_events_size#25 form_field_idx#30 keyboard_modifiers#22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 keyboard_modifiers#22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y -Statement [501] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT [ keyboard_events_size#25 form_field_idx#30 form_control::$15 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::$15 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [513] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [516] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [518] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) [ keyboard_events_size#25 form_field_idx#30 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y -Statement [520] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y -Statement [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [524] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$13 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$13 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y -Statement [525] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y -Statement [542] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) [ apply_preset::preset#15 apply_preset::i#2 ] ( form_mode:9::apply_preset:93 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 apply_preset::preset#15 apply_preset::i#2 ] { } ) always clobbers reg byte a +Statement [502] *((byte*) form_control::field#0) ← (byte~) form_control::$14 [ keyboard_events_size#25 form_field_idx#30 keyboard_modifiers#22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 keyboard_modifiers#22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y +Statement [503] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT [ keyboard_events_size#25 form_field_idx#30 form_control::$15 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::$15 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [515] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [518] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [520] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) [ keyboard_events_size#25 form_field_idx#30 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [522] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [523] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [526] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$13 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$13 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [527] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y +Statement [544] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) [ apply_preset::preset#15 apply_preset::i#2 ] ( form_mode:9::apply_preset:93 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 apply_preset::preset#15 apply_preset::i#2 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:88 [ apply_preset::i#2 apply_preset::i#1 ] -Statement [583] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 [ keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [585] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 [ keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:99 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Statement [598] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT [ keyboard_events_size#100 keyboard_modifiers#2 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#2 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#2 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [604] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL [ keyboard_events_size#100 keyboard_modifiers#3 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#3 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#3 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [610] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE [ keyboard_events_size#100 keyboard_modifiers#4 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#4 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#4 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [614] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:289 [ keyboard_event_scan::row_scan#0 ] +Statement [600] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT [ keyboard_events_size#100 keyboard_modifiers#2 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#2 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#2 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [606] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL [ keyboard_events_size#100 keyboard_modifiers#3 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#3 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#3 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [612] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE [ keyboard_events_size#100 keyboard_modifiers#4 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#4 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#4 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [616] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:293 [ keyboard_event_scan::row_scan#0 ] Removing always clobbered register reg byte a as potential for zp[1]:101 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] Removing always clobbered register reg byte a as potential for zp[1]:102 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] -Statement [618] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [620] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [626] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [627] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [639] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP [ bitmap_init::x#2 bitmap_init::bits#3 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:312 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a +Statement [620] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [622] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [628] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [629] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [641] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP [ bitmap_init::x#2 bitmap_init::bits#3 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:314 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:105 [ bitmap_init::x#2 bitmap_init::x#1 ] Removing always clobbered register reg byte a as potential for zp[1]:106 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] -Statement [640] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:312 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a -Statement [655] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:312 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] { } ) always clobbers reg byte a +Statement [642] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:314 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a +Statement [657] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:314 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:107 [ bitmap_init::y#2 bitmap_init::y#1 ] -Statement [660] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) [ bitmap_clear::bitmap#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:314 [ bitmap_clear::bitmap#0 ] { } ) always clobbers reg byte a -Statement [661] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 [ bitmap_clear::bitmap#5 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:314 [ bitmap_clear::bitmap#5 ] { } ) always clobbers reg byte a -Statement [664] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:314 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] { } ) always clobbers reg byte a reg byte y +Statement [662] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) [ bitmap_clear::bitmap#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:316 [ bitmap_clear::bitmap#0 ] { } ) always clobbers reg byte a +Statement [663] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 [ bitmap_clear::bitmap#5 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:316 [ bitmap_clear::bitmap#5 ] { } ) always clobbers reg byte a +Statement [666] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:316 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 ] Removing always clobbered register reg byte y as potential for zp[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 ] Removing always clobbered register reg byte a as potential for zp[1]:113 [ bitmap_clear::x#2 bitmap_clear::x#1 ] Removing always clobbered register reg byte y as potential for zp[1]:113 [ bitmap_clear::x#2 bitmap_clear::x#1 ] -Statement [672] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] { } ) always clobbers reg byte a +Statement [674] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:43 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Removing always clobbered register reg byte a as potential for zp[1]:259 [ bitmap_line::x0#0 ] -Removing always clobbered register reg byte a as potential for zp[1]:260 [ bitmap_line::x1#0 ] -Removing always clobbered register reg byte a as potential for zp[1]:261 [ bitmap_line::y0#0 ] -Removing always clobbered register reg byte a as potential for zp[1]:262 [ bitmap_line::y1#0 ] -Statement [674] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:309 [ bitmap_line::xd#2 ] -Statement [689] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] { } ) always clobbers reg byte a -Statement [703] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] { } ) always clobbers reg byte a -Statement [705] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:312 [ bitmap_line::xd#1 ] -Statement [719] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:263 [ bitmap_line::x0#0 ] +Removing always clobbered register reg byte a as potential for zp[1]:264 [ bitmap_line::x1#0 ] +Removing always clobbered register reg byte a as potential for zp[1]:265 [ bitmap_line::y0#0 ] +Removing always clobbered register reg byte a as potential for zp[1]:266 [ bitmap_line::y1#0 ] +Statement [676] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:313 [ bitmap_line::xd#2 ] +Statement [691] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] { } ) always clobbers reg byte a +Statement [705] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] { } ) always clobbers reg byte a +Statement [707] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:316 [ bitmap_line::xd#1 ] +Statement [721] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] { } ) always clobbers reg byte a Statement asm { .byte$32,$dd lda$ff .byte$32,$00 } always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:119 [ gfx_init_plane_fill::fill#6 ] -Statement [738] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } ) always clobbers reg byte a -Statement [739] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } ) always clobbers reg byte a -Statement [743] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } ) always clobbers reg byte a -Statement [744] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } ) always clobbers reg byte a -Statement [745] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } ) always clobbers reg byte a -Statement [746] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } ) always clobbers reg byte a -Statement [749] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } ) always clobbers reg byte a reg byte y +Statement [740] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } ) always clobbers reg byte a +Statement [741] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } ) always clobbers reg byte a +Statement [745] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } ) always clobbers reg byte a +Statement [746] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } ) always clobbers reg byte a +Statement [747] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } ) always clobbers reg byte a +Statement [748] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } ) always clobbers reg byte a +Statement [751] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:119 [ gfx_init_plane_fill::fill#6 ] Removing always clobbered register reg byte a as potential for zp[1]:120 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] Removing always clobbered register reg byte y as potential for zp[1]:120 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] Removing always clobbered register reg byte a as potential for zp[1]:123 [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] Removing always clobbered register reg byte y as potential for zp[1]:123 [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] -Statement [759] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 [ memset::str#0 memset::end#0 ] ( form_mode:9::print_cls:49::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 memset::end#0 ] { } form_mode:9::print_cls:55::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 memset::end#0 ] { } ) always clobbers reg byte a -Statement [760] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 [ memset::end#0 memset::dst#4 ] ( form_mode:9::print_cls:49::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#4 ] { } form_mode:9::print_cls:55::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a -Statement [762] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::end#0 memset::dst#2 ] ( form_mode:9::print_cls:49::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } form_mode:9::print_cls:55::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a -Statement [764] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::end#0 memset::dst#2 ] ( form_mode:9::print_cls:49::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } form_mode:9::print_cls:55::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y -Statement [766] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 [ print_char_cursor#43 ] ( form_mode:9::print_str_lines:51::print_char:440 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#43 ] { { print_char::ch#0 = print_str_lines::ch#0 } } form_mode:9::print_str_lines:57::print_char:440 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#43 ] { { print_char::ch#0 = print_str_lines::ch#0 } } ) always clobbers reg byte y -Removing always clobbered register reg byte y as potential for zp[1]:272 [ print_str_lines::ch#0 ] -Statement [771] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 [ print_line_cursor#2 print_char_cursor#44 ] ( form_mode:9::print_str_lines:51::print_ln:444 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } form_mode:9::print_str_lines:57::print_ln:444 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } ) always clobbers reg byte a -Statement [772] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 [ print_line_cursor#2 print_char_cursor#44 ] ( form_mode:9::print_str_lines:51::print_ln:444 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } form_mode:9::print_str_lines:57::print_ln:444 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } ) always clobbers reg byte a -Statement [776] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) [ form_field_ptr::line#0 form_field_ptr::field_idx#2 ] ( form_mode:9::form_render_values:61::form_field_ptr:461 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_render_values:95::form_field_ptr:461 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_control:86::form_field_ptr:482 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a +Statement [761] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 [ memset::str#0 memset::end#0 ] ( form_mode:9::print_cls:49::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 memset::end#0 ] { } form_mode:9::print_cls:55::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 memset::end#0 ] { } ) always clobbers reg byte a +Statement [762] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 [ memset::end#0 memset::dst#4 ] ( form_mode:9::print_cls:49::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#4 ] { } form_mode:9::print_cls:55::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a +Statement [764] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::end#0 memset::dst#2 ] ( form_mode:9::print_cls:49::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } form_mode:9::print_cls:55::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a +Statement [766] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::end#0 memset::dst#2 ] ( form_mode:9::print_cls:49::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } form_mode:9::print_cls:55::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y +Statement [768] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 [ print_char_cursor#43 ] ( form_mode:9::print_str_lines:51::print_char:442 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#43 ] { { print_char::ch#0 = print_str_lines::ch#0 } } form_mode:9::print_str_lines:57::print_char:442 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#43 ] { { print_char::ch#0 = print_str_lines::ch#0 } } ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp[1]:276 [ print_str_lines::ch#0 ] +Statement [773] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 [ print_line_cursor#2 print_char_cursor#44 ] ( form_mode:9::print_str_lines:51::print_ln:446 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } form_mode:9::print_str_lines:57::print_ln:446 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } ) always clobbers reg byte a +Statement [774] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 [ print_line_cursor#2 print_char_cursor#44 ] ( form_mode:9::print_str_lines:51::print_ln:446 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } form_mode:9::print_str_lines:57::print_ln:446 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } ) always clobbers reg byte a +Statement [778] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) [ form_field_ptr::line#0 form_field_ptr::field_idx#2 ] ( form_mode:9::form_render_values:61::form_field_ptr:463 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_render_values:95::form_field_ptr:463 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_control:86::form_field_ptr:484 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:128 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] -Statement [778] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 [ form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] ( form_mode:9::form_render_values:61::form_field_ptr:461 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_render_values:95::form_field_ptr:461 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_control:86::form_field_ptr:482 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:333 [ form_field_ptr::x#0 ] -Statement [782] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 [ print_str_at::str#2 print_str_at::at#2 ] ( form_mode:9::render_preset_name:63::print_str_at:479 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97::print_str_at:479 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y -Statement [784] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) [ print_str_at::str#2 print_str_at::at#2 ] ( form_mode:9::render_preset_name:63::print_str_at:479 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97::print_str_at:479 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y -Statement [787] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) [ ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_matrix_read:579 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_matrix_read:579 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a -Statement [788] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_matrix_read:579 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_matrix_read::return#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_matrix_read:579 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_matrix_read::return#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a -Statement [791] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:588 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:588 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:594 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:594 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:600 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:600 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:606 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:606 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a +Statement [780] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 [ form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] ( form_mode:9::form_render_values:61::form_field_ptr:463 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_render_values:95::form_field_ptr:463 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_control:86::form_field_ptr:484 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:337 [ form_field_ptr::x#0 ] +Statement [784] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 [ print_str_at::str#2 print_str_at::at#2 ] ( form_mode:9::render_preset_name:63::print_str_at:481 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97::print_str_at:481 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y +Statement [786] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) [ print_str_at::str#2 print_str_at::at#2 ] ( form_mode:9::render_preset_name:63::print_str_at:481 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97::print_str_at:481 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y +Statement [789] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) [ ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_matrix_read:581 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_matrix_read:581 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a +Statement [790] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_matrix_read:581 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_matrix_read::return#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_matrix_read:581 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_matrix_read::return#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a +Statement [793] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:590 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:590 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:596 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:596 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:602 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:602 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:608 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:608 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:133 [ keyboard_event_pressed::keycode#4 ] -Statement [793] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:588 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:588 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:594 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:594 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:600 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:600 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:606 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:606 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:338 [ keyboard_event_pressed::row_bits#0 ] -Statement [794] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:588 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:588 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:594 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:594 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:600 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:600 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:606 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:606 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a -Statement [797] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a +Statement [795] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:590 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:590 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:596 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:596 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:602 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:602 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:608 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:608 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:342 [ keyboard_event_pressed::row_bits#0 ] +Statement [796] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:590 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:590 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:596 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:596 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:602 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:602 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:608 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:608 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a +Statement [799] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] Removing always clobbered register reg byte a as potential for zp[1]:137 [ 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 ] Removing always clobbered register reg byte a as potential for zp[1]:138 [ 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 ] Removing always clobbered register reg byte a as potential for zp[1]:135 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] Removing always clobbered register reg byte a as potential for zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] -Statement [803] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a -Statement [806] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a -Statement [812] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [805] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a +Statement [808] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a +Statement [814] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:140 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] Removing always clobbered register reg byte a as potential for zp[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] Removing always clobbered register reg byte a as potential for zp[1]:144 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] Removing always clobbered register reg byte a as potential for zp[1]:141 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] Removing always clobbered register reg byte a as potential for zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] -Statement [818] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [821] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [827] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a +Statement [820] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [823] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [829] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:146 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] Removing always clobbered register reg byte a as potential for zp[1]:149 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] Removing always clobbered register reg byte a as potential for zp[1]:150 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] Removing always clobbered register reg byte a as potential for zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] Removing always clobbered register reg byte a as potential for zp[1]:148 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] -Statement [833] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a -Statement [836] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a -Statement [842] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [835] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a +Statement [838] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a +Statement [844] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] Removing always clobbered register reg byte a as potential for zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] Removing always clobbered register reg byte a as potential for zp[1]:156 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] Removing always clobbered register reg byte a as potential for zp[1]:153 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] Removing always clobbered register reg byte a as potential for zp[1]:154 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] -Statement [848] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [851] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [857] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a +Statement [850] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [853] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [859] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:139 [ 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 ] Removing always clobbered register reg byte a as potential for zp[1]:158 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] Removing always clobbered register reg byte a as potential for zp[1]:159 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] Removing always clobbered register reg byte a as potential for zp[1]:145 [ 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 ] Removing always clobbered register reg byte a as potential for zp[1]:151 [ 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 ] Removing always clobbered register reg byte a as potential for zp[1]:157 [ 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 ] -Statement [858] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a -Statement [859] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a -Statement [860] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) [ bitmap_plot::plotter#0 bitmap_plot::$1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a reg byte y +Statement [860] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a +Statement [861] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a +Statement [862] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) [ bitmap_plot::plotter#0 bitmap_plot::$1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:43 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] Removing always clobbered register reg byte y as potential for zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] Removing always clobbered register reg byte y as potential for zp[1]:135 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] @@ -19304,7 +19324,7 @@ Removing always clobbered register reg byte y as potential for zp[1]:154 [ bitma Removing always clobbered register reg byte y as potential for zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] Removing always clobbered register reg byte y as potential for zp[1]:156 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] Removing always clobbered register reg byte y as potential for zp[1]:157 [ 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 ] -Statement [861] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 [ ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte y +Statement [863] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 [ ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte y Statement [1] *((const nomodify byte*) PROCPORT_DDR) ← (const nomodify byte) PROCPORT_DDR_MEMORY_MASK [ ] ( [ ] { } ) always clobbers reg byte a Statement [2] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO [ ] ( [ ] { } ) always clobbers reg byte a Statement [3] *((const nomodify byte*) DTV_FEATURE) ← (const nomodify byte) DTV_FEATURE_ENABLE [ ] ( [ ] { } ) always clobbers reg byte a @@ -19346,175 +19366,177 @@ Statement [129] (byte) gfx_mode::plane_a_offs#0 ← (byte~) gfx_mode::$18 | *((c Statement [132] (dword) get_plane::return#16 ← (dword) get_plane::return#14 [ keyboard_events_size#25 gfx_mode::plane_a_offs#0 get_plane::return#16 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a_offs#0 get_plane::return#16 ] { { get_plane::idx#0 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#16 } } ) always clobbers reg byte a Statement [133] (dword~) gfx_mode::$20 ← (dword) get_plane::return#16 [ keyboard_events_size#25 gfx_mode::plane_a_offs#0 gfx_mode::$20 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a_offs#0 gfx_mode::$20 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a Statement [134] (dword) gfx_mode::plane_a#0 ← (dword~) gfx_mode::$20 + (byte) gfx_mode::plane_a_offs#0 [ keyboard_events_size#25 gfx_mode::plane_a#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a#0 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [135] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$24 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$24 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [140] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::$26 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$26 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [143] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$28 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$28 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [144] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) [ keyboard_events_size#25 gfx_mode::$29 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$29 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [146] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$30 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$30 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [147] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) [ keyboard_events_size#25 gfx_mode::$31 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$31 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [149] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [150] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$32 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$32 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [151] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [154] (dword) get_plane::return#17 ← (dword) get_plane::return#14 [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 get_plane::return#17 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 get_plane::return#17 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a -Statement [155] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 gfx_mode::$34 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 gfx_mode::$34 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [156] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [157] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$38 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$38 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [162] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::$40 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$40 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [165] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$42 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$42 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [166] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) [ keyboard_events_size#25 gfx_mode::$43 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$43 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [168] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$44 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$44 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [169] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) [ keyboard_events_size#25 gfx_mode::$45 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$45 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [171] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [172] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [173] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [176] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#25 get_vic_screen::return#10 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 get_vic_screen::return#10 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [177] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 [ keyboard_events_size#25 gfx_mode::$82 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$82 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a -Statement [178] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff [ keyboard_events_size#25 gfx_mode::$47 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$47 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a -Statement [179] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 [ keyboard_events_size#25 gfx_mode::$48 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a -Statement [182] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 [ keyboard_events_size#25 gfx_mode::$48 get_vic_charset::return#4 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 get_vic_charset::return#4 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a -Statement [183] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$83 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$83 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [184] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$50 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$50 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [186] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$52 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$52 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [187] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 [ keyboard_events_size#25 gfx_mode::$52 gfx_mode::$84 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$52 gfx_mode::$84 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [192] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#25 get_vic_screen::return#11 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 get_vic_screen::return#11 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a -Statement [193] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 [ keyboard_events_size#25 gfx_mode::vic_colors#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::vic_colors#0 ] { } ) always clobbers reg byte a -Statement [196] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) [ keyboard_events_size#25 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] { } ) always clobbers reg byte a reg byte y -Statement [203] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a -Statement [204] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$55 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$55 ] { } ) always clobbers reg byte a -Statement [205] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) [ keyboard_events_size#25 gfx_mode::$56 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$56 ] { } ) always clobbers reg byte a -Statement [207] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$57 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$57 ] { } ) always clobbers reg byte a -Statement [208] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) [ keyboard_events_size#25 gfx_mode::$58 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$58 ] { } ) always clobbers reg byte a -Statement [210] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$59 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$59 ] { } ) always clobbers reg byte a -Statement [211] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) [ keyboard_events_size#25 gfx_mode::$60 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$60 ] { } ) always clobbers reg byte a -Statement [213] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$61 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$61 ] { } ) always clobbers reg byte a -Statement [214] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) [ keyboard_events_size#25 gfx_mode::$62 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$62 ] { } ) always clobbers reg byte a -Statement [216] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a -Statement [221] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a -Statement [231] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) [ keyboard_events_size#25 gfx_mode::i#2 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::i#2 ] { } ) always clobbers reg byte a -Statement [237] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] { } ) always clobbers reg byte a -Statement [238] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] { } ) always clobbers reg byte a -Statement [239] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] { } ) always clobbers reg byte a -Statement [241] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] { } ) always clobbers reg byte y -Statement [251] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ( gfx_init:6::gfx_init_screen1:18 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] { } ) always clobbers reg byte a -Statement [253] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ( gfx_init:6::gfx_init_screen1:18 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] { } ) always clobbers reg byte y -Statement [263] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] { } ) always clobbers reg byte a -Statement [265] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] { } ) always clobbers reg byte a -Statement [266] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] { } ) always clobbers reg byte a -Statement [268] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] { } ) always clobbers reg byte y -Statement [278] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] { } ) always clobbers reg byte a -Statement [279] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] { } ) always clobbers reg byte a -Statement [280] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] { } ) always clobbers reg byte a -Statement [282] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] { } ) always clobbers reg byte y -Statement [292] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ( gfx_init:6::gfx_init_screen4:24 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] { } ) always clobbers reg byte a reg byte y -Statement [299] *((const nomodify byte*) PROCPORT) ← (byte) $32 [ ] ( gfx_init:6::gfx_init_charset:26 [ ] { } ) always clobbers reg byte a -Statement [302] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ( gfx_init:6::gfx_init_charset:26 [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] { } ) always clobbers reg byte a reg byte y -Statement [309] *((const nomodify byte*) PROCPORT) ← (byte) $37 [ ] ( gfx_init:6::gfx_init_charset:26 [ ] { } ) always clobbers reg byte a -Statement [328] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] { } ) always clobbers reg byte a -Statement [333] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$5 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$5 ] { } ) always clobbers reg byte a -Statement [334] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] { } ) always clobbers reg byte a -Statement [335] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] { } ) always clobbers reg byte y -Statement [338] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] { } ) always clobbers reg byte a -Statement [346] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM [ ] ( gfx_init:6::gfx_init_plane_charset8:32 [ ] { } ) always clobbers reg byte a -Statement [349] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ( gfx_init:6::gfx_init_plane_charset8:32 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] { } ) always clobbers reg byte a reg byte y -Statement [356] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ( gfx_init:6::gfx_init_plane_charset8:32 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] { } ) always clobbers reg byte y -Statement [366] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO [ ] ( gfx_init:6::gfx_init_plane_charset8:32 [ ] { } ) always clobbers reg byte a -Statement [373] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$2 ] { } ) always clobbers reg byte a -Statement [375] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] { } ) always clobbers reg byte a reg byte y -Statement [385] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] { } ) always clobbers reg byte a reg byte y -Statement [391] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ( gfx_init:6::gfx_init_plane_vertical:36 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] { } ) always clobbers reg byte a reg byte y -Statement [404] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$2 ] ( gfx_init:6::gfx_init_plane_horisontal2:38 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$2 ] { } ) always clobbers reg byte a -Statement [406] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal2:38 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] { } ) always clobbers reg byte a reg byte y -Statement [425] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 [ print_screen#0 ] ( form_mode:9::print_set_screen:47 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 ] { } form_mode:9::print_set_screen:53 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 ] { } ) always clobbers reg byte a -Statement [427] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 [ print_screen#0 memset::str#0 ] ( form_mode:9::print_cls:49 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 ] { } form_mode:9::print_cls:55 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 ] { } ) always clobbers reg byte a -Statement [431] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 [ print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] { } ) always clobbers reg byte a -Statement [433] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 [ print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] { } ) always clobbers reg byte a reg byte y -Statement [436] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] { } ) always clobbers reg byte a reg byte y -Statement [445] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 [ print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] { } ) always clobbers reg byte a -Statement [452] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 [ form_set_screen::y#2 form_set_screen::line#1 ] ( form_mode:9::form_set_screen:59 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] { } ) always clobbers reg byte a -Statement [462] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( form_mode:9::form_render_values:61 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 ] { } form_mode:9::form_render_values:95 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 ] { } ) always clobbers reg byte a -Statement [478] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 [ print_str_at::str#1 ] ( form_mode:9::render_preset_name:63 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#1 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#1 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a -Statement [483] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::return#3 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::return#3 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a -Statement [484] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_control::field#0 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_control::field#0 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [489] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [490] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$12 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$12 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y -Statement [491] *((byte*) form_control::field#0) ← (byte~) form_control::$12 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y -Statement [499] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_control::$14 keyboard_modifiers#22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_control::$14 keyboard_modifiers#22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y -Statement [500] *((byte*) form_control::field#0) ← (byte~) form_control::$14 [ keyboard_events_size#25 form_field_idx#30 keyboard_modifiers#22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 keyboard_modifiers#22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y -Statement [501] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT [ keyboard_events_size#25 form_field_idx#30 form_control::$15 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::$15 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [513] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [516] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [518] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) [ keyboard_events_size#25 form_field_idx#30 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y -Statement [520] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y -Statement [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a -Statement [524] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$13 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$13 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y -Statement [525] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y -Statement [542] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) [ apply_preset::preset#15 apply_preset::i#2 ] ( form_mode:9::apply_preset:93 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 apply_preset::preset#15 apply_preset::i#2 ] { } ) always clobbers reg byte a -Statement [582] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_event_scan::row_scan#0 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_event_scan::row_scan#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_event_scan::row_scan#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [583] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 [ keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [598] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT [ keyboard_events_size#100 keyboard_modifiers#2 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#2 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#2 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [604] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL [ keyboard_events_size#100 keyboard_modifiers#3 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#3 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#3 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [610] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE [ keyboard_events_size#100 keyboard_modifiers#4 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#4 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#4 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [614] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [618] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [620] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [626] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [627] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] ( gfx_mode:11::keyboard_event_scan:223 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:493 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a -Statement [637] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:312 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] { } ) always clobbers reg byte a -Statement [639] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP [ bitmap_init::x#2 bitmap_init::bits#3 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:312 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a -Statement [640] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:312 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a -Statement [648] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:312 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] { } ) always clobbers reg byte a -Statement [655] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:312 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] { } ) always clobbers reg byte a -Statement [660] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) [ bitmap_clear::bitmap#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:314 [ bitmap_clear::bitmap#0 ] { } ) always clobbers reg byte a -Statement [661] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 [ bitmap_clear::bitmap#5 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:314 [ bitmap_clear::bitmap#5 ] { } ) always clobbers reg byte a -Statement [664] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:314 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] { } ) always clobbers reg byte a reg byte y -Statement [672] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] { } ) always clobbers reg byte a -Statement [674] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] { } ) always clobbers reg byte a -Statement [689] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] { } ) always clobbers reg byte a -Statement [703] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] { } ) always clobbers reg byte a -Statement [705] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] { } ) always clobbers reg byte a -Statement [719] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] { } ) always clobbers reg byte a +Statement [135] (word~) gfx_mode::$22 ← < (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$22 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$22 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [138] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$24 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_a#0 gfx_mode::$24 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [141] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 [ keyboard_events_size#25 gfx_mode::$26 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$26 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [144] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$28 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$28 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [145] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) [ keyboard_events_size#25 gfx_mode::$29 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$29 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [147] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$30 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$30 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [148] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) [ keyboard_events_size#25 gfx_mode::$31 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$31 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [150] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [151] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$32 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$32 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [152] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [155] (dword) get_plane::return#17 ← (dword) get_plane::return#14 [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 get_plane::return#17 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 get_plane::return#17 ] { { get_plane::idx#1 = get_plane::idx#10 } { get_plane::return#14 = get_plane::return#17 } } ) always clobbers reg byte a +Statement [156] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 [ keyboard_events_size#25 gfx_mode::plane_b_offs#0 gfx_mode::$34 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b_offs#0 gfx_mode::$34 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [157] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [158] (word~) gfx_mode::$36 ← < (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$36 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$36 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [161] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$38 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::plane_b#0 gfx_mode::$38 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [164] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 [ keyboard_events_size#25 gfx_mode::$40 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$40 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [167] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$42 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$42 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [168] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) [ keyboard_events_size#25 gfx_mode::$43 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$43 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [170] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$44 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$44 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [171] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) [ keyboard_events_size#25 gfx_mode::$45 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$45 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [173] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [174] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [175] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [178] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#25 get_vic_screen::return#10 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 get_vic_screen::return#10 ] { { get_vic_screen::idx#0 = get_vic_screen::idx#2 } { get_vic_screen::return#10 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [179] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 [ keyboard_events_size#25 gfx_mode::$82 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$82 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a +Statement [180] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff [ keyboard_events_size#25 gfx_mode::$47 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$47 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a +Statement [181] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 [ keyboard_events_size#25 gfx_mode::$48 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a +Statement [184] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 [ keyboard_events_size#25 gfx_mode::$48 get_vic_charset::return#4 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 get_vic_charset::return#4 ] { { get_vic_charset::return#2 = get_vic_charset::return#4 } } ) always clobbers reg byte a +Statement [185] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$83 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$83 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [186] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$50 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$50 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [188] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 [ keyboard_events_size#25 gfx_mode::$48 gfx_mode::$52 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$48 gfx_mode::$52 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [189] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 [ keyboard_events_size#25 gfx_mode::$52 gfx_mode::$84 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$52 gfx_mode::$84 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [194] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 [ keyboard_events_size#25 get_vic_screen::return#11 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 get_vic_screen::return#11 ] { { get_vic_screen::idx#1 = get_vic_screen::idx#2 } { get_vic_screen::return#11 = get_vic_screen::return#5 } } ) always clobbers reg byte a +Statement [195] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 [ keyboard_events_size#25 gfx_mode::vic_colors#0 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::vic_colors#0 ] { } ) always clobbers reg byte a +Statement [198] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) [ keyboard_events_size#25 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::cy#4 gfx_mode::vic_colors#2 gfx_mode::col#2 gfx_mode::cx#2 ] { } ) always clobbers reg byte a reg byte y +Statement [205] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a +Statement [206] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$55 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$55 ] { } ) always clobbers reg byte a +Statement [207] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) [ keyboard_events_size#25 gfx_mode::$56 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$56 ] { } ) always clobbers reg byte a +Statement [209] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$57 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$57 ] { } ) always clobbers reg byte a +Statement [210] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) [ keyboard_events_size#25 gfx_mode::$58 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$58 ] { } ) always clobbers reg byte a +Statement [212] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$59 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$59 ] { } ) always clobbers reg byte a +Statement [213] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) [ keyboard_events_size#25 gfx_mode::$60 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$60 ] { } ) always clobbers reg byte a +Statement [215] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 [ keyboard_events_size#25 gfx_mode::$61 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$61 ] { } ) always clobbers reg byte a +Statement [216] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) [ keyboard_events_size#25 gfx_mode::$62 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::$62 ] { } ) always clobbers reg byte a +Statement [218] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a +Statement [223] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 [ keyboard_events_size#25 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 ] { } ) always clobbers reg byte a +Statement [233] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) [ keyboard_events_size#25 gfx_mode::i#2 ] ( gfx_mode:11 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#25 gfx_mode::i#2 ] { } ) always clobbers reg byte a +Statement [239] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$0 ] { } ) always clobbers reg byte a +Statement [240] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 ] { } ) always clobbers reg byte a +Statement [241] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 gfx_init_screen0::$1 gfx_init_screen0::$2 ] { } ) always clobbers reg byte a +Statement [243] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] ( gfx_init:6::gfx_init_screen0:16 [ gfx_init_screen0::cy#4 gfx_init_screen0::cx#2 gfx_init_screen0::ch#2 ] { } ) always clobbers reg byte y +Statement [253] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] ( gfx_init:6::gfx_init_screen1:18 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 gfx_init_screen1::$0 ] { } ) always clobbers reg byte a +Statement [255] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] ( gfx_init:6::gfx_init_screen1:18 [ gfx_init_screen1::cy#4 gfx_init_screen1::cx#2 gfx_init_screen1::ch#2 ] { } ) always clobbers reg byte y +Statement [265] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::$0 ] { } ) always clobbers reg byte a +Statement [267] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col#0 gfx_init_screen2::col2#0 ] { } ) always clobbers reg byte a +Statement [268] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 gfx_init_screen2::col2#0 gfx_init_screen2::$3 ] { } ) always clobbers reg byte a +Statement [270] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] ( gfx_init:6::gfx_init_screen2:20 [ gfx_init_screen2::cy#4 gfx_init_screen2::cx#2 gfx_init_screen2::ch#2 ] { } ) always clobbers reg byte y +Statement [280] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$0 ] { } ) always clobbers reg byte a +Statement [281] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 ] { } ) always clobbers reg byte a +Statement [282] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 gfx_init_screen3::$1 gfx_init_screen3::$2 ] { } ) always clobbers reg byte a +Statement [284] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] ( gfx_init:6::gfx_init_screen3:22 [ gfx_init_screen3::cy#4 gfx_init_screen3::cx#2 gfx_init_screen3::ch#2 ] { } ) always clobbers reg byte y +Statement [294] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] ( gfx_init:6::gfx_init_screen4:24 [ gfx_init_screen4::cy#4 gfx_init_screen4::ch#2 gfx_init_screen4::cx#2 ] { } ) always clobbers reg byte a reg byte y +Statement [301] *((const nomodify byte*) PROCPORT) ← (byte) $32 [ ] ( gfx_init:6::gfx_init_charset:26 [ ] { } ) always clobbers reg byte a +Statement [304] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] ( gfx_init:6::gfx_init_charset:26 [ gfx_init_charset::c#4 gfx_init_charset::chargen#2 gfx_init_charset::charset#2 gfx_init_charset::l#2 ] { } ) always clobbers reg byte a reg byte y +Statement [311] *((const nomodify byte*) PROCPORT) ← (byte) $37 [ ] ( gfx_init:6::gfx_init_charset:26 [ ] { } ) always clobbers reg byte a +Statement [330] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] { } ) always clobbers reg byte a +Statement [335] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$5 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$5 ] { } ) always clobbers reg byte a +Statement [336] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] { } ) always clobbers reg byte a +Statement [337] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] { } ) always clobbers reg byte y +Statement [340] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( gfx_init:6::gfx_init_plane_8bppchunky:30 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] { } ) always clobbers reg byte a +Statement [348] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM [ ] ( gfx_init:6::gfx_init_plane_charset8:32 [ ] { } ) always clobbers reg byte a +Statement [351] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] ( gfx_init:6::gfx_init_plane_charset8:32 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#0 ] { } ) always clobbers reg byte a reg byte y +Statement [358] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] ( gfx_init:6::gfx_init_plane_charset8:32 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::cp#2 ] { } ) always clobbers reg byte y +Statement [368] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO [ ] ( gfx_init:6::gfx_init_plane_charset8:32 [ ] { } ) always clobbers reg byte a +Statement [375] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::$2 ] { } ) always clobbers reg byte a +Statement [377] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] { } ) always clobbers reg byte a reg byte y +Statement [387] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal:34 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::ax#2 ] { } ) always clobbers reg byte a reg byte y +Statement [393] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] ( gfx_init:6::gfx_init_plane_vertical:36 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::bx#2 ] { } ) always clobbers reg byte a reg byte y +Statement [406] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$2 ] ( gfx_init:6::gfx_init_plane_horisontal2:38 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::$2 ] { } ) always clobbers reg byte a +Statement [408] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] ( gfx_init:6::gfx_init_plane_horisontal2:38 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::ax#2 ] { } ) always clobbers reg byte a reg byte y +Statement [427] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 [ print_screen#0 ] ( form_mode:9::print_set_screen:47 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 ] { } form_mode:9::print_set_screen:53 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 ] { } ) always clobbers reg byte a +Statement [429] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 [ print_screen#0 memset::str#0 ] ( form_mode:9::print_cls:49 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 ] { } form_mode:9::print_cls:55 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 ] { } ) always clobbers reg byte a +Statement [433] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 [ print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 print_str_lines::str#5 print_char_cursor#72 ] { } ) always clobbers reg byte a +Statement [435] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 [ print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#3 print_char_cursor#2 print_line_cursor#1 ] { } ) always clobbers reg byte a reg byte y +Statement [438] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#4 print_char_cursor#43 print_str_lines::ch#0 ] { } ) always clobbers reg byte a reg byte y +Statement [447] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 [ print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] ( form_mode:9::print_str_lines:51 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] { } form_mode:9::print_str_lines:57 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_char_cursor#73 print_line_cursor#2 ] { } ) always clobbers reg byte a +Statement [454] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 [ form_set_screen::y#2 form_set_screen::line#1 ] ( form_mode:9::form_set_screen:59 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] { } ) always clobbers reg byte a +Statement [464] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( form_mode:9::form_render_values:61 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 ] { } form_mode:9::form_render_values:95 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 ] { } ) always clobbers reg byte a +Statement [480] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 [ print_str_at::str#1 ] ( form_mode:9::render_preset_name:63 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#1 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#1 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a +Statement [485] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::return#3 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::return#3 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a +Statement [486] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_control::field#0 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_control::field#0 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [491] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [492] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$12 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$12 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [493] *((byte*) form_control::field#0) ← (byte~) form_control::$12 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y +Statement [501] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_control::$14 keyboard_modifiers#22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_control::$14 keyboard_modifiers#22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [502] *((byte*) form_control::field#0) ← (byte~) form_control::$14 [ keyboard_events_size#25 form_field_idx#30 keyboard_modifiers#22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 keyboard_modifiers#22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y +Statement [503] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT [ keyboard_events_size#25 form_field_idx#30 form_control::$15 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::$15 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [515] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$22 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$22 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [518] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [520] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) [ keyboard_events_size#25 form_field_idx#30 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [522] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [523] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 [ keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#25 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a +Statement [526] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$13 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 form_control::$13 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte a reg byte y +Statement [527] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] ( form_mode:9::form_control:86 [ form_mode::preset_current#6 keyboard_events_size#49 form_field_idx#30 form_control::field#0 form_cursor_count#16 ] { { form_control::return#0 = form_control::return#2 } } ) always clobbers reg byte y +Statement [544] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) [ apply_preset::preset#15 apply_preset::i#2 ] ( form_mode:9::apply_preset:93 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 apply_preset::preset#15 apply_preset::i#2 ] { } ) always clobbers reg byte a +Statement [584] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_event_scan::row_scan#0 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_event_scan::row_scan#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_event_scan::row_scan#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [585] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 [ keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_events_size#107 keyboard_event_scan::keycode#1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [600] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT [ keyboard_events_size#100 keyboard_modifiers#2 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#2 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#2 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [606] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL [ keyboard_events_size#100 keyboard_modifiers#3 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#3 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#3 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [612] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE [ keyboard_events_size#100 keyboard_modifiers#4 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#4 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#4 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [616] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$15 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [620] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::event_type#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [622] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [628] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#106 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [629] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] ( gfx_mode:11::keyboard_event_scan:225 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] { { keyboard_events_size#25 = keyboard_events_size#98 } } form_mode:9::form_control:86::keyboard_event_scan:495 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#19 keyboard_event_scan::$23 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } } ) always clobbers reg byte a +Statement [639] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:314 [ bitmap_init::x#2 bitmap_init::bits#3 bitmap_init::$0 ] { } ) always clobbers reg byte a +Statement [641] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP [ bitmap_init::x#2 bitmap_init::bits#3 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:314 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a +Statement [642] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [ bitmap_init::x#2 bitmap_init::bits#3 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:314 [ bitmap_init::x#2 bitmap_init::bits#3 ] { } ) always clobbers reg byte a +Statement [650] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:314 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$10 ] { } ) always clobbers reg byte a +Statement [657] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_init:314 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] { } ) always clobbers reg byte a +Statement [662] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) [ bitmap_clear::bitmap#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:316 [ bitmap_clear::bitmap#0 ] { } ) always clobbers reg byte a +Statement [663] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 [ bitmap_clear::bitmap#5 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:316 [ bitmap_clear::bitmap#5 ] { } ) always clobbers reg byte a +Statement [666] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_clear:316 [ bitmap_clear::y#4 bitmap_clear::bitmap#2 bitmap_clear::x#2 ] { } ) always clobbers reg byte a reg byte y +Statement [674] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 ] { } ) always clobbers reg byte a +Statement [676] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#2 ] { } ) always clobbers reg byte a +Statement [691] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#2 bitmap_line::yd#1 ] { } ) always clobbers reg byte a +Statement [705] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 ] { } ) always clobbers reg byte a +Statement [707] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#10 ] { } ) always clobbers reg byte a +Statement [721] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [ bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324 [ gfx_init_vic_bitmap::l#2 bitmap_line::x0#0 bitmap_line::x1#0 bitmap_line::y0#0 bitmap_line::y1#0 bitmap_line::xd#1 bitmap_line::yd#11 ] { } ) always clobbers reg byte a Statement asm { .byte$32,$dd lda$ff .byte$32,$00 } always clobbers reg byte a -Statement [738] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } ) always clobbers reg byte a -Statement [739] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } ) always clobbers reg byte a -Statement [743] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } ) always clobbers reg byte a -Statement [744] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } ) always clobbers reg byte a -Statement [745] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } ) always clobbers reg byte a -Statement [746] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } ) always clobbers reg byte a -Statement [749] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:416 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:419 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:422 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } ) always clobbers reg byte a reg byte y -Statement [759] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 [ memset::str#0 memset::end#0 ] ( form_mode:9::print_cls:49::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 memset::end#0 ] { } form_mode:9::print_cls:55::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 memset::end#0 ] { } ) always clobbers reg byte a -Statement [760] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 [ memset::end#0 memset::dst#4 ] ( form_mode:9::print_cls:49::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#4 ] { } form_mode:9::print_cls:55::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a -Statement [762] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::end#0 memset::dst#2 ] ( form_mode:9::print_cls:49::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } form_mode:9::print_cls:55::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a -Statement [764] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::end#0 memset::dst#2 ] ( form_mode:9::print_cls:49::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } form_mode:9::print_cls:55::memset:428 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y -Statement [766] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 [ print_char_cursor#43 ] ( form_mode:9::print_str_lines:51::print_char:440 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#43 ] { { print_char::ch#0 = print_str_lines::ch#0 } } form_mode:9::print_str_lines:57::print_char:440 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#43 ] { { print_char::ch#0 = print_str_lines::ch#0 } } ) always clobbers reg byte y -Statement [771] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 [ print_line_cursor#2 print_char_cursor#44 ] ( form_mode:9::print_str_lines:51::print_ln:444 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } form_mode:9::print_str_lines:57::print_ln:444 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } ) always clobbers reg byte a -Statement [772] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 [ print_line_cursor#2 print_char_cursor#44 ] ( form_mode:9::print_str_lines:51::print_ln:444 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } form_mode:9::print_str_lines:57::print_ln:444 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } ) always clobbers reg byte a -Statement [776] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) [ form_field_ptr::line#0 form_field_ptr::field_idx#2 ] ( form_mode:9::form_render_values:61::form_field_ptr:461 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_render_values:95::form_field_ptr:461 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_control:86::form_field_ptr:482 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a -Statement [778] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 [ form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] ( form_mode:9::form_render_values:61::form_field_ptr:461 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_render_values:95::form_field_ptr:461 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_control:86::form_field_ptr:482 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a -Statement [782] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 [ print_str_at::str#2 print_str_at::at#2 ] ( form_mode:9::render_preset_name:63::print_str_at:479 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97::print_str_at:479 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y -Statement [784] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) [ print_str_at::str#2 print_str_at::at#2 ] ( form_mode:9::render_preset_name:63::print_str_at:479 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97::print_str_at:479 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y -Statement [787] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) [ ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_matrix_read:579 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_matrix_read:579 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a -Statement [788] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_matrix_read:579 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_matrix_read::return#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_matrix_read:579 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_matrix_read::return#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a -Statement [791] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:588 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:588 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:594 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:594 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:600 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:600 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:606 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:606 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a -Statement [793] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:588 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:588 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:594 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:594 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:600 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:600 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:606 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:606 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a -Statement [794] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:588 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:588 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:594 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:594 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:600 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:600 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:223::keyboard_event_pressed:606 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:493::keyboard_event_pressed:606 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a -Statement [797] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a -Statement [803] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a -Statement [806] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a -Statement [812] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [818] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [821] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [827] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a -Statement [833] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a -Statement [836] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a -Statement [842] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [848] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [851] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a -Statement [857] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a -Statement [858] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a -Statement [859] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a -Statement [860] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) [ bitmap_plot::plotter#0 bitmap_plot::$1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a reg byte y -Statement [861] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 [ ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:681::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxi:726::bitmap_plot:801 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:688::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyi:732::bitmap_plot:816 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:696::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_ydxd:712::bitmap_plot:831 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:702::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:322::bitmap_line_xdyd:718::bitmap_plot:846 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte y +Statement [740] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$0 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } ) always clobbers reg byte a +Statement [741] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::plane_addr#3 gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$1 ] { { dtvSetCpuBankSegment1::cpuBankIdx#11 = dtvSetCpuBankSegment1::cpuBankIdx#13 gfx_init_plane_fill::gfxbCpuBank#0 } } ) always clobbers reg byte a +Statement [745] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$4 ] { } ) always clobbers reg byte a +Statement [746] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::$5 ] { } ) always clobbers reg byte a +Statement [747] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#0 ] { } ) always clobbers reg byte a +Statement [748] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::gfxb#6 ] { } ) always clobbers reg byte a +Statement [751] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] ( gfx_init:6::gfx_init_plane_vertical2:40::gfx_init_plane_fill:418 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } gfx_init:6::gfx_init_plane_blank:42::gfx_init_plane_fill:421 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } gfx_init:6::gfx_init_plane_full:44::gfx_init_plane_fill:424 [ gfx_init_plane_fill::fill#6 gfx_init_plane_fill::by#4 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::bx#2 ] { } ) always clobbers reg byte a reg byte y +Statement [761] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 [ memset::str#0 memset::end#0 ] ( form_mode:9::print_cls:49::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 memset::end#0 ] { } form_mode:9::print_cls:55::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::str#0 memset::end#0 ] { } ) always clobbers reg byte a +Statement [762] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 [ memset::end#0 memset::dst#4 ] ( form_mode:9::print_cls:49::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#4 ] { } form_mode:9::print_cls:55::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a +Statement [764] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::end#0 memset::dst#2 ] ( form_mode:9::print_cls:49::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } form_mode:9::print_cls:55::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a +Statement [766] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::end#0 memset::dst#2 ] ( form_mode:9::print_cls:49::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } form_mode:9::print_cls:55::memset:430 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_screen#0 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y +Statement [768] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 [ print_char_cursor#43 ] ( form_mode:9::print_str_lines:51::print_char:442 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#43 ] { { print_char::ch#0 = print_str_lines::ch#0 } } form_mode:9::print_str_lines:57::print_char:442 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_line_cursor#1 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#43 ] { { print_char::ch#0 = print_str_lines::ch#0 } } ) always clobbers reg byte y +Statement [773] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 [ print_line_cursor#2 print_char_cursor#44 ] ( form_mode:9::print_str_lines:51::print_ln:446 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } form_mode:9::print_str_lines:57::print_ln:446 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } ) always clobbers reg byte a +Statement [774] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 [ print_line_cursor#2 print_char_cursor#44 ] ( form_mode:9::print_str_lines:51::print_ln:446 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } form_mode:9::print_str_lines:57::print_ln:446 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#44 ] { } ) always clobbers reg byte a +Statement [778] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) [ form_field_ptr::line#0 form_field_ptr::field_idx#2 ] ( form_mode:9::form_render_values:61::form_field_ptr:463 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_render_values:95::form_field_ptr:463 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_control:86::form_field_ptr:484 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::line#0 form_field_ptr::field_idx#2 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a +Statement [780] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 [ form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] ( form_mode:9::form_render_values:61::form_field_ptr:463 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_render_values:95::form_field_ptr:463 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 form_render_values::idx#2 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_field_ptr::field_idx#0 = form_field_ptr::field_idx#2 form_render_values::idx#2 } } form_mode:9::form_control:86::form_field_ptr:484 [ form_mode::preset_current#6 form_cursor_count#23 keyboard_events_size#49 form_field_idx#30 form_field_ptr::line#0 form_field_ptr::x#0 form_field_ptr::return#0 ] { { form_control::return#0 = form_control::return#2 } { form_field_ptr::field_idx#1 = form_field_ptr::field_idx#2 form_field_idx#30 } { form_field_ptr::return#0 = form_field_ptr::return#3 } } ) always clobbers reg byte a +Statement [784] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 [ print_str_at::str#2 print_str_at::at#2 ] ( form_mode:9::render_preset_name:63::print_str_at:481 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97::print_str_at:481 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y +Statement [786] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) [ print_str_at::str#2 print_str_at::at#2 ] ( form_mode:9::render_preset_name:63::print_str_at:481 [ form_cursor_count#1 keyboard_events_size#28 form_field_idx#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#0 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } form_mode:9::render_preset_name:97::print_str_at:481 [ form_cursor_count#17 keyboard_events_size#25 form_field_idx#19 form_mode::preset_current#1 print_str_at::str#2 print_str_at::at#2 ] { { render_preset_name::idx#1 = render_preset_name::idx#10 } { print_str_at::str#1 = render_preset_name::name#13 } } ) always clobbers reg byte a reg byte y +Statement [789] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) [ ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_matrix_read:581 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_matrix_read:581 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a +Statement [790] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_matrix_read:581 [ form_cursor_count#17 form_field_idx#19 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_matrix_read::return#0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_matrix_read:581 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#107 keyboard_matrix_read::return#0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a +Statement [793] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:590 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:590 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:596 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:596 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:602 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:602 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:608 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:608 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a +Statement [795] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:590 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:590 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:596 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:596 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:602 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:602 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:608 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:608 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a +Statement [796] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:590 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:590 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:596 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:596 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#19 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#10 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:602 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:602 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#20 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#2 } } gfx_mode:11::keyboard_event_scan:225::keyboard_event_pressed:608 [ form_cursor_count#17 form_field_idx#19 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::return#10 ] { { keyboard_events_size#25 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } form_mode:9::form_control:86::keyboard_event_scan:495::keyboard_event_pressed:608 [ form_mode::preset_current#6 form_field_idx#30 form_control::field#0 form_cursor_count#16 keyboard_events_size#100 keyboard_modifiers#21 keyboard_event_pressed::return#10 ] { { form_control::return#0 = form_control::return#2 } { keyboard_events_size#49 = keyboard_events_size#98 } { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3 } } ) always clobbers reg byte a +Statement [799] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::x#5 bitmap_line_ydxi::y#6 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::e#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a +Statement [805] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#2 bitmap_line_ydxi::e#1 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a +Statement [808] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y#2 bitmap_line_ydxi::x#2 bitmap_line_ydxi::e#2 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } } ) always clobbers reg byte a +Statement [814] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::x#6 bitmap_line_xdyi::y#5 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::e#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [820] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::y#3 bitmap_line_xdyi::x#2 bitmap_line_xdyi::e#1 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [823] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#2 bitmap_line_xdyi::y#2 bitmap_line_xdyi::e#2 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [829] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::x#5 bitmap_line_ydxd::y#7 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::e#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a +Statement [835] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#3 bitmap_line_ydxd::e#1 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a +Statement [838] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y#3 bitmap_line_ydxd::x#2 bitmap_line_ydxd::e#2 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } } ) always clobbers reg byte a +Statement [844] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::x#6 bitmap_line_xdyd::y#5 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::e#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [850] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::y#3 bitmap_line_xdyd::x#2 bitmap_line_xdyd::e#1 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [853] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#2 bitmap_line_xdyd::y#2 bitmap_line_xdyd::e#2 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } } ) always clobbers reg byte a +Statement [859] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) [ bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::y#4 bitmap_plot::plotter_x#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a +Statement [860] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter_x#0 bitmap_plot::plotter_y#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a +Statement [861] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a +Statement [862] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) [ bitmap_plot::plotter#0 bitmap_plot::$1 ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 bitmap_plot::plotter#0 bitmap_plot::$1 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte a reg byte y +Statement [863] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 [ ] ( gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:683::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { bitmap_line_ydxi::xd#0 = bitmap_line_ydxi::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxi::x#0 = bitmap_line_ydxi::x#5 bitmap_line::x1#0 } { bitmap_line_ydxi::y#0 = bitmap_line_ydxi::y#6 bitmap_line::y1#0 } { bitmap_line_ydxi::yd#0 = bitmap_line_ydxi::yd#5 bitmap_line::yd#2 } { bitmap_line_ydxi::y1#0 = bitmap_line_ydxi::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxi:728::bitmap_plot:803 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::x#3 bitmap_line_ydxi::y#3 bitmap_line_ydxi::e#3 ] { { bitmap_line_ydxi::xd#1 = bitmap_line_ydxi::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxi::x#1 = bitmap_line_ydxi::x#5 bitmap_line::x0#0 } { bitmap_line_ydxi::y#1 = bitmap_line_ydxi::y#6 bitmap_line::y0#0 } { bitmap_line_ydxi::yd#1 = bitmap_line_ydxi::yd#5 bitmap_line::yd#11 } { bitmap_line_ydxi::y1#1 = bitmap_line_ydxi::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line_ydxi::x#3 } { bitmap_plot::y#2 = bitmap_plot::y#4 bitmap_line_ydxi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:690::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { bitmap_line_xdyi::yd#0 = bitmap_line_xdyi::yd#2 bitmap_line::yd#2 } { bitmap_line_xdyi::x#0 = bitmap_line_xdyi::x#6 bitmap_line::x1#0 } { bitmap_line_xdyi::y#0 = bitmap_line_xdyi::y#5 bitmap_line::y1#0 } { bitmap_line_xdyi::xd#0 = bitmap_line_xdyi::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyi::x1#0 = bitmap_line_xdyi::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyi:734::bitmap_plot:818 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyi::yd#2 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x#3 bitmap_line_xdyi::y#3 bitmap_line_xdyi::e#3 ] { { bitmap_line_xdyi::yd#1 = bitmap_line_xdyi::yd#2 bitmap_line::yd#11 } { bitmap_line_xdyi::x#1 = bitmap_line_xdyi::x#6 bitmap_line::x0#0 } { bitmap_line_xdyi::y#1 = bitmap_line_xdyi::y#5 bitmap_line::y0#0 } { bitmap_line_xdyi::xd#1 = bitmap_line_xdyi::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyi::x1#1 = bitmap_line_xdyi::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line_xdyi::x#3 } { bitmap_plot::y#0 = bitmap_plot::y#4 bitmap_line_xdyi::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:698::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { bitmap_line_ydxd::xd#0 = bitmap_line_ydxd::xd#2 bitmap_line::xd#2 } { bitmap_line_ydxd::x#0 = bitmap_line_ydxd::x#5 bitmap_line::x0#0 } { bitmap_line_ydxd::y#0 = bitmap_line_ydxd::y#7 bitmap_line::y0#0 } { bitmap_line_ydxd::yd#0 = bitmap_line_ydxd::yd#5 bitmap_line::yd#1 } { bitmap_line_ydxd::y1#0 = bitmap_line_ydxd::y1#6 bitmap_line::y1#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_ydxd:714::bitmap_plot:833 [ gfx_init_vic_bitmap::l#2 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::x#3 bitmap_line_ydxd::y#2 bitmap_line_ydxd::e#3 ] { { bitmap_line_ydxd::xd#1 = bitmap_line_ydxd::xd#2 bitmap_line::xd#1 } { bitmap_line_ydxd::x#1 = bitmap_line_ydxd::x#5 bitmap_line::x1#0 } { bitmap_line_ydxd::y#1 = bitmap_line_ydxd::y#7 bitmap_line::y1#0 } { bitmap_line_ydxd::yd#1 = bitmap_line_ydxd::yd#5 bitmap_line::yd#10 } { bitmap_line_ydxd::y1#1 = bitmap_line_ydxd::y1#6 bitmap_line::y0#0 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line_ydxd::x#3 } { bitmap_plot::y#3 = bitmap_plot::y#4 bitmap_line_ydxd::y#2 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:704::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { bitmap_line_xdyd::yd#0 = bitmap_line_xdyd::yd#2 bitmap_line::yd#1 } { bitmap_line_xdyd::x#0 = bitmap_line_xdyd::x#6 bitmap_line::x1#0 } { bitmap_line_xdyd::y#0 = bitmap_line_xdyd::y#5 bitmap_line::y1#0 } { bitmap_line_xdyd::xd#0 = bitmap_line_xdyd::xd#5 bitmap_line::xd#2 } { bitmap_line_xdyd::x1#0 = bitmap_line_xdyd::x1#6 bitmap_line::x0#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } gfx_init:6::gfx_init_vic_bitmap:28::bitmap_line:324::bitmap_line_xdyd:720::bitmap_plot:848 [ gfx_init_vic_bitmap::l#2 bitmap_line_xdyd::yd#2 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x#3 bitmap_line_xdyd::y#3 bitmap_line_xdyd::e#3 ] { { bitmap_line_xdyd::yd#1 = bitmap_line_xdyd::yd#2 bitmap_line::yd#10 } { bitmap_line_xdyd::x#1 = bitmap_line_xdyd::x#6 bitmap_line::x0#0 } { bitmap_line_xdyd::y#1 = bitmap_line_xdyd::y#5 bitmap_line::y0#0 } { bitmap_line_xdyd::xd#1 = bitmap_line_xdyd::xd#5 bitmap_line::xd#1 } { bitmap_line_xdyd::x1#1 = bitmap_line_xdyd::x1#6 bitmap_line::x1#0 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line_xdyd::x#3 } { bitmap_plot::y#1 = bitmap_plot::y#4 bitmap_line_xdyd::y#3 } } ) always clobbers reg byte y Potential registers zp[1]:2 [ form_mode::i#2 form_mode::i#1 ] : zp[1]:2 , reg byte x , reg byte y , Potential registers zp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] : zp[1]:3 , reg byte x , Potential registers zp[1]:4 [ form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] : zp[1]:4 , reg byte x , @@ -19644,186 +19666,188 @@ Potential registers zp[1]:164 [ gfx_mode::plane_a_offs#0 ] : zp[1]:164 , reg byt Potential registers zp[4]:165 [ get_plane::return#16 ] : zp[4]:165 , Potential registers zp[4]:169 [ gfx_mode::$20 ] : zp[4]:169 , Potential registers zp[4]:173 [ gfx_mode::plane_a#0 ] : zp[4]:173 , -Potential registers zp[2]:177 [ gfx_mode::$24 ] : zp[2]:177 , +Potential registers zp[2]:177 [ gfx_mode::$22 ] : zp[2]:177 , Potential registers zp[1]:179 [ gfx_mode::$23 ] : zp[1]:179 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:180 [ gfx_mode::$25 ] : zp[1]:180 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:181 [ gfx_mode::$26 ] : zp[2]:181 , -Potential registers zp[1]:183 [ gfx_mode::$27 ] : zp[1]:183 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:184 [ gfx_mode::$28 ] : zp[1]:184 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:185 [ gfx_mode::$29 ] : zp[1]:185 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:186 [ gfx_mode::$30 ] : zp[1]:186 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:187 [ gfx_mode::$31 ] : zp[1]:187 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:188 [ gfx_mode::$32 ] : zp[1]:188 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:189 [ gfx_mode::plane_b_offs#0 ] : zp[1]:189 , reg byte x , reg byte y , -Potential registers zp[4]:190 [ get_plane::return#17 ] : zp[4]:190 , -Potential registers zp[4]:194 [ gfx_mode::$34 ] : zp[4]:194 , -Potential registers zp[4]:198 [ gfx_mode::plane_b#0 ] : zp[4]:198 , -Potential registers zp[2]:202 [ gfx_mode::$38 ] : zp[2]:202 , -Potential registers zp[1]:204 [ gfx_mode::$37 ] : zp[1]:204 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:205 [ gfx_mode::$39 ] : zp[1]:205 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:206 [ gfx_mode::$40 ] : zp[2]:206 , -Potential registers zp[1]:208 [ gfx_mode::$41 ] : zp[1]:208 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:209 [ gfx_mode::$42 ] : zp[1]:209 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:210 [ gfx_mode::$43 ] : zp[1]:210 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:211 [ gfx_mode::$44 ] : zp[1]:211 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:212 [ gfx_mode::$45 ] : zp[1]:212 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:213 [ get_vic_screen::return#10 ] : zp[2]:213 , -Potential registers zp[2]:215 [ gfx_mode::$82 ] : zp[2]:215 , -Potential registers zp[2]:217 [ gfx_mode::$47 ] : zp[2]:217 , -Potential registers zp[2]:219 [ gfx_mode::$48 ] : zp[2]:219 , -Potential registers zp[1]:221 [ get_vic_charset::idx#0 ] : zp[1]:221 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:222 [ get_vic_charset::return#4 ] : zp[2]:222 , -Potential registers zp[2]:224 [ gfx_mode::$83 ] : zp[2]:224 , -Potential registers zp[2]:226 [ gfx_mode::$50 ] : zp[2]:226 , -Potential registers zp[1]:228 [ gfx_mode::$51 ] : zp[1]:228 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:229 [ gfx_mode::$52 ] : zp[1]:229 , reg byte x , reg byte y , -Potential registers zp[1]:230 [ gfx_mode::$84 ] : zp[1]:230 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:231 [ gfx_mode::$53 ] : zp[1]:231 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:232 [ get_vic_screen::return#11 ] : zp[2]:232 , -Potential registers zp[1]:234 [ gfx_mode::$55 ] : zp[1]:234 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:235 [ gfx_mode::$56 ] : zp[1]:235 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:236 [ gfx_mode::$57 ] : zp[1]:236 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:237 [ gfx_mode::$58 ] : zp[1]:237 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:238 [ gfx_mode::$59 ] : zp[1]:238 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:239 [ gfx_mode::$60 ] : zp[1]:239 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:240 [ gfx_mode::$61 ] : zp[1]:240 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:241 [ gfx_mode::$62 ] : zp[1]:241 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:242 [ keyboard_event_get::return#3 ] : zp[1]:242 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:243 [ gfx_mode::keyboard_event#0 ] : zp[1]:243 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:244 [ gfx_init_screen0::$0 ] : zp[1]:244 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:245 [ gfx_init_screen0::$1 ] : zp[1]:245 , reg byte x , reg byte y , -Potential registers zp[1]:246 [ gfx_init_screen0::$2 ] : zp[1]:246 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:247 [ gfx_init_screen0::$3 ] : zp[1]:247 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:248 [ gfx_init_screen1::$0 ] : zp[1]:248 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:249 [ gfx_init_screen1::$1 ] : zp[1]:249 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:250 [ gfx_init_screen2::$0 ] : zp[1]:250 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:251 [ gfx_init_screen2::col#0 ] : zp[1]:251 , reg byte x , reg byte y , -Potential registers zp[1]:252 [ gfx_init_screen2::col2#0 ] : zp[1]:252 , reg byte x , reg byte y , -Potential registers zp[1]:253 [ gfx_init_screen2::$3 ] : zp[1]:253 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:254 [ gfx_init_screen2::$4 ] : zp[1]:254 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:255 [ gfx_init_screen3::$0 ] : zp[1]:255 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:256 [ gfx_init_screen3::$1 ] : zp[1]:256 , reg byte x , reg byte y , -Potential registers zp[1]:257 [ gfx_init_screen3::$2 ] : zp[1]:257 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:258 [ gfx_init_screen3::$3 ] : zp[1]:258 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:259 [ bitmap_line::x0#0 ] : zp[1]:259 , reg byte x , reg byte y , -Potential registers zp[1]:260 [ bitmap_line::x1#0 ] : zp[1]:260 , reg byte x , reg byte y , -Potential registers zp[1]:261 [ bitmap_line::y0#0 ] : zp[1]:261 , reg byte x , reg byte y , -Potential registers zp[1]:262 [ bitmap_line::y1#0 ] : zp[1]:262 , reg byte x , reg byte y , -Potential registers zp[2]:263 [ gfx_init_plane_8bppchunky::$5 ] : zp[2]:263 , -Potential registers zp[1]:265 [ gfx_init_plane_8bppchunky::c#0 ] : zp[1]:265 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:266 [ gfx_init_plane_charset8::$2 ] : zp[1]:266 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:267 [ gfx_init_plane_horisontal::$2 ] : zp[1]:267 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:268 [ gfx_init_plane_horisontal2::$2 ] : zp[1]:268 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:269 [ gfx_init_plane_horisontal2::row#0 ] : zp[1]:269 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:270 [ memset::str#0 ] : zp[2]:270 , -Potential registers zp[1]:272 [ print_str_lines::ch#0 ] : zp[1]:272 , reg byte a , reg byte x , -Potential registers zp[1]:273 [ print_char::ch#0 ] : zp[1]:273 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:274 [ form_set_screen::$0 ] : zp[1]:274 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:275 [ form_set_screen::$1 ] : zp[1]:275 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:276 [ form_field_ptr::return#3 ] : zp[2]:276 , -Potential registers zp[2]:278 [ form_control::field#0 ] : zp[2]:278 , -Potential registers zp[1]:280 [ form_control::$12 ] : zp[1]:280 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:281 [ keyboard_event_get::return#4 ] : zp[1]:281 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:282 [ form_control::key_event#0 ] : zp[1]:282 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:283 [ form_control::$14 ] : zp[1]:283 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:284 [ form_control::$15 ] : zp[1]:284 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:285 [ form_control::$22 ] : zp[1]:285 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:286 [ form_control::$13 ] : zp[1]:286 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:287 [ keyboard_matrix_read::rowid#0 ] : zp[1]:287 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:288 [ keyboard_matrix_read::return#2 ] : zp[1]:288 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:289 [ keyboard_event_scan::row_scan#0 ] : zp[1]:289 , reg byte x , reg byte y , -Potential registers zp[1]:290 [ keyboard_event_pressed::return#0 ] : zp[1]:290 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:291 [ keyboard_event_scan::$0 ] : zp[1]:291 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:292 [ keyboard_event_pressed::return#1 ] : zp[1]:292 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:293 [ keyboard_event_scan::$3 ] : zp[1]:293 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:294 [ keyboard_event_pressed::return#2 ] : zp[1]:294 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:295 [ keyboard_event_scan::$6 ] : zp[1]:295 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:296 [ keyboard_event_pressed::return#3 ] : zp[1]:296 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:297 [ keyboard_event_scan::$9 ] : zp[1]:297 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:298 [ keyboard_event_scan::$15 ] : zp[1]:298 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:299 [ keyboard_event_scan::$16 ] : zp[1]:299 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:300 [ keyboard_event_scan::event_type#0 ] : zp[1]:300 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:301 [ keyboard_event_scan::$23 ] : zp[1]:301 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:302 [ bitmap_init::$0 ] : zp[1]:302 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:303 [ bitmap_init::$10 ] : zp[1]:303 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:304 [ bitmap_init::$7 ] : zp[1]:304 , reg byte a , reg byte x , reg byte y , reg byte alu , -Potential registers zp[1]:305 [ bitmap_init::$8 ] : zp[1]:305 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:306 [ bitmap_init::$9 ] : zp[1]:306 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:307 [ bitmap_clear::bitmap#0 ] : zp[2]:307 , -Potential registers zp[1]:309 [ bitmap_line::xd#2 ] : zp[1]:309 , reg byte x , reg byte y , -Potential registers zp[1]:310 [ bitmap_line::yd#2 ] : zp[1]:310 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:311 [ bitmap_line::yd#1 ] : zp[1]:311 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:312 [ bitmap_line::xd#1 ] : zp[1]:312 , reg byte x , reg byte y , -Potential registers zp[1]:313 [ bitmap_line::yd#10 ] : zp[1]:313 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:314 [ bitmap_line::yd#11 ] : zp[1]:314 , reg byte a , reg byte x , reg byte y , -Potential registers zp[4]:315 [ gfx_init_plane_fill::$0 ] : zp[4]:315 , -Potential registers zp[2]:319 [ gfx_init_plane_fill::$1 ] : zp[2]:319 , -Potential registers zp[1]:321 [ gfx_init_plane_fill::gfxbCpuBank#0 ] : zp[1]:321 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:322 [ gfx_init_plane_fill::$4 ] : zp[2]:322 , -Potential registers zp[2]:324 [ gfx_init_plane_fill::$5 ] : zp[2]:324 , -Potential registers zp[2]:326 [ gfx_init_plane_fill::gfxb#0 ] : zp[2]:326 , -Potential registers zp[2]:328 [ memset::end#0 ] : zp[2]:328 , -Potential registers zp[1]:330 [ form_field_ptr::y#0 ] : zp[1]:330 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:331 [ form_field_ptr::line#0 ] : zp[2]:331 , -Potential registers zp[1]:333 [ form_field_ptr::x#0 ] : zp[1]:333 , reg byte x , reg byte y , -Potential registers zp[2]:334 [ form_field_ptr::return#0 ] : zp[2]:334 , -Potential registers zp[1]:336 [ keyboard_matrix_read::return#0 ] : zp[1]:336 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:337 [ keyboard_event_pressed::$0 ] : zp[1]:337 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:338 [ keyboard_event_pressed::row_bits#0 ] : zp[1]:338 , reg byte x , reg byte y , -Potential registers zp[1]:339 [ keyboard_event_pressed::$1 ] : zp[1]:339 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:340 [ keyboard_event_pressed::return#10 ] : zp[1]:340 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:341 [ bitmap_line_ydxi::$6 ] : zp[1]:341 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:342 [ bitmap_line_xdyi::$6 ] : zp[1]:342 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:343 [ bitmap_line_ydxd::$6 ] : zp[1]:343 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:344 [ bitmap_line_xdyd::$6 ] : zp[1]:344 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:345 [ bitmap_plot::plotter_x#0 ] : zp[2]:345 , -Potential registers zp[2]:347 [ bitmap_plot::plotter_y#0 ] : zp[2]:347 , -Potential registers zp[2]:349 [ bitmap_plot::plotter#0 ] : zp[2]:349 , -Potential registers zp[1]:351 [ bitmap_plot::$1 ] : zp[1]:351 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:180 [ gfx_mode::$24 ] : zp[2]:180 , +Potential registers zp[1]:182 [ gfx_mode::$25 ] : zp[1]:182 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:183 [ gfx_mode::$26 ] : zp[2]:183 , +Potential registers zp[1]:185 [ gfx_mode::$27 ] : zp[1]:185 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:186 [ gfx_mode::$28 ] : zp[1]:186 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:187 [ gfx_mode::$29 ] : zp[1]:187 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:188 [ gfx_mode::$30 ] : zp[1]:188 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:189 [ gfx_mode::$31 ] : zp[1]:189 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:190 [ gfx_mode::$32 ] : zp[1]:190 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:191 [ gfx_mode::plane_b_offs#0 ] : zp[1]:191 , reg byte x , reg byte y , +Potential registers zp[4]:192 [ get_plane::return#17 ] : zp[4]:192 , +Potential registers zp[4]:196 [ gfx_mode::$34 ] : zp[4]:196 , +Potential registers zp[4]:200 [ gfx_mode::plane_b#0 ] : zp[4]:200 , +Potential registers zp[2]:204 [ gfx_mode::$36 ] : zp[2]:204 , +Potential registers zp[1]:206 [ gfx_mode::$37 ] : zp[1]:206 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:207 [ gfx_mode::$38 ] : zp[2]:207 , +Potential registers zp[1]:209 [ gfx_mode::$39 ] : zp[1]:209 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:210 [ gfx_mode::$40 ] : zp[2]:210 , +Potential registers zp[1]:212 [ gfx_mode::$41 ] : zp[1]:212 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:213 [ gfx_mode::$42 ] : zp[1]:213 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:214 [ gfx_mode::$43 ] : zp[1]:214 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:215 [ gfx_mode::$44 ] : zp[1]:215 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:216 [ gfx_mode::$45 ] : zp[1]:216 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:217 [ get_vic_screen::return#10 ] : zp[2]:217 , +Potential registers zp[2]:219 [ gfx_mode::$82 ] : zp[2]:219 , +Potential registers zp[2]:221 [ gfx_mode::$47 ] : zp[2]:221 , +Potential registers zp[2]:223 [ gfx_mode::$48 ] : zp[2]:223 , +Potential registers zp[1]:225 [ get_vic_charset::idx#0 ] : zp[1]:225 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:226 [ get_vic_charset::return#4 ] : zp[2]:226 , +Potential registers zp[2]:228 [ gfx_mode::$83 ] : zp[2]:228 , +Potential registers zp[2]:230 [ gfx_mode::$50 ] : zp[2]:230 , +Potential registers zp[1]:232 [ gfx_mode::$51 ] : zp[1]:232 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:233 [ gfx_mode::$52 ] : zp[1]:233 , reg byte x , reg byte y , +Potential registers zp[1]:234 [ gfx_mode::$84 ] : zp[1]:234 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:235 [ gfx_mode::$53 ] : zp[1]:235 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:236 [ get_vic_screen::return#11 ] : zp[2]:236 , +Potential registers zp[1]:238 [ gfx_mode::$55 ] : zp[1]:238 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:239 [ gfx_mode::$56 ] : zp[1]:239 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:240 [ gfx_mode::$57 ] : zp[1]:240 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:241 [ gfx_mode::$58 ] : zp[1]:241 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:242 [ gfx_mode::$59 ] : zp[1]:242 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:243 [ gfx_mode::$60 ] : zp[1]:243 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:244 [ gfx_mode::$61 ] : zp[1]:244 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:245 [ gfx_mode::$62 ] : zp[1]:245 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:246 [ keyboard_event_get::return#3 ] : zp[1]:246 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:247 [ gfx_mode::keyboard_event#0 ] : zp[1]:247 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:248 [ gfx_init_screen0::$0 ] : zp[1]:248 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:249 [ gfx_init_screen0::$1 ] : zp[1]:249 , reg byte x , reg byte y , +Potential registers zp[1]:250 [ gfx_init_screen0::$2 ] : zp[1]:250 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:251 [ gfx_init_screen0::$3 ] : zp[1]:251 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:252 [ gfx_init_screen1::$0 ] : zp[1]:252 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:253 [ gfx_init_screen1::$1 ] : zp[1]:253 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:254 [ gfx_init_screen2::$0 ] : zp[1]:254 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:255 [ gfx_init_screen2::col#0 ] : zp[1]:255 , reg byte x , reg byte y , +Potential registers zp[1]:256 [ gfx_init_screen2::col2#0 ] : zp[1]:256 , reg byte x , reg byte y , +Potential registers zp[1]:257 [ gfx_init_screen2::$3 ] : zp[1]:257 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:258 [ gfx_init_screen2::$4 ] : zp[1]:258 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:259 [ gfx_init_screen3::$0 ] : zp[1]:259 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:260 [ gfx_init_screen3::$1 ] : zp[1]:260 , reg byte x , reg byte y , +Potential registers zp[1]:261 [ gfx_init_screen3::$2 ] : zp[1]:261 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:262 [ gfx_init_screen3::$3 ] : zp[1]:262 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:263 [ bitmap_line::x0#0 ] : zp[1]:263 , reg byte x , reg byte y , +Potential registers zp[1]:264 [ bitmap_line::x1#0 ] : zp[1]:264 , reg byte x , reg byte y , +Potential registers zp[1]:265 [ bitmap_line::y0#0 ] : zp[1]:265 , reg byte x , reg byte y , +Potential registers zp[1]:266 [ bitmap_line::y1#0 ] : zp[1]:266 , reg byte x , reg byte y , +Potential registers zp[2]:267 [ gfx_init_plane_8bppchunky::$5 ] : zp[2]:267 , +Potential registers zp[1]:269 [ gfx_init_plane_8bppchunky::c#0 ] : zp[1]:269 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:270 [ gfx_init_plane_charset8::$2 ] : zp[1]:270 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:271 [ gfx_init_plane_horisontal::$2 ] : zp[1]:271 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:272 [ gfx_init_plane_horisontal2::$2 ] : zp[1]:272 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:273 [ gfx_init_plane_horisontal2::row#0 ] : zp[1]:273 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:274 [ memset::str#0 ] : zp[2]:274 , +Potential registers zp[1]:276 [ print_str_lines::ch#0 ] : zp[1]:276 , reg byte a , reg byte x , +Potential registers zp[1]:277 [ print_char::ch#0 ] : zp[1]:277 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:278 [ form_set_screen::$0 ] : zp[1]:278 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:279 [ form_set_screen::$1 ] : zp[1]:279 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:280 [ form_field_ptr::return#3 ] : zp[2]:280 , +Potential registers zp[2]:282 [ form_control::field#0 ] : zp[2]:282 , +Potential registers zp[1]:284 [ form_control::$12 ] : zp[1]:284 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:285 [ keyboard_event_get::return#4 ] : zp[1]:285 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:286 [ form_control::key_event#0 ] : zp[1]:286 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:287 [ form_control::$14 ] : zp[1]:287 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:288 [ form_control::$15 ] : zp[1]:288 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:289 [ form_control::$22 ] : zp[1]:289 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:290 [ form_control::$13 ] : zp[1]:290 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:291 [ keyboard_matrix_read::rowid#0 ] : zp[1]:291 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:292 [ keyboard_matrix_read::return#2 ] : zp[1]:292 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:293 [ keyboard_event_scan::row_scan#0 ] : zp[1]:293 , reg byte x , reg byte y , +Potential registers zp[1]:294 [ keyboard_event_pressed::return#0 ] : zp[1]:294 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:295 [ keyboard_event_scan::$0 ] : zp[1]:295 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:296 [ keyboard_event_pressed::return#1 ] : zp[1]:296 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:297 [ keyboard_event_scan::$3 ] : zp[1]:297 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:298 [ keyboard_event_pressed::return#2 ] : zp[1]:298 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:299 [ keyboard_event_scan::$6 ] : zp[1]:299 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:300 [ keyboard_event_pressed::return#3 ] : zp[1]:300 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:301 [ keyboard_event_scan::$9 ] : zp[1]:301 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:302 [ keyboard_event_scan::$15 ] : zp[1]:302 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:303 [ keyboard_event_scan::$16 ] : zp[1]:303 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:304 [ keyboard_event_scan::event_type#0 ] : zp[1]:304 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:305 [ keyboard_event_scan::$23 ] : zp[1]:305 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:306 [ bitmap_init::$0 ] : zp[1]:306 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:307 [ bitmap_init::$10 ] : zp[1]:307 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:308 [ bitmap_init::$7 ] : zp[1]:308 , reg byte a , reg byte x , reg byte y , reg byte alu , +Potential registers zp[1]:309 [ bitmap_init::$8 ] : zp[1]:309 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:310 [ bitmap_init::$9 ] : zp[1]:310 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:311 [ bitmap_clear::bitmap#0 ] : zp[2]:311 , +Potential registers zp[1]:313 [ bitmap_line::xd#2 ] : zp[1]:313 , reg byte x , reg byte y , +Potential registers zp[1]:314 [ bitmap_line::yd#2 ] : zp[1]:314 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:315 [ bitmap_line::yd#1 ] : zp[1]:315 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:316 [ bitmap_line::xd#1 ] : zp[1]:316 , reg byte x , reg byte y , +Potential registers zp[1]:317 [ bitmap_line::yd#10 ] : zp[1]:317 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:318 [ bitmap_line::yd#11 ] : zp[1]:318 , reg byte a , reg byte x , reg byte y , +Potential registers zp[4]:319 [ gfx_init_plane_fill::$0 ] : zp[4]:319 , +Potential registers zp[2]:323 [ gfx_init_plane_fill::$1 ] : zp[2]:323 , +Potential registers zp[1]:325 [ gfx_init_plane_fill::gfxbCpuBank#0 ] : zp[1]:325 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:326 [ gfx_init_plane_fill::$4 ] : zp[2]:326 , +Potential registers zp[2]:328 [ gfx_init_plane_fill::$5 ] : zp[2]:328 , +Potential registers zp[2]:330 [ gfx_init_plane_fill::gfxb#0 ] : zp[2]:330 , +Potential registers zp[2]:332 [ memset::end#0 ] : zp[2]:332 , +Potential registers zp[1]:334 [ form_field_ptr::y#0 ] : zp[1]:334 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:335 [ form_field_ptr::line#0 ] : zp[2]:335 , +Potential registers zp[1]:337 [ form_field_ptr::x#0 ] : zp[1]:337 , reg byte x , reg byte y , +Potential registers zp[2]:338 [ form_field_ptr::return#0 ] : zp[2]:338 , +Potential registers zp[1]:340 [ keyboard_matrix_read::return#0 ] : zp[1]:340 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:341 [ keyboard_event_pressed::$0 ] : zp[1]:341 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:342 [ keyboard_event_pressed::row_bits#0 ] : zp[1]:342 , reg byte x , reg byte y , +Potential registers zp[1]:343 [ keyboard_event_pressed::$1 ] : zp[1]:343 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:344 [ keyboard_event_pressed::return#10 ] : zp[1]:344 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:345 [ bitmap_line_ydxi::$6 ] : zp[1]:345 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:346 [ bitmap_line_xdyi::$6 ] : zp[1]:346 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:347 [ bitmap_line_ydxd::$6 ] : zp[1]:347 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:348 [ bitmap_line_xdyd::$6 ] : zp[1]:348 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:349 [ bitmap_plot::plotter_x#0 ] : zp[2]:349 , +Potential registers zp[2]:351 [ bitmap_plot::plotter_y#0 ] : zp[2]:351 , +Potential registers zp[2]:353 [ bitmap_plot::plotter#0 ] : zp[2]:353 , +Potential registers zp[1]:355 [ bitmap_plot::$1 ] : zp[1]:355 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [keyboard_event_scan] 2,000,000,000,002: zp[1]:298 [ keyboard_event_scan::$15 ] 2,000,000,000,002: zp[1]:299 [ keyboard_event_scan::$16 ] 2,000,000,000,002: zp[1]:300 [ keyboard_event_scan::event_type#0 ] 2,000,000,000,002: zp[1]:301 [ keyboard_event_scan::$23 ] 1,785,714,285,716.07: zp[1]:101 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] 1,190,384,615,389.25: zp[1]:102 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] 210,000,000,001.74: zp[1]:99 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] 127,777,777,778.06: zp[1]:289 [ keyboard_event_scan::row_scan#0 ] 20,000,002: zp[1]:291 [ keyboard_event_scan::$0 ] 20,000,002: zp[1]:293 [ keyboard_event_scan::$3 ] 20,000,002: zp[1]:295 [ keyboard_event_scan::$6 ] 20,000,002: zp[1]:297 [ keyboard_event_scan::$9 ] -Uplift Scope [] 5,881,709,170,285.6: zp[1]:103 [ keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 ] 2,601,131,954.45: zp[2]:126 [ print_line_cursor#22 print_line_cursor#1 print_screen#0 print_line_cursor#2 ] 150,938,221.86: zp[2]:76 [ print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] 82,000,008.36: zp[1]:100 [ keyboard_modifiers#22 keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#2 keyboard_modifiers#3 keyboard_modifiers#4 ] 5,680,494.6: zp[1]:4 [ form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] 1,541,532.48: zp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] -Uplift Scope [keyboard_matrix_read] 1,100,000,000,002: zp[1]:287 [ keyboard_matrix_read::rowid#0 ] 366,666,666,667.33: zp[1]:336 [ keyboard_matrix_read::return#0 ] 200,000,000,002: zp[1]:288 [ keyboard_matrix_read::return#2 ] +Uplift Scope [keyboard_event_scan] 2,000,000,000,002: zp[1]:302 [ keyboard_event_scan::$15 ] 2,000,000,000,002: zp[1]:303 [ keyboard_event_scan::$16 ] 2,000,000,000,002: zp[1]:304 [ keyboard_event_scan::event_type#0 ] 2,000,000,000,002: zp[1]:305 [ keyboard_event_scan::$23 ] 1,785,714,285,716.07: zp[1]:101 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] 1,190,384,615,389.25: zp[1]:102 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] 210,000,000,001.74: zp[1]:99 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] 127,777,777,778.06: zp[1]:293 [ keyboard_event_scan::row_scan#0 ] 20,000,002: zp[1]:295 [ keyboard_event_scan::$0 ] 20,000,002: zp[1]:297 [ keyboard_event_scan::$3 ] 20,000,002: zp[1]:299 [ keyboard_event_scan::$6 ] 20,000,002: zp[1]:301 [ keyboard_event_scan::$9 ] +Uplift Scope [] 5,881,709,169,057.27: zp[1]:103 [ keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 ] 2,601,131,954.45: zp[2]:126 [ print_line_cursor#22 print_line_cursor#1 print_screen#0 print_line_cursor#2 ] 150,938,221.86: zp[2]:76 [ print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] 82,000,008.36: zp[1]:100 [ keyboard_modifiers#22 keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#2 keyboard_modifiers#3 keyboard_modifiers#4 ] 5,680,494.6: zp[1]:4 [ form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] 1,541,532.48: zp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] +Uplift Scope [keyboard_matrix_read] 1,100,000,000,002: zp[1]:291 [ keyboard_matrix_read::rowid#0 ] 366,666,666,667.33: zp[1]:340 [ keyboard_matrix_read::return#0 ] 200,000,000,002: zp[1]:292 [ keyboard_matrix_read::return#2 ] Uplift Scope [print_str_at] 3,000,800,004.25: zp[2]:129 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] 2,000,000,002: zp[2]:131 [ print_str_at::at#2 print_str_at::at#0 ] -Uplift Scope [form_field_ptr] 3,000,000,003: zp[1]:330 [ form_field_ptr::y#0 ] 902,333,338.67: zp[1]:128 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] 525,000,000.75: zp[1]:333 [ form_field_ptr::x#0 ] 333,666,667.33: zp[2]:334 [ form_field_ptr::return#0 ] 200,000,000.2: zp[2]:331 [ form_field_ptr::line#0 ] 2,000,002: zp[2]:276 [ form_field_ptr::return#3 ] -Uplift Scope [bitmap_plot] 200,000,011: zp[1]:159 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] 200,000,002: zp[2]:347 [ bitmap_plot::plotter_y#0 ] 200,000,002: zp[1]:351 [ bitmap_plot::$1 ] 125,000,005.75: zp[1]:158 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] 100,000,001: zp[2]:345 [ bitmap_plot::plotter_x#0 ] 50,000,000.5: zp[2]:349 [ bitmap_plot::plotter#0 ] -Uplift Scope [keyboard_event_pressed] 200,000,002: zp[1]:337 [ keyboard_event_pressed::$0 ] 200,000,002: zp[1]:339 [ keyboard_event_pressed::$1 ] 100,000,001: zp[1]:338 [ keyboard_event_pressed::row_bits#0 ] 66,666,667.33: zp[1]:133 [ keyboard_event_pressed::keycode#4 ] 23,333,334.17: zp[1]:340 [ keyboard_event_pressed::return#10 ] 20,000,002: zp[1]:290 [ keyboard_event_pressed::return#0 ] 20,000,002: zp[1]:292 [ keyboard_event_pressed::return#1 ] 20,000,002: zp[1]:294 [ keyboard_event_pressed::return#2 ] 20,000,002: zp[1]:296 [ keyboard_event_pressed::return#3 ] +Uplift Scope [form_field_ptr] 3,000,000,003: zp[1]:334 [ form_field_ptr::y#0 ] 902,333,338.67: zp[1]:128 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] 525,000,000.75: zp[1]:337 [ form_field_ptr::x#0 ] 333,666,667.33: zp[2]:338 [ form_field_ptr::return#0 ] 200,000,000.2: zp[2]:335 [ form_field_ptr::line#0 ] 2,000,002: zp[2]:280 [ form_field_ptr::return#3 ] +Uplift Scope [bitmap_plot] 200,000,011: zp[1]:159 [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] 200,000,002: zp[2]:351 [ bitmap_plot::plotter_y#0 ] 200,000,002: zp[1]:355 [ bitmap_plot::$1 ] 125,000,005.75: zp[1]:158 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] 100,000,001: zp[2]:349 [ bitmap_plot::plotter_x#0 ] 50,000,000.5: zp[2]:353 [ bitmap_plot::plotter#0 ] +Uplift Scope [keyboard_event_pressed] 200,000,002: zp[1]:341 [ keyboard_event_pressed::$0 ] 200,000,002: zp[1]:343 [ keyboard_event_pressed::$1 ] 100,000,001: zp[1]:342 [ keyboard_event_pressed::row_bits#0 ] 66,666,667.33: zp[1]:133 [ keyboard_event_pressed::keycode#4 ] 23,333,334.17: zp[1]:344 [ keyboard_event_pressed::return#10 ] 20,000,002: zp[1]:294 [ keyboard_event_pressed::return#0 ] 20,000,002: zp[1]:296 [ keyboard_event_pressed::return#1 ] 20,000,002: zp[1]:298 [ keyboard_event_pressed::return#2 ] 20,000,002: zp[1]:300 [ keyboard_event_pressed::return#3 ] Uplift Scope [apply_preset] 366,666,670.33: zp[1]:88 [ apply_preset::i#2 apply_preset::i#1 ] 20,000,000.2: zp[2]:86 [ apply_preset::preset#15 ] 100,910.18: zp[1]:162 [ apply_preset::idx#0 ] Uplift Scope [form_render_values] 300,000,003: zp[1]:81 [ form_render_values::idx#2 form_render_values::idx#1 ] -Uplift Scope [bitmap_line_xdyi] 47,553,340.27: zp[1]:145 [ 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 ] 25,798,576.64: zp[1]:144 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] 20,000,002: zp[1]:342 [ bitmap_line_xdyi::$6 ] 11,343,003.68: zp[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] 1,450,002.29: zp[1]:141 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] 762,861.43: zp[1]:140 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] 729,049.17: zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] -Uplift Scope [bitmap_line_xdyd] 47,553,340.27: zp[1]:157 [ 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 ] 25,798,576.64: zp[1]:156 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] 20,000,002: zp[1]:344 [ bitmap_line_xdyd::$6 ] 11,343,003.68: zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] 1,450,002.29: zp[1]:153 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] 762,861.43: zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] 729,049.17: zp[1]:154 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] -Uplift Scope [bitmap_line_ydxi] 47,553,340.27: zp[1]:139 [ 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 ] 25,798,576.64: zp[1]:137 [ 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 ] 20,000,002: zp[1]:341 [ bitmap_line_ydxi::$6 ] 11,343,003.68: zp[1]:138 [ 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 ] 1,450,002.29: zp[1]:135 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] 762,861.43: zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] 729,049.17: zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] -Uplift Scope [bitmap_line_ydxd] 47,553,340.27: zp[1]:151 [ 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 ] 25,798,576.64: zp[1]:149 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] 20,000,002: zp[1]:343 [ bitmap_line_ydxd::$6 ] 11,343,003.68: zp[1]:150 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] 1,450,002.29: zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] 762,861.43: zp[1]:146 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] 729,049.17: zp[1]:148 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] -Uplift Scope [keyboard_event_get] 22,752,502.75: zp[1]:104 [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] 2,000,002: zp[1]:281 [ keyboard_event_get::return#4 ] 20,002: zp[1]:242 [ keyboard_event_get::return#3 ] -Uplift Scope [form_control] 2,000,002: zp[1]:280 [ form_control::$12 ] 2,000,002: zp[1]:283 [ form_control::$14 ] 2,000,002: zp[1]:284 [ form_control::$15 ] 2,000,002: zp[1]:285 [ form_control::$22 ] 2,000,002: zp[1]:286 [ form_control::$13 ] 1,333,334.67: zp[1]:282 [ form_control::key_event#0 ] 296,296.59: zp[2]:278 [ form_control::field#0 ] 200,002: zp[1]:160 [ form_control::return#0 ] 33,333.67: zp[1]:85 [ form_control::return#2 ] -Uplift Scope [print_char] 11,000,002: zp[1]:273 [ print_char::ch#0 ] -Uplift Scope [memset] 3,356,672.33: zp[2]:124 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 168,333.67: zp[2]:328 [ memset::end#0 ] 333.67: zp[2]:270 [ memset::str#0 ] -Uplift Scope [print_str_lines] 1,934,338.17: zp[2]:74 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] 666,667.33: zp[1]:272 [ print_str_lines::ch#0 ] -Uplift Scope [gfx_init_plane_charset8] 400,004: zp[1]:59 [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] 200,002: zp[1]:266 [ gfx_init_plane_charset8::$2 ] 172,223.94: zp[1]:58 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] 104,287.79: zp[1]:54 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] 84,115.22: zp[2]:55 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] 77,896.93: zp[1]:57 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] 18,816.69: zp[2]:51 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] 16,430.21: zp[1]:53 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] 1,619.26: zp[1]:50 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] -Uplift Scope [form_set_screen] 216,668.83: zp[1]:80 [ form_set_screen::y#2 form_set_screen::y#1 ] 200,002: zp[1]:274 [ form_set_screen::$0 ] 200,002: zp[1]:275 [ form_set_screen::$1 ] 146,668.13: zp[2]:78 [ form_set_screen::line#2 form_set_screen::line#1 ] -Uplift Scope [gfx_mode] 210,004.5: zp[2]:12 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 ] 200,002: zp[1]:14 [ gfx_mode::cx#2 gfx_mode::cx#1 ] 165,640.27: zp[2]:10 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 ] 35,003.5: zp[1]:15 [ gfx_mode::j#2 gfx_mode::j#1 ] 35,003.5: zp[1]:16 [ gfx_mode::i#2 gfx_mode::i#1 ] 20,002: zp[1]:243 [ gfx_mode::keyboard_event#0 ] 17,858.93: zp[1]:9 [ gfx_mode::cy#4 gfx_mode::cy#1 ] 2,222: zp[1]:6 [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] 606: zp[1]:7 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] 202: zp[1]:163 [ gfx_mode::$18 ] 202: zp[4]:169 [ gfx_mode::$20 ] 202: zp[1]:179 [ gfx_mode::$23 ] 202: zp[1]:180 [ gfx_mode::$25 ] 202: zp[2]:181 [ gfx_mode::$26 ] 202: zp[1]:183 [ gfx_mode::$27 ] 202: zp[1]:184 [ gfx_mode::$28 ] 202: zp[1]:185 [ gfx_mode::$29 ] 202: zp[1]:186 [ gfx_mode::$30 ] 202: zp[1]:187 [ gfx_mode::$31 ] 202: zp[1]:188 [ gfx_mode::$32 ] 202: zp[4]:194 [ gfx_mode::$34 ] 202: zp[1]:204 [ gfx_mode::$37 ] 202: zp[1]:205 [ gfx_mode::$39 ] 202: zp[2]:206 [ gfx_mode::$40 ] 202: zp[1]:208 [ gfx_mode::$41 ] 202: zp[1]:209 [ gfx_mode::$42 ] 202: zp[1]:210 [ gfx_mode::$43 ] 202: zp[1]:211 [ gfx_mode::$44 ] 202: zp[1]:212 [ gfx_mode::$45 ] 202: zp[2]:217 [ gfx_mode::$47 ] 202: zp[2]:226 [ gfx_mode::$50 ] 202: zp[1]:228 [ gfx_mode::$51 ] 202: zp[1]:230 [ gfx_mode::$84 ] 202: zp[1]:231 [ gfx_mode::$53 ] 202: zp[1]:234 [ gfx_mode::$55 ] 202: zp[1]:235 [ gfx_mode::$56 ] 202: zp[1]:236 [ gfx_mode::$57 ] 202: zp[1]:237 [ gfx_mode::$58 ] 202: zp[1]:238 [ gfx_mode::$59 ] 202: zp[1]:239 [ gfx_mode::$60 ] 202: zp[1]:240 [ gfx_mode::$61 ] 202: zp[1]:241 [ gfx_mode::$62 ] 101: zp[1]:8 [ gfx_mode::vic_control2#2 ] 101: zp[2]:177 [ gfx_mode::$24 ] 101: zp[2]:202 [ gfx_mode::$38 ] 101: zp[2]:215 [ gfx_mode::$82 ] 101: zp[2]:224 [ gfx_mode::$83 ] 101: zp[1]:229 [ gfx_mode::$52 ] 50.5: zp[4]:173 [ gfx_mode::plane_a#0 ] 50.5: zp[4]:198 [ gfx_mode::plane_b#0 ] 40.4: zp[1]:164 [ gfx_mode::plane_a_offs#0 ] 40.4: zp[1]:189 [ gfx_mode::plane_b_offs#0 ] 12.62: zp[2]:219 [ gfx_mode::$48 ] -Uplift Scope [gfx_init_plane_fill] 220,007.6: zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] 216,668.83: zp[1]:123 [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] 18,335.17: zp[1]:120 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] 5,555.61: zp[1]:119 [ gfx_init_plane_fill::fill#6 ] 2,002: zp[4]:315 [ gfx_init_plane_fill::$0 ] 2,002: zp[2]:319 [ gfx_init_plane_fill::$1 ] 2,002: zp[1]:321 [ gfx_init_plane_fill::gfxbCpuBank#0 ] 2,002: zp[2]:322 [ gfx_init_plane_fill::$4 ] 2,002: zp[2]:324 [ gfx_init_plane_fill::$5 ] 1,001: zp[2]:326 [ gfx_init_plane_fill::gfxb#0 ] 333.67: zp[4]:115 [ gfx_init_plane_fill::plane_addr#3 ] -Uplift Scope [bitmap_clear] 220,007.6: zp[2]:111 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] 216,668.83: zp[1]:113 [ bitmap_clear::x#2 bitmap_clear::x#1 ] 18,335.17: zp[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 ] 1,001: zp[2]:307 [ bitmap_clear::bitmap#0 ] +Uplift Scope [bitmap_line_xdyi] 47,553,340.27: zp[1]:145 [ 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 ] 25,798,576.64: zp[1]:144 [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] 20,000,002: zp[1]:346 [ bitmap_line_xdyi::$6 ] 11,343,003.68: zp[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] 1,450,002.29: zp[1]:141 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] 762,861.43: zp[1]:140 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] 729,049.17: zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] +Uplift Scope [bitmap_line_xdyd] 47,553,340.27: zp[1]:157 [ 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 ] 25,798,576.64: zp[1]:156 [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] 20,000,002: zp[1]:348 [ bitmap_line_xdyd::$6 ] 11,343,003.68: zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] 1,450,002.29: zp[1]:153 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] 762,861.43: zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] 729,049.17: zp[1]:154 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] +Uplift Scope [bitmap_line_ydxi] 47,553,340.27: zp[1]:139 [ 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 ] 25,798,576.64: zp[1]:137 [ 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 ] 20,000,002: zp[1]:345 [ bitmap_line_ydxi::$6 ] 11,343,003.68: zp[1]:138 [ 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 ] 1,450,002.29: zp[1]:135 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] 762,861.43: zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] 729,049.17: zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] +Uplift Scope [bitmap_line_ydxd] 47,553,340.27: zp[1]:151 [ 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 ] 25,798,576.64: zp[1]:149 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] 20,000,002: zp[1]:347 [ bitmap_line_ydxd::$6 ] 11,343,003.68: zp[1]:150 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] 1,450,002.29: zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] 762,861.43: zp[1]:146 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] 729,049.17: zp[1]:148 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] +Uplift Scope [keyboard_event_get] 22,752,502.75: zp[1]:104 [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] 2,000,002: zp[1]:285 [ keyboard_event_get::return#4 ] 20,002: zp[1]:246 [ keyboard_event_get::return#3 ] +Uplift Scope [form_control] 2,000,002: zp[1]:284 [ form_control::$12 ] 2,000,002: zp[1]:287 [ form_control::$14 ] 2,000,002: zp[1]:288 [ form_control::$15 ] 2,000,002: zp[1]:289 [ form_control::$22 ] 2,000,002: zp[1]:290 [ form_control::$13 ] 1,333,334.67: zp[1]:286 [ form_control::key_event#0 ] 296,296.59: zp[2]:282 [ form_control::field#0 ] 200,002: zp[1]:160 [ form_control::return#0 ] 33,333.67: zp[1]:85 [ form_control::return#2 ] +Uplift Scope [print_char] 11,000,002: zp[1]:277 [ print_char::ch#0 ] +Uplift Scope [memset] 3,356,672.33: zp[2]:124 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 168,333.67: zp[2]:332 [ memset::end#0 ] 333.67: zp[2]:274 [ memset::str#0 ] +Uplift Scope [print_str_lines] 1,934,338.17: zp[2]:74 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] 666,667.33: zp[1]:276 [ print_str_lines::ch#0 ] +Uplift Scope [gfx_init_plane_charset8] 400,004: zp[1]:59 [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] 200,002: zp[1]:270 [ gfx_init_plane_charset8::$2 ] 172,223.94: zp[1]:58 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] 104,287.79: zp[1]:54 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] 84,115.22: zp[2]:55 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] 77,896.93: zp[1]:57 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] 18,816.69: zp[2]:51 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] 16,430.21: zp[1]:53 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] 1,619.26: zp[1]:50 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Uplift Scope [form_set_screen] 216,668.83: zp[1]:80 [ form_set_screen::y#2 form_set_screen::y#1 ] 200,002: zp[1]:278 [ form_set_screen::$0 ] 200,002: zp[1]:279 [ form_set_screen::$1 ] 146,668.13: zp[2]:78 [ form_set_screen::line#2 form_set_screen::line#1 ] +Uplift Scope [gfx_mode] 210,004.5: zp[2]:12 [ gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 ] 200,002: zp[1]:14 [ gfx_mode::cx#2 gfx_mode::cx#1 ] 165,640.27: zp[2]:10 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 ] 35,003.5: zp[1]:15 [ gfx_mode::j#2 gfx_mode::j#1 ] 35,003.5: zp[1]:16 [ gfx_mode::i#2 gfx_mode::i#1 ] 20,002: zp[1]:247 [ gfx_mode::keyboard_event#0 ] 17,858.93: zp[1]:9 [ gfx_mode::cy#4 gfx_mode::cy#1 ] 2,222: zp[1]:6 [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] 606: zp[1]:7 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] 202: zp[1]:163 [ gfx_mode::$18 ] 202: zp[4]:169 [ gfx_mode::$20 ] 202: zp[2]:177 [ gfx_mode::$22 ] 202: zp[1]:179 [ gfx_mode::$23 ] 202: zp[2]:180 [ gfx_mode::$24 ] 202: zp[1]:182 [ gfx_mode::$25 ] 202: zp[2]:183 [ gfx_mode::$26 ] 202: zp[1]:185 [ gfx_mode::$27 ] 202: zp[1]:186 [ gfx_mode::$28 ] 202: zp[1]:187 [ gfx_mode::$29 ] 202: zp[1]:188 [ gfx_mode::$30 ] 202: zp[1]:189 [ gfx_mode::$31 ] 202: zp[1]:190 [ gfx_mode::$32 ] 202: zp[4]:196 [ gfx_mode::$34 ] 202: zp[2]:204 [ gfx_mode::$36 ] 202: zp[1]:206 [ gfx_mode::$37 ] 202: zp[2]:207 [ gfx_mode::$38 ] 202: zp[1]:209 [ gfx_mode::$39 ] 202: zp[2]:210 [ gfx_mode::$40 ] 202: zp[1]:212 [ gfx_mode::$41 ] 202: zp[1]:213 [ gfx_mode::$42 ] 202: zp[1]:214 [ gfx_mode::$43 ] 202: zp[1]:215 [ gfx_mode::$44 ] 202: zp[1]:216 [ gfx_mode::$45 ] 202: zp[2]:221 [ gfx_mode::$47 ] 202: zp[2]:230 [ gfx_mode::$50 ] 202: zp[1]:232 [ gfx_mode::$51 ] 202: zp[1]:234 [ gfx_mode::$84 ] 202: zp[1]:235 [ gfx_mode::$53 ] 202: zp[1]:238 [ gfx_mode::$55 ] 202: zp[1]:239 [ gfx_mode::$56 ] 202: zp[1]:240 [ gfx_mode::$57 ] 202: zp[1]:241 [ gfx_mode::$58 ] 202: zp[1]:242 [ gfx_mode::$59 ] 202: zp[1]:243 [ gfx_mode::$60 ] 202: zp[1]:244 [ gfx_mode::$61 ] 202: zp[1]:245 [ gfx_mode::$62 ] 101: zp[1]:8 [ gfx_mode::vic_control2#2 ] 101: zp[2]:219 [ gfx_mode::$82 ] 101: zp[2]:228 [ gfx_mode::$83 ] 101: zp[1]:233 [ gfx_mode::$52 ] 57.71: zp[4]:173 [ gfx_mode::plane_a#0 ] 57.71: zp[4]:200 [ gfx_mode::plane_b#0 ] 40.4: zp[1]:164 [ gfx_mode::plane_a_offs#0 ] 40.4: zp[1]:191 [ gfx_mode::plane_b_offs#0 ] 12.62: zp[2]:223 [ gfx_mode::$48 ] +Uplift Scope [gfx_init_plane_fill] 220,007.6: zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] 216,668.83: zp[1]:123 [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] 18,335.17: zp[1]:120 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] 5,555.61: zp[1]:119 [ gfx_init_plane_fill::fill#6 ] 2,002: zp[4]:319 [ gfx_init_plane_fill::$0 ] 2,002: zp[2]:323 [ gfx_init_plane_fill::$1 ] 2,002: zp[1]:325 [ gfx_init_plane_fill::gfxbCpuBank#0 ] 2,002: zp[2]:326 [ gfx_init_plane_fill::$4 ] 2,002: zp[2]:328 [ gfx_init_plane_fill::$5 ] 1,001: zp[2]:330 [ gfx_init_plane_fill::gfxb#0 ] 333.67: zp[4]:115 [ gfx_init_plane_fill::plane_addr#3 ] +Uplift Scope [bitmap_clear] 220,007.6: zp[2]:111 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] 216,668.83: zp[1]:113 [ bitmap_clear::x#2 bitmap_clear::x#1 ] 18,335.17: zp[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 ] 1,001: zp[2]:311 [ bitmap_clear::bitmap#0 ] Uplift Scope [form_mode] 200,002: zp[1]:161 [ form_mode::$11 ] 43,965.62: zp[1]:5 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] 35,003.5: zp[1]:2 [ form_mode::i#2 form_mode::i#1 ] Uplift Scope [render_preset_name] 121,123.36: zp[1]:82 [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] 100,001: zp[2]:83 [ render_preset_name::name#13 ] -Uplift Scope [bitmap_init] 36,253.62: zp[2]:108 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 22,668.93: zp[1]:106 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 21,668.83: zp[1]:105 [ bitmap_init::x#2 bitmap_init::x#1 ] 20,002: zp[1]:107 [ bitmap_init::y#2 bitmap_init::y#1 ] 20,002: zp[1]:302 [ bitmap_init::$0 ] 20,002: zp[1]:304 [ bitmap_init::$7 ] 20,002: zp[1]:305 [ bitmap_init::$8 ] 20,002: zp[1]:306 [ bitmap_init::$9 ] 5,000.5: zp[1]:303 [ bitmap_init::$10 ] +Uplift Scope [bitmap_init] 36,253.62: zp[2]:108 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 22,668.93: zp[1]:106 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 21,668.83: zp[1]:105 [ bitmap_init::x#2 bitmap_init::x#1 ] 20,002: zp[1]:107 [ bitmap_init::y#2 bitmap_init::y#1 ] 20,002: zp[1]:306 [ bitmap_init::$0 ] 20,002: zp[1]:308 [ bitmap_init::$7 ] 20,002: zp[1]:309 [ bitmap_init::$8 ] 20,002: zp[1]:310 [ bitmap_init::$9 ] 5,000.5: zp[1]:307 [ bitmap_init::$10 ] Uplift Scope [dtvSetCpuBankSegment1] 133,007: zp[1]:114 [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] -Uplift Scope [gfx_init_screen2] 20,002: zp[1]:250 [ gfx_init_screen2::$0 ] 20,002: zp[1]:253 [ gfx_init_screen2::$3 ] 20,002: zp[1]:254 [ gfx_init_screen2::$4 ] 18,751.88: zp[1]:26 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] 15,001.5: zp[1]:251 [ gfx_init_screen2::col#0 ] 10,631.74: zp[2]:27 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] 10,001: zp[1]:252 [ gfx_init_screen2::col2#0 ] 2,592.68: zp[1]:25 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] -Uplift Scope [gfx_init_plane_8bppchunky] 35,700.14: zp[1]:47 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] 29,205.35: zp[2]:48 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] 20,002: zp[1]:265 [ gfx_init_plane_8bppchunky::c#0 ] 18,001.8: zp[2]:45 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] 10,001: zp[2]:263 [ gfx_init_plane_8bppchunky::$5 ] 2,424.81: zp[1]:44 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] -Uplift Scope [gfx_init_screen0] 20,002: zp[1]:244 [ gfx_init_screen0::$0 ] 20,002: zp[1]:246 [ gfx_init_screen0::$2 ] 20,002: zp[1]:247 [ gfx_init_screen0::$3 ] 19,287.64: zp[1]:18 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] 11,369.93: zp[2]:19 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] 10,001: zp[1]:245 [ gfx_init_screen0::$1 ] 2,701.8: zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] -Uplift Scope [gfx_init_screen3] 20,002: zp[1]:255 [ gfx_init_screen3::$0 ] 20,002: zp[1]:257 [ gfx_init_screen3::$2 ] 20,002: zp[1]:258 [ gfx_init_screen3::$3 ] 19,287.64: zp[1]:30 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] 11,369.93: zp[2]:31 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] 10,001: zp[1]:256 [ gfx_init_screen3::$1 ] 2,701.8: zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] -Uplift Scope [gfx_init_plane_horisontal] 58,408: zp[2]:61 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] 20,002: zp[1]:267 [ gfx_init_plane_horisontal::$2 ] 17,501.75: zp[1]:63 [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] 2,592.68: zp[1]:60 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] -Uplift Scope [gfx_init_screen1] 21,002.1: zp[1]:22 [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] 20,002: zp[1]:248 [ gfx_init_screen1::$0 ] 20,002: zp[1]:249 [ gfx_init_screen1::$1 ] 13,953.6: zp[2]:23 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] 3,001.88: zp[1]:21 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] -Uplift Scope [gfx_init_plane_horisontal2] 20,002: zp[1]:268 [ gfx_init_plane_horisontal2::$2 ] 20,002: zp[1]:269 [ gfx_init_plane_horisontal2::row#0 ] 19,001.9: zp[1]:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] 13,953.6: zp[2]:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] 3,001.88: zp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] +Uplift Scope [gfx_init_screen2] 20,002: zp[1]:254 [ gfx_init_screen2::$0 ] 20,002: zp[1]:257 [ gfx_init_screen2::$3 ] 20,002: zp[1]:258 [ gfx_init_screen2::$4 ] 18,751.88: zp[1]:26 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] 15,001.5: zp[1]:255 [ gfx_init_screen2::col#0 ] 10,631.74: zp[2]:27 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] 10,001: zp[1]:256 [ gfx_init_screen2::col2#0 ] 2,592.68: zp[1]:25 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplift Scope [gfx_init_plane_8bppchunky] 35,700.14: zp[1]:47 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] 29,205.35: zp[2]:48 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] 20,002: zp[1]:269 [ gfx_init_plane_8bppchunky::c#0 ] 18,001.8: zp[2]:45 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] 10,001: zp[2]:267 [ gfx_init_plane_8bppchunky::$5 ] 2,424.81: zp[1]:44 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplift Scope [gfx_init_screen0] 20,002: zp[1]:248 [ gfx_init_screen0::$0 ] 20,002: zp[1]:250 [ gfx_init_screen0::$2 ] 20,002: zp[1]:251 [ gfx_init_screen0::$3 ] 19,287.64: zp[1]:18 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] 11,369.93: zp[2]:19 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] 10,001: zp[1]:249 [ gfx_init_screen0::$1 ] 2,701.8: zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplift Scope [gfx_init_screen3] 20,002: zp[1]:259 [ gfx_init_screen3::$0 ] 20,002: zp[1]:261 [ gfx_init_screen3::$2 ] 20,002: zp[1]:262 [ gfx_init_screen3::$3 ] 19,287.64: zp[1]:30 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] 11,369.93: zp[2]:31 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] 10,001: zp[1]:260 [ gfx_init_screen3::$1 ] 2,701.8: zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplift Scope [gfx_init_plane_horisontal] 58,408: zp[2]:61 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] 20,002: zp[1]:271 [ gfx_init_plane_horisontal::$2 ] 17,501.75: zp[1]:63 [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] 2,592.68: zp[1]:60 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] +Uplift Scope [gfx_init_screen1] 21,002.1: zp[1]:22 [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] 20,002: zp[1]:252 [ gfx_init_screen1::$0 ] 20,002: zp[1]:253 [ gfx_init_screen1::$1 ] 13,953.6: zp[2]:23 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] 3,001.88: zp[1]:21 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] +Uplift Scope [gfx_init_plane_horisontal2] 20,002: zp[1]:272 [ gfx_init_plane_horisontal2::$2 ] 20,002: zp[1]:273 [ gfx_init_plane_horisontal2::row#0 ] 19,001.9: zp[1]:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] 13,953.6: zp[2]:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] 3,001.88: zp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Uplift Scope [gfx_init_charset] 21,004.5: zp[2]:40 [ gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] 20,002: zp[1]:42 [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] 16,537.27: zp[2]:38 [ gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 ] 1,787.5: zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] Uplift Scope [gfx_init_screen4] 21,704.6: zp[2]:34 [ gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 ] 21,668.83: zp[1]:36 [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] 1,835.17: zp[1]:33 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] Uplift Scope [gfx_init_plane_vertical] 21,704.6: zp[2]:65 [ gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 ] 21,668.83: zp[1]:67 [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] 1,835.17: zp[1]:64 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] -Uplift Scope [bitmap_line] 6,050.65: zp[1]:262 [ bitmap_line::y1#0 ] 5,762.52: zp[1]:261 [ bitmap_line::y0#0 ] 4,444.89: zp[1]:310 [ bitmap_line::yd#2 ] 4,444.89: zp[1]:311 [ bitmap_line::yd#1 ] 4,444.89: zp[1]:313 [ bitmap_line::yd#10 ] 4,444.89: zp[1]:314 [ bitmap_line::yd#11 ] 4,136.82: zp[1]:260 [ bitmap_line::x1#0 ] 3,956.96: zp[1]:259 [ bitmap_line::x0#0 ] 3,500.35: zp[1]:309 [ bitmap_line::xd#2 ] 3,500.35: zp[1]:312 [ bitmap_line::xd#1 ] +Uplift Scope [bitmap_line] 6,050.65: zp[1]:266 [ bitmap_line::y1#0 ] 5,762.52: zp[1]:265 [ bitmap_line::y0#0 ] 4,444.89: zp[1]:314 [ bitmap_line::yd#2 ] 4,444.89: zp[1]:315 [ bitmap_line::yd#1 ] 4,444.89: zp[1]:317 [ bitmap_line::yd#10 ] 4,444.89: zp[1]:318 [ bitmap_line::yd#11 ] 4,136.82: zp[1]:264 [ bitmap_line::x1#0 ] 3,956.96: zp[1]:263 [ bitmap_line::x0#0 ] 3,500.35: zp[1]:313 [ bitmap_line::xd#2 ] 3,500.35: zp[1]:316 [ bitmap_line::xd#1 ] Uplift Scope [gfx_init_vic_bitmap] 3,003: zp[1]:43 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Uplift Scope [get_vic_screen] 1,445.4: zp[1]:94 [ get_vic_screen::idx#2 get_vic_screen::idx#0 get_vic_screen::idx#1 ] 202: zp[2]:213 [ get_vic_screen::return#10 ] 202: zp[2]:232 [ get_vic_screen::return#11 ] 50.5: zp[2]:95 [ get_vic_screen::return#5 ] -Uplift Scope [get_plane] 1,419.43: zp[1]:89 [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ] 202: zp[4]:165 [ get_plane::return#16 ] 202: zp[4]:190 [ get_plane::return#17 ] 50.5: zp[4]:90 [ get_plane::return#14 ] -Uplift Scope [get_vic_charset] 1,051.5: zp[1]:221 [ get_vic_charset::idx#0 ] 202: zp[2]:222 [ get_vic_charset::return#4 ] 33.67: zp[2]:97 [ get_vic_charset::return#2 ] +Uplift Scope [get_vic_screen] 1,445.4: zp[1]:94 [ get_vic_screen::idx#2 get_vic_screen::idx#0 get_vic_screen::idx#1 ] 202: zp[2]:217 [ get_vic_screen::return#10 ] 202: zp[2]:236 [ get_vic_screen::return#11 ] 50.5: zp[2]:95 [ get_vic_screen::return#5 ] +Uplift Scope [get_plane] 1,419.43: zp[1]:89 [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ] 202: zp[4]:165 [ get_plane::return#16 ] 202: zp[4]:192 [ get_plane::return#17 ] 50.5: zp[4]:90 [ get_plane::return#14 ] +Uplift Scope [get_vic_charset] 1,051.5: zp[1]:225 [ get_vic_charset::idx#0 ] 202: zp[2]:226 [ get_vic_charset::return#4 ] 33.67: zp[2]:97 [ get_vic_charset::return#2 ] Uplift Scope [print_set_screen] 1,001: zp[2]:72 [ print_set_screen::screen#2 ] Uplift Scope [MOS6526_CIA] Uplift Scope [MOS6569_VICII] @@ -19838,398 +19862,398 @@ Uplift Scope [gfx_init_plane_vertical2] Uplift Scope [gfx_init_plane_blank] Uplift Scope [gfx_init_plane_full] -Uplifting [keyboard_event_scan] best 15469485 combination reg byte a [ keyboard_event_scan::$15 ] reg byte a [ keyboard_event_scan::$16 ] zp[1]:300 [ keyboard_event_scan::event_type#0 ] zp[1]:301 [ keyboard_event_scan::$23 ] zp[1]:101 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp[1]:102 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] zp[1]:99 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp[1]:289 [ keyboard_event_scan::row_scan#0 ] zp[1]:291 [ keyboard_event_scan::$0 ] zp[1]:293 [ keyboard_event_scan::$3 ] zp[1]:295 [ keyboard_event_scan::$6 ] zp[1]:297 [ keyboard_event_scan::$9 ] +Uplifting [keyboard_event_scan] best 15469509 combination reg byte a [ keyboard_event_scan::$15 ] reg byte a [ keyboard_event_scan::$16 ] zp[1]:304 [ keyboard_event_scan::event_type#0 ] zp[1]:305 [ keyboard_event_scan::$23 ] zp[1]:101 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp[1]:102 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] zp[1]:99 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp[1]:293 [ keyboard_event_scan::row_scan#0 ] zp[1]:295 [ keyboard_event_scan::$0 ] zp[1]:297 [ keyboard_event_scan::$3 ] zp[1]:299 [ keyboard_event_scan::$6 ] zp[1]:301 [ keyboard_event_scan::$9 ] Limited combination testing to 10 combinations of 5308416 possible. -Uplifting [] best 15469467 combination zp[1]:103 [ keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 ] zp[2]:126 [ print_line_cursor#22 print_line_cursor#1 print_screen#0 print_line_cursor#2 ] zp[2]:76 [ print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] reg byte x [ keyboard_modifiers#22 keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#2 keyboard_modifiers#3 keyboard_modifiers#4 ] zp[1]:4 [ form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] zp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] +Uplifting [] best 15469491 combination zp[1]:103 [ keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 ] zp[2]:126 [ print_line_cursor#22 print_line_cursor#1 print_screen#0 print_line_cursor#2 ] zp[2]:76 [ print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] reg byte x [ keyboard_modifiers#22 keyboard_modifiers#21 keyboard_modifiers#20 keyboard_modifiers#19 keyboard_modifiers#2 keyboard_modifiers#3 keyboard_modifiers#4 ] zp[1]:4 [ form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] zp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [keyboard_matrix_read] best 15409461 combination reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#0 ] zp[1]:288 [ keyboard_matrix_read::return#2 ] +Uplifting [keyboard_matrix_read] best 15409485 combination reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#0 ] zp[1]:292 [ keyboard_matrix_read::return#2 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [print_str_at] best 15409461 combination zp[2]:129 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] zp[2]:131 [ print_str_at::at#2 print_str_at::at#0 ] -Uplifting [form_field_ptr] best 15406446 combination reg byte y [ form_field_ptr::y#0 ] reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp[1]:333 [ form_field_ptr::x#0 ] zp[2]:334 [ form_field_ptr::return#0 ] zp[2]:331 [ form_field_ptr::line#0 ] zp[2]:276 [ form_field_ptr::return#3 ] +Uplifting [print_str_at] best 15409485 combination zp[2]:129 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] zp[2]:131 [ print_str_at::at#2 print_str_at::at#0 ] +Uplifting [form_field_ptr] best 15406470 combination reg byte y [ form_field_ptr::y#0 ] reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp[1]:337 [ form_field_ptr::x#0 ] zp[2]:338 [ form_field_ptr::return#0 ] zp[2]:335 [ form_field_ptr::line#0 ] zp[2]:280 [ form_field_ptr::return#3 ] Limited combination testing to 10 combinations of 36 possible. -Uplifting [bitmap_plot] best 15405237 combination reg byte x [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] zp[2]:347 [ bitmap_plot::plotter_y#0 ] reg byte a [ bitmap_plot::$1 ] zp[1]:158 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] zp[2]:345 [ bitmap_plot::plotter_x#0 ] zp[2]:349 [ bitmap_plot::plotter#0 ] +Uplifting [bitmap_plot] best 15405261 combination reg byte x [ bitmap_plot::y#4 bitmap_plot::y#1 bitmap_plot::y#0 bitmap_plot::y#3 bitmap_plot::y#2 ] zp[2]:351 [ bitmap_plot::plotter_y#0 ] reg byte a [ bitmap_plot::$1 ] zp[1]:158 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] zp[2]:349 [ bitmap_plot::plotter_x#0 ] zp[2]:353 [ bitmap_plot::plotter#0 ] Limited combination testing to 10 combinations of 36 possible. -Uplifting [keyboard_event_pressed] best 15405229 combination reg byte a [ keyboard_event_pressed::$0 ] reg byte a [ keyboard_event_pressed::$1 ] zp[1]:338 [ keyboard_event_pressed::row_bits#0 ] zp[1]:133 [ keyboard_event_pressed::keycode#4 ] zp[1]:340 [ keyboard_event_pressed::return#10 ] zp[1]:290 [ keyboard_event_pressed::return#0 ] zp[1]:292 [ keyboard_event_pressed::return#1 ] zp[1]:294 [ keyboard_event_pressed::return#2 ] zp[1]:296 [ keyboard_event_pressed::return#3 ] +Uplifting [keyboard_event_pressed] best 15405253 combination reg byte a [ keyboard_event_pressed::$0 ] reg byte a [ keyboard_event_pressed::$1 ] zp[1]:342 [ keyboard_event_pressed::row_bits#0 ] zp[1]:133 [ keyboard_event_pressed::keycode#4 ] zp[1]:344 [ keyboard_event_pressed::return#10 ] zp[1]:294 [ keyboard_event_pressed::return#0 ] zp[1]:296 [ keyboard_event_pressed::return#1 ] zp[1]:298 [ keyboard_event_pressed::return#2 ] zp[1]:300 [ keyboard_event_pressed::return#3 ] Limited combination testing to 10 combinations of 147456 possible. -Uplifting [apply_preset] best 15392896 combination reg byte y [ apply_preset::i#2 apply_preset::i#1 ] zp[2]:86 [ apply_preset::preset#15 ] reg byte a [ apply_preset::idx#0 ] +Uplifting [apply_preset] best 15392920 combination reg byte y [ apply_preset::i#2 apply_preset::i#1 ] zp[2]:86 [ apply_preset::preset#15 ] reg byte a [ apply_preset::idx#0 ] Limited combination testing to 10 combinations of 12 possible. -Uplifting [form_render_values] best 15377896 combination reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] -Uplifting [bitmap_line_xdyi] best 15376890 combination zp[1]:145 [ 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 ] reg byte x [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] reg byte a [ bitmap_line_xdyi::$6 ] zp[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] zp[1]:141 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] zp[1]:140 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] +Uplifting [form_render_values] best 15377920 combination reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] +Uplifting [bitmap_line_xdyi] best 15376914 combination zp[1]:145 [ 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 ] reg byte x [ bitmap_line_xdyi::y#3 bitmap_line_xdyi::y#5 bitmap_line_xdyi::y#1 bitmap_line_xdyi::y#0 bitmap_line_xdyi::y#6 bitmap_line_xdyi::y#2 ] reg byte a [ bitmap_line_xdyi::$6 ] zp[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] zp[1]:141 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] zp[1]:140 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_xdyd] best 15375884 combination zp[1]:157 [ 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 ] reg byte x [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] reg byte a [ bitmap_line_xdyd::$6 ] zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] zp[1]:153 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] zp[1]:154 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] +Uplifting [bitmap_line_xdyd] best 15375908 combination zp[1]:157 [ 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 ] reg byte x [ bitmap_line_xdyd::y#3 bitmap_line_xdyd::y#5 bitmap_line_xdyd::y#1 bitmap_line_xdyd::y#0 bitmap_line_xdyd::y#6 bitmap_line_xdyd::y#2 ] reg byte a [ bitmap_line_xdyd::$6 ] zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] zp[1]:153 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] zp[1]:154 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_ydxi] best 15375284 combination zp[1]:139 [ 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 ] zp[1]:137 [ 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 x [ bitmap_line_ydxi::$6 ] zp[1]:138 [ 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[1]:135 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] +Uplifting [bitmap_line_ydxi] best 15375308 combination zp[1]:139 [ 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 ] zp[1]:137 [ 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 x [ bitmap_line_ydxi::$6 ] zp[1]:138 [ 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[1]:135 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [bitmap_line_ydxd] best 15374684 combination zp[1]:151 [ 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 ] zp[1]:149 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte x [ bitmap_line_ydxd::$6 ] zp[1]:150 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] zp[1]:146 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] zp[1]:148 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] +Uplifting [bitmap_line_ydxd] best 15374708 combination zp[1]:151 [ 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 ] zp[1]:149 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] reg byte x [ bitmap_line_ydxd::$6 ] zp[1]:150 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] zp[1]:146 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] zp[1]:148 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] Limited combination testing to 10 combinations of 256 possible. -Uplifting [keyboard_event_get] best 15374369 combination reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] reg byte a [ keyboard_event_get::return#4 ] zp[1]:242 [ keyboard_event_get::return#3 ] +Uplifting [keyboard_event_get] best 15374393 combination reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] reg byte a [ keyboard_event_get::return#4 ] zp[1]:246 [ keyboard_event_get::return#3 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [form_control] best 15374357 combination reg byte a [ form_control::$12 ] reg byte a [ form_control::$14 ] zp[1]:284 [ form_control::$15 ] zp[1]:285 [ form_control::$22 ] zp[1]:286 [ form_control::$13 ] zp[1]:282 [ form_control::key_event#0 ] zp[2]:278 [ form_control::field#0 ] zp[1]:160 [ form_control::return#0 ] zp[1]:85 [ form_control::return#2 ] +Uplifting [form_control] best 15374381 combination reg byte a [ form_control::$12 ] reg byte a [ form_control::$14 ] zp[1]:288 [ form_control::$15 ] zp[1]:289 [ form_control::$22 ] zp[1]:290 [ form_control::$13 ] zp[1]:286 [ form_control::key_event#0 ] zp[2]:282 [ form_control::field#0 ] zp[1]:160 [ form_control::return#0 ] zp[1]:85 [ form_control::return#2 ] Limited combination testing to 10 combinations of 65536 possible. -Uplifting [print_char] best 15371354 combination reg byte a [ print_char::ch#0 ] -Uplifting [memset] best 15371354 combination zp[2]:124 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:328 [ memset::end#0 ] zp[2]:270 [ memset::str#0 ] -Uplifting [print_str_lines] best 15359354 combination zp[2]:74 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] -Uplifting [gfx_init_plane_charset8] best 15344354 combination reg byte a [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] reg byte a [ gfx_init_plane_charset8::$2 ] zp[1]:58 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] zp[1]:54 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] zp[2]:55 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] zp[1]:57 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] zp[2]:51 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] zp[1]:53 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] zp[1]:50 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Uplifting [print_char] best 15371378 combination reg byte a [ print_char::ch#0 ] +Uplifting [memset] best 15371378 combination zp[2]:124 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:332 [ memset::end#0 ] zp[2]:274 [ memset::str#0 ] +Uplifting [print_str_lines] best 15359378 combination zp[2]:74 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] +Uplifting [gfx_init_plane_charset8] best 15344378 combination reg byte a [ gfx_init_plane_charset8::c#2 gfx_init_plane_charset8::c#3 ] reg byte a [ gfx_init_plane_charset8::$2 ] zp[1]:58 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] zp[1]:54 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] zp[2]:55 [ gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 ] zp[1]:57 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] zp[2]:51 [ gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 ] zp[1]:53 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] zp[1]:50 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Limited combination testing to 10 combinations of 1152 possible. -Uplifting [form_set_screen] best 15342254 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] zp[1]:275 [ form_set_screen::$1 ] zp[2]:78 [ form_set_screen::line#2 form_set_screen::line#1 ] +Uplifting [form_set_screen] best 15342278 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] zp[1]:279 [ form_set_screen::$1 ] zp[2]:78 [ form_set_screen::line#2 form_set_screen::line#1 ] Limited combination testing to 10 combinations of 48 possible. -Uplifting [gfx_init_plane_fill] best 15341348 combination zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] reg byte x [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] zp[1]:120 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] zp[1]:119 [ gfx_init_plane_fill::fill#6 ] zp[4]:315 [ gfx_init_plane_fill::$0 ] zp[2]:319 [ gfx_init_plane_fill::$1 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] zp[2]:322 [ gfx_init_plane_fill::$4 ] zp[2]:324 [ gfx_init_plane_fill::$5 ] zp[2]:326 [ gfx_init_plane_fill::gfxb#0 ] zp[4]:115 [ gfx_init_plane_fill::plane_addr#3 ] +Uplifting [gfx_init_plane_fill] best 15341372 combination zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] reg byte x [ gfx_init_plane_fill::bx#2 gfx_init_plane_fill::bx#1 ] zp[1]:120 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] zp[1]:119 [ gfx_init_plane_fill::fill#6 ] zp[4]:319 [ gfx_init_plane_fill::$0 ] zp[2]:323 [ gfx_init_plane_fill::$1 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] zp[2]:326 [ gfx_init_plane_fill::$4 ] zp[2]:328 [ gfx_init_plane_fill::$5 ] zp[2]:330 [ gfx_init_plane_fill::gfxb#0 ] zp[4]:115 [ gfx_init_plane_fill::plane_addr#3 ] Limited combination testing to 10 combinations of 32 possible. -Uplifting [bitmap_clear] best 15340448 combination zp[2]:111 [ 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[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp[2]:307 [ bitmap_clear::bitmap#0 ] -Uplifting [form_mode] best 15333248 combination reg byte a [ form_mode::$11 ] zp[1]:5 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] reg byte x [ form_mode::i#2 form_mode::i#1 ] +Uplifting [bitmap_clear] best 15340472 combination zp[2]:111 [ 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[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 ] zp[2]:311 [ bitmap_clear::bitmap#0 ] +Uplifting [form_mode] best 15333272 combination reg byte a [ form_mode::$11 ] zp[1]:5 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] reg byte x [ form_mode::i#2 form_mode::i#1 ] Limited combination testing to 10 combinations of 24 possible. -Uplifting [render_preset_name] best 15332912 combination reg byte a [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] zp[2]:83 [ render_preset_name::name#13 ] -Uplifting [bitmap_init] best 15332612 combination zp[2]:108 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ] zp[1]:107 [ bitmap_init::y#2 bitmap_init::y#1 ] zp[1]:302 [ bitmap_init::$0 ] zp[1]:304 [ bitmap_init::$7 ] zp[1]:305 [ bitmap_init::$8 ] zp[1]:306 [ bitmap_init::$9 ] zp[1]:303 [ bitmap_init::$10 ] +Uplifting [render_preset_name] best 15332936 combination reg byte a [ render_preset_name::idx#10 render_preset_name::idx#0 render_preset_name::idx#1 ] zp[2]:83 [ render_preset_name::name#13 ] +Uplifting [bitmap_init] best 15332636 combination zp[2]:108 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte y [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] reg byte x [ bitmap_init::x#2 bitmap_init::x#1 ] zp[1]:107 [ bitmap_init::y#2 bitmap_init::y#1 ] zp[1]:306 [ bitmap_init::$0 ] zp[1]:308 [ bitmap_init::$7 ] zp[1]:309 [ bitmap_init::$8 ] zp[1]:310 [ bitmap_init::$9 ] zp[1]:307 [ bitmap_init::$10 ] Limited combination testing to 10 combinations of 34560 possible. -Uplifting [dtvSetCpuBankSegment1] best 15332273 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] -Uplifting [gfx_init_screen2] best 15331073 combination reg byte a [ gfx_init_screen2::$0 ] reg byte a [ gfx_init_screen2::$3 ] zp[1]:254 [ gfx_init_screen2::$4 ] zp[1]:26 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] zp[1]:251 [ gfx_init_screen2::col#0 ] zp[2]:27 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] zp[1]:252 [ gfx_init_screen2::col2#0 ] zp[1]:25 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplifting [dtvSetCpuBankSegment1] best 15332297 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#13 dtvSetCpuBankSegment1::cpuBankIdx#1 dtvSetCpuBankSegment1::cpuBankIdx#11 ] +Uplifting [gfx_init_screen2] best 15331097 combination reg byte a [ gfx_init_screen2::$0 ] reg byte a [ gfx_init_screen2::$3 ] zp[1]:258 [ gfx_init_screen2::$4 ] zp[1]:26 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] zp[1]:255 [ gfx_init_screen2::col#0 ] zp[2]:27 [ gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] zp[1]:256 [ gfx_init_screen2::col2#0 ] zp[1]:25 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Limited combination testing to 10 combinations of 2304 possible. -Uplifting [gfx_init_plane_8bppchunky] best 15330043 combination reg byte x [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] zp[2]:48 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] reg byte a [ gfx_init_plane_8bppchunky::c#0 ] zp[2]:45 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] zp[2]:263 [ gfx_init_plane_8bppchunky::$5 ] zp[1]:44 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplifting [gfx_init_plane_8bppchunky] best 15330067 combination reg byte x [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] zp[2]:48 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] reg byte a [ gfx_init_plane_8bppchunky::c#0 ] zp[2]:45 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] zp[2]:267 [ gfx_init_plane_8bppchunky::$5 ] zp[1]:44 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [gfx_init_screen0] best 15328843 combination reg byte a [ gfx_init_screen0::$0 ] reg byte a [ gfx_init_screen0::$2 ] zp[1]:247 [ gfx_init_screen0::$3 ] zp[1]:18 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] zp[2]:19 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] zp[1]:245 [ gfx_init_screen0::$1 ] zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplifting [gfx_init_screen0] best 15328867 combination reg byte a [ gfx_init_screen0::$0 ] reg byte a [ gfx_init_screen0::$2 ] zp[1]:251 [ gfx_init_screen0::$3 ] zp[1]:18 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] zp[2]:19 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] zp[1]:249 [ gfx_init_screen0::$1 ] zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Limited combination testing to 10 combinations of 768 possible. -Uplifting [gfx_init_screen3] best 15327643 combination reg byte a [ gfx_init_screen3::$0 ] reg byte a [ gfx_init_screen3::$2 ] zp[1]:258 [ gfx_init_screen3::$3 ] zp[1]:30 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] zp[2]:31 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] zp[1]:256 [ gfx_init_screen3::$1 ] zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplifting [gfx_init_screen3] best 15327667 combination reg byte a [ gfx_init_screen3::$0 ] reg byte a [ gfx_init_screen3::$2 ] zp[1]:262 [ gfx_init_screen3::$3 ] zp[1]:30 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] zp[2]:31 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 ] zp[1]:260 [ gfx_init_screen3::$1 ] zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Limited combination testing to 10 combinations of 768 possible. -Uplifting [gfx_init_plane_horisontal] best 15326143 combination zp[2]:61 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] reg byte a [ gfx_init_plane_horisontal::$2 ] reg byte x [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] zp[1]:60 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] +Uplifting [gfx_init_plane_horisontal] best 15326167 combination zp[2]:61 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 ] reg byte a [ gfx_init_plane_horisontal::$2 ] reg byte x [ gfx_init_plane_horisontal::ax#2 gfx_init_plane_horisontal::ax#1 ] zp[1]:60 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Limited combination testing to 10 combinations of 16 possible. -Uplifting [gfx_init_screen1] best 15324543 combination reg byte x [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] reg byte a [ gfx_init_screen1::$0 ] zp[1]:249 [ gfx_init_screen1::$1 ] zp[2]:23 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] zp[1]:21 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] +Uplifting [gfx_init_screen1] best 15324567 combination reg byte x [ gfx_init_screen1::cx#2 gfx_init_screen1::cx#1 ] reg byte a [ gfx_init_screen1::$0 ] zp[1]:253 [ gfx_init_screen1::$1 ] zp[2]:23 [ gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 ] zp[1]:21 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [gfx_init_plane_horisontal2] best 15323543 combination reg byte a [ gfx_init_plane_horisontal2::$2 ] reg byte a [ gfx_init_plane_horisontal2::row#0 ] zp[1]:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] zp[2]:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] zp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] +Uplifting [gfx_init_plane_horisontal2] best 15323567 combination reg byte a [ gfx_init_plane_horisontal2::$2 ] reg byte a [ gfx_init_plane_horisontal2::row#0 ] zp[1]:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] zp[2]:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 ] zp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Limited combination testing to 10 combinations of 64 possible. -Uplifting [gfx_init_charset] best 15322643 combination zp[2]:40 [ gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] reg byte x [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] zp[2]:38 [ gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 ] zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] -Uplifting [gfx_init_screen4] best 15321743 combination zp[2]:34 [ gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 ] reg byte x [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] zp[1]:33 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] -Uplifting [gfx_init_plane_vertical] best 15320843 combination zp[2]:65 [ gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 ] reg byte x [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] zp[1]:64 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] -Uplifting [bitmap_line] best 15320789 combination zp[1]:262 [ bitmap_line::y1#0 ] reg byte x [ bitmap_line::y0#0 ] zp[1]:310 [ bitmap_line::yd#2 ] zp[1]:311 [ bitmap_line::yd#1 ] zp[1]:313 [ bitmap_line::yd#10 ] zp[1]:314 [ bitmap_line::yd#11 ] zp[1]:260 [ bitmap_line::x1#0 ] zp[1]:259 [ bitmap_line::x0#0 ] zp[1]:309 [ bitmap_line::xd#2 ] zp[1]:312 [ bitmap_line::xd#1 ] +Uplifting [gfx_init_charset] best 15322667 combination zp[2]:40 [ gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] reg byte x [ gfx_init_charset::l#2 gfx_init_charset::l#1 ] zp[2]:38 [ gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 ] zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] +Uplifting [gfx_init_screen4] best 15321767 combination zp[2]:34 [ gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 ] reg byte x [ gfx_init_screen4::cx#2 gfx_init_screen4::cx#1 ] zp[1]:33 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] +Uplifting [gfx_init_plane_vertical] best 15320867 combination zp[2]:65 [ gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 ] reg byte x [ gfx_init_plane_vertical::bx#2 gfx_init_plane_vertical::bx#1 ] zp[1]:64 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] +Uplifting [bitmap_line] best 15320813 combination zp[1]:266 [ bitmap_line::y1#0 ] reg byte x [ bitmap_line::y0#0 ] zp[1]:314 [ bitmap_line::yd#2 ] zp[1]:315 [ bitmap_line::yd#1 ] zp[1]:317 [ bitmap_line::yd#10 ] zp[1]:318 [ bitmap_line::yd#11 ] zp[1]:264 [ bitmap_line::x1#0 ] zp[1]:263 [ bitmap_line::x0#0 ] zp[1]:313 [ bitmap_line::xd#2 ] zp[1]:316 [ bitmap_line::xd#1 ] Limited combination testing to 10 combinations of 186624 possible. -Uplifting [gfx_init_vic_bitmap] best 15320789 combination zp[1]:43 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Uplifting [get_vic_screen] best 15320768 combination reg byte a [ get_vic_screen::idx#2 get_vic_screen::idx#0 get_vic_screen::idx#1 ] zp[2]:213 [ get_vic_screen::return#10 ] zp[2]:232 [ get_vic_screen::return#11 ] zp[2]:95 [ get_vic_screen::return#5 ] -Uplifting [get_plane] best 15320720 combination reg byte a [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ] zp[4]:165 [ get_plane::return#16 ] zp[4]:190 [ get_plane::return#17 ] zp[4]:90 [ get_plane::return#14 ] -Uplifting [get_vic_charset] best 15320711 combination reg byte a [ get_vic_charset::idx#0 ] zp[2]:222 [ get_vic_charset::return#4 ] zp[2]:97 [ get_vic_charset::return#2 ] -Uplifting [print_set_screen] best 15320711 combination zp[2]:72 [ print_set_screen::screen#2 ] -Uplifting [MOS6526_CIA] best 15320711 combination -Uplifting [MOS6569_VICII] best 15320711 combination -Uplifting [MOS6581_SID] best 15320711 combination -Uplifting [RADIX] best 15320711 combination -Uplifting [print_ln] best 15320711 combination -Uplifting [print_cls] best 15320711 combination -Uplifting [keyboard_init] best 15320711 combination -Uplifting [main] best 15320711 combination -Uplifting [gfx_init] best 15320711 combination -Uplifting [gfx_init_plane_vertical2] best 15320711 combination -Uplifting [gfx_init_plane_blank] best 15320711 combination -Uplifting [gfx_init_plane_full] best 15320711 combination +Uplifting [gfx_init_vic_bitmap] best 15320813 combination zp[1]:43 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] +Uplifting [get_vic_screen] best 15320792 combination reg byte a [ get_vic_screen::idx#2 get_vic_screen::idx#0 get_vic_screen::idx#1 ] zp[2]:217 [ get_vic_screen::return#10 ] zp[2]:236 [ get_vic_screen::return#11 ] zp[2]:95 [ get_vic_screen::return#5 ] +Uplifting [get_plane] best 15320744 combination reg byte a [ get_plane::idx#10 get_plane::idx#1 get_plane::idx#0 ] zp[4]:165 [ get_plane::return#16 ] zp[4]:192 [ get_plane::return#17 ] zp[4]:90 [ get_plane::return#14 ] +Uplifting [get_vic_charset] best 15320735 combination reg byte a [ get_vic_charset::idx#0 ] zp[2]:226 [ get_vic_charset::return#4 ] zp[2]:97 [ get_vic_charset::return#2 ] +Uplifting [print_set_screen] best 15320735 combination zp[2]:72 [ print_set_screen::screen#2 ] +Uplifting [MOS6526_CIA] best 15320735 combination +Uplifting [MOS6569_VICII] best 15320735 combination +Uplifting [MOS6581_SID] best 15320735 combination +Uplifting [RADIX] best 15320735 combination +Uplifting [print_ln] best 15320735 combination +Uplifting [print_cls] best 15320735 combination +Uplifting [keyboard_init] best 15320735 combination +Uplifting [main] best 15320735 combination +Uplifting [gfx_init] best 15320735 combination +Uplifting [gfx_init_plane_vertical2] best 15320735 combination +Uplifting [gfx_init_plane_blank] best 15320735 combination +Uplifting [gfx_init_plane_full] best 15320735 combination Attempting to uplift remaining variables inzp[1]:103 [ keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 ] -Uplifting [] best 15320711 combination zp[1]:103 [ keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 ] -Attempting to uplift remaining variables inzp[1]:300 [ keyboard_event_scan::event_type#0 ] -Uplifting [keyboard_event_scan] best 14720711 combination reg byte a [ keyboard_event_scan::event_type#0 ] -Attempting to uplift remaining variables inzp[1]:301 [ keyboard_event_scan::$23 ] -Uplifting [keyboard_event_scan] best 14120711 combination reg byte a [ keyboard_event_scan::$23 ] +Uplifting [] best 15320735 combination zp[1]:103 [ keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 ] +Attempting to uplift remaining variables inzp[1]:304 [ keyboard_event_scan::event_type#0 ] +Uplifting [keyboard_event_scan] best 14720735 combination reg byte a [ keyboard_event_scan::event_type#0 ] +Attempting to uplift remaining variables inzp[1]:305 [ keyboard_event_scan::$23 ] +Uplifting [keyboard_event_scan] best 14120735 combination reg byte a [ keyboard_event_scan::$23 ] Attempting to uplift remaining variables inzp[1]:101 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] -Uplifting [keyboard_event_scan] best 12620711 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] +Uplifting [keyboard_event_scan] best 12620735 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] Attempting to uplift remaining variables inzp[1]:102 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] -Uplifting [keyboard_event_scan] best 12620711 combination zp[1]:102 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] +Uplifting [keyboard_event_scan] best 12620735 combination zp[1]:102 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 ] Attempting to uplift remaining variables inzp[1]:99 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Uplifting [keyboard_event_scan] best 12620711 combination zp[1]:99 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Attempting to uplift remaining variables inzp[1]:288 [ keyboard_matrix_read::return#2 ] -Uplifting [keyboard_matrix_read] best 12560711 combination reg byte a [ keyboard_matrix_read::return#2 ] -Attempting to uplift remaining variables inzp[1]:289 [ keyboard_event_scan::row_scan#0 ] -Uplifting [keyboard_event_scan] best 12560711 combination zp[1]:289 [ keyboard_event_scan::row_scan#0 ] -Attempting to uplift remaining variables inzp[1]:333 [ form_field_ptr::x#0 ] -Uplifting [form_field_ptr] best 12560711 combination zp[1]:333 [ form_field_ptr::x#0 ] +Uplifting [keyboard_event_scan] best 12620735 combination zp[1]:99 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] +Attempting to uplift remaining variables inzp[1]:292 [ keyboard_matrix_read::return#2 ] +Uplifting [keyboard_matrix_read] best 12560735 combination reg byte a [ keyboard_matrix_read::return#2 ] +Attempting to uplift remaining variables inzp[1]:293 [ keyboard_event_scan::row_scan#0 ] +Uplifting [keyboard_event_scan] best 12560735 combination zp[1]:293 [ keyboard_event_scan::row_scan#0 ] +Attempting to uplift remaining variables inzp[1]:337 [ form_field_ptr::x#0 ] +Uplifting [form_field_ptr] best 12560735 combination zp[1]:337 [ form_field_ptr::x#0 ] Attempting to uplift remaining variables inzp[1]:158 [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] -Uplifting [bitmap_plot] best 12559505 combination reg byte y [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] -Attempting to uplift remaining variables inzp[1]:338 [ keyboard_event_pressed::row_bits#0 ] -Uplifting [keyboard_event_pressed] best 12559505 combination zp[1]:338 [ keyboard_event_pressed::row_bits#0 ] +Uplifting [bitmap_plot] best 12559529 combination reg byte y [ bitmap_plot::x#4 bitmap_plot::x#1 bitmap_plot::x#0 bitmap_plot::x#3 bitmap_plot::x#2 ] +Attempting to uplift remaining variables inzp[1]:342 [ keyboard_event_pressed::row_bits#0 ] +Uplifting [keyboard_event_pressed] best 12559529 combination zp[1]:342 [ keyboard_event_pressed::row_bits#0 ] Attempting to uplift remaining variables inzp[1]:133 [ keyboard_event_pressed::keycode#4 ] -Uplifting [keyboard_event_pressed] best 12559505 combination zp[1]:133 [ keyboard_event_pressed::keycode#4 ] +Uplifting [keyboard_event_pressed] best 12559529 combination zp[1]:133 [ keyboard_event_pressed::keycode#4 ] Attempting to uplift remaining variables inzp[1]:139 [ 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 12559505 combination zp[1]:139 [ 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 12559529 combination zp[1]:139 [ 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[1]:145 [ 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 12559505 combination zp[1]:145 [ 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 12559529 combination zp[1]:145 [ 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[1]:151 [ 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 12559505 combination zp[1]:151 [ 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 12559529 combination zp[1]:151 [ 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[1]:157 [ 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 12559505 combination zp[1]:157 [ 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 12559529 combination zp[1]:157 [ 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[1]:137 [ 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 ] -Uplifting [bitmap_line_ydxi] best 12559505 combination zp[1]:137 [ 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 ] +Uplifting [bitmap_line_ydxi] best 12559529 combination zp[1]:137 [ 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 ] Attempting to uplift remaining variables inzp[1]:149 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] -Uplifting [bitmap_line_ydxd] best 12559505 combination zp[1]:149 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] -Attempting to uplift remaining variables inzp[1]:340 [ keyboard_event_pressed::return#10 ] -Uplifting [keyboard_event_pressed] best 12559490 combination reg byte a [ keyboard_event_pressed::return#10 ] -Attempting to uplift remaining variables inzp[1]:290 [ keyboard_event_pressed::return#0 ] -Uplifting [keyboard_event_pressed] best 12559484 combination reg byte a [ keyboard_event_pressed::return#0 ] -Attempting to uplift remaining variables inzp[1]:291 [ keyboard_event_scan::$0 ] -Uplifting [keyboard_event_scan] best 12559478 combination reg byte a [ keyboard_event_scan::$0 ] -Attempting to uplift remaining variables inzp[1]:292 [ keyboard_event_pressed::return#1 ] -Uplifting [keyboard_event_pressed] best 12559472 combination reg byte a [ keyboard_event_pressed::return#1 ] -Attempting to uplift remaining variables inzp[1]:293 [ keyboard_event_scan::$3 ] -Uplifting [keyboard_event_scan] best 12559466 combination reg byte a [ keyboard_event_scan::$3 ] -Attempting to uplift remaining variables inzp[1]:294 [ keyboard_event_pressed::return#2 ] -Uplifting [keyboard_event_pressed] best 12559460 combination reg byte a [ keyboard_event_pressed::return#2 ] -Attempting to uplift remaining variables inzp[1]:295 [ keyboard_event_scan::$6 ] -Uplifting [keyboard_event_scan] best 12559454 combination reg byte a [ keyboard_event_scan::$6 ] -Attempting to uplift remaining variables inzp[1]:296 [ keyboard_event_pressed::return#3 ] -Uplifting [keyboard_event_pressed] best 12559448 combination reg byte a [ keyboard_event_pressed::return#3 ] -Attempting to uplift remaining variables inzp[1]:297 [ keyboard_event_scan::$9 ] -Uplifting [keyboard_event_scan] best 12559442 combination reg byte a [ keyboard_event_scan::$9 ] +Uplifting [bitmap_line_ydxd] best 12559529 combination zp[1]:149 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] +Attempting to uplift remaining variables inzp[1]:344 [ keyboard_event_pressed::return#10 ] +Uplifting [keyboard_event_pressed] best 12559514 combination reg byte a [ keyboard_event_pressed::return#10 ] +Attempting to uplift remaining variables inzp[1]:294 [ keyboard_event_pressed::return#0 ] +Uplifting [keyboard_event_pressed] best 12559508 combination reg byte a [ keyboard_event_pressed::return#0 ] +Attempting to uplift remaining variables inzp[1]:295 [ keyboard_event_scan::$0 ] +Uplifting [keyboard_event_scan] best 12559502 combination reg byte a [ keyboard_event_scan::$0 ] +Attempting to uplift remaining variables inzp[1]:296 [ keyboard_event_pressed::return#1 ] +Uplifting [keyboard_event_pressed] best 12559496 combination reg byte a [ keyboard_event_pressed::return#1 ] +Attempting to uplift remaining variables inzp[1]:297 [ keyboard_event_scan::$3 ] +Uplifting [keyboard_event_scan] best 12559490 combination reg byte a [ keyboard_event_scan::$3 ] +Attempting to uplift remaining variables inzp[1]:298 [ keyboard_event_pressed::return#2 ] +Uplifting [keyboard_event_pressed] best 12559484 combination reg byte a [ keyboard_event_pressed::return#2 ] +Attempting to uplift remaining variables inzp[1]:299 [ keyboard_event_scan::$6 ] +Uplifting [keyboard_event_scan] best 12559478 combination reg byte a [ keyboard_event_scan::$6 ] +Attempting to uplift remaining variables inzp[1]:300 [ keyboard_event_pressed::return#3 ] +Uplifting [keyboard_event_pressed] best 12559472 combination reg byte a [ keyboard_event_pressed::return#3 ] +Attempting to uplift remaining variables inzp[1]:301 [ keyboard_event_scan::$9 ] +Uplifting [keyboard_event_scan] best 12559466 combination reg byte a [ keyboard_event_scan::$9 ] Attempting to uplift remaining variables inzp[1]:138 [ 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 12559442 combination zp[1]:138 [ 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 12559466 combination zp[1]:138 [ 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[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] -Uplifting [bitmap_line_xdyi] best 12559442 combination zp[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] +Uplifting [bitmap_line_xdyi] best 12559466 combination zp[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 ] Attempting to uplift remaining variables inzp[1]:150 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] -Uplifting [bitmap_line_ydxd] best 12559442 combination zp[1]:150 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] +Uplifting [bitmap_line_ydxd] best 12559466 combination zp[1]:150 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] Attempting to uplift remaining variables inzp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] -Uplifting [bitmap_line_xdyd] best 12559442 combination zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] +Uplifting [bitmap_line_xdyd] best 12559466 combination zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] Attempting to uplift remaining variables inzp[1]:4 [ form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] -Uplifting [] best 12559442 combination zp[1]:4 [ form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] -Attempting to uplift remaining variables inzp[1]:284 [ form_control::$15 ] -Uplifting [form_control] best 12559438 combination reg byte a [ form_control::$15 ] -Attempting to uplift remaining variables inzp[1]:285 [ form_control::$22 ] -Uplifting [form_control] best 12559434 combination reg byte a [ form_control::$22 ] -Attempting to uplift remaining variables inzp[1]:286 [ form_control::$13 ] -Uplifting [form_control] best 12559428 combination reg byte a [ form_control::$13 ] +Uplifting [] best 12559466 combination zp[1]:4 [ form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] +Attempting to uplift remaining variables inzp[1]:288 [ form_control::$15 ] +Uplifting [form_control] best 12559462 combination reg byte a [ form_control::$15 ] +Attempting to uplift remaining variables inzp[1]:289 [ form_control::$22 ] +Uplifting [form_control] best 12559458 combination reg byte a [ form_control::$22 ] +Attempting to uplift remaining variables inzp[1]:290 [ form_control::$13 ] +Uplifting [form_control] best 12559452 combination reg byte a [ form_control::$13 ] Attempting to uplift remaining variables inzp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] -Uplifting [] best 12559428 combination zp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] +Uplifting [] best 12559452 combination zp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] Attempting to uplift remaining variables inzp[1]:135 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] -Uplifting [bitmap_line_ydxi] best 12559428 combination zp[1]:135 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] +Uplifting [bitmap_line_ydxi] best 12559452 combination zp[1]:135 [ bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] Attempting to uplift remaining variables inzp[1]:141 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] -Uplifting [bitmap_line_xdyi] best 12559428 combination zp[1]:141 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] +Uplifting [bitmap_line_xdyi] best 12559452 combination zp[1]:141 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] Attempting to uplift remaining variables inzp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] -Uplifting [bitmap_line_ydxd] best 12559428 combination zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] +Uplifting [bitmap_line_ydxd] best 12559452 combination zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] Attempting to uplift remaining variables inzp[1]:153 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] -Uplifting [bitmap_line_xdyd] best 12559428 combination zp[1]:153 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] -Attempting to uplift remaining variables inzp[1]:282 [ form_control::key_event#0 ] -Uplifting [form_control] best 12559416 combination reg byte a [ form_control::key_event#0 ] +Uplifting [bitmap_line_xdyd] best 12559452 combination zp[1]:153 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] +Attempting to uplift remaining variables inzp[1]:286 [ form_control::key_event#0 ] +Uplifting [form_control] best 12559440 combination reg byte a [ form_control::key_event#0 ] Attempting to uplift remaining variables inzp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] -Uplifting [bitmap_line_ydxi] best 12559416 combination zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] +Uplifting [bitmap_line_ydxi] best 12559440 combination zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] Attempting to uplift remaining variables inzp[1]:140 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] -Uplifting [bitmap_line_xdyi] best 12559416 combination zp[1]:140 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] +Uplifting [bitmap_line_xdyi] best 12559440 combination zp[1]:140 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 ] Attempting to uplift remaining variables inzp[1]:146 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] -Uplifting [bitmap_line_ydxd] best 12559416 combination zp[1]:146 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] +Uplifting [bitmap_line_ydxd] best 12559440 combination zp[1]:146 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] Attempting to uplift remaining variables inzp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] -Uplifting [bitmap_line_xdyd] best 12559416 combination zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] +Uplifting [bitmap_line_xdyd] best 12559440 combination zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] Attempting to uplift remaining variables inzp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] -Uplifting [bitmap_line_ydxi] best 12559416 combination zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] +Uplifting [bitmap_line_ydxi] best 12559440 combination zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] Attempting to uplift remaining variables inzp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] -Uplifting [bitmap_line_xdyi] best 12559416 combination zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] +Uplifting [bitmap_line_xdyi] best 12559440 combination zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] Attempting to uplift remaining variables inzp[1]:148 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] -Uplifting [bitmap_line_ydxd] best 12559416 combination zp[1]:148 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] +Uplifting [bitmap_line_ydxd] best 12559440 combination zp[1]:148 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] Attempting to uplift remaining variables inzp[1]:154 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] -Uplifting [bitmap_line_xdyd] best 12559416 combination zp[1]:154 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] +Uplifting [bitmap_line_xdyd] best 12559440 combination zp[1]:154 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] Attempting to uplift remaining variables inzp[1]:14 [ gfx_mode::cx#2 gfx_mode::cx#1 ] -Uplifting [gfx_mode] best 12550416 combination reg byte x [ gfx_mode::cx#2 gfx_mode::cx#1 ] +Uplifting [gfx_mode] best 12550440 combination reg byte x [ gfx_mode::cx#2 gfx_mode::cx#1 ] Attempting to uplift remaining variables inzp[1]:160 [ form_control::return#0 ] -Uplifting [form_control] best 12544416 combination reg byte a [ form_control::return#0 ] -Attempting to uplift remaining variables inzp[1]:275 [ form_set_screen::$1 ] -Uplifting [form_set_screen] best 12543816 combination reg byte a [ form_set_screen::$1 ] +Uplifting [form_control] best 12544440 combination reg byte a [ form_control::return#0 ] +Attempting to uplift remaining variables inzp[1]:279 [ form_set_screen::$1 ] +Uplifting [form_set_screen] best 12543840 combination reg byte a [ form_set_screen::$1 ] Attempting to uplift remaining variables inzp[1]:58 [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] -Uplifting [gfx_init_plane_charset8] best 12534816 combination reg byte x [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] +Uplifting [gfx_init_plane_charset8] best 12534840 combination reg byte x [ gfx_init_plane_charset8::cp#2 gfx_init_plane_charset8::cp#1 ] Attempting to uplift remaining variables inzp[1]:54 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] -Uplifting [gfx_init_plane_charset8] best 12534816 combination zp[1]:54 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] +Uplifting [gfx_init_plane_charset8] best 12534840 combination zp[1]:54 [ gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] Attempting to uplift remaining variables inzp[1]:57 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] -Uplifting [gfx_init_plane_charset8] best 12534816 combination zp[1]:57 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] +Uplifting [gfx_init_plane_charset8] best 12534840 combination zp[1]:57 [ gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] Attempting to uplift remaining variables inzp[1]:5 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] -Uplifting [form_mode] best 12534816 combination zp[1]:5 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] +Uplifting [form_mode] best 12534840 combination zp[1]:5 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] Attempting to uplift remaining variables inzp[1]:15 [ gfx_mode::j#2 gfx_mode::j#1 ] -Uplifting [gfx_mode] best 12533616 combination reg byte x [ gfx_mode::j#2 gfx_mode::j#1 ] +Uplifting [gfx_mode] best 12533640 combination reg byte x [ gfx_mode::j#2 gfx_mode::j#1 ] Attempting to uplift remaining variables inzp[1]:16 [ gfx_mode::i#2 gfx_mode::i#1 ] -Uplifting [gfx_mode] best 12532416 combination reg byte x [ gfx_mode::i#2 gfx_mode::i#1 ] +Uplifting [gfx_mode] best 12532440 combination reg byte x [ gfx_mode::i#2 gfx_mode::i#1 ] Attempting to uplift remaining variables inzp[1]:85 [ form_control::return#2 ] -Uplifting [form_control] best 12531407 combination reg byte x [ form_control::return#2 ] +Uplifting [form_control] best 12531431 combination reg byte x [ form_control::return#2 ] Attempting to uplift remaining variables inzp[1]:107 [ bitmap_init::y#2 bitmap_init::y#1 ] -Uplifting [bitmap_init] best 12531227 combination reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] -Attempting to uplift remaining variables inzp[1]:242 [ keyboard_event_get::return#3 ] -Uplifting [keyboard_event_get] best 12530627 combination reg byte a [ keyboard_event_get::return#3 ] -Attempting to uplift remaining variables inzp[1]:243 [ gfx_mode::keyboard_event#0 ] -Uplifting [gfx_mode] best 12530027 combination reg byte a [ gfx_mode::keyboard_event#0 ] -Attempting to uplift remaining variables inzp[1]:247 [ gfx_init_screen0::$3 ] -Uplifting [gfx_init_screen0] best 12529427 combination reg byte a [ gfx_init_screen0::$3 ] -Attempting to uplift remaining variables inzp[1]:249 [ gfx_init_screen1::$1 ] -Uplifting [gfx_init_screen1] best 12528827 combination reg byte a [ gfx_init_screen1::$1 ] -Attempting to uplift remaining variables inzp[1]:254 [ gfx_init_screen2::$4 ] -Uplifting [gfx_init_screen2] best 12528227 combination reg byte a [ gfx_init_screen2::$4 ] -Attempting to uplift remaining variables inzp[1]:258 [ gfx_init_screen3::$3 ] -Uplifting [gfx_init_screen3] best 12527627 combination reg byte a [ gfx_init_screen3::$3 ] -Attempting to uplift remaining variables inzp[1]:302 [ bitmap_init::$0 ] -Uplifting [bitmap_init] best 12527587 combination reg byte a [ bitmap_init::$0 ] -Attempting to uplift remaining variables inzp[1]:304 [ bitmap_init::$7 ] -Uplifting [bitmap_init] best 12527527 combination reg byte a [ bitmap_init::$7 ] -Attempting to uplift remaining variables inzp[1]:305 [ bitmap_init::$8 ] -Uplifting [bitmap_init] best 12527467 combination reg byte a [ bitmap_init::$8 ] -Attempting to uplift remaining variables inzp[1]:306 [ bitmap_init::$9 ] -Uplifting [bitmap_init] best 12527407 combination reg byte a [ bitmap_init::$9 ] +Uplifting [bitmap_init] best 12531251 combination reg byte x [ bitmap_init::y#2 bitmap_init::y#1 ] +Attempting to uplift remaining variables inzp[1]:246 [ keyboard_event_get::return#3 ] +Uplifting [keyboard_event_get] best 12530651 combination reg byte a [ keyboard_event_get::return#3 ] +Attempting to uplift remaining variables inzp[1]:247 [ gfx_mode::keyboard_event#0 ] +Uplifting [gfx_mode] best 12530051 combination reg byte a [ gfx_mode::keyboard_event#0 ] +Attempting to uplift remaining variables inzp[1]:251 [ gfx_init_screen0::$3 ] +Uplifting [gfx_init_screen0] best 12529451 combination reg byte a [ gfx_init_screen0::$3 ] +Attempting to uplift remaining variables inzp[1]:253 [ gfx_init_screen1::$1 ] +Uplifting [gfx_init_screen1] best 12528851 combination reg byte a [ gfx_init_screen1::$1 ] +Attempting to uplift remaining variables inzp[1]:258 [ gfx_init_screen2::$4 ] +Uplifting [gfx_init_screen2] best 12528251 combination reg byte a [ gfx_init_screen2::$4 ] +Attempting to uplift remaining variables inzp[1]:262 [ gfx_init_screen3::$3 ] +Uplifting [gfx_init_screen3] best 12527651 combination reg byte a [ gfx_init_screen3::$3 ] +Attempting to uplift remaining variables inzp[1]:306 [ bitmap_init::$0 ] +Uplifting [bitmap_init] best 12527611 combination reg byte a [ bitmap_init::$0 ] +Attempting to uplift remaining variables inzp[1]:308 [ bitmap_init::$7 ] +Uplifting [bitmap_init] best 12527551 combination reg byte a [ bitmap_init::$7 ] +Attempting to uplift remaining variables inzp[1]:309 [ bitmap_init::$8 ] +Uplifting [bitmap_init] best 12527491 combination reg byte a [ bitmap_init::$8 ] +Attempting to uplift remaining variables inzp[1]:310 [ bitmap_init::$9 ] +Uplifting [bitmap_init] best 12527431 combination reg byte a [ bitmap_init::$9 ] Attempting to uplift remaining variables inzp[1]:18 [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] -Uplifting [gfx_init_screen0] best 12526407 combination reg byte x [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] +Uplifting [gfx_init_screen0] best 12526431 combination reg byte x [ gfx_init_screen0::cx#2 gfx_init_screen0::cx#1 ] Attempting to uplift remaining variables inzp[1]:30 [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] -Uplifting [gfx_init_screen3] best 12525407 combination reg byte x [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] +Uplifting [gfx_init_screen3] best 12525431 combination reg byte x [ gfx_init_screen3::cx#2 gfx_init_screen3::cx#1 ] Attempting to uplift remaining variables inzp[1]:71 [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] -Uplifting [gfx_init_plane_horisontal2] best 12524507 combination reg byte x [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] +Uplifting [gfx_init_plane_horisontal2] best 12524531 combination reg byte x [ gfx_init_plane_horisontal2::ax#2 gfx_init_plane_horisontal2::ax#1 ] Attempting to uplift remaining variables inzp[1]:26 [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] -Uplifting [gfx_init_screen2] best 12523507 combination reg byte x [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] +Uplifting [gfx_init_screen2] best 12523531 combination reg byte x [ gfx_init_screen2::cx#2 gfx_init_screen2::cx#1 ] Attempting to uplift remaining variables inzp[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 ] -Uplifting [bitmap_clear] best 12523507 combination zp[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 ] +Uplifting [bitmap_clear] best 12523531 combination zp[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 ] Attempting to uplift remaining variables inzp[1]:120 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] -Uplifting [gfx_init_plane_fill] best 12523507 combination zp[1]:120 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] +Uplifting [gfx_init_plane_fill] best 12523531 combination zp[1]:120 [ gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] Attempting to uplift remaining variables inzp[1]:9 [ gfx_mode::cy#4 gfx_mode::cy#1 ] -Uplifting [gfx_mode] best 12523507 combination zp[1]:9 [ gfx_mode::cy#4 gfx_mode::cy#1 ] +Uplifting [gfx_mode] best 12523531 combination zp[1]:9 [ gfx_mode::cy#4 gfx_mode::cy#1 ] Attempting to uplift remaining variables inzp[1]:53 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] -Uplifting [gfx_init_plane_charset8] best 12523507 combination zp[1]:53 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] -Attempting to uplift remaining variables inzp[1]:251 [ gfx_init_screen2::col#0 ] -Uplifting [gfx_init_screen2] best 12523407 combination reg byte y [ gfx_init_screen2::col#0 ] -Attempting to uplift remaining variables inzp[1]:245 [ gfx_init_screen0::$1 ] -Uplifting [gfx_init_screen0] best 12523407 combination zp[1]:245 [ gfx_init_screen0::$1 ] -Attempting to uplift remaining variables inzp[1]:252 [ gfx_init_screen2::col2#0 ] -Uplifting [gfx_init_screen2] best 12523407 combination zp[1]:252 [ gfx_init_screen2::col2#0 ] -Attempting to uplift remaining variables inzp[1]:256 [ gfx_init_screen3::$1 ] -Uplifting [gfx_init_screen3] best 12523407 combination zp[1]:256 [ gfx_init_screen3::$1 ] -Attempting to uplift remaining variables inzp[1]:262 [ bitmap_line::y1#0 ] -Uplifting [bitmap_line] best 12523407 combination zp[1]:262 [ bitmap_line::y1#0 ] +Uplifting [gfx_init_plane_charset8] best 12523531 combination zp[1]:53 [ gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] +Attempting to uplift remaining variables inzp[1]:255 [ gfx_init_screen2::col#0 ] +Uplifting [gfx_init_screen2] best 12523431 combination reg byte y [ gfx_init_screen2::col#0 ] +Attempting to uplift remaining variables inzp[1]:249 [ gfx_init_screen0::$1 ] +Uplifting [gfx_init_screen0] best 12523431 combination zp[1]:249 [ gfx_init_screen0::$1 ] +Attempting to uplift remaining variables inzp[1]:256 [ gfx_init_screen2::col2#0 ] +Uplifting [gfx_init_screen2] best 12523431 combination zp[1]:256 [ gfx_init_screen2::col2#0 ] +Attempting to uplift remaining variables inzp[1]:260 [ gfx_init_screen3::$1 ] +Uplifting [gfx_init_screen3] best 12523431 combination zp[1]:260 [ gfx_init_screen3::$1 ] +Attempting to uplift remaining variables inzp[1]:266 [ bitmap_line::y1#0 ] +Uplifting [bitmap_line] best 12523431 combination zp[1]:266 [ bitmap_line::y1#0 ] Attempting to uplift remaining variables inzp[1]:119 [ gfx_init_plane_fill::fill#6 ] -Uplifting [gfx_init_plane_fill] best 12523407 combination zp[1]:119 [ gfx_init_plane_fill::fill#6 ] -Attempting to uplift remaining variables inzp[1]:303 [ bitmap_init::$10 ] -Uplifting [bitmap_init] best 12523407 combination zp[1]:303 [ bitmap_init::$10 ] -Attempting to uplift remaining variables inzp[1]:310 [ bitmap_line::yd#2 ] -Uplifting [bitmap_line] best 12523397 combination reg byte y [ bitmap_line::yd#2 ] -Attempting to uplift remaining variables inzp[1]:311 [ bitmap_line::yd#1 ] -Uplifting [bitmap_line] best 12523387 combination reg byte y [ bitmap_line::yd#1 ] -Attempting to uplift remaining variables inzp[1]:313 [ bitmap_line::yd#10 ] -Uplifting [bitmap_line] best 12523377 combination reg byte y [ bitmap_line::yd#10 ] -Attempting to uplift remaining variables inzp[1]:314 [ bitmap_line::yd#11 ] -Uplifting [bitmap_line] best 12523367 combination reg byte y [ bitmap_line::yd#11 ] -Attempting to uplift remaining variables inzp[1]:260 [ bitmap_line::x1#0 ] -Uplifting [bitmap_line] best 12523367 combination zp[1]:260 [ bitmap_line::x1#0 ] -Attempting to uplift remaining variables inzp[1]:259 [ bitmap_line::x0#0 ] -Uplifting [bitmap_line] best 12523367 combination zp[1]:259 [ bitmap_line::x0#0 ] -Attempting to uplift remaining variables inzp[1]:309 [ bitmap_line::xd#2 ] -Uplifting [bitmap_line] best 12523367 combination zp[1]:309 [ bitmap_line::xd#2 ] -Attempting to uplift remaining variables inzp[1]:312 [ bitmap_line::xd#1 ] -Uplifting [bitmap_line] best 12523367 combination zp[1]:312 [ bitmap_line::xd#1 ] +Uplifting [gfx_init_plane_fill] best 12523431 combination zp[1]:119 [ gfx_init_plane_fill::fill#6 ] +Attempting to uplift remaining variables inzp[1]:307 [ bitmap_init::$10 ] +Uplifting [bitmap_init] best 12523431 combination zp[1]:307 [ bitmap_init::$10 ] +Attempting to uplift remaining variables inzp[1]:314 [ bitmap_line::yd#2 ] +Uplifting [bitmap_line] best 12523421 combination reg byte y [ bitmap_line::yd#2 ] +Attempting to uplift remaining variables inzp[1]:315 [ bitmap_line::yd#1 ] +Uplifting [bitmap_line] best 12523411 combination reg byte y [ bitmap_line::yd#1 ] +Attempting to uplift remaining variables inzp[1]:317 [ bitmap_line::yd#10 ] +Uplifting [bitmap_line] best 12523401 combination reg byte y [ bitmap_line::yd#10 ] +Attempting to uplift remaining variables inzp[1]:318 [ bitmap_line::yd#11 ] +Uplifting [bitmap_line] best 12523391 combination reg byte y [ bitmap_line::yd#11 ] +Attempting to uplift remaining variables inzp[1]:264 [ bitmap_line::x1#0 ] +Uplifting [bitmap_line] best 12523391 combination zp[1]:264 [ bitmap_line::x1#0 ] +Attempting to uplift remaining variables inzp[1]:263 [ bitmap_line::x0#0 ] +Uplifting [bitmap_line] best 12523391 combination zp[1]:263 [ bitmap_line::x0#0 ] +Attempting to uplift remaining variables inzp[1]:313 [ bitmap_line::xd#2 ] +Uplifting [bitmap_line] best 12523391 combination zp[1]:313 [ bitmap_line::xd#2 ] +Attempting to uplift remaining variables inzp[1]:316 [ bitmap_line::xd#1 ] +Uplifting [bitmap_line] best 12523391 combination zp[1]:316 [ bitmap_line::xd#1 ] Attempting to uplift remaining variables inzp[1]:43 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] -Uplifting [gfx_init_vic_bitmap] best 12523367 combination zp[1]:43 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] +Uplifting [gfx_init_vic_bitmap] best 12523391 combination zp[1]:43 [ gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 ] Attempting to uplift remaining variables inzp[1]:21 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] -Uplifting [gfx_init_screen1] best 12523367 combination zp[1]:21 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] +Uplifting [gfx_init_screen1] best 12523391 combination zp[1]:21 [ gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 ] Attempting to uplift remaining variables inzp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] -Uplifting [gfx_init_plane_horisontal2] best 12523367 combination zp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] +Uplifting [gfx_init_plane_horisontal2] best 12523391 combination zp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 ] Attempting to uplift remaining variables inzp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] -Uplifting [gfx_init_screen0] best 12523367 combination zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] +Uplifting [gfx_init_screen0] best 12523391 combination zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] Attempting to uplift remaining variables inzp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] -Uplifting [gfx_init_screen3] best 12523367 combination zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] +Uplifting [gfx_init_screen3] best 12523391 combination zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 ] Attempting to uplift remaining variables inzp[1]:25 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] -Uplifting [gfx_init_screen2] best 12523367 combination zp[1]:25 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] +Uplifting [gfx_init_screen2] best 12523391 combination zp[1]:25 [ gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] Attempting to uplift remaining variables inzp[1]:60 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] -Uplifting [gfx_init_plane_horisontal] best 12523367 combination zp[1]:60 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] +Uplifting [gfx_init_plane_horisontal] best 12523391 combination zp[1]:60 [ gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 ] Attempting to uplift remaining variables inzp[1]:44 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] -Uplifting [gfx_init_plane_8bppchunky] best 12523367 combination zp[1]:44 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplifting [gfx_init_plane_8bppchunky] best 12523391 combination zp[1]:44 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] Attempting to uplift remaining variables inzp[1]:6 [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] -Uplifting [gfx_mode] best 12523348 combination reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] +Uplifting [gfx_mode] best 12523372 combination reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] Attempting to uplift remaining variables inzp[1]:33 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] -Uplifting [gfx_init_screen4] best 12523348 combination zp[1]:33 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] +Uplifting [gfx_init_screen4] best 12523372 combination zp[1]:33 [ gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] Attempting to uplift remaining variables inzp[1]:64 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] -Uplifting [gfx_init_plane_vertical] best 12523348 combination zp[1]:64 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] +Uplifting [gfx_init_plane_vertical] best 12523372 combination zp[1]:64 [ gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 ] Attempting to uplift remaining variables inzp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] -Uplifting [gfx_init_charset] best 12523348 combination zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] +Uplifting [gfx_init_charset] best 12523372 combination zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 ] Attempting to uplift remaining variables inzp[1]:50 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] -Uplifting [gfx_init_plane_charset8] best 12523348 combination zp[1]:50 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Uplifting [gfx_init_plane_charset8] best 12523372 combination zp[1]:50 [ gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] Attempting to uplift remaining variables inzp[1]:7 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] -Uplifting [gfx_mode] best 12523337 combination reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +Uplifting [gfx_mode] best 12523361 combination reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] Attempting to uplift remaining variables inzp[1]:163 [ gfx_mode::$18 ] -Uplifting [gfx_mode] best 12523331 combination reg byte a [ gfx_mode::$18 ] +Uplifting [gfx_mode] best 12523355 combination reg byte a [ gfx_mode::$18 ] Attempting to uplift remaining variables inzp[1]:179 [ gfx_mode::$23 ] -Uplifting [gfx_mode] best 12523325 combination reg byte a [ gfx_mode::$23 ] -Attempting to uplift remaining variables inzp[1]:180 [ gfx_mode::$25 ] -Uplifting [gfx_mode] best 12523319 combination reg byte a [ gfx_mode::$25 ] -Attempting to uplift remaining variables inzp[1]:183 [ gfx_mode::$27 ] -Uplifting [gfx_mode] best 12523313 combination reg byte a [ gfx_mode::$27 ] -Attempting to uplift remaining variables inzp[1]:184 [ gfx_mode::$28 ] -Uplifting [gfx_mode] best 12523307 combination reg byte a [ gfx_mode::$28 ] -Attempting to uplift remaining variables inzp[1]:185 [ gfx_mode::$29 ] -Uplifting [gfx_mode] best 12523301 combination reg byte a [ gfx_mode::$29 ] -Attempting to uplift remaining variables inzp[1]:186 [ gfx_mode::$30 ] -Uplifting [gfx_mode] best 12523295 combination reg byte a [ gfx_mode::$30 ] -Attempting to uplift remaining variables inzp[1]:187 [ gfx_mode::$31 ] -Uplifting [gfx_mode] best 12523289 combination reg byte a [ gfx_mode::$31 ] -Attempting to uplift remaining variables inzp[1]:188 [ gfx_mode::$32 ] -Uplifting [gfx_mode] best 12523283 combination reg byte a [ gfx_mode::$32 ] -Attempting to uplift remaining variables inzp[1]:204 [ gfx_mode::$37 ] -Uplifting [gfx_mode] best 12523277 combination reg byte a [ gfx_mode::$37 ] -Attempting to uplift remaining variables inzp[1]:205 [ gfx_mode::$39 ] -Uplifting [gfx_mode] best 12523271 combination reg byte a [ gfx_mode::$39 ] -Attempting to uplift remaining variables inzp[1]:208 [ gfx_mode::$41 ] -Uplifting [gfx_mode] best 12523265 combination reg byte a [ gfx_mode::$41 ] -Attempting to uplift remaining variables inzp[1]:209 [ gfx_mode::$42 ] -Uplifting [gfx_mode] best 12523259 combination reg byte a [ gfx_mode::$42 ] -Attempting to uplift remaining variables inzp[1]:210 [ gfx_mode::$43 ] -Uplifting [gfx_mode] best 12523253 combination reg byte a [ gfx_mode::$43 ] -Attempting to uplift remaining variables inzp[1]:211 [ gfx_mode::$44 ] -Uplifting [gfx_mode] best 12523247 combination reg byte a [ gfx_mode::$44 ] -Attempting to uplift remaining variables inzp[1]:212 [ gfx_mode::$45 ] -Uplifting [gfx_mode] best 12523241 combination reg byte a [ gfx_mode::$45 ] -Attempting to uplift remaining variables inzp[1]:228 [ gfx_mode::$51 ] -Uplifting [gfx_mode] best 12523235 combination reg byte a [ gfx_mode::$51 ] -Attempting to uplift remaining variables inzp[1]:230 [ gfx_mode::$84 ] -Uplifting [gfx_mode] best 12523229 combination reg byte a [ gfx_mode::$84 ] -Attempting to uplift remaining variables inzp[1]:231 [ gfx_mode::$53 ] -Uplifting [gfx_mode] best 12523223 combination reg byte a [ gfx_mode::$53 ] -Attempting to uplift remaining variables inzp[1]:234 [ gfx_mode::$55 ] -Uplifting [gfx_mode] best 12523217 combination reg byte a [ gfx_mode::$55 ] -Attempting to uplift remaining variables inzp[1]:235 [ gfx_mode::$56 ] -Uplifting [gfx_mode] best 12523211 combination reg byte a [ gfx_mode::$56 ] -Attempting to uplift remaining variables inzp[1]:236 [ gfx_mode::$57 ] -Uplifting [gfx_mode] best 12523205 combination reg byte a [ gfx_mode::$57 ] -Attempting to uplift remaining variables inzp[1]:237 [ gfx_mode::$58 ] -Uplifting [gfx_mode] best 12523199 combination reg byte a [ gfx_mode::$58 ] -Attempting to uplift remaining variables inzp[1]:238 [ gfx_mode::$59 ] -Uplifting [gfx_mode] best 12523193 combination reg byte a [ gfx_mode::$59 ] -Attempting to uplift remaining variables inzp[1]:239 [ gfx_mode::$60 ] -Uplifting [gfx_mode] best 12523187 combination reg byte a [ gfx_mode::$60 ] -Attempting to uplift remaining variables inzp[1]:240 [ gfx_mode::$61 ] -Uplifting [gfx_mode] best 12523181 combination reg byte a [ gfx_mode::$61 ] -Attempting to uplift remaining variables inzp[1]:241 [ gfx_mode::$62 ] -Uplifting [gfx_mode] best 12523175 combination reg byte a [ gfx_mode::$62 ] +Uplifting [gfx_mode] best 12523349 combination reg byte a [ gfx_mode::$23 ] +Attempting to uplift remaining variables inzp[1]:182 [ gfx_mode::$25 ] +Uplifting [gfx_mode] best 12523343 combination reg byte a [ gfx_mode::$25 ] +Attempting to uplift remaining variables inzp[1]:185 [ gfx_mode::$27 ] +Uplifting [gfx_mode] best 12523337 combination reg byte a [ gfx_mode::$27 ] +Attempting to uplift remaining variables inzp[1]:186 [ gfx_mode::$28 ] +Uplifting [gfx_mode] best 12523331 combination reg byte a [ gfx_mode::$28 ] +Attempting to uplift remaining variables inzp[1]:187 [ gfx_mode::$29 ] +Uplifting [gfx_mode] best 12523325 combination reg byte a [ gfx_mode::$29 ] +Attempting to uplift remaining variables inzp[1]:188 [ gfx_mode::$30 ] +Uplifting [gfx_mode] best 12523319 combination reg byte a [ gfx_mode::$30 ] +Attempting to uplift remaining variables inzp[1]:189 [ gfx_mode::$31 ] +Uplifting [gfx_mode] best 12523313 combination reg byte a [ gfx_mode::$31 ] +Attempting to uplift remaining variables inzp[1]:190 [ gfx_mode::$32 ] +Uplifting [gfx_mode] best 12523307 combination reg byte a [ gfx_mode::$32 ] +Attempting to uplift remaining variables inzp[1]:206 [ gfx_mode::$37 ] +Uplifting [gfx_mode] best 12523301 combination reg byte a [ gfx_mode::$37 ] +Attempting to uplift remaining variables inzp[1]:209 [ gfx_mode::$39 ] +Uplifting [gfx_mode] best 12523295 combination reg byte a [ gfx_mode::$39 ] +Attempting to uplift remaining variables inzp[1]:212 [ gfx_mode::$41 ] +Uplifting [gfx_mode] best 12523289 combination reg byte a [ gfx_mode::$41 ] +Attempting to uplift remaining variables inzp[1]:213 [ gfx_mode::$42 ] +Uplifting [gfx_mode] best 12523283 combination reg byte a [ gfx_mode::$42 ] +Attempting to uplift remaining variables inzp[1]:214 [ gfx_mode::$43 ] +Uplifting [gfx_mode] best 12523277 combination reg byte a [ gfx_mode::$43 ] +Attempting to uplift remaining variables inzp[1]:215 [ gfx_mode::$44 ] +Uplifting [gfx_mode] best 12523271 combination reg byte a [ gfx_mode::$44 ] +Attempting to uplift remaining variables inzp[1]:216 [ gfx_mode::$45 ] +Uplifting [gfx_mode] best 12523265 combination reg byte a [ gfx_mode::$45 ] +Attempting to uplift remaining variables inzp[1]:232 [ gfx_mode::$51 ] +Uplifting [gfx_mode] best 12523259 combination reg byte a [ gfx_mode::$51 ] +Attempting to uplift remaining variables inzp[1]:234 [ gfx_mode::$84 ] +Uplifting [gfx_mode] best 12523253 combination reg byte a [ gfx_mode::$84 ] +Attempting to uplift remaining variables inzp[1]:235 [ gfx_mode::$53 ] +Uplifting [gfx_mode] best 12523247 combination reg byte a [ gfx_mode::$53 ] +Attempting to uplift remaining variables inzp[1]:238 [ gfx_mode::$55 ] +Uplifting [gfx_mode] best 12523241 combination reg byte a [ gfx_mode::$55 ] +Attempting to uplift remaining variables inzp[1]:239 [ gfx_mode::$56 ] +Uplifting [gfx_mode] best 12523235 combination reg byte a [ gfx_mode::$56 ] +Attempting to uplift remaining variables inzp[1]:240 [ gfx_mode::$57 ] +Uplifting [gfx_mode] best 12523229 combination reg byte a [ gfx_mode::$57 ] +Attempting to uplift remaining variables inzp[1]:241 [ gfx_mode::$58 ] +Uplifting [gfx_mode] best 12523223 combination reg byte a [ gfx_mode::$58 ] +Attempting to uplift remaining variables inzp[1]:242 [ gfx_mode::$59 ] +Uplifting [gfx_mode] best 12523217 combination reg byte a [ gfx_mode::$59 ] +Attempting to uplift remaining variables inzp[1]:243 [ gfx_mode::$60 ] +Uplifting [gfx_mode] best 12523211 combination reg byte a [ gfx_mode::$60 ] +Attempting to uplift remaining variables inzp[1]:244 [ gfx_mode::$61 ] +Uplifting [gfx_mode] best 12523205 combination reg byte a [ gfx_mode::$61 ] +Attempting to uplift remaining variables inzp[1]:245 [ gfx_mode::$62 ] +Uplifting [gfx_mode] best 12523199 combination reg byte a [ gfx_mode::$62 ] Attempting to uplift remaining variables inzp[1]:8 [ gfx_mode::vic_control2#2 ] -Uplifting [gfx_mode] best 12523166 combination reg byte a [ gfx_mode::vic_control2#2 ] -Attempting to uplift remaining variables inzp[1]:229 [ gfx_mode::$52 ] -Uplifting [gfx_mode] best 12523166 combination zp[1]:229 [ gfx_mode::$52 ] +Uplifting [gfx_mode] best 12523190 combination reg byte a [ gfx_mode::vic_control2#2 ] +Attempting to uplift remaining variables inzp[1]:233 [ gfx_mode::$52 ] +Uplifting [gfx_mode] best 12523190 combination zp[1]:233 [ gfx_mode::$52 ] Attempting to uplift remaining variables inzp[1]:164 [ gfx_mode::plane_a_offs#0 ] -Uplifting [gfx_mode] best 12523164 combination reg byte x [ gfx_mode::plane_a_offs#0 ] -Attempting to uplift remaining variables inzp[1]:189 [ gfx_mode::plane_b_offs#0 ] -Uplifting [gfx_mode] best 12523162 combination reg byte x [ gfx_mode::plane_b_offs#0 ] -Coalescing zero page register [ zp[2]:10 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 ] ] with [ zp[2]:232 [ get_vic_screen::return#11 ] ] - score: 1 +Uplifting [gfx_mode] best 12523188 combination reg byte x [ gfx_mode::plane_a_offs#0 ] +Attempting to uplift remaining variables inzp[1]:191 [ gfx_mode::plane_b_offs#0 ] +Uplifting [gfx_mode] best 12523186 combination reg byte x [ gfx_mode::plane_b_offs#0 ] +Coalescing zero page register [ zp[2]:10 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 ] ] with [ zp[2]:236 [ get_vic_screen::return#11 ] ] - score: 1 Coalescing zero page register [ zp[2]:72 [ print_set_screen::screen#2 ] ] with [ zp[2]:126 [ print_line_cursor#22 print_line_cursor#1 print_screen#0 print_line_cursor#2 ] ] - score: 1 Coalescing zero page register [ zp[2]:83 [ render_preset_name::name#13 ] ] with [ zp[2]:129 [ print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 ] ] - score: 1 Coalescing zero page register [ zp[4]:90 [ get_plane::return#14 ] ] with [ zp[4]:165 [ get_plane::return#16 ] ] - score: 1 -Coalescing zero page register [ zp[4]:90 [ get_plane::return#14 get_plane::return#16 ] ] with [ zp[4]:190 [ get_plane::return#17 ] ] - score: 1 -Coalescing zero page register [ zp[2]:95 [ get_vic_screen::return#5 ] ] with [ zp[2]:213 [ get_vic_screen::return#10 ] ] - score: 1 -Coalescing zero page register [ zp[2]:97 [ get_vic_charset::return#2 ] ] with [ zp[2]:222 [ get_vic_charset::return#4 ] ] - score: 1 -Coalescing zero page register [ zp[2]:111 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] ] with [ zp[2]:307 [ bitmap_clear::bitmap#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] ] with [ zp[2]:326 [ gfx_init_plane_fill::gfxb#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:124 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] with [ zp[2]:270 [ memset::str#0 ] ] - score: 1 -Coalescing zero page register [ zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] ] with [ zp[1]:309 [ bitmap_line::xd#2 ] ] - score: 1 -Coalescing zero page register [ zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 ] ] with [ zp[1]:312 [ bitmap_line::xd#1 ] ] - score: 1 -Coalescing zero page register [ zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] ] with [ zp[1]:262 [ bitmap_line::y1#0 ] ] - score: 1 -Coalescing zero page register [ zp[1]:137 [ 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 ] ] with [ zp[1]:259 [ bitmap_line::x0#0 ] ] - score: 1 -Coalescing zero page register [ zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] ] with [ zp[1]:260 [ bitmap_line::x1#0 ] ] - score: 1 +Coalescing zero page register [ zp[4]:90 [ get_plane::return#14 get_plane::return#16 ] ] with [ zp[4]:192 [ get_plane::return#17 ] ] - score: 1 +Coalescing zero page register [ zp[2]:95 [ get_vic_screen::return#5 ] ] with [ zp[2]:217 [ get_vic_screen::return#10 ] ] - score: 1 +Coalescing zero page register [ zp[2]:97 [ get_vic_charset::return#2 ] ] with [ zp[2]:226 [ get_vic_charset::return#4 ] ] - score: 1 +Coalescing zero page register [ zp[2]:111 [ bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 ] ] with [ zp[2]:311 [ bitmap_clear::bitmap#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 ] ] with [ zp[2]:330 [ gfx_init_plane_fill::gfxb#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:124 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] with [ zp[2]:274 [ memset::str#0 ] ] - score: 1 +Coalescing zero page register [ zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 ] ] with [ zp[1]:313 [ bitmap_line::xd#2 ] ] - score: 1 +Coalescing zero page register [ zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 ] ] with [ zp[1]:316 [ bitmap_line::xd#1 ] ] - score: 1 +Coalescing zero page register [ zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 ] ] with [ zp[1]:266 [ bitmap_line::y1#0 ] ] - score: 1 +Coalescing zero page register [ zp[1]:137 [ 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 ] ] with [ zp[1]:263 [ bitmap_line::x0#0 ] ] - score: 1 +Coalescing zero page register [ zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 ] ] with [ zp[1]:264 [ bitmap_line::x1#0 ] ] - score: 1 Coalescing zero page register [ zp[4]:169 [ gfx_mode::$20 ] ] with [ zp[4]:173 [ gfx_mode::plane_a#0 ] ] - score: 1 -Coalescing zero page register [ zp[4]:194 [ gfx_mode::$34 ] ] with [ zp[4]:198 [ gfx_mode::plane_b#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:215 [ gfx_mode::$82 ] ] with [ zp[2]:217 [ gfx_mode::$47 ] ] - score: 1 -Coalescing zero page register [ zp[2]:224 [ gfx_mode::$83 ] ] with [ zp[2]:226 [ gfx_mode::$50 ] ] - score: 1 -Coalescing zero page register [ zp[2]:276 [ form_field_ptr::return#3 ] ] with [ zp[2]:278 [ form_control::field#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:276 [ form_field_ptr::return#3 form_control::field#0 ] ] with [ zp[2]:334 [ form_field_ptr::return#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:322 [ gfx_init_plane_fill::$4 ] ] with [ zp[2]:324 [ gfx_init_plane_fill::$5 ] ] - score: 1 -Coalescing zero page register [ zp[2]:345 [ bitmap_plot::plotter_x#0 ] ] with [ zp[2]:349 [ bitmap_plot::plotter#0 ] ] - score: 1 +Coalescing zero page register [ zp[4]:196 [ gfx_mode::$34 ] ] with [ zp[4]:200 [ gfx_mode::plane_b#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:219 [ gfx_mode::$82 ] ] with [ zp[2]:221 [ gfx_mode::$47 ] ] - score: 1 +Coalescing zero page register [ zp[2]:228 [ gfx_mode::$83 ] ] with [ zp[2]:230 [ gfx_mode::$50 ] ] - score: 1 +Coalescing zero page register [ zp[2]:280 [ form_field_ptr::return#3 ] ] with [ zp[2]:282 [ form_control::field#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:280 [ form_field_ptr::return#3 form_control::field#0 ] ] with [ zp[2]:338 [ form_field_ptr::return#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:326 [ gfx_init_plane_fill::$4 ] ] with [ zp[2]:328 [ gfx_init_plane_fill::$5 ] ] - score: 1 +Coalescing zero page register [ zp[2]:349 [ bitmap_plot::plotter_x#0 ] ] with [ zp[2]:353 [ bitmap_plot::plotter#0 ] ] - score: 1 Coalescing zero page register [ zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 bitmap_line::xd#1 ] ] with [ zp[1]:141 [ bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] ] - score: 2 Coalescing zero page register [ zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 ] ] with [ zp[1]:146 [ bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] ] - score: 2 Coalescing zero page register [ zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 ] ] with [ zp[1]:153 [ bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] ] - score: 2 Coalescing zero page register [ zp[2]:10 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 ] ] with [ zp[2]:95 [ get_vic_screen::return#5 get_vic_screen::return#10 ] ] - score: 1 Coalescing zero page register [ zp[4]:90 [ get_plane::return#14 get_plane::return#16 get_plane::return#17 ] ] with [ zp[4]:169 [ gfx_mode::$20 gfx_mode::plane_a#0 ] ] - score: 1 -Coalescing zero page register [ zp[4]:90 [ get_plane::return#14 get_plane::return#16 get_plane::return#17 gfx_mode::$20 gfx_mode::plane_a#0 ] ] with [ zp[4]:194 [ gfx_mode::$34 gfx_mode::plane_b#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:97 [ get_vic_charset::return#2 get_vic_charset::return#4 ] ] with [ zp[2]:224 [ gfx_mode::$83 gfx_mode::$50 ] ] - score: 1 -Coalescing zero page register [ zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 ] ] with [ zp[2]:322 [ gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 ] ] - score: 1 +Coalescing zero page register [ zp[4]:90 [ get_plane::return#14 get_plane::return#16 get_plane::return#17 gfx_mode::$20 gfx_mode::plane_a#0 ] ] with [ zp[4]:196 [ gfx_mode::$34 gfx_mode::plane_b#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:97 [ get_vic_charset::return#2 get_vic_charset::return#4 ] ] with [ zp[2]:228 [ gfx_mode::$83 gfx_mode::$50 ] ] - score: 1 +Coalescing zero page register [ zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 ] ] with [ zp[2]:326 [ gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 ] ] - score: 1 Coalescing zero page register [ zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 ] ] with [ zp[1]:148 [ bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] ] - score: 1 Coalescing zero page register [ zp[1]:137 [ 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 bitmap_line::x0#0 ] ] with [ zp[1]:149 [ bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] ] - score: 1 Coalescing zero page register [ zp[1]:137 [ 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 bitmap_line::x0#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 ] ] with [ zp[1]:154 [ bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:215 [ gfx_mode::$82 gfx_mode::$47 ] ] with [ zp[2]:219 [ gfx_mode::$48 ] ] - score: 1 -Coalescing zero page register [ zp[2]:10 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 ] ] with [ zp[2]:215 [ gfx_mode::$82 gfx_mode::$47 gfx_mode::$48 ] ] - score: 1 +Coalescing zero page register [ zp[2]:219 [ gfx_mode::$82 gfx_mode::$47 ] ] with [ zp[2]:223 [ gfx_mode::$48 ] ] - score: 1 +Coalescing zero page register [ zp[2]:10 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 ] ] with [ zp[2]:219 [ gfx_mode::$82 gfx_mode::$47 gfx_mode::$48 ] ] - score: 1 Coalescing zero page register [ zp[1]:9 [ gfx_mode::cy#4 gfx_mode::cy#1 ] ] with [ zp[1]:5 [ form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] ] Coalescing zero page register [ zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 ] ] with [ zp[1]:3 [ form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] ] Coalescing zero page register [ zp[2]:19 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 ] ] with [ zp[2]:10 [ gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$82 gfx_mode::$47 gfx_mode::$48 ] ] @@ -20264,17 +20288,18 @@ Coalescing zero page register [ zp[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xd Coalescing zero page register [ zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 ] ] with [ zp[1]:145 [ 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 ] ] Coalescing zero page register [ zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 ] ] with [ zp[1]:150 [ bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] ] Coalescing zero page register [ zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 ] ] with [ zp[1]:151 [ 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 ] ] -Coalescing zero page register [ zp[1]:229 [ gfx_mode::$52 ] ] with [ zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] ] -Coalescing zero page register [ zp[1]:245 [ gfx_init_screen0::$1 ] ] with [ zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] ] -Coalescing zero page register [ zp[1]:252 [ gfx_init_screen2::col2#0 ] ] with [ zp[1]:137 [ 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 bitmap_line::x0#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] ] -Coalescing zero page register [ zp[1]:256 [ gfx_init_screen3::$1 ] ] with [ zp[1]:157 [ 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 ] ] -Coalescing zero page register [ zp[2]:263 [ gfx_init_plane_8bppchunky::$5 ] ] with [ zp[2]:177 [ gfx_mode::$24 ] ] -Coalescing zero page register [ zp[2]:276 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 ] ] with [ zp[2]:181 [ gfx_mode::$26 ] ] -Coalescing zero page register [ zp[1]:303 [ bitmap_init::$10 ] ] with [ zp[1]:289 [ keyboard_event_scan::row_scan#0 ] ] -Coalescing zero page register [ zp[2]:319 [ gfx_init_plane_fill::$1 ] ] with [ zp[2]:202 [ gfx_mode::$38 ] ] -Coalescing zero page register [ zp[2]:328 [ memset::end#0 ] ] with [ zp[2]:206 [ gfx_mode::$40 ] ] -Coalescing zero page register [ zp[1]:338 [ keyboard_event_pressed::row_bits#0 ] ] with [ zp[1]:333 [ form_field_ptr::x#0 ] ] -Coalescing zero page register [ zp[2]:345 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 ] ] with [ zp[2]:331 [ form_field_ptr::line#0 ] ] +Coalescing zero page register [ zp[1]:233 [ gfx_mode::$52 ] ] with [ zp[1]:134 [ bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] ] +Coalescing zero page register [ zp[1]:249 [ gfx_init_screen0::$1 ] ] with [ zp[1]:136 [ bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] ] +Coalescing zero page register [ zp[1]:256 [ gfx_init_screen2::col2#0 ] ] with [ zp[1]:137 [ 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 bitmap_line::x0#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] ] +Coalescing zero page register [ zp[1]:260 [ gfx_init_screen3::$1 ] ] with [ zp[1]:157 [ 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 ] ] +Coalescing zero page register [ zp[2]:267 [ gfx_init_plane_8bppchunky::$5 ] ] with [ zp[2]:177 [ gfx_mode::$22 ] ] +Coalescing zero page register [ zp[2]:280 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 ] ] with [ zp[2]:180 [ gfx_mode::$24 ] ] +Coalescing zero page register [ zp[1]:307 [ bitmap_init::$10 ] ] with [ zp[1]:293 [ keyboard_event_scan::row_scan#0 ] ] +Coalescing zero page register [ zp[2]:323 [ gfx_init_plane_fill::$1 ] ] with [ zp[2]:183 [ gfx_mode::$26 ] ] +Coalescing zero page register [ zp[2]:332 [ memset::end#0 ] ] with [ zp[2]:204 [ gfx_mode::$36 ] ] +Coalescing zero page register [ zp[2]:335 [ form_field_ptr::line#0 ] ] with [ zp[2]:207 [ gfx_mode::$38 ] ] +Coalescing zero page register [ zp[1]:342 [ keyboard_event_pressed::row_bits#0 ] ] with [ zp[1]:337 [ form_field_ptr::x#0 ] ] +Coalescing zero page register [ zp[2]:349 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 ] ] with [ zp[2]:210 [ gfx_mode::$40 ] ] Coalescing zero page register [ zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 ] ] with [ zp[1]:9 [ gfx_mode::cy#4 gfx_mode::cy#1 form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] ] Coalescing zero page register [ zp[2]:31 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 ] ] with [ zp[2]:19 [ gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$82 gfx_mode::$47 gfx_mode::$48 ] ] Coalescing zero page register [ zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 ] ] with [ zp[1]:17 [ gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] ] @@ -20290,20 +20315,19 @@ Coalescing zero page register [ zp[2]:131 [ print_str_at::at#2 print_str_at::at# Coalescing zero page register [ zp[1]:133 [ keyboard_event_pressed::keycode#4 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 ] ] with [ zp[1]:68 [ gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] ] Coalescing zero page register [ zp[1]:140 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 ] ] with [ zp[1]:99 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] ] Coalescing zero page register [ zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 ] ] with [ zp[1]:143 [ bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 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 ] ] -Coalescing zero page register [ zp[1]:256 [ gfx_init_screen3::$1 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 ] ] with [ zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 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 ] ] -Coalescing zero page register [ zp[1]:303 [ bitmap_init::$10 keyboard_event_scan::row_scan#0 ] ] with [ zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 bitmap_line::x1#0 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 ] ] -Coalescing zero page register [ zp[1]:338 [ keyboard_event_pressed::row_bits#0 form_field_ptr::x#0 ] ] with [ zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 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 ] ] -Coalescing zero page register [ zp[2]:345 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 form_field_ptr::line#0 ] ] with [ zp[2]:263 [ gfx_init_plane_8bppchunky::$5 gfx_mode::$24 ] ] -Coalescing zero page register [ zp[2]:347 [ bitmap_plot::plotter_y#0 ] ] with [ zp[2]:276 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 gfx_mode::$26 ] ] +Coalescing zero page register [ zp[1]:260 [ gfx_init_screen3::$1 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 ] ] with [ zp[1]:147 [ bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 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 ] ] +Coalescing zero page register [ zp[1]:307 [ bitmap_init::$10 keyboard_event_scan::row_scan#0 ] ] with [ zp[1]:142 [ bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 bitmap_line::x1#0 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 ] ] +Coalescing zero page register [ zp[1]:342 [ keyboard_event_pressed::row_bits#0 form_field_ptr::x#0 ] ] with [ zp[1]:155 [ bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 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 ] ] +Coalescing zero page register [ zp[2]:351 [ bitmap_plot::plotter_y#0 ] ] with [ zp[2]:267 [ gfx_init_plane_8bppchunky::$5 gfx_mode::$22 ] ] Coalescing zero page register [ zp[2]:61 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 ] ] with [ zp[2]:31 [ gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$82 gfx_mode::$47 gfx_mode::$48 ] ] Coalescing zero page register [ zp[2]:69 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] ] with [ zp[2]:38 [ gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 ] ] Coalescing zero page register [ zp[1]:152 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 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 ] ] with [ zp[1]:29 [ gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_mode::cy#4 gfx_mode::cy#1 form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] ] -Coalescing zero page register [ zp[1]:229 [ gfx_mode::$52 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] ] with [ zp[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] ] -Coalescing zero page register [ zp[1]:245 [ gfx_init_screen0::$1 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] ] with [ zp[1]:119 [ gfx_init_plane_fill::fill#6 keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] ] -Coalescing zero page register [ zp[1]:252 [ gfx_init_screen2::col2#0 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 bitmap_line::x0#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] ] with [ zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] ] -Coalescing zero page register [ zp[1]:256 [ gfx_init_screen3::$1 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 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 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 ] ] with [ zp[1]:133 [ keyboard_event_pressed::keycode#4 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] ] -Coalescing zero page register [ zp[2]:319 [ gfx_init_plane_fill::$1 gfx_mode::$38 ] ] with [ zp[2]:131 [ print_str_at::at#2 print_str_at::at#0 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#0 apply_preset::preset#15 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] ] -Coalescing zero page register [ zp[2]:328 [ memset::end#0 gfx_mode::$40 ] ] with [ zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] ] +Coalescing zero page register [ zp[1]:233 [ gfx_mode::$52 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 ] ] with [ zp[1]:110 [ bitmap_clear::y#4 bitmap_clear::y#1 keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] ] +Coalescing zero page register [ zp[1]:249 [ gfx_init_screen0::$1 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 ] ] with [ zp[1]:119 [ gfx_init_plane_fill::fill#6 keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] ] +Coalescing zero page register [ zp[1]:256 [ gfx_init_screen2::col2#0 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 bitmap_line::x0#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 ] ] with [ zp[1]:37 [ gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] ] +Coalescing zero page register [ zp[1]:260 [ gfx_init_screen3::$1 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 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 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 ] ] with [ zp[1]:133 [ keyboard_event_pressed::keycode#4 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] ] +Coalescing zero page register [ zp[2]:280 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 gfx_mode::$24 ] ] with [ zp[2]:121 [ gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] ] +Coalescing zero page register [ zp[2]:323 [ gfx_init_plane_fill::$1 gfx_mode::$26 ] ] with [ zp[2]:131 [ print_str_at::at#2 print_str_at::at#0 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#0 apply_preset::preset#15 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] ] Allocated (was zp[1]:44) zp[1]:2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 gfx_init_vic_bitmap::l#2 gfx_init_vic_bitmap::l#1 gfx_init_screen1::cy#4 gfx_init_screen1::cy#1 form_field_idx#30 form_field_idx#1 form_field_idx#19 form_field_idx#33 form_field_idx#5 form_field_idx#4 ] Allocated (was zp[2]:61) zp[2]:3 [ gfx_init_plane_horisontal::gfxa#3 gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::gfxa#2 gfx_init_plane_charset8::gfxa#2 gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::gfxa#1 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 gfx_init_charset::charset#2 gfx_init_charset::charset#3 gfx_init_charset::charset#1 gfx_init_screen3::ch#2 gfx_init_screen3::ch#3 gfx_init_screen3::ch#1 gfx_init_screen2::ch#2 gfx_init_screen2::ch#3 gfx_init_screen2::ch#1 gfx_init_screen0::ch#2 gfx_init_screen0::ch#3 gfx_init_screen0::ch#1 gfx_mode::vic_colors#2 gfx_mode::vic_colors#3 gfx_mode::vic_colors#1 gfx_mode::vic_colors#0 get_vic_screen::return#11 get_vic_screen::return#5 get_vic_screen::return#10 gfx_mode::$82 gfx_mode::$47 gfx_mode::$48 ] Allocated (was zp[2]:69) zp[2]:5 [ gfx_init_plane_horisontal2::gfxa#2 gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_vertical::gfxb#2 gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::gfxb#1 gfx_init_plane_charset8::chargen#2 gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::chargen#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_charset::chargen#2 gfx_init_charset::chargen#3 gfx_init_charset::chargen#1 gfx_init_screen4::ch#2 gfx_init_screen4::ch#3 gfx_init_screen4::ch#1 gfx_init_screen1::ch#2 gfx_init_screen1::ch#3 gfx_init_screen1::ch#1 gfx_mode::col#2 gfx_mode::col#3 gfx_mode::col#1 ] @@ -20311,17 +20335,19 @@ Allocated (was zp[2]:108) zp[2]:7 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bi Allocated (was zp[4]:115) zp[4]:9 [ gfx_init_plane_fill::plane_addr#3 get_plane::return#14 get_plane::return#16 get_plane::return#17 gfx_mode::$20 gfx_mode::plane_a#0 gfx_mode::$34 gfx_mode::plane_b#0 ] Allocated (was zp[1]:140) zp[1]:13 [ bitmap_line_xdyi::yd#2 bitmap_line_xdyi::yd#1 bitmap_line_xdyi::yd#0 bitmap_line_ydxi::yd#5 bitmap_line_ydxi::yd#1 bitmap_line_ydxi::yd#0 keyboard_event_scan::row#2 keyboard_event_scan::row#1 gfx_init_plane_charset8::col#2 gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::col#1 ] Allocated (was zp[1]:152) zp[1]:14 [ bitmap_line_xdyd::yd#2 bitmap_line_xdyd::yd#1 bitmap_line_xdyd::yd#0 bitmap_line_ydxd::y#2 bitmap_line_ydxd::y#7 bitmap_line_ydxd::y#0 bitmap_line_ydxd::y#1 bitmap_line_ydxd::y#3 bitmap_line_xdyi::x#3 bitmap_line_xdyi::x#6 bitmap_line_xdyi::x#1 bitmap_line_xdyi::x#0 bitmap_line_xdyi::x#2 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 gfx_init_screen3::cy#4 gfx_init_screen3::cy#1 gfx_init_screen2::cy#4 gfx_init_screen2::cy#1 gfx_mode::cy#4 gfx_mode::cy#1 form_mode::preset_current#6 form_mode::preset_current#0 form_mode::preset_current#1 ] -Allocated (was zp[1]:229) zp[1]:15 [ gfx_mode::$52 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 bitmap_clear::y#4 bitmap_clear::y#1 keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] -Allocated (was zp[1]:245) zp[1]:16 [ gfx_init_screen0::$1 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 gfx_init_plane_fill::fill#6 keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] -Allocated (was zp[1]:252) zp[1]:17 [ gfx_init_screen2::col2#0 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 bitmap_line::x0#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] -Allocated (was zp[1]:256) zp[1]:18 [ gfx_init_screen3::$1 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 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 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 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] -Allocated (was zp[1]:303) zp[1]:19 [ bitmap_init::$10 keyboard_event_scan::row_scan#0 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 bitmap_line::x1#0 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 ] -Allocated (was zp[4]:315) zp[4]:20 [ gfx_init_plane_fill::$0 ] -Allocated (was zp[2]:319) zp[2]:24 [ gfx_init_plane_fill::$1 gfx_mode::$38 print_str_at::at#2 print_str_at::at#0 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#0 apply_preset::preset#15 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] -Allocated (was zp[2]:328) zp[2]:26 [ memset::end#0 gfx_mode::$40 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] -Allocated (was zp[1]:338) zp[1]:28 [ keyboard_event_pressed::row_bits#0 form_field_ptr::x#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 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 ] -Allocated (was zp[2]:345) zp[2]:29 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 form_field_ptr::line#0 gfx_init_plane_8bppchunky::$5 gfx_mode::$24 ] -Allocated (was zp[2]:347) zp[2]:31 [ bitmap_plot::plotter_y#0 form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 gfx_mode::$26 ] +Allocated (was zp[1]:233) zp[1]:15 [ gfx_mode::$52 bitmap_line_ydxi::xd#2 bitmap_line_ydxi::xd#1 bitmap_line_ydxi::xd#0 bitmap_line::xd#2 bitmap_line::xd#1 bitmap_line_xdyi::xd#5 bitmap_line_xdyi::xd#1 bitmap_line_xdyi::xd#0 bitmap_line_ydxd::xd#2 bitmap_line_ydxd::xd#0 bitmap_line_ydxd::xd#1 bitmap_line_xdyd::xd#5 bitmap_line_xdyd::xd#1 bitmap_line_xdyd::xd#0 bitmap_clear::y#4 bitmap_clear::y#1 keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 gfx_init_plane_horisontal::ay#4 gfx_init_plane_horisontal::ay#1 gfx_init_plane_charset8::ch#8 gfx_init_plane_charset8::ch#1 ] +Allocated (was zp[1]:249) zp[1]:16 [ gfx_init_screen0::$1 bitmap_line_ydxi::y1#6 bitmap_line_ydxi::y1#1 bitmap_line_ydxi::y1#0 bitmap_line::y1#0 bitmap_line_ydxd::y1#6 bitmap_line_ydxd::y1#0 bitmap_line_ydxd::y1#1 gfx_init_plane_fill::fill#6 keyboard_events_size#19 keyboard_events_size#107 keyboard_events_size#98 keyboard_events_size#49 keyboard_events_size#28 keyboard_events_size#25 keyboard_events_size#100 keyboard_events_size#106 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 gfx_init_plane_vertical::by#4 gfx_init_plane_vertical::by#1 gfx_init_plane_charset8::cr#6 gfx_init_plane_charset8::cr#1 ] +Allocated (was zp[1]:256) zp[1]:17 [ gfx_init_screen2::col2#0 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 bitmap_line::x0#0 bitmap_line_ydxd::x#3 bitmap_line_ydxd::x#5 bitmap_line_ydxd::x#0 bitmap_line_ydxd::x#1 bitmap_line_ydxd::x#6 bitmap_line_ydxd::x#2 bitmap_line_xdyd::x1#6 bitmap_line_xdyd::x1#1 bitmap_line_xdyd::x1#0 gfx_init_charset::c#4 gfx_init_charset::c#1 gfx_init_screen4::cy#4 gfx_init_screen4::cy#1 gfx_init_screen0::cy#4 gfx_init_screen0::cy#1 form_cursor_count#23 form_cursor_count#1 form_cursor_count#17 form_cursor_count#16 form_cursor_count#4 ] +Allocated (was zp[1]:260) zp[1]:18 [ gfx_init_screen3::$1 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 bitmap_line_ydxd::yd#5 bitmap_line_ydxd::yd#0 bitmap_line_ydxd::yd#1 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 keyboard_event_pressed::keycode#4 gfx_init_plane_fill::by#4 gfx_init_plane_fill::by#1 gfx_init_plane_horisontal2::ay#4 gfx_init_plane_horisontal2::ay#1 gfx_init_plane_charset8::bits#2 gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::bits#1 ] +Allocated (was zp[2]:280) zp[2]:19 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 gfx_mode::$24 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] +Allocated (was zp[1]:307) zp[1]:21 [ bitmap_init::$10 keyboard_event_scan::row_scan#0 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 bitmap_line::x1#0 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 ] +Allocated (was zp[4]:319) zp[4]:22 [ gfx_init_plane_fill::$0 ] +Allocated (was zp[2]:323) zp[2]:26 [ gfx_init_plane_fill::$1 gfx_mode::$26 print_str_at::at#2 print_str_at::at#0 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#0 apply_preset::preset#15 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] +Allocated (was zp[2]:332) zp[2]:28 [ memset::end#0 gfx_mode::$36 ] +Allocated (was zp[2]:335) zp[2]:30 [ form_field_ptr::line#0 gfx_mode::$38 ] +Allocated (was zp[1]:342) zp[1]:32 [ keyboard_event_pressed::row_bits#0 form_field_ptr::x#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 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 ] +Allocated (was zp[2]:349) zp[2]:33 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 gfx_mode::$40 ] +Allocated (was zp[2]:351) zp[2]:35 [ bitmap_plot::plotter_y#0 gfx_init_plane_8bppchunky::$5 gfx_mode::$22 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -20498,7 +20524,7 @@ ASSEMBLER BEFORE OPTIMIZATION .label form_vic_bg2_lo = form_fields_val+$21 .label form_vic_bg3_hi = form_fields_val+$22 .label form_vic_bg3_lo = form_fields_val+$23 - .label print_char_cursor = $18 + .label print_char_cursor = $1a .label print_line_cursor = 7 .label print_screen = 7 // Keyboard event buffer size. The number of events currently in the event buffer @@ -20595,7 +20621,7 @@ keyboard_init: { // Initialize the different graphics in the memory gfx_init: { // [16] call gfx_init_screen0 - // [234] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] + // [236] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] gfx_init_screen0_from_gfx_init: jsr gfx_init_screen0 // [17] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] @@ -20604,7 +20630,7 @@ gfx_init: { // gfx_init::@1 __b1: // [18] call gfx_init_screen1 - // [248] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] + // [250] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] gfx_init_screen1_from___b1: jsr gfx_init_screen1 // [19] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] @@ -20613,7 +20639,7 @@ gfx_init: { // gfx_init::@2 __b2: // [20] call gfx_init_screen2 - // [260] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] + // [262] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] gfx_init_screen2_from___b2: jsr gfx_init_screen2 // [21] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] @@ -20622,7 +20648,7 @@ gfx_init: { // gfx_init::@3 __b3: // [22] call gfx_init_screen3 - // [275] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] + // [277] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] gfx_init_screen3_from___b3: jsr gfx_init_screen3 // [23] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] @@ -20631,7 +20657,7 @@ gfx_init: { // gfx_init::@4 __b4: // [24] call gfx_init_screen4 - // [289] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] + // [291] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] gfx_init_screen4_from___b4: jsr gfx_init_screen4 // [25] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] @@ -20647,7 +20673,7 @@ gfx_init: { // gfx_init::@6 __b6: // [28] call gfx_init_vic_bitmap - // [311] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] + // [313] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] gfx_init_vic_bitmap_from___b6: jsr gfx_init_vic_bitmap // [29] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] @@ -20656,7 +20682,7 @@ gfx_init: { // gfx_init::@7 __b7: // [30] call gfx_init_plane_8bppchunky - // [324] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] + // [326] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] gfx_init_plane_8bppchunky_from___b7: jsr gfx_init_plane_8bppchunky // [31] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] @@ -20665,7 +20691,7 @@ gfx_init: { // gfx_init::@8 __b8: // [32] call gfx_init_plane_charset8 - // [344] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] + // [346] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] gfx_init_plane_charset8_from___b8: jsr gfx_init_plane_charset8 // [33] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] @@ -20674,7 +20700,7 @@ gfx_init: { // gfx_init::@9 __b9: // [34] call gfx_init_plane_horisontal - // [369] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] + // [371] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] gfx_init_plane_horisontal_from___b9: jsr gfx_init_plane_horisontal // [35] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] @@ -20683,7 +20709,7 @@ gfx_init: { // gfx_init::@10 __b10: // [36] call gfx_init_plane_vertical - // [387] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] + // [389] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] gfx_init_plane_vertical_from___b10: jsr gfx_init_plane_vertical // [37] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] @@ -20692,7 +20718,7 @@ gfx_init: { // gfx_init::@11 __b11: // [38] call gfx_init_plane_horisontal2 - // [400] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] + // [402] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] gfx_init_plane_horisontal2_from___b11: jsr gfx_init_plane_horisontal2 // [39] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] @@ -20701,7 +20727,7 @@ gfx_init: { // gfx_init::@12 __b12: // [40] call gfx_init_plane_vertical2 - // [415] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] + // [417] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] gfx_init_plane_vertical2_from___b12: jsr gfx_init_plane_vertical2 // [41] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] @@ -20710,7 +20736,7 @@ gfx_init: { // gfx_init::@13 __b13: // [42] call gfx_init_plane_blank - // [418] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] + // [420] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] gfx_init_plane_blank_from___b13: jsr gfx_init_plane_blank // [43] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] @@ -20719,7 +20745,7 @@ gfx_init: { // gfx_init::@14 __b14: // [44] call gfx_init_plane_full - // [421] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] + // [423] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] gfx_init_plane_full_from___b14: jsr gfx_init_plane_full jmp __breturn @@ -20734,9 +20760,9 @@ form_mode: { .label preset_current = $e // [47] call print_set_screen // Form Colors - // [424] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] + // [426] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] print_set_screen_from_form_mode: - // [424] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) COLS [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 + // [426] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) COLS [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 lda #COLS @@ -20755,9 +20781,9 @@ form_mode: { // form_mode::@9 __b9: // [51] call print_str_lines - // [430] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] + // [432] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] print_str_lines_from___b9: - // [430] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_COLS [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 + // [432] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_COLS [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_COLS @@ -20770,9 +20796,9 @@ form_mode: { __b10: // [53] call print_set_screen // Form Text - // [424] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] + // [426] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] print_set_screen_from___b10: - // [424] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) FORM_SCREEN [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 + // [426] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) FORM_SCREEN [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 lda #FORM_SCREEN @@ -20791,9 +20817,9 @@ form_mode: { // form_mode::@12 __b12: // [57] call print_str_lines - // [430] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] + // [432] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] print_str_lines_from___b12: - // [430] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_TEXT [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 + // [432] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_TEXT [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_TEXT @@ -20806,7 +20832,7 @@ form_mode: { __b13: // [59] call form_set_screen // Form Fields - // [446] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] + // [448] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] form_set_screen_from___b13: jsr form_set_screen // [60] phi from form_mode::@13 to form_mode::@14 [phi:form_mode::@13->form_mode::@14] @@ -20815,7 +20841,7 @@ form_mode: { // form_mode::@14 __b14: // [61] call form_render_values - // [456] phi from form_mode::@14 to form_render_values [phi:form_mode::@14->form_render_values] + // [458] phi from form_mode::@14 to form_render_values [phi:form_mode::@14->form_render_values] form_render_values_from___b14: jsr form_render_values jmp __b15 @@ -20824,9 +20850,9 @@ form_mode: { // [62] (byte) render_preset_name::idx#0 ← *((const byte*) form_fields_val) -- vbuaa=_deref_pbuc1 lda form_fields_val // [63] call render_preset_name - // [464] phi from form_mode::@15 to render_preset_name [phi:form_mode::@15->render_preset_name] + // [466] phi from form_mode::@15 to render_preset_name [phi:form_mode::@15->render_preset_name] render_preset_name_from___b15: - // [464] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#0 [phi:form_mode::@15->render_preset_name#0] -- register_copy + // [466] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#0 [phi:form_mode::@15->render_preset_name#0] -- register_copy jsr render_preset_name jmp __b16 // form_mode::@16 @@ -20970,7 +20996,7 @@ form_mode: { lda form_fields_val sta.z preset_current // [95] call form_render_values - // [456] phi from form_mode::@18 to form_render_values [phi:form_mode::@18->form_render_values] + // [458] phi from form_mode::@18 to form_render_values [phi:form_mode::@18->form_render_values] form_render_values_from___b18: jsr form_render_values jmp __b19 @@ -20979,9 +21005,9 @@ form_mode: { // [96] (byte) render_preset_name::idx#1 ← *((const byte*) form_fields_val) -- vbuaa=_deref_pbuc1 lda form_fields_val // [97] call render_preset_name - // [464] phi from form_mode::@19 to render_preset_name [phi:form_mode::@19->render_preset_name] + // [466] phi from form_mode::@19 to render_preset_name [phi:form_mode::@19->render_preset_name] render_preset_name_from___b19: - // [464] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#1 [phi:form_mode::@19->render_preset_name#0] -- register_copy + // [466] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#1 [phi:form_mode::@19->render_preset_name#0] -- register_copy jsr render_preset_name jmp __b3_from___b19 } @@ -20989,11 +21015,13 @@ form_mode: { // Change graphics mode to show the selected graphics mode gfx_mode: { .label __20 = 9 - .label __24 = $1d - .label __26 = $1f + .label __22 = $23 + .label __24 = $13 + .label __26 = $1a .label __34 = 9 - .label __38 = $18 - .label __40 = $1a + .label __36 = $1c + .label __38 = $1e + .label __40 = $21 .label __47 = 3 .label __48 = 3 .label __50 = 7 @@ -21194,9 +21222,9 @@ gfx_mode: { // [130] (byte) get_plane::idx#0 ← *((const nomodify byte*) form_a_pattern) -- vbuaa=_deref_pbuc1 lda form_a_pattern // [131] call get_plane - // [544] phi from gfx_mode::@9 to get_plane [phi:gfx_mode::@9->get_plane] + // [546] phi from gfx_mode::@9 to get_plane [phi:gfx_mode::@9->get_plane] get_plane_from___b9: - // [544] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#0 [phi:gfx_mode::@9->get_plane#0] -- register_copy + // [546] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#0 [phi:gfx_mode::@9->get_plane#0] -- register_copy jsr get_plane // [132] (dword) get_plane::return#16 ← (dword) get_plane::return#14 jmp __b27 @@ -21217,73 +21245,78 @@ gfx_mode: { lda.z plane_a+3 adc #0 sta.z plane_a+3 - // [135] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 -- vwuz1=_lo_vduz2 + // [135] (word~) gfx_mode::$22 ← < (dword) gfx_mode::plane_a#0 -- vwuz1=_lo_vduz2 + lda.z plane_a + sta.z __22 + lda.z plane_a+1 + sta.z __22+1 + // [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$22 -- vbuaa=_lo_vwuz1 + lda.z __22 + // [137] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$23 -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_START_LO + // [138] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 -- vwuz1=_lo_vduz2 lda.z plane_a sta.z __24 lda.z plane_a+1 sta.z __24+1 - // [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$24 -- vbuaa=_lo_vwuz1 - lda.z __24 - // [137] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$23 -- _deref_pbuc1=vbuaa - sta DTV_PLANEA_START_LO - // [138] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 -- vbuaa=_hi_vwuz1 + // [139] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 -- vbuaa=_hi_vwuz1 lda.z __24+1 - // [139] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 -- _deref_pbuc1=vbuaa + // [140] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 -- _deref_pbuc1=vbuaa sta DTV_PLANEA_START_MI - // [140] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 -- vwuz1=_hi_vduz2 + // [141] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 -- vwuz1=_hi_vduz2 lda.z plane_a+2 sta.z __26 lda.z plane_a+3 sta.z __26+1 - // [141] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 -- vbuaa=_lo_vwuz1 + // [142] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 -- vbuaa=_lo_vwuz1 lda.z __26 - // [142] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 -- _deref_pbuc1=vbuaa + // [143] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 -- _deref_pbuc1=vbuaa sta DTV_PLANEA_START_HI - // [143] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [144] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_a_step_hi asl asl asl asl - // [144] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [145] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_a_step_lo - // [145] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 -- _deref_pbuc1=vbuaa + // [146] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 -- _deref_pbuc1=vbuaa sta DTV_PLANEA_STEP - // [146] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [147] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_a_mod_hi asl asl asl asl - // [147] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [148] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_a_mod_lo - // [148] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 -- _deref_pbuc1=vbuaa + // [149] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 -- _deref_pbuc1=vbuaa sta DTV_PLANEA_MODULO_LO - // [149] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [150] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_MODULO_HI - // [150] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [151] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_b_start_hi asl asl asl asl - // [151] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) -- vbuxx=vbuaa_bor__deref_pbuc1 + // [152] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) -- vbuxx=vbuaa_bor__deref_pbuc1 ora form_b_start_lo tax - // [152] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) -- vbuaa=_deref_pbuc1 + // [153] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) -- vbuaa=_deref_pbuc1 lda form_b_pattern - // [153] call get_plane - // [544] phi from gfx_mode::@27 to get_plane [phi:gfx_mode::@27->get_plane] + // [154] call get_plane + // [546] phi from gfx_mode::@27 to get_plane [phi:gfx_mode::@27->get_plane] get_plane_from___b27: - // [544] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#1 [phi:gfx_mode::@27->get_plane#0] -- register_copy + // [546] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#1 [phi:gfx_mode::@27->get_plane#0] -- register_copy jsr get_plane - // [154] (dword) get_plane::return#17 ← (dword) get_plane::return#14 + // [155] (dword) get_plane::return#17 ← (dword) get_plane::return#14 jmp __b28 // gfx_mode::@28 __b28: - // [155] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 - // [156] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 -- vduz1=vduz1_plus_vbuxx + // [156] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 + // [157] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 -- vduz1=vduz1_plus_vbuxx txa clc adc.z plane_b @@ -21297,79 +21330,84 @@ gfx_mode: { lda.z plane_b+3 adc #0 sta.z plane_b+3 - // [157] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 -- vwuz1=_lo_vduz2 + // [158] (word~) gfx_mode::$36 ← < (dword) gfx_mode::plane_b#0 -- vwuz1=_lo_vduz2 + lda.z plane_b + sta.z __36 + lda.z plane_b+1 + sta.z __36+1 + // [159] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$36 -- vbuaa=_lo_vwuz1 + lda.z __36 + // [160] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_START_LO + // [161] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 -- vwuz1=_lo_vduz2 lda.z plane_b sta.z __38 lda.z plane_b+1 sta.z __38+1 - // [158] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$38 -- vbuaa=_lo_vwuz1 - lda.z __38 - // [159] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 -- _deref_pbuc1=vbuaa - sta DTV_PLANEB_START_LO - // [160] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 -- vbuaa=_hi_vwuz1 + // [162] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 -- vbuaa=_hi_vwuz1 lda.z __38+1 - // [161] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 -- _deref_pbuc1=vbuaa + // [163] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 -- _deref_pbuc1=vbuaa sta DTV_PLANEB_START_MI - // [162] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 -- vwuz1=_hi_vduz2 + // [164] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 -- vwuz1=_hi_vduz2 lda.z plane_b+2 sta.z __40 lda.z plane_b+3 sta.z __40+1 - // [163] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 -- vbuaa=_lo_vwuz1 + // [165] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 -- vbuaa=_lo_vwuz1 lda.z __40 - // [164] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 -- _deref_pbuc1=vbuaa + // [166] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 -- _deref_pbuc1=vbuaa sta DTV_PLANEB_START_HI - // [165] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [167] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_b_step_hi asl asl asl asl - // [166] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [168] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_b_step_lo - // [167] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 -- _deref_pbuc1=vbuaa + // [169] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 -- _deref_pbuc1=vbuaa sta DTV_PLANEB_STEP - // [168] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [170] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_b_mod_hi asl asl asl asl - // [169] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [171] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_b_mod_lo - // [170] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 -- _deref_pbuc1=vbuaa + // [172] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 -- _deref_pbuc1=vbuaa sta DTV_PLANEB_MODULO_LO - // [171] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [173] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_MODULO_HI - // [172] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 -- _deref_pbuc1=vbuc2 + // [174] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 -- _deref_pbuc1=vbuc2 // VIC Graphics Bank lda #3 sta CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR - // [173] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 -- _deref_pbuc1=vbuc2 + // [175] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 -- _deref_pbuc1=vbuc2 // Set VIC Bank bits to output - all others to input lda #3^VIC_SCREEN0/$4000 sta CIA2 - // [174] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) -- vbuaa=_deref_pbuc1 + // [176] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) -- vbuaa=_deref_pbuc1 lda form_vic_screen - // [175] call get_vic_screen - // [562] phi from gfx_mode::@28 to get_vic_screen [phi:gfx_mode::@28->get_vic_screen] + // [177] call get_vic_screen + // [564] phi from gfx_mode::@28 to get_vic_screen [phi:gfx_mode::@28->get_vic_screen] get_vic_screen_from___b28: - // [562] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#0 [phi:gfx_mode::@28->get_vic_screen#0] -- register_copy + // [564] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#0 [phi:gfx_mode::@28->get_vic_screen#0] -- register_copy jsr get_vic_screen - // [176] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 + // [178] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 jmp __b29 // gfx_mode::@29 __b29: - // [177] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 - // [178] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 + // [179] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 + // [180] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z __47 and #<$3fff sta.z __47 lda.z __47+1 and #>$3fff sta.z __47+1 - // [179] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 -- vwuz1=vwuz1_ror_6 + // [181] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 -- vwuz1=vwuz1_ror_6 lda.z __48 asl sta.z $ff @@ -21382,239 +21420,239 @@ gfx_mode: { asl.z $ff rol.z __48 rol.z __48+1 - // [180] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) -- vbuaa=_deref_pbuc1 + // [182] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) -- vbuaa=_deref_pbuc1 lda form_vic_gfx - // [181] call get_vic_charset + // [183] call get_vic_charset jsr get_vic_charset - // [182] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 + // [184] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 jmp __b30 // gfx_mode::@30 __b30: - // [183] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 - // [184] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 + // [185] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 + // [186] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z __50 and #<$3fff sta.z __50 lda.z __50+1 and #>$3fff sta.z __50+1 - // [185] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 -- vbuaa=_hi_vwuz1 + // [187] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 -- vbuaa=_hi_vwuz1 lda.z __50+1 - // [186] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 -- vbuz1=vbuaa_ror_2 + // [188] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 -- vbuz1=vbuaa_ror_2 lsr lsr sta.z __52 - // [187] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 -- vbuaa=_byte_vwuz1 + // [189] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 -- vbuaa=_byte_vwuz1 lda.z __48 - // [188] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 -- vbuaa=vbuaa_bor_vbuz1 + // [190] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 -- vbuaa=vbuaa_bor_vbuz1 ora.z __52 - // [189] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 -- _deref_pbuc1=vbuaa + // [191] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 -- _deref_pbuc1=vbuaa // Set VIC Bank // VIC memory sta VIC_MEMORY - // [190] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) -- vbuaa=_deref_pbuc1 + // [192] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) -- vbuaa=_deref_pbuc1 lda form_vic_cols - // [191] call get_vic_screen - // [562] phi from gfx_mode::@30 to get_vic_screen [phi:gfx_mode::@30->get_vic_screen] + // [193] call get_vic_screen + // [564] phi from gfx_mode::@30 to get_vic_screen [phi:gfx_mode::@30->get_vic_screen] get_vic_screen_from___b30: - // [562] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#1 [phi:gfx_mode::@30->get_vic_screen#0] -- register_copy + // [564] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#1 [phi:gfx_mode::@30->get_vic_screen#0] -- register_copy jsr get_vic_screen - // [192] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 + // [194] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 jmp __b31 // gfx_mode::@31 __b31: - // [193] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 - // [194] phi from gfx_mode::@31 to gfx_mode::@19 [phi:gfx_mode::@31->gfx_mode::@19] + // [195] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 + // [196] phi from gfx_mode::@31 to gfx_mode::@19 [phi:gfx_mode::@31->gfx_mode::@19] __b19_from___b31: - // [194] phi (byte) gfx_mode::cy#4 = (byte) 0 [phi:gfx_mode::@31->gfx_mode::@19#0] -- vbuz1=vbuc1 + // [196] phi (byte) gfx_mode::cy#4 = (byte) 0 [phi:gfx_mode::@31->gfx_mode::@19#0] -- vbuz1=vbuc1 lda #0 sta.z cy - // [194] phi (byte*) gfx_mode::col#3 = (const nomodify byte*) COLS [phi:gfx_mode::@31->gfx_mode::@19#1] -- pbuz1=pbuc1 + // [196] phi (byte*) gfx_mode::col#3 = (const nomodify byte*) COLS [phi:gfx_mode::@31->gfx_mode::@19#1] -- pbuz1=pbuc1 lda #COLS sta.z col+1 - // [194] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#0 [phi:gfx_mode::@31->gfx_mode::@19#2] -- register_copy + // [196] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#0 [phi:gfx_mode::@31->gfx_mode::@19#2] -- register_copy jmp __b19 - // [194] phi from gfx_mode::@21 to gfx_mode::@19 [phi:gfx_mode::@21->gfx_mode::@19] + // [196] phi from gfx_mode::@21 to gfx_mode::@19 [phi:gfx_mode::@21->gfx_mode::@19] __b19_from___b21: - // [194] phi (byte) gfx_mode::cy#4 = (byte) gfx_mode::cy#1 [phi:gfx_mode::@21->gfx_mode::@19#0] -- register_copy - // [194] phi (byte*) gfx_mode::col#3 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@21->gfx_mode::@19#1] -- register_copy - // [194] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@21->gfx_mode::@19#2] -- register_copy + // [196] phi (byte) gfx_mode::cy#4 = (byte) gfx_mode::cy#1 [phi:gfx_mode::@21->gfx_mode::@19#0] -- register_copy + // [196] phi (byte*) gfx_mode::col#3 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@21->gfx_mode::@19#1] -- register_copy + // [196] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@21->gfx_mode::@19#2] -- register_copy jmp __b19 // gfx_mode::@19 __b19: - // [195] phi from gfx_mode::@19 to gfx_mode::@20 [phi:gfx_mode::@19->gfx_mode::@20] + // [197] phi from gfx_mode::@19 to gfx_mode::@20 [phi:gfx_mode::@19->gfx_mode::@20] __b20_from___b19: - // [195] phi (byte) gfx_mode::cx#2 = (byte) 0 [phi:gfx_mode::@19->gfx_mode::@20#0] -- vbuxx=vbuc1 + // [197] phi (byte) gfx_mode::cx#2 = (byte) 0 [phi:gfx_mode::@19->gfx_mode::@20#0] -- vbuxx=vbuc1 ldx #0 - // [195] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#3 [phi:gfx_mode::@19->gfx_mode::@20#1] -- register_copy - // [195] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#3 [phi:gfx_mode::@19->gfx_mode::@20#2] -- register_copy + // [197] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#3 [phi:gfx_mode::@19->gfx_mode::@20#1] -- register_copy + // [197] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#3 [phi:gfx_mode::@19->gfx_mode::@20#2] -- register_copy jmp __b20 - // [195] phi from gfx_mode::@20 to gfx_mode::@20 [phi:gfx_mode::@20->gfx_mode::@20] + // [197] phi from gfx_mode::@20 to gfx_mode::@20 [phi:gfx_mode::@20->gfx_mode::@20] __b20_from___b20: - // [195] phi (byte) gfx_mode::cx#2 = (byte) gfx_mode::cx#1 [phi:gfx_mode::@20->gfx_mode::@20#0] -- register_copy - // [195] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@20->gfx_mode::@20#1] -- register_copy - // [195] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@20->gfx_mode::@20#2] -- register_copy + // [197] phi (byte) gfx_mode::cx#2 = (byte) gfx_mode::cx#1 [phi:gfx_mode::@20->gfx_mode::@20#0] -- register_copy + // [197] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@20->gfx_mode::@20#1] -- register_copy + // [197] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@20->gfx_mode::@20#2] -- register_copy jmp __b20 // gfx_mode::@20 __b20: - // [196] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) -- _deref_pbuz1=_deref_pbuz2 + // [198] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (vic_colors),y ldy #0 sta (col),y - // [197] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 -- pbuz1=_inc_pbuz1 + // [199] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 -- pbuz1=_inc_pbuz1 inc.z col bne !+ inc.z col+1 !: - // [198] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 -- pbuz1=_inc_pbuz1 + // [200] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 -- pbuz1=_inc_pbuz1 inc.z vic_colors bne !+ inc.z vic_colors+1 !: - // [199] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 -- vbuxx=_inc_vbuxx + // [201] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 -- vbuxx=_inc_vbuxx inx - // [200] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 -- vbuxx_neq_vbuc1_then_la1 + // [202] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b20_from___b20 jmp __b21 // gfx_mode::@21 __b21: - // [201] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 -- vbuz1=_inc_vbuz1 + // [203] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [202] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 -- vbuz1_neq_vbuc1_then_la1 + // [204] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b19_from___b21 jmp __b22 // gfx_mode::@22 __b22: - // [203] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [205] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2 // Background colors lda #0 sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR - // [204] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [206] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_vic_bg0_hi asl asl asl asl - // [205] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [207] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_vic_bg0_lo - // [206] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuaa + // [208] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuaa sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR - // [207] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [209] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_vic_bg1_hi asl asl asl asl - // [208] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [210] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_vic_bg1_lo - // [209] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuaa + // [211] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuaa sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1 - // [210] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [212] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_vic_bg2_hi asl asl asl asl - // [211] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [213] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_vic_bg2_lo - // [212] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuaa + // [214] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuaa sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2 - // [213] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [215] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_vic_bg3_hi asl asl asl asl - // [214] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [216] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_vic_bg3_lo - // [215] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuaa + // [217] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuaa sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3 - // [216] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 -- _deref_pbuc1_eq_0_then_la1 + // [218] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 -- _deref_pbuc1_eq_0_then_la1 // DTV Palette lda form_dtv_palet cmp #0 beq __b24_from___b22 - // [217] phi from gfx_mode::@22 to gfx_mode::@23 [phi:gfx_mode::@22->gfx_mode::@23] + // [219] phi from gfx_mode::@22 to gfx_mode::@23 [phi:gfx_mode::@22->gfx_mode::@23] __b23_from___b22: - // [217] phi (byte) gfx_mode::j#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@23#0] -- vbuxx=vbuc1 + // [219] phi (byte) gfx_mode::j#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@23#0] -- vbuxx=vbuc1 ldx #0 jmp __b23 // DTV Palette - Grey Tones - // [217] phi from gfx_mode::@23 to gfx_mode::@23 [phi:gfx_mode::@23->gfx_mode::@23] + // [219] phi from gfx_mode::@23 to gfx_mode::@23 [phi:gfx_mode::@23->gfx_mode::@23] __b23_from___b23: - // [217] phi (byte) gfx_mode::j#2 = (byte) gfx_mode::j#1 [phi:gfx_mode::@23->gfx_mode::@23#0] -- register_copy + // [219] phi (byte) gfx_mode::j#2 = (byte) gfx_mode::j#1 [phi:gfx_mode::@23->gfx_mode::@23#0] -- register_copy jmp __b23 // gfx_mode::@23 __b23: - // [218] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 -- pbuc1_derefidx_vbuxx=vbuxx + // [220] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 -- pbuc1_derefidx_vbuxx=vbuxx txa sta DTV_PALETTE,x - // [219] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 -- vbuxx=_inc_vbuxx + // [221] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 -- vbuxx=_inc_vbuxx inx - // [220] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 -- vbuxx_neq_vbuc1_then_la1 + // [222] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne __b23_from___b23 jmp __b25 // gfx_mode::@25 __b25: - // [221] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1 + // [223] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1 lda #$ff cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER bne __b25 - // [222] phi from gfx_mode::@25 to gfx_mode::@26 [phi:gfx_mode::@25->gfx_mode::@26] + // [224] phi from gfx_mode::@25 to gfx_mode::@26 [phi:gfx_mode::@25->gfx_mode::@26] __b26_from___b25: jmp __b26 // gfx_mode::@26 __b26: - // [223] call keyboard_event_scan - // [576] phi from gfx_mode::@26 to keyboard_event_scan [phi:gfx_mode::@26->keyboard_event_scan] + // [225] call keyboard_event_scan + // [578] phi from gfx_mode::@26 to keyboard_event_scan [phi:gfx_mode::@26->keyboard_event_scan] keyboard_event_scan_from___b26: - // [576] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#25 [phi:gfx_mode::@26->keyboard_event_scan#0] -- register_copy + // [578] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#25 [phi:gfx_mode::@26->keyboard_event_scan#0] -- register_copy jsr keyboard_event_scan - // [224] phi from gfx_mode::@26 to gfx_mode::@32 [phi:gfx_mode::@26->gfx_mode::@32] + // [226] phi from gfx_mode::@26 to gfx_mode::@32 [phi:gfx_mode::@26->gfx_mode::@32] __b32_from___b26: jmp __b32 // gfx_mode::@32 __b32: - // [225] call keyboard_event_get + // [227] call keyboard_event_get jsr keyboard_event_get - // [226] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 + // [228] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 jmp __b33 // gfx_mode::@33 __b33: - // [227] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 - // [228] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return -- vbuaa_eq_vbuc1_then_la1 + // [229] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 + // [230] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return -- vbuaa_eq_vbuc1_then_la1 cmp #KEY_SPACE beq __breturn jmp __b25 // gfx_mode::@return __breturn: - // [229] return + // [231] return rts // DTV Palette - default - // [230] phi from gfx_mode::@22 to gfx_mode::@24 [phi:gfx_mode::@22->gfx_mode::@24] + // [232] phi from gfx_mode::@22 to gfx_mode::@24 [phi:gfx_mode::@22->gfx_mode::@24] __b24_from___b22: - // [230] phi (byte) gfx_mode::i#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@24#0] -- vbuxx=vbuc1 + // [232] phi (byte) gfx_mode::i#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@24#0] -- vbuxx=vbuc1 ldx #0 jmp __b24 - // [230] phi from gfx_mode::@24 to gfx_mode::@24 [phi:gfx_mode::@24->gfx_mode::@24] + // [232] phi from gfx_mode::@24 to gfx_mode::@24 [phi:gfx_mode::@24->gfx_mode::@24] __b24_from___b24: - // [230] phi (byte) gfx_mode::i#2 = (byte) gfx_mode::i#1 [phi:gfx_mode::@24->gfx_mode::@24#0] -- register_copy + // [232] phi (byte) gfx_mode::i#2 = (byte) gfx_mode::i#1 [phi:gfx_mode::@24->gfx_mode::@24#0] -- register_copy jmp __b24 // gfx_mode::@24 __b24: - // [231] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + // [233] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx lda DTV_PALETTE_DEFAULT,x sta DTV_PALETTE,x - // [232] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 -- vbuxx=_inc_vbuxx + // [234] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 -- vbuxx=_inc_vbuxx inx - // [233] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 -- vbuxx_neq_vbuc1_then_la1 + // [235] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne __b24_from___b24 jmp __b25 @@ -21625,77 +21663,77 @@ gfx_init_screen0: { .label __1 = $10 .label ch = 3 .label cy = $11 - // [235] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] + // [237] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] __b1_from_gfx_init_screen0: - // [235] phi (byte*) gfx_init_screen0::ch#3 = (const nomodify byte*) VIC_SCREEN0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 + // [237] phi (byte*) gfx_init_screen0::ch#3 = (const nomodify byte*) VIC_SCREEN0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN0 sta.z ch+1 - // [235] phi (byte) gfx_init_screen0::cy#4 = (byte) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 + // [237] phi (byte) gfx_init_screen0::cy#4 = (byte) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy jmp __b1 - // [235] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] + // [237] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] __b1_from___b3: - // [235] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy - // [235] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy + // [237] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy + // [237] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy jmp __b1 // gfx_init_screen0::@1 __b1: - // [236] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] + // [238] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] __b2_from___b1: - // [236] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy - // [236] phi (byte) gfx_init_screen0::cx#2 = (byte) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuxx=vbuc1 + // [238] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy + // [238] phi (byte) gfx_init_screen0::cx#2 = (byte) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuxx=vbuc1 ldx #0 jmp __b2 - // [236] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] + // [238] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] __b2_from___b2: - // [236] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy - // [236] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy + // [238] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy + // [238] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy jmp __b2 // gfx_init_screen0::@2 __b2: - // [237] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f -- vbuaa=vbuz1_band_vbuc1 + // [239] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f -- vbuaa=vbuz1_band_vbuc1 lda #$f and.z cy - // [238] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 -- vbuz1=vbuaa_rol_4 + // [240] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 -- vbuz1=vbuaa_rol_4 asl asl asl asl sta.z __1 - // [239] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f -- vbuaa=vbuxx_band_vbuc1 + // [241] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f -- vbuaa=vbuxx_band_vbuc1 txa and #$f - // [240] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa + // [242] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa ora.z __1 - // [241] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa + // [243] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - // [242] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 + // [244] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [243] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx + // [245] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx inx - // [244] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 + // [246] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b2 jmp __b3 // gfx_init_screen0::@3 __b3: - // [245] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 + // [247] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [246] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 + // [248] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen0::@return __breturn: - // [247] return + // [249] return rts } // gfx_init_screen1 @@ -21703,69 +21741,69 @@ gfx_init_screen0: { gfx_init_screen1: { .label ch = 5 .label cy = 2 - // [249] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] + // [251] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] __b1_from_gfx_init_screen1: - // [249] phi (byte*) gfx_init_screen1::ch#3 = (const nomodify byte*) VIC_SCREEN1 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 + // [251] phi (byte*) gfx_init_screen1::ch#3 = (const nomodify byte*) VIC_SCREEN1 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN1 sta.z ch+1 - // [249] phi (byte) gfx_init_screen1::cy#4 = (byte) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 + // [251] phi (byte) gfx_init_screen1::cy#4 = (byte) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy jmp __b1 - // [249] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] + // [251] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] __b1_from___b3: - // [249] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy - // [249] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy + // [251] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy + // [251] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy jmp __b1 // gfx_init_screen1::@1 __b1: - // [250] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] + // [252] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] __b2_from___b1: - // [250] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy - // [250] phi (byte) gfx_init_screen1::cx#2 = (byte) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuxx=vbuc1 + // [252] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy + // [252] phi (byte) gfx_init_screen1::cx#2 = (byte) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuxx=vbuc1 ldx #0 jmp __b2 - // [250] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] + // [252] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] __b2_from___b2: - // [250] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy - // [250] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy + // [252] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy + // [252] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy jmp __b2 // gfx_init_screen1::@2 __b2: - // [251] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + // [253] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 txa clc adc.z cy - // [252] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f -- vbuaa=vbuaa_band_vbuc1 + // [254] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f -- vbuaa=vbuaa_band_vbuc1 and #$f - // [253] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa + // [255] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - // [254] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 + // [256] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [255] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx + // [257] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx inx - // [256] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 + // [258] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b2 jmp __b3 // gfx_init_screen1::@3 __b3: - // [257] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 + // [259] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [258] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 + // [260] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen1::@return __breturn: - // [259] return + // [261] return rts } // gfx_init_screen2 @@ -21774,84 +21812,84 @@ gfx_init_screen2: { .label col2 = $11 .label ch = 3 .label cy = $e - // [261] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] + // [263] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] __b1_from_gfx_init_screen2: - // [261] phi (byte*) gfx_init_screen2::ch#3 = (const nomodify byte*) VIC_SCREEN2 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 + // [263] phi (byte*) gfx_init_screen2::ch#3 = (const nomodify byte*) VIC_SCREEN2 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN2 sta.z ch+1 - // [261] phi (byte) gfx_init_screen2::cy#4 = (byte) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 + // [263] phi (byte) gfx_init_screen2::cy#4 = (byte) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy jmp __b1 - // [261] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] + // [263] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] __b1_from___b3: - // [261] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy - // [261] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy + // [263] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy + // [263] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy jmp __b1 // gfx_init_screen2::@1 __b1: - // [262] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] + // [264] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] __b2_from___b1: - // [262] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy - // [262] phi (byte) gfx_init_screen2::cx#2 = (byte) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuxx=vbuc1 + // [264] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy + // [264] phi (byte) gfx_init_screen2::cx#2 = (byte) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuxx=vbuc1 ldx #0 jmp __b2 - // [262] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] + // [264] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] __b2_from___b2: - // [262] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy - // [262] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy + // [264] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy + // [264] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy jmp __b2 // gfx_init_screen2::@2 __b2: - // [263] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + // [265] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 txa clc adc.z cy - // [264] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f -- vbuyy=vbuaa_band_vbuc1 + // [266] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f -- vbuyy=vbuaa_band_vbuc1 and #$f tay - // [265] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy + // [267] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy tya eor #$ff sec adc #$f sta.z col2 - // [266] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 -- vbuaa=vbuyy_rol_4 + // [268] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 -- vbuaa=vbuyy_rol_4 tya asl asl asl asl - // [267] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 + // [269] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 ora.z col2 - // [268] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa + // [270] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - // [269] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 + // [271] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [270] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx + // [272] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx inx - // [271] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 + // [273] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b2 jmp __b3 // gfx_init_screen2::@3 __b3: - // [272] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 + // [274] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [273] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [275] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen2::@return __breturn: - // [274] return + // [276] return rts } // gfx_init_screen3 @@ -21860,77 +21898,77 @@ gfx_init_screen3: { .label __1 = $12 .label ch = 3 .label cy = $e - // [276] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] + // [278] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] __b1_from_gfx_init_screen3: - // [276] phi (byte*) gfx_init_screen3::ch#3 = (const nomodify byte*) VIC_SCREEN3 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 + // [278] phi (byte*) gfx_init_screen3::ch#3 = (const nomodify byte*) VIC_SCREEN3 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN3 sta.z ch+1 - // [276] phi (byte) gfx_init_screen3::cy#4 = (byte) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 + // [278] phi (byte) gfx_init_screen3::cy#4 = (byte) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy jmp __b1 - // [276] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] + // [278] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] __b1_from___b3: - // [276] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy - // [276] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy + // [278] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy + // [278] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy jmp __b1 // gfx_init_screen3::@1 __b1: - // [277] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] + // [279] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] __b2_from___b1: - // [277] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy - // [277] phi (byte) gfx_init_screen3::cx#2 = (byte) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuxx=vbuc1 + // [279] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy + // [279] phi (byte) gfx_init_screen3::cx#2 = (byte) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuxx=vbuc1 ldx #0 jmp __b2 - // [277] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] + // [279] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] __b2_from___b2: - // [277] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy - // [277] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy + // [279] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy + // [279] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy jmp __b2 // gfx_init_screen3::@2 __b2: - // [278] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 -- vbuaa=vbuxx_band_vbuc1 + // [280] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 -- vbuaa=vbuxx_band_vbuc1 txa and #3 - // [279] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 -- vbuz1=vbuaa_rol_4 + // [281] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 -- vbuz1=vbuaa_rol_4 asl asl asl asl sta.z __1 - // [280] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 -- vbuaa=vbuz1_band_vbuc1 + // [282] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 -- vbuaa=vbuz1_band_vbuc1 lda #3 and.z cy - // [281] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa + // [283] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa ora.z __1 - // [282] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa + // [284] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y - // [283] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 + // [285] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [284] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx + // [286] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx inx - // [285] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 + // [287] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b2 jmp __b3 // gfx_init_screen3::@3 __b3: - // [286] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 + // [288] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [287] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 + // [289] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen3::@return __breturn: - // [288] return + // [290] return rts } // gfx_init_screen4 @@ -21938,64 +21976,64 @@ gfx_init_screen3: { gfx_init_screen4: { .label ch = 5 .label cy = $11 - // [290] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] + // [292] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] __b1_from_gfx_init_screen4: - // [290] phi (byte) gfx_init_screen4::cy#4 = (byte) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 + // [292] phi (byte) gfx_init_screen4::cy#4 = (byte) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 lda #0 sta.z cy - // [290] phi (byte*) gfx_init_screen4::ch#3 = (const nomodify byte*) VIC_SCREEN4 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 + // [292] phi (byte*) gfx_init_screen4::ch#3 = (const nomodify byte*) VIC_SCREEN4 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 lda #VIC_SCREEN4 sta.z ch+1 jmp __b1 - // [290] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] + // [292] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] __b1_from___b3: - // [290] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy - // [290] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy + // [292] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy + // [292] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy jmp __b1 // gfx_init_screen4::@1 __b1: - // [291] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] + // [293] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] __b2_from___b1: - // [291] phi (byte) gfx_init_screen4::cx#2 = (byte) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuxx=vbuc1 + // [293] phi (byte) gfx_init_screen4::cx#2 = (byte) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuxx=vbuc1 ldx #0 - // [291] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy + // [293] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy jmp __b2 - // [291] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] + // [293] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] __b2_from___b2: - // [291] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy - // [291] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy + // [293] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy + // [293] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy jmp __b2 // gfx_init_screen4::@2 __b2: - // [292] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 + // [294] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (ch),y - // [293] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 + // [295] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: - // [294] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx + // [296] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx inx - // [295] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 + // [297] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b2 jmp __b3 // gfx_init_screen4::@3 __b3: - // [296] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 + // [298] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [297] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 + // [299] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1_from___b3 jmp __breturn // gfx_init_screen4::@return __breturn: - // [298] return + // [300] return rts } // gfx_init_charset @@ -22003,87 +22041,87 @@ gfx_init_charset: { .label charset = 3 .label chargen = 5 .label c = $11 - // [299] *((const nomodify byte*) PROCPORT) ← (byte) $32 -- _deref_pbuc1=vbuc2 + // [301] *((const nomodify byte*) PROCPORT) ← (byte) $32 -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - // [300] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] + // [302] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] __b1_from_gfx_init_charset: - // [300] phi (byte) gfx_init_charset::c#4 = (byte) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 + // [302] phi (byte) gfx_init_charset::c#4 = (byte) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 lda #0 sta.z c - // [300] phi (byte*) gfx_init_charset::charset#3 = (const nomodify byte*) VIC_CHARSET_ROM [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 + // [302] phi (byte*) gfx_init_charset::charset#3 = (const nomodify byte*) VIC_CHARSET_ROM [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 lda #VIC_CHARSET_ROM sta.z charset+1 - // [300] phi (byte*) gfx_init_charset::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 + // [302] phi (byte*) gfx_init_charset::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 lda #CHARGEN sta.z chargen+1 jmp __b1 - // [300] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] + // [302] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] __b1_from___b3: - // [300] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy - // [300] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy - // [300] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy + // [302] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy + // [302] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy + // [302] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy jmp __b1 // gfx_init_charset::@1 __b1: - // [301] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] + // [303] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] __b2_from___b1: - // [301] phi (byte) gfx_init_charset::l#2 = (byte) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuxx=vbuc1 + // [303] phi (byte) gfx_init_charset::l#2 = (byte) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuxx=vbuc1 ldx #0 - // [301] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy - // [301] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy + // [303] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy + // [303] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy jmp __b2 - // [301] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] + // [303] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] __b2_from___b2: - // [301] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy - // [301] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy - // [301] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy + // [303] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy + // [303] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy + // [303] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy jmp __b2 // gfx_init_charset::@2 __b2: - // [302] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 + // [304] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (chargen),y ldy #0 sta (charset),y - // [303] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 + // [305] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 inc.z charset bne !+ inc.z charset+1 !: - // [304] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 + // [306] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 inc.z chargen bne !+ inc.z chargen+1 !: - // [305] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx + // [307] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx inx - // [306] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 -- vbuxx_neq_vbuc1_then_la1 + // [308] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne __b2_from___b2 jmp __b3 // gfx_init_charset::@3 __b3: - // [307] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 + // [309] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 inc.z c - // [308] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 + // [310] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 lda.z c cmp #0 bne __b1_from___b3 jmp __b4 // gfx_init_charset::@4 __b4: - // [309] *((const nomodify byte*) PROCPORT) ← (byte) $37 -- _deref_pbuc1=vbuc2 + // [311] *((const nomodify byte*) PROCPORT) ← (byte) $37 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT jmp __breturn // gfx_init_charset::@return __breturn: - // [310] return + // [312] return rts } // gfx_init_vic_bitmap @@ -22091,62 +22129,62 @@ gfx_init_charset: { gfx_init_vic_bitmap: { .const lines_cnt = 9 .label l = 2 - // [312] call bitmap_init + // [314] call bitmap_init // Draw some lines on the bitmap - // [635] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] + // [637] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] bitmap_init_from_gfx_init_vic_bitmap: jsr bitmap_init - // [313] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] + // [315] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] __b3_from_gfx_init_vic_bitmap: jmp __b3 // gfx_init_vic_bitmap::@3 __b3: - // [314] call bitmap_clear + // [316] call bitmap_clear jsr bitmap_clear - // [315] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] + // [317] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] __b1_from___b3: - // [315] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 + // [317] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 lda #0 sta.z l jmp __b1 // gfx_init_vic_bitmap::@1 __b1: - // [316] if((byte) gfx_init_vic_bitmap::l#2<(const byte) gfx_init_vic_bitmap::lines_cnt) goto gfx_init_vic_bitmap::@2 -- vbuz1_lt_vbuc1_then_la1 + // [318] if((byte) gfx_init_vic_bitmap::l#2<(const byte) gfx_init_vic_bitmap::lines_cnt) goto gfx_init_vic_bitmap::@2 -- vbuz1_lt_vbuc1_then_la1 lda.z l cmp #lines_cnt bcc __b2 jmp __breturn // gfx_init_vic_bitmap::@return __breturn: - // [317] return + // [319] return rts // gfx_init_vic_bitmap::@2 __b2: - // [318] (byte) bitmap_line::x0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [320] (byte) bitmap_line::x0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z l lda lines_x,y sta.z bitmap_line.x0 - // [319] (byte) bitmap_line::x1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [321] (byte) bitmap_line::x1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z l lda lines_x+1,y sta.z bitmap_line.x1 - // [320] (byte) bitmap_line::y0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y + (byte) gfx_init_vic_bitmap::l#2) -- vbuxx=pbuc1_derefidx_vbuz1 + // [322] (byte) bitmap_line::y0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y + (byte) gfx_init_vic_bitmap::l#2) -- vbuxx=pbuc1_derefidx_vbuz1 ldy.z l ldx lines_y,y - // [321] (byte) bitmap_line::y1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [323] (byte) bitmap_line::y1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z l lda lines_y+1,y sta.z bitmap_line.y1 - // [322] call bitmap_line + // [324] call bitmap_line jsr bitmap_line jmp __b4 // gfx_init_vic_bitmap::@4 __b4: - // [323] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 + // [325] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [315] phi from gfx_init_vic_bitmap::@4 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1] + // [317] phi from gfx_init_vic_bitmap::@4 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1] __b1_from___b4: - // [315] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1#0] -- register_copy + // [317] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1#0] -- register_copy jmp __b1 lines_x: .byte 0, $ff, $ff, 0, 0, $80, $ff, $80, 0, $80 lines_y: .byte 0, 0, $c7, $c7, 0, 0, $64, $c7, $64, 0 @@ -22154,56 +22192,56 @@ gfx_init_vic_bitmap: { // gfx_init_plane_8bppchunky // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { - .label __5 = $1d + .label __5 = $23 .label gfxb = 5 .label x = 3 .label y = 2 - // [325] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + // [327] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_8bppchunky: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000 jsr dtvSetCpuBankSegment1 - // [326] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + // [328] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] __b1_from_gfx_init_plane_8bppchunky: - // [326] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 + // [328] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 ldx #PLANE_8BPP_CHUNKY/$4000+1 - // [326] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 + // [328] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 lda #0 sta.z y - // [326] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + // [328] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxb lda #>$4000 sta.z gfxb+1 jmp __b1 - // [326] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + // [328] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] __b1_from___b5: - // [326] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy - // [326] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy - // [326] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy + // [328] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy + // [328] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy + // [328] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy jmp __b1 // gfx_init_plane_8bppchunky::@1 __b1: - // [327] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + // [329] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] __b2_from___b1: - // [327] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy - // [327] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vwuc1 + // [329] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy + // [329] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vwuc1 lda #<0 sta.z x lda #>0 sta.z x+1 - // [327] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy + // [329] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy jmp __b2 - // [327] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + // [329] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] __b2_from___b3: - // [327] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy - // [327] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy - // [327] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy + // [329] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy + // [329] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy + // [329] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy jmp __b2 // gfx_init_plane_8bppchunky::@2 __b2: - // [328] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 + // [330] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 lda.z gfxb+1 cmp #>$8000 bne __b3_from___b2 @@ -22213,35 +22251,35 @@ gfx_init_plane_8bppchunky: { jmp __b4 // gfx_init_plane_8bppchunky::@4 __b4: - // [329] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx + // [331] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx txa - // [330] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + // [332] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b4: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp __b7 // gfx_init_plane_8bppchunky::@7 __b7: - // [331] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx + // [333] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx inx - // [332] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] + // [334] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] __b3_from___b7: - // [332] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy - // [332] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + // [334] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy + // [334] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxb lda #>$4000 sta.z gfxb+1 jmp __b3 - // [332] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + // [334] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] __b3_from___b2: - // [332] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy - // [332] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy + // [334] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy + // [334] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy jmp __b3 // gfx_init_plane_8bppchunky::@3 __b3: - // [333] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 + // [335] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 lda.z y clc adc.z x @@ -22249,22 +22287,22 @@ gfx_init_plane_8bppchunky: { lda #0 adc.z x+1 sta.z __5+1 - // [334] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 -- vbuaa=_byte_vwuz1 + // [336] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 -- vbuaa=_byte_vwuz1 lda.z __5 - // [335] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa + // [337] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxb),y - // [336] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 + // [338] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 inc.z gfxb bne !+ inc.z gfxb+1 !: - // [337] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 + // [339] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 inc.z x bne !+ inc.z x+1 !: - // [338] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 + // [340] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 lda.z x+1 cmp #>$140 bne __b2_from___b3 @@ -22274,28 +22312,28 @@ gfx_init_plane_8bppchunky: { jmp __b5 // gfx_init_plane_8bppchunky::@5 __b5: - // [339] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 + // [341] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 inc.z y - // [340] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 + // [342] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z y bne __b1_from___b5 - // [341] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + // [343] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] __b6_from___b5: jmp __b6 // gfx_init_plane_8bppchunky::@6 __b6: - // [342] call dtvSetCpuBankSegment1 + // [344] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b6: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_8bppchunky::@return __breturn: - // [343] return + // [345] return rts } // gfx_init_plane_charset8 @@ -22309,164 +22347,164 @@ gfx_init_plane_charset8: { .label col = $d .label cr = $10 .label ch = $f - // [345] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] + // [347] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_charset8: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 jmp __b9 // gfx_init_plane_charset8::@9 __b9: - // [346] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM -- _deref_pbuc1=vbuc2 + // [348] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_CHARROM sta PROCPORT - // [347] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] + // [349] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] __b1_from___b9: - // [347] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 + // [349] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 lda #0 sta.z ch - // [347] phi (byte) gfx_init_plane_charset8::col#6 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 + // [349] phi (byte) gfx_init_plane_charset8::col#6 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 lda #0 sta.z col - // [347] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 + // [349] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxa lda #>$4000 sta.z gfxa+1 - // [347] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 + // [349] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 lda #CHARGEN sta.z chargen+1 jmp __b1 - // [347] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] + // [349] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] __b1_from___b7: - // [347] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy - // [347] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy - // [347] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy - // [347] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy + // [349] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy + // [349] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy + // [349] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy + // [349] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy jmp __b1 // gfx_init_plane_charset8::@1 __b1: - // [348] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] + // [350] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] __b2_from___b1: - // [348] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 + // [350] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 lda #0 sta.z cr - // [348] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy + // [350] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy jmp __b2 - // [348] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] + // [350] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] __b2_from___b6: - // [348] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy - // [348] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy + // [350] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy + // [350] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy jmp __b2 // gfx_init_plane_charset8::@2 __b2: - // [349] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 + // [351] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta.z bits - // [350] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 + // [352] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 inc.z chargen bne !+ inc.z chargen+1 !: - // [351] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] + // [353] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] __b3_from___b2: - // [351] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuxx=vbuc1 + // [353] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuxx=vbuc1 ldx #0 - // [351] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy - // [351] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy - // [351] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy + // [353] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy jmp __b3 - // [351] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] + // [353] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] __b3_from___b4: - // [351] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy - // [351] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy - // [351] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy - // [351] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy + // [353] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy jmp __b3 // gfx_init_plane_charset8::@3 __b3: - // [352] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 -- vbuaa=vbuz1_band_vbuc1 + // [354] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 -- vbuaa=vbuz1_band_vbuc1 lda #$80 and.z bits - // [353] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 + // [355] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 cmp #0 beq __b4_from___b3 jmp __b5 // gfx_init_plane_charset8::@5 __b5: - // [354] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 + // [356] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 lda.z col - // [355] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] + // [357] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] __b4_from___b5: - // [355] phi (byte) gfx_init_plane_charset8::c#2 = (byte) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy + // [357] phi (byte) gfx_init_plane_charset8::c#2 = (byte) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy jmp __b4 - // [355] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] + // [357] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] __b4_from___b3: - // [355] phi (byte) gfx_init_plane_charset8::c#2 = (byte) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuaa=vbuc1 + // [357] phi (byte) gfx_init_plane_charset8::c#2 = (byte) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuaa=vbuc1 lda #0 jmp __b4 // gfx_init_plane_charset8::@4 __b4: - // [356] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa + // [358] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxa),y - // [357] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 + // [359] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 !: - // [358] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 -- vbuz1=vbuz1_rol_1 + // [360] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 -- vbuz1=vbuz1_rol_1 asl.z bits - // [359] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 + // [361] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 inc.z col - // [360] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx + // [362] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx inx - // [361] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 -- vbuxx_neq_vbuc1_then_la1 + // [363] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne __b3_from___b4 jmp __b6 // gfx_init_plane_charset8::@6 __b6: - // [362] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 + // [364] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 inc.z cr - // [363] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 + // [365] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z cr bne __b2_from___b6 jmp __b7 // gfx_init_plane_charset8::@7 __b7: - // [364] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 + // [366] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 inc.z ch - // [365] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 + // [367] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 lda.z ch cmp #0 bne __b1_from___b7 jmp __b8 // gfx_init_plane_charset8::@8 __b8: - // [366] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO -- _deref_pbuc1=vbuc2 + // [368] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_IO sta PROCPORT - // [367] call dtvSetCpuBankSegment1 + // [369] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b8: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_charset8::@return __breturn: - // [368] return + // [370] return rts } // gfx_init_plane_horisontal @@ -22475,106 +22513,106 @@ gfx_init_plane_horisontal: { .const gfxbCpuBank = PLANE_HORISONTAL/$4000 .label gfxa = 3 .label ay = $f - // [370] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] + // [372] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - // [371] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] + // [373] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] __b1_from_gfx_init_plane_horisontal: - // [371] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 + // [373] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxa lda #>$4000 sta.z gfxa+1 - // [371] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 + // [373] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 lda #0 sta.z ay jmp __b1 - // [371] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] + // [373] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] __b1_from___b6: - // [371] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy - // [371] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy + // [373] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy + // [373] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy jmp __b1 // gfx_init_plane_horisontal::@1 __b1: - // [372] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] + // [374] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] __b2_from___b1: - // [372] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuxx=vbuc1 + // [374] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuxx=vbuc1 ldx #0 - // [372] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy + // [374] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy jmp __b2 - // [372] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] + // [374] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] __b2_from___b4: - // [372] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy - // [372] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy + // [374] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy + // [374] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy jmp __b2 // gfx_init_plane_horisontal::@2 __b2: - // [373] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 -- vbuaa=vbuz1_band_vbuc1 + // [375] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 -- vbuaa=vbuz1_band_vbuc1 lda #4 and.z ay - // [374] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 + // [376] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 cmp #0 beq __b3 jmp __b5 // gfx_init_plane_horisontal::@5 __b5: - // [375] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff -- _deref_pbuz1=vbuc1 + // [377] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y - // [376] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + // [378] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 !: - // [377] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] + // [379] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] __b4_from___b3: __b4_from___b5: - // [377] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy + // [379] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy jmp __b4 // gfx_init_plane_horisontal::@4 __b4: - // [378] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx + // [380] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx inx - // [379] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 + // [381] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b4 jmp __b6 // gfx_init_plane_horisontal::@6 __b6: - // [380] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 + // [382] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 inc.z ay - // [381] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 + // [383] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z ay bne __b1_from___b6 - // [382] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] + // [384] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] __b7_from___b6: jmp __b7 // gfx_init_plane_horisontal::@7 __b7: - // [383] call dtvSetCpuBankSegment1 + // [385] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b7: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_horisontal::@return __breturn: - // [384] return + // [386] return rts // gfx_init_plane_horisontal::@3 __b3: - // [385] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 + // [387] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (gfxa),y - // [386] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + // [388] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 @@ -22587,82 +22625,82 @@ gfx_init_plane_vertical: { .const gfxbCpuBank = PLANE_VERTICAL/$4000 .label gfxb = 5 .label by = $10 - // [388] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] + // [390] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_vertical: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - // [389] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] + // [391] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] __b1_from_gfx_init_plane_vertical: - // [389] phi (byte) gfx_init_plane_vertical::by#4 = (byte) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 + // [391] phi (byte) gfx_init_plane_vertical::by#4 = (byte) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 lda #0 sta.z by - // [389] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 + // [391] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 lda #<$4000+(PLANE_VERTICAL&$3fff) sta.z gfxb lda #>$4000+(PLANE_VERTICAL&$3fff) sta.z gfxb+1 jmp __b1 - // [389] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] + // [391] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] __b1_from___b3: - // [389] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy - // [389] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy + // [391] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy + // [391] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy jmp __b1 // gfx_init_plane_vertical::@1 __b1: - // [390] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] + // [392] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] __b2_from___b1: - // [390] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuxx=vbuc1 + // [392] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuxx=vbuc1 ldx #0 - // [390] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy + // [392] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy jmp __b2 - // [390] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] + // [392] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] __b2_from___b2: - // [390] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy - // [390] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy + // [392] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy + // [392] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy jmp __b2 // gfx_init_plane_vertical::@2 __b2: - // [391] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f -- _deref_pbuz1=vbuc1 + // [393] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y - // [392] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 + // [394] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 inc.z gfxb bne !+ inc.z gfxb+1 !: - // [393] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx + // [395] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx inx - // [394] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 + // [396] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b2 jmp __b3 // gfx_init_plane_vertical::@3 __b3: - // [395] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 + // [397] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 inc.z by - // [396] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 + // [398] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z by bne __b1_from___b3 - // [397] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] + // [399] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] __b4_from___b3: jmp __b4 // gfx_init_plane_vertical::@4 __b4: - // [398] call dtvSetCpuBankSegment1 + // [400] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b4: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_vertical::@return __breturn: - // [399] return + // [401] return rts } // gfx_init_plane_horisontal2 @@ -22671,101 +22709,101 @@ gfx_init_plane_horisontal2: { .const gfxbCpuBank = PLANE_HORISONTAL2/$4000 .label gfxa = 5 .label ay = $12 - // [401] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] + // [403] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_horisontal2: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - // [402] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] + // [404] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] __b1_from_gfx_init_plane_horisontal2: - // [402] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 + // [404] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxa lda #>$4000 sta.z gfxa+1 - // [402] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 + // [404] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 lda #0 sta.z ay jmp __b1 - // [402] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] + // [404] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] __b1_from___b3: - // [402] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy - // [402] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy + // [404] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy + // [404] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy jmp __b1 // gfx_init_plane_horisontal2::@1 __b1: - // [403] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] + // [405] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] __b2_from___b1: - // [403] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuxx=vbuc1 + // [405] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuxx=vbuc1 ldx #0 - // [403] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy + // [405] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy jmp __b2 - // [403] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] + // [405] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] __b2_from___b2: - // [403] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy - // [403] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy + // [405] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy + // [405] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy jmp __b2 // gfx_init_plane_horisontal2::@2 __b2: - // [404] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 -- vbuaa=vbuz1_ror_1 + // [406] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 -- vbuaa=vbuz1_ror_1 lda.z ay lsr - // [405] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 -- vbuaa=vbuaa_band_vbuc1 + // [407] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 -- vbuaa=vbuaa_band_vbuc1 and #3 - // [406] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuaa + // [408] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuaa tay lda row_bitmask,y ldy #0 sta (gfxa),y - // [407] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 + // [409] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 !: - // [408] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx + // [410] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx inx - // [409] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 + // [411] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b2 jmp __b3 // gfx_init_plane_horisontal2::@3 __b3: - // [410] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 + // [412] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 inc.z ay - // [411] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [413] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z ay bne __b1_from___b3 - // [412] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] + // [414] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] __b4_from___b3: jmp __b4 // gfx_init_plane_horisontal2::@4 __b4: - // [413] call dtvSetCpuBankSegment1 + // [415] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b4: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_horisontal2::@return __breturn: - // [414] return + // [416] return rts row_bitmask: .byte 0, $55, $aa, $ff } // gfx_init_plane_vertical2 // Initialize Plane with Vertical Stripes every 2 pixels gfx_init_plane_vertical2: { - // [416] call gfx_init_plane_fill - // [737] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] + // [418] call gfx_init_plane_fill + // [739] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_vertical2: - // [737] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + // [739] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$1b sta.z gfx_init_plane_fill.fill - // [737] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_VERTICAL2 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 + // [739] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_VERTICAL2 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_VERTICAL2 @@ -22778,19 +22816,19 @@ gfx_init_plane_vertical2: { jmp __breturn // gfx_init_plane_vertical2::@return __breturn: - // [417] return + // [419] return rts } // gfx_init_plane_blank // Initialize Plane with blank pixels gfx_init_plane_blank: { - // [419] call gfx_init_plane_fill - // [737] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] + // [421] call gfx_init_plane_fill + // [739] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_blank: - // [737] phi (byte) gfx_init_plane_fill::fill#6 = (byte) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + // [739] phi (byte) gfx_init_plane_fill::fill#6 = (byte) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #0 sta.z gfx_init_plane_fill.fill - // [737] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_BLANK [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 + // [739] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_BLANK [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_BLANK @@ -22803,19 +22841,19 @@ gfx_init_plane_blank: { jmp __breturn // gfx_init_plane_blank::@return __breturn: - // [420] return + // [422] return rts } // gfx_init_plane_full // Initialize Plane with all pixels gfx_init_plane_full: { - // [422] call gfx_init_plane_fill - // [737] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] + // [424] call gfx_init_plane_fill + // [739] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] gfx_init_plane_fill_from_gfx_init_plane_full: - // [737] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + // [739] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$ff sta.z gfx_init_plane_fill.fill - // [737] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_FULL [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 + // [739] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_FULL [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_FULL @@ -22828,7 +22866,7 @@ gfx_init_plane_full: { jmp __breturn // gfx_init_plane_full::@return __breturn: - // [423] return + // [425] return rts } // print_set_screen @@ -22836,52 +22874,52 @@ gfx_init_plane_full: { // print_set_screen(byte* zp(7) screen) print_set_screen: { .label screen = 7 - // [425] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 + // [427] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 jmp __breturn // print_set_screen::@return __breturn: - // [426] return + // [428] return rts } // print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { - // [427] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 -- pvoz1=pvoz2 + // [429] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 -- pvoz1=pvoz2 lda.z print_screen sta.z memset.str lda.z print_screen+1 sta.z memset.str+1 - // [428] call memset - // [758] phi from print_cls to memset [phi:print_cls->memset] + // [430] call memset + // [760] phi from print_cls to memset [phi:print_cls->memset] memset_from_print_cls: jsr memset jmp __breturn // print_cls::@return __breturn: - // [429] return + // [431] return rts } // print_str_lines // Print a number of zero-terminated strings, each followed by a newline. // The sequence of lines is terminated by another zero. -// print_str_lines(byte* zp($1a) str) +// print_str_lines(byte* zp($13) str) print_str_lines: { - .label str = $1a - // [431] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 -- pbuz1=pbuz2 + .label str = $13 + // [433] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 -- pbuz1=pbuz2 lda.z print_screen sta.z print_char_cursor lda.z print_screen+1 sta.z print_char_cursor+1 - // [432] phi from print_str_lines print_str_lines::@6 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1] + // [434] phi from print_str_lines print_str_lines::@6 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1] __b1_from_print_str_lines: __b1_from___b6: - // [432] phi (byte*) print_line_cursor#1 = (byte*) print_screen#0 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#0] -- register_copy - // [432] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#72 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#1] -- register_copy - // [432] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#2] -- register_copy + // [434] phi (byte*) print_line_cursor#1 = (byte*) print_screen#0 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#0] -- register_copy + // [434] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#72 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#1] -- register_copy + // [434] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#2] -- register_copy jmp __b1 // print_str_lines::@1 __b1: - // [433] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + // [435] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 -- vbuc1_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 @@ -22889,56 +22927,56 @@ print_str_lines: { jmp __breturn // print_str_lines::@return __breturn: - // [434] return + // [436] return rts - // [435] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] + // [437] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] __b2_from___b1: __b2_from___b3: - // [435] phi (byte*) print_char_cursor#43 = (byte*) print_char_cursor#2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy - // [435] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy + // [437] phi (byte*) print_char_cursor#43 = (byte*) print_char_cursor#2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy + // [437] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy jmp __b2 // print_str_lines::@2 __b2: - // [436] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 + // [438] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - // [437] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 + // [439] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 !: - // [438] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 -- vbuc1_eq_vbuaa_then_la1 + // [440] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 -- vbuc1_eq_vbuaa_then_la1 cmp #0 beq __b3_from___b2 jmp __b4 // print_str_lines::@4 __b4: - // [439] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 - // [440] call print_char + // [441] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 + // [442] call print_char jsr print_char - // [441] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] + // [443] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] __b3_from___b2: __b3_from___b4: - // [441] phi (byte*) print_char_cursor#44 = (byte*) print_char_cursor#43 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy + // [443] phi (byte*) print_char_cursor#44 = (byte*) print_char_cursor#43 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy jmp __b3 // print_str_lines::@3 __b3: - // [442] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 -- vbuc1_neq_vbuaa_then_la1 + // [444] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 -- vbuc1_neq_vbuaa_then_la1 cmp #0 bne __b2_from___b3 - // [443] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] + // [445] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] __b5_from___b3: jmp __b5 // print_str_lines::@5 __b5: - // [444] call print_ln - // [769] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] + // [446] call print_ln + // [771] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] print_ln_from___b5: jsr print_ln jmp __b6 // print_str_lines::@6 __b6: - // [445] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 -- pbuz1=pbuz2 + // [447] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 -- pbuz1=pbuz2 lda.z print_line_cursor sta.z print_char_cursor lda.z print_line_cursor+1 @@ -22950,32 +22988,32 @@ print_str_lines: { // screen is the start address of the screen to use form_set_screen: { .label line = 7 - // [447] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + // [449] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] __b1_from_form_set_screen: - // [447] phi (byte) form_set_screen::y#2 = (byte) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 + // [449] phi (byte) form_set_screen::y#2 = (byte) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 ldx #0 - // [447] phi (byte*) form_set_screen::line#2 = (const nomodify byte*) FORM_SCREEN [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + // [449] phi (byte*) form_set_screen::line#2 = (const nomodify byte*) FORM_SCREEN [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 lda #FORM_SCREEN sta.z line+1 jmp __b1 - // [447] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + // [449] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] __b1_from___b1: - // [447] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy - // [447] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy + // [449] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy + // [449] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy jmp __b1 // form_set_screen::@1 __b1: - // [448] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 + // [450] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 -- vbuaa=_lo_pbuz1 lda.z line - // [449] *((const byte*) form_line_lo + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuxx=vbuaa + // [451] *((const byte*) form_line_lo + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_lo,x - // [450] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 + // [452] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 lda.z line+1 - // [451] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuxx=vbuaa + // [453] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_hi,x - // [452] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [454] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc.z line @@ -22983,56 +23021,56 @@ form_set_screen: { bcc !+ inc.z line+1 !: - // [453] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuxx=_inc_vbuxx + // [455] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuxx=_inc_vbuxx inx - // [454] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 -- vbuxx_neq_vbuc1_then_la1 + // [456] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #$19 bne __b1_from___b1 jmp __breturn // form_set_screen::@return __breturn: - // [455] return + // [457] return rts } // form_render_values // Render all form values from the form_fields_val array form_render_values: { - // [457] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + // [459] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] __b1_from_form_render_values: - // [457] phi (byte) form_render_values::idx#2 = (byte) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 + // [459] phi (byte) form_render_values::idx#2 = (byte) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 ldx #0 jmp __b1 // form_render_values::@1 __b1: - // [458] if((byte) form_render_values::idx#2<(const byte) form_fields_cnt) goto form_render_values::@2 -- vbuxx_lt_vbuc1_then_la1 + // [460] if((byte) form_render_values::idx#2<(const byte) form_fields_cnt) goto form_render_values::@2 -- vbuxx_lt_vbuc1_then_la1 cpx #form_fields_cnt bcc __b2 jmp __breturn // form_render_values::@return __breturn: - // [459] return + // [461] return rts // form_render_values::@2 __b2: - // [460] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 - // [461] call form_field_ptr - // [774] phi from form_render_values::@2 to form_field_ptr [phi:form_render_values::@2->form_field_ptr] + // [462] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 + // [463] call form_field_ptr + // [776] phi from form_render_values::@2 to form_field_ptr [phi:form_render_values::@2->form_field_ptr] form_field_ptr_from___b2: - // [774] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@2->form_field_ptr#0] -- register_copy + // [776] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@2->form_field_ptr#0] -- register_copy jsr form_field_ptr jmp __b3 // form_render_values::@3 __b3: - // [462] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuxx) + // [464] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuxx) ldy form_fields_val,x lda print_hextab,y ldy.z form_field_ptr.x sta (form_field_ptr.line),y - // [463] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuxx=_inc_vbuxx + // [465] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 -- vbuxx=_inc_vbuxx inx - // [457] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + // [459] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] __b1_from___b3: - // [457] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + // [459] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy jmp __b1 } // render_preset_name @@ -23040,159 +23078,159 @@ form_render_values: { // idx is the ID of the preset // render_preset_name(byte register(A) idx) render_preset_name: { - .label name = $1a - // [465] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 -- vbuaa_eq_0_then_la1 + .label name = $13 + // [467] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 -- vbuaa_eq_0_then_la1 cmp #0 beq __b2_from_render_preset_name jmp __b3 // render_preset_name::@3 __b3: - // [466] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [468] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq __b2_from___b3 jmp __b4 // render_preset_name::@4 __b4: - // [467] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [469] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq __b2_from___b4 jmp __b5 // render_preset_name::@5 __b5: - // [468] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [470] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq __b2_from___b5 jmp __b6 // render_preset_name::@6 __b6: - // [469] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [471] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #4 beq __b2_from___b6 jmp __b7 // render_preset_name::@7 __b7: - // [470] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [472] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #5 beq __b2_from___b7 jmp __b8 // render_preset_name::@8 __b8: - // [471] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [473] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #6 beq __b2_from___b8 jmp __b9 // render_preset_name::@9 __b9: - // [472] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [474] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #7 beq __b2_from___b9 jmp __b10 // render_preset_name::@10 __b10: - // [473] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [475] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #8 beq __b2_from___b10 jmp __b11 // render_preset_name::@11 __b11: - // [474] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [476] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq __b2_from___b11 jmp __b12 // render_preset_name::@12 __b12: - // [475] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 -- vbuaa_eq_vbuc1_then_la1 + // [477] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq __b1_from___b12 - // [477] phi from render_preset_name render_preset_name::@12 to render_preset_name::@2 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2] + // [479] phi from render_preset_name render_preset_name::@12 to render_preset_name::@2 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2] __b2_from_render_preset_name: __b2_from___b12: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#1 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#1 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_1 sta.z name+1 jmp __b2 - // [476] phi from render_preset_name::@12 to render_preset_name::@1 [phi:render_preset_name::@12->render_preset_name::@1] + // [478] phi from render_preset_name::@12 to render_preset_name::@1 [phi:render_preset_name::@12->render_preset_name::@1] __b1_from___b12: jmp __b1 // render_preset_name::@1 __b1: - // [477] phi from render_preset_name::@1 to render_preset_name::@2 [phi:render_preset_name::@1->render_preset_name::@2] + // [479] phi from render_preset_name::@1 to render_preset_name::@2 [phi:render_preset_name::@1->render_preset_name::@2] __b2_from___b1: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#11 [phi:render_preset_name::@1->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#11 [phi:render_preset_name::@1->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_11 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@10 to render_preset_name::@2 [phi:render_preset_name::@10->render_preset_name::@2] + // [479] phi from render_preset_name::@10 to render_preset_name::@2 [phi:render_preset_name::@10->render_preset_name::@2] __b2_from___b10: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@10->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@10->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_9 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@11 to render_preset_name::@2 [phi:render_preset_name::@11->render_preset_name::@2] + // [479] phi from render_preset_name::@11 to render_preset_name::@2 [phi:render_preset_name::@11->render_preset_name::@2] __b2_from___b11: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@11->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@11->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_10 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@3 to render_preset_name::@2 [phi:render_preset_name::@3->render_preset_name::@2] + // [479] phi from render_preset_name::@3 to render_preset_name::@2 [phi:render_preset_name::@3->render_preset_name::@2] __b2_from___b3: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@3->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@3->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_2 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@4 to render_preset_name::@2 [phi:render_preset_name::@4->render_preset_name::@2] + // [479] phi from render_preset_name::@4 to render_preset_name::@2 [phi:render_preset_name::@4->render_preset_name::@2] __b2_from___b4: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@4->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@4->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_3 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@5 to render_preset_name::@2 [phi:render_preset_name::@5->render_preset_name::@2] + // [479] phi from render_preset_name::@5 to render_preset_name::@2 [phi:render_preset_name::@5->render_preset_name::@2] __b2_from___b5: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@5->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@5->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_4 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@6 to render_preset_name::@2 [phi:render_preset_name::@6->render_preset_name::@2] + // [479] phi from render_preset_name::@6 to render_preset_name::@2 [phi:render_preset_name::@6->render_preset_name::@2] __b2_from___b6: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@6->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@6->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_5 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@7 to render_preset_name::@2 [phi:render_preset_name::@7->render_preset_name::@2] + // [479] phi from render_preset_name::@7 to render_preset_name::@2 [phi:render_preset_name::@7->render_preset_name::@2] __b2_from___b7: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@7->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@7->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_6 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@8 to render_preset_name::@2 [phi:render_preset_name::@8->render_preset_name::@2] + // [479] phi from render_preset_name::@8 to render_preset_name::@2 [phi:render_preset_name::@8->render_preset_name::@2] __b2_from___b8: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@8->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@8->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_7 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@9 to render_preset_name::@2 [phi:render_preset_name::@9->render_preset_name::@2] + // [479] phi from render_preset_name::@9 to render_preset_name::@2 [phi:render_preset_name::@9->render_preset_name::@2] __b2_from___b9: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@9->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@9->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_8 @@ -23200,16 +23238,16 @@ render_preset_name: { jmp __b2 // render_preset_name::@2 __b2: - // [478] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 - // [479] call print_str_at + // [480] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 + // [481] call print_str_at // Render it - // [780] phi from render_preset_name::@2 to print_str_at [phi:render_preset_name::@2->print_str_at] + // [782] phi from render_preset_name::@2 to print_str_at [phi:render_preset_name::@2->print_str_at] print_str_at_from___b2: jsr print_str_at jmp __breturn // render_preset_name::@return __breturn: - // [480] return + // [482] return rts name_1: .text "Standard Charset " .byte 0 @@ -23238,43 +23276,43 @@ render_preset_name: { // Reads keyboard and allows the user to navigate and change the fields of the form // Returns 0 if space is not pressed, non-0 if space is pressed form_control: { - .label field = $1f - // [481] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 -- vbuxx=vbuz1 + .label field = $13 + // [483] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 -- vbuxx=vbuz1 ldx.z form_field_idx - // [482] call form_field_ptr - // [774] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + // [484] call form_field_ptr + // [776] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - // [774] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + // [776] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy jsr form_field_ptr - // [483] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 + // [485] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 jmp __b18 // form_control::@18 __b18: - // [484] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 - // [485] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 -- vbsz1=_dec_vbsz1 + // [486] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 + // [487] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 -- vbsz1=_dec_vbsz1 dec.z form_cursor_count - // [486] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 -- vbsz1_ge_0_then_la1 + // [488] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 -- vbsz1_ge_0_then_la1 lda.z form_cursor_count cmp #0 bpl __b21_from___b18 - // [488] phi from form_control::@18 to form_control::@1 [phi:form_control::@18->form_control::@1] + // [490] phi from form_control::@18 to form_control::@1 [phi:form_control::@18->form_control::@1] __b1_from___b18: - // [488] phi (signed byte) form_cursor_count#16 = (const nomodify signed byte) FORM_CURSOR_BLINK [phi:form_control::@18->form_control::@1#0] -- vbsz1=vbsc1 + // [490] phi (signed byte) form_cursor_count#16 = (const nomodify signed byte) FORM_CURSOR_BLINK [phi:form_control::@18->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta.z form_cursor_count jmp __b1 - // [487] phi from form_control::@18 to form_control::@21 [phi:form_control::@18->form_control::@21] + // [489] phi from form_control::@18 to form_control::@21 [phi:form_control::@18->form_control::@21] __b21_from___b18: jmp __b21 // form_control::@21 __b21: - // [488] phi from form_control::@21 to form_control::@1 [phi:form_control::@21->form_control::@1] + // [490] phi from form_control::@21 to form_control::@1 [phi:form_control::@21->form_control::@1] __b1_from___b21: - // [488] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#4 [phi:form_control::@21->form_control::@1#0] -- register_copy + // [490] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#4 [phi:form_control::@21->form_control::@1#0] -- register_copy jmp __b1 // form_control::@1 __b1: - // [489] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 -- vbsz1_lt_vbsc1_then_la1 + // [491] if((signed byte) form_cursor_count#16<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 -- vbsz1_lt_vbsc1_then_la1 lda.z form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -23285,112 +23323,112 @@ form_control: { jmp __b7 // form_control::@7 __b7: - // [490] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 + // [492] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - // [491] *((byte*) form_control::field#0) ← (byte~) form_control::$12 -- _deref_pbuz1=vbuaa + // [493] *((byte*) form_control::field#0) ← (byte~) form_control::$12 -- _deref_pbuz1=vbuaa ldy #0 sta (field),y - // [492] phi from form_control::@2 form_control::@7 to form_control::@3 [phi:form_control::@2/form_control::@7->form_control::@3] + // [494] phi from form_control::@2 form_control::@7 to form_control::@3 [phi:form_control::@2/form_control::@7->form_control::@3] __b3_from___b2: __b3_from___b7: jmp __b3 // form_control::@3 __b3: - // [493] call keyboard_event_scan + // [495] call keyboard_event_scan // Scan the keyboard - // [576] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + // [578] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] keyboard_event_scan_from___b3: - // [576] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#49 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy + // [578] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#49 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy jsr keyboard_event_scan - // [494] phi from form_control::@3 to form_control::@19 [phi:form_control::@3->form_control::@19] + // [496] phi from form_control::@3 to form_control::@19 [phi:form_control::@3->form_control::@19] __b19_from___b3: jmp __b19 // form_control::@19 __b19: - // [495] call keyboard_event_get + // [497] call keyboard_event_get jsr keyboard_event_get - // [496] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + // [498] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 jmp __b20 // form_control::@20 __b20: - // [497] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 - // [498] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 + // [499] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 + // [500] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_DOWN bne __b4 jmp __b8 // form_control::@8 __b8: - // [499] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 + // [501] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - // [500] *((byte*) form_control::field#0) ← (byte~) form_control::$14 -- _deref_pbuz1=vbuaa + // [502] *((byte*) form_control::field#0) ← (byte~) form_control::$14 -- _deref_pbuz1=vbuaa // Unblink the cursor ldy #0 sta (field),y - // [501] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuaa=vbuxx_band_vbuc1 + // [503] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuaa=vbuxx_band_vbuc1 txa and #KEY_MODIFIER_SHIFT - // [502] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 -- vbuaa_eq_0_then_la1 + // [504] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 -- vbuaa_eq_0_then_la1 cmp #0 beq __b13 jmp __b9 // form_control::@9 __b9: - // [503] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 -- vbuz1=_dec_vbuz1 + // [505] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 -- vbuz1=_dec_vbuz1 dec.z form_field_idx - // [504] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 + // [506] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 lda #$ff cmp.z form_field_idx bne __b22_from___b9 - // [506] phi from form_control::@9 to form_control::@14 [phi:form_control::@9->form_control::@14] + // [508] phi from form_control::@9 to form_control::@14 [phi:form_control::@9->form_control::@14] __b14_from___b9: - // [506] phi (byte) form_field_idx#33 = (const byte) form_fields_cnt-(byte) 1 [phi:form_control::@9->form_control::@14#0] -- vbuz1=vbuc1 + // [508] phi (byte) form_field_idx#33 = (const byte) form_fields_cnt-(byte) 1 [phi:form_control::@9->form_control::@14#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta.z form_field_idx jmp __b14 - // [505] phi from form_control::@9 to form_control::@22 [phi:form_control::@9->form_control::@22] + // [507] phi from form_control::@9 to form_control::@22 [phi:form_control::@9->form_control::@22] __b22_from___b9: jmp __b22 // form_control::@22 __b22: - // [506] phi from form_control::@22 form_control::@23 to form_control::@14 [phi:form_control::@22/form_control::@23->form_control::@14] + // [508] phi from form_control::@22 form_control::@23 to form_control::@14 [phi:form_control::@22/form_control::@23->form_control::@14] __b14_from___b22: __b14_from___b23: - // [506] phi (byte) form_field_idx#33 = (byte) form_field_idx#5 [phi:form_control::@22/form_control::@23->form_control::@14#0] -- register_copy + // [508] phi (byte) form_field_idx#33 = (byte) form_field_idx#5 [phi:form_control::@22/form_control::@23->form_control::@14#0] -- register_copy jmp __b14 // form_control::@14 __b14: - // [507] phi from form_control::@14 to form_control::@return [phi:form_control::@14->form_control::@return] + // [509] phi from form_control::@14 to form_control::@return [phi:form_control::@14->form_control::@return] __breturn_from___b14: - // [507] phi (byte) form_field_idx#19 = (byte) form_field_idx#33 [phi:form_control::@14->form_control::@return#0] -- register_copy - // [507] phi (signed byte) form_cursor_count#17 = (const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 [phi:form_control::@14->form_control::@return#1] -- vbsz1=vbsc1 + // [509] phi (byte) form_field_idx#19 = (byte) form_field_idx#33 [phi:form_control::@14->form_control::@return#0] -- register_copy + // [509] phi (signed byte) form_cursor_count#17 = (const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 [phi:form_control::@14->form_control::@return#1] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK/2 sta.z form_cursor_count - // [507] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@14->form_control::@return#2] -- vbuxx=vbuc1 + // [509] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@14->form_control::@return#2] -- vbuxx=vbuc1 ldx #0 jmp __breturn // form_control::@return __breturn: - // [508] return + // [510] return rts // form_control::@13 __b13: - // [509] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 -- vbuz1=_inc_vbuz1 + // [511] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 -- vbuz1=_inc_vbuz1 inc.z form_field_idx - // [510] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 -- vbuz1_neq_vbuc1_then_la1 + // [512] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 -- vbuz1_neq_vbuc1_then_la1 lda #form_fields_cnt cmp.z form_field_idx bne __b23_from___b13 - // [506] phi from form_control::@13 to form_control::@14 [phi:form_control::@13->form_control::@14] + // [508] phi from form_control::@13 to form_control::@14 [phi:form_control::@13->form_control::@14] __b14_from___b13: - // [506] phi (byte) form_field_idx#33 = (byte) 0 [phi:form_control::@13->form_control::@14#0] -- vbuz1=vbuc1 + // [508] phi (byte) form_field_idx#33 = (byte) 0 [phi:form_control::@13->form_control::@14#0] -- vbuz1=vbuc1 lda #0 sta.z form_field_idx jmp __b14 - // [511] phi from form_control::@13 to form_control::@23 [phi:form_control::@13->form_control::@23] + // [513] phi from form_control::@13 to form_control::@23 [phi:form_control::@13->form_control::@23] __b23_from___b13: jmp __b23 // form_control::@23 @@ -23398,25 +23436,25 @@ form_control: { jmp __b14_from___b23 // form_control::@4 __b4: - // [512] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 -- vbuaa_neq_vbuc1_then_la1 + // [514] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_RIGHT bne __b5 jmp __b10 // form_control::@10 __b10: - // [513] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuaa=vbuxx_band_vbuc1 + // [515] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuaa=vbuxx_band_vbuc1 txa and #KEY_MODIFIER_SHIFT - // [514] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 -- vbuaa_eq_0_then_la1 + // [516] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 -- vbuaa_eq_0_then_la1 cmp #0 beq __b15 jmp __b11 // form_control::@11 __b11: - // [515] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + // [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx.z form_field_idx dec form_fields_val,x - // [516] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + // [518] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 lda #$ff ldy.z form_field_idx cmp form_fields_val,y @@ -23424,34 +23462,34 @@ form_control: { jmp __b12 // form_control::@12 __b12: - // [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + // [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy.z form_field_idx lda form_fields_max,y sta form_fields_val,y jmp __b16 // form_control::@16 __b16: - // [518] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) -- _deref_pbuz1=pbuc1_derefidx_(pbuc2_derefidx_vbuz2) + // [520] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) -- _deref_pbuz1=pbuc1_derefidx_(pbuc2_derefidx_vbuz2) // Render field value ldx.z form_field_idx ldy form_fields_val,x lda print_hextab,y ldy #0 sta (field),y - // [507] phi from form_control::@16 form_control::@6 to form_control::@return [phi:form_control::@16/form_control::@6->form_control::@return] + // [509] phi from form_control::@16 form_control::@6 to form_control::@return [phi:form_control::@16/form_control::@6->form_control::@return] __breturn_from___b16: __breturn_from___b6: - // [507] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@16/form_control::@6->form_control::@return#0] -- register_copy - // [507] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@16/form_control::@6->form_control::@return#1] -- register_copy - // [507] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@16/form_control::@6->form_control::@return#2] -- vbuxx=vbuc1 + // [509] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@16/form_control::@6->form_control::@return#0] -- register_copy + // [509] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@16/form_control::@6->form_control::@return#1] -- register_copy + // [509] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@16/form_control::@6->form_control::@return#2] -- vbuxx=vbuc1 ldx #0 jmp __breturn // form_control::@15 __b15: - // [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + // [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx.z form_field_idx inc form_fields_val,x - // [520] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + // [522] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy.z form_field_idx lda form_fields_max,y cmp form_fields_val,y @@ -23459,24 +23497,24 @@ form_control: { jmp __b17 // form_control::@17 __b17: - // [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 + // [523] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 ldy.z form_field_idx sta form_fields_val,y jmp __b16 // form_control::@5 __b5: - // [522] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 -- vbuaa_neq_vbuc1_then_la1 + // [524] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_SPACE bne __b6_from___b5 - // [507] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] + // [509] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] __breturn_from___b5: - // [507] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@5->form_control::@return#0] -- register_copy - // [507] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@5->form_control::@return#1] -- register_copy - // [507] phi (byte) form_control::return#2 = (byte) $ff [phi:form_control::@5->form_control::@return#2] -- vbuxx=vbuc1 + // [509] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@5->form_control::@return#0] -- register_copy + // [509] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@5->form_control::@return#1] -- register_copy + // [509] phi (byte) form_control::return#2 = (byte) $ff [phi:form_control::@5->form_control::@return#2] -- vbuxx=vbuc1 ldx #$ff jmp __breturn - // [523] phi from form_control::@5 to form_control::@6 [phi:form_control::@5->form_control::@6] + // [525] phi from form_control::@5 to form_control::@6 [phi:form_control::@5->form_control::@6] __b6_from___b5: jmp __b6 // form_control::@6 @@ -23484,11 +23522,11 @@ form_control: { jmp __breturn_from___b6 // form_control::@2 __b2: - // [524] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 -- vbuaa=_deref_pbuz1_bor_vbuc1 + // [526] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 -- vbuaa=_deref_pbuz1_bor_vbuc1 lda #$80 ldy #0 ora (field),y - // [525] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- _deref_pbuz1=vbuaa + // [527] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- _deref_pbuz1=vbuaa ldy #0 sta (field),y jmp __b3_from___b2 @@ -23498,159 +23536,159 @@ form_control: { // idx is the ID of the preset // apply_preset(byte register(A) idx) apply_preset: { - .label preset = $18 - // [526] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 -- vbuaa_eq_0_then_la1 + .label preset = $1a + // [528] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 -- vbuaa_eq_0_then_la1 cmp #0 beq __b2_from_apply_preset jmp __b3 // apply_preset::@3 __b3: - // [527] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [529] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq __b2_from___b3 jmp __b4 // apply_preset::@4 __b4: - // [528] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [530] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq __b2_from___b4 jmp __b5 // apply_preset::@5 __b5: - // [529] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [531] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq __b2_from___b5 jmp __b6 // apply_preset::@6 __b6: - // [530] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [532] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #4 beq __b2_from___b6 jmp __b7 // apply_preset::@7 __b7: - // [531] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [533] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #5 beq __b2_from___b7 jmp __b8 // apply_preset::@8 __b8: - // [532] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [534] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #6 beq __b2_from___b8 jmp __b9 // apply_preset::@9 __b9: - // [533] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [535] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #7 beq __b2_from___b9 jmp __b10 // apply_preset::@10 __b10: - // [534] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [536] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #8 beq __b2_from___b10 jmp __b11 // apply_preset::@11 __b11: - // [535] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [537] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq __b2_from___b11 jmp __b12 // apply_preset::@12 __b12: - // [536] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + // [538] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq __b1_from___b12 - // [538] phi from apply_preset apply_preset::@12 to apply_preset::@2 [phi:apply_preset/apply_preset::@12->apply_preset::@2] + // [540] phi from apply_preset apply_preset::@12 to apply_preset::@2 [phi:apply_preset/apply_preset::@12->apply_preset::@2] __b2_from_apply_preset: __b2_from___b12: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdchar [phi:apply_preset/apply_preset::@12->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdchar [phi:apply_preset/apply_preset::@12->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_stdchar sta.z preset+1 jmp __b2 - // [537] phi from apply_preset::@12 to apply_preset::@1 [phi:apply_preset::@12->apply_preset::@1] + // [539] phi from apply_preset::@12 to apply_preset::@1 [phi:apply_preset::@12->apply_preset::@1] __b1_from___b12: jmp __b1 // apply_preset::@1 __b1: - // [538] phi from apply_preset::@1 to apply_preset::@2 [phi:apply_preset::@1->apply_preset::@2] + // [540] phi from apply_preset::@1 to apply_preset::@2 [phi:apply_preset::@1->apply_preset::@2] __b2_from___b1: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_8bpppixelcell [phi:apply_preset::@1->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_8bpppixelcell [phi:apply_preset::@1->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_8bpppixelcell sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@10 to apply_preset::@2 [phi:apply_preset::@10->apply_preset::@2] + // [540] phi from apply_preset::@10 to apply_preset::@2 [phi:apply_preset::@10->apply_preset::@2] __b2_from___b10: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred [phi:apply_preset::@10->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred [phi:apply_preset::@10->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_sixsfred sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@11 to apply_preset::@2 [phi:apply_preset::@11->apply_preset::@2] + // [540] phi from apply_preset::@11 to apply_preset::@2 [phi:apply_preset::@11->apply_preset::@2] __b2_from___b11: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred2 [phi:apply_preset::@11->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred2 [phi:apply_preset::@11->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_sixsfred2 sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@3 to apply_preset::@2 [phi:apply_preset::@3->apply_preset::@2] + // [540] phi from apply_preset::@3 to apply_preset::@2 [phi:apply_preset::@3->apply_preset::@2] __b2_from___b3: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_ecmchar [phi:apply_preset::@3->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_ecmchar [phi:apply_preset::@3->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_ecmchar sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@4 to apply_preset::@2 [phi:apply_preset::@4->apply_preset::@2] + // [540] phi from apply_preset::@4 to apply_preset::@2 [phi:apply_preset::@4->apply_preset::@2] __b2_from___b4: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdbm [phi:apply_preset::@4->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdbm [phi:apply_preset::@4->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_stdbm sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@5 to apply_preset::@2 [phi:apply_preset::@5->apply_preset::@2] + // [540] phi from apply_preset::@5 to apply_preset::@2 [phi:apply_preset::@5->apply_preset::@2] __b2_from___b5: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_mcbm [phi:apply_preset::@5->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_mcbm [phi:apply_preset::@5->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_mcbm sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@6 to apply_preset::@2 [phi:apply_preset::@6->apply_preset::@2] + // [540] phi from apply_preset::@6 to apply_preset::@2 [phi:apply_preset::@6->apply_preset::@2] __b2_from___b6: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_stdchar [phi:apply_preset::@6->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_stdchar [phi:apply_preset::@6->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_hi_stdchar sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@7 to apply_preset::@2 [phi:apply_preset::@7->apply_preset::@2] + // [540] phi from apply_preset::@7 to apply_preset::@2 [phi:apply_preset::@7->apply_preset::@2] __b2_from___b7: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_ecmchar [phi:apply_preset::@7->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_ecmchar [phi:apply_preset::@7->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_hi_ecmchar sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@8 to apply_preset::@2 [phi:apply_preset::@8->apply_preset::@2] + // [540] phi from apply_preset::@8 to apply_preset::@2 [phi:apply_preset::@8->apply_preset::@2] __b2_from___b8: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_twoplane [phi:apply_preset::@8->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_twoplane [phi:apply_preset::@8->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_twoplane sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@9 to apply_preset::@2 [phi:apply_preset::@9->apply_preset::@2] + // [540] phi from apply_preset::@9 to apply_preset::@2 [phi:apply_preset::@9->apply_preset::@2] __b2_from___b9: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_chunky [phi:apply_preset::@9->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_chunky [phi:apply_preset::@9->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_chunky @@ -23658,32 +23696,32 @@ apply_preset: { jmp __b2 // apply_preset::@2 __b2: - // [539] phi from apply_preset::@2 to apply_preset::@13 [phi:apply_preset::@2->apply_preset::@13] + // [541] phi from apply_preset::@2 to apply_preset::@13 [phi:apply_preset::@2->apply_preset::@13] __b13_from___b2: - // [539] phi (byte) apply_preset::i#2 = (byte) 0 [phi:apply_preset::@2->apply_preset::@13#0] -- vbuyy=vbuc1 + // [541] phi (byte) apply_preset::i#2 = (byte) 0 [phi:apply_preset::@2->apply_preset::@13#0] -- vbuyy=vbuc1 ldy #0 jmp __b13 // Copy preset values into the fields // apply_preset::@13 __b13: - // [540] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 -- vbuyy_neq_vbuc1_then_la1 + // [542] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 -- vbuyy_neq_vbuc1_then_la1 cpy #form_fields_cnt bne __b14 jmp __breturn // apply_preset::@return __breturn: - // [541] return + // [543] return rts // apply_preset::@14 __b14: - // [542] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy + // [544] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy lda (preset),y sta form_fields_val,y - // [543] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy + // [545] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy iny - // [539] phi from apply_preset::@14 to apply_preset::@13 [phi:apply_preset::@14->apply_preset::@13] + // [541] phi from apply_preset::@14 to apply_preset::@13 [phi:apply_preset::@14->apply_preset::@13] __b13_from___b14: - // [539] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@14->apply_preset::@13#0] -- register_copy + // [541] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@14->apply_preset::@13#0] -- register_copy jmp __b13 } // get_plane @@ -23691,90 +23729,90 @@ apply_preset: { // get_plane(byte register(A) idx) get_plane: { .label return = 9 - // [545] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return -- vbuaa_eq_0_then_la1 + // [547] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return -- vbuaa_eq_0_then_la1 cmp #0 beq __breturn_from_get_plane jmp __b2 // get_plane::@2 __b2: - // [546] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [548] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq __breturn_from___b2 jmp __b3 // get_plane::@3 __b3: - // [547] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [549] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq __breturn_from___b3 jmp __b4 // get_plane::@4 __b4: - // [548] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [550] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq __breturn_from___b4 jmp __b5 // get_plane::@5 __b5: - // [549] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [551] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #4 beq __breturn_from___b5 jmp __b6 // get_plane::@6 __b6: - // [550] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [552] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #5 beq __breturn_from___b6 jmp __b7 // get_plane::@7 __b7: - // [551] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [553] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #6 beq __breturn_from___b7 jmp __b8 // get_plane::@8 __b8: - // [552] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [554] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #7 beq __breturn_from___b8 jmp __b9 // get_plane::@9 __b9: - // [553] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [555] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #8 beq __breturn_from___b9 jmp __b10 // get_plane::@10 __b10: - // [554] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [556] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq __breturn_from___b10 jmp __b11 // get_plane::@11 __b11: - // [555] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [557] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq __breturn_from___b11 jmp __b12 // get_plane::@12 __b12: - // [556] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [558] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #$b beq __breturn_from___b12 jmp __b13 // get_plane::@13 __b13: - // [557] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [559] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #$c beq __breturn_from___b13 jmp __b14 // get_plane::@14 __b14: - // [558] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 -- vbuaa_neq_vbuc1_then_la1 + // [560] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 -- vbuaa_neq_vbuc1_then_la1 cmp #$d bne __b1_from___b14 - // [560] phi from get_plane::@14 to get_plane::@return [phi:get_plane::@14->get_plane::@return] + // [562] phi from get_plane::@14 to get_plane::@return [phi:get_plane::@14->get_plane::@return] __breturn_from___b14: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_FULL [phi:get_plane::@14->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_FULL [phi:get_plane::@14->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_FULL @@ -23784,15 +23822,15 @@ get_plane: { lda #>PLANE_FULL>>$10 sta.z return+3 jmp __breturn - // [559] phi from get_plane::@14 to get_plane::@1 [phi:get_plane::@14->get_plane::@1] + // [561] phi from get_plane::@14 to get_plane::@1 [phi:get_plane::@14->get_plane::@1] __b1_from___b14: jmp __b1 // get_plane::@1 __b1: - // [560] phi from get_plane get_plane::@1 to get_plane::@return [phi:get_plane/get_plane::@1->get_plane::@return] + // [562] phi from get_plane get_plane::@1 to get_plane::@return [phi:get_plane/get_plane::@1->get_plane::@return] __breturn_from_get_plane: __breturn_from___b1: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN0 [phi:get_plane/get_plane::@1->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN0 [phi:get_plane/get_plane::@1->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN0 @@ -23802,9 +23840,9 @@ get_plane: { lda #>VIC_SCREEN0>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@10 to get_plane::@return [phi:get_plane::@10->get_plane::@return] + // [562] phi from get_plane::@10 to get_plane::@return [phi:get_plane::@10->get_plane::@return] __breturn_from___b10: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL2 [phi:get_plane::@10->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL2 [phi:get_plane::@10->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_HORISONTAL2 @@ -23814,9 +23852,9 @@ get_plane: { lda #>PLANE_HORISONTAL2>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@11 to get_plane::@return [phi:get_plane::@11->get_plane::@return] + // [562] phi from get_plane::@11 to get_plane::@return [phi:get_plane::@11->get_plane::@return] __breturn_from___b11: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL2 [phi:get_plane::@11->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL2 [phi:get_plane::@11->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_VERTICAL2 @@ -23826,9 +23864,9 @@ get_plane: { lda #>PLANE_VERTICAL2>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@12 to get_plane::@return [phi:get_plane::@12->get_plane::@return] + // [562] phi from get_plane::@12 to get_plane::@return [phi:get_plane::@12->get_plane::@return] __breturn_from___b12: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_CHARSET8 [phi:get_plane::@12->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_CHARSET8 [phi:get_plane::@12->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_CHARSET8 @@ -23838,9 +23876,9 @@ get_plane: { lda #>PLANE_CHARSET8>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@13 to get_plane::@return [phi:get_plane::@13->get_plane::@return] + // [562] phi from get_plane::@13 to get_plane::@return [phi:get_plane::@13->get_plane::@return] __breturn_from___b13: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_BLANK [phi:get_plane::@13->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_BLANK [phi:get_plane::@13->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_BLANK @@ -23850,9 +23888,9 @@ get_plane: { lda #>PLANE_BLANK>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@2 to get_plane::@return [phi:get_plane::@2->get_plane::@return] + // [562] phi from get_plane::@2 to get_plane::@return [phi:get_plane::@2->get_plane::@return] __breturn_from___b2: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN1 [phi:get_plane::@2->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN1 [phi:get_plane::@2->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN1 @@ -23862,9 +23900,9 @@ get_plane: { lda #>VIC_SCREEN1>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@3 to get_plane::@return [phi:get_plane::@3->get_plane::@return] + // [562] phi from get_plane::@3 to get_plane::@return [phi:get_plane::@3->get_plane::@return] __breturn_from___b3: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN2 [phi:get_plane::@3->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN2 [phi:get_plane::@3->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN2 @@ -23874,9 +23912,9 @@ get_plane: { lda #>VIC_SCREEN2>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@4 to get_plane::@return [phi:get_plane::@4->get_plane::@return] + // [562] phi from get_plane::@4 to get_plane::@return [phi:get_plane::@4->get_plane::@return] __breturn_from___b4: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN3 [phi:get_plane::@4->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN3 [phi:get_plane::@4->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN3 @@ -23886,9 +23924,9 @@ get_plane: { lda #>VIC_SCREEN3>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@5 to get_plane::@return [phi:get_plane::@5->get_plane::@return] + // [562] phi from get_plane::@5 to get_plane::@return [phi:get_plane::@5->get_plane::@return] __breturn_from___b5: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_BITMAP [phi:get_plane::@5->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_BITMAP [phi:get_plane::@5->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_BITMAP @@ -23898,9 +23936,9 @@ get_plane: { lda #>VIC_BITMAP>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@6 to get_plane::@return [phi:get_plane::@6->get_plane::@return] + // [562] phi from get_plane::@6 to get_plane::@return [phi:get_plane::@6->get_plane::@return] __breturn_from___b6: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_CHARSET_ROM [phi:get_plane::@6->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_CHARSET_ROM [phi:get_plane::@6->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_CHARSET_ROM @@ -23910,9 +23948,9 @@ get_plane: { lda #>VIC_CHARSET_ROM>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@7 to get_plane::@return [phi:get_plane::@7->get_plane::@return] + // [562] phi from get_plane::@7 to get_plane::@return [phi:get_plane::@7->get_plane::@return] __breturn_from___b7: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_8BPP_CHUNKY [phi:get_plane::@7->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_8BPP_CHUNKY [phi:get_plane::@7->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_8BPP_CHUNKY @@ -23922,9 +23960,9 @@ get_plane: { lda #>PLANE_8BPP_CHUNKY>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@8 to get_plane::@return [phi:get_plane::@8->get_plane::@return] + // [562] phi from get_plane::@8 to get_plane::@return [phi:get_plane::@8->get_plane::@return] __breturn_from___b8: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL [phi:get_plane::@8->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL [phi:get_plane::@8->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_HORISONTAL @@ -23934,9 +23972,9 @@ get_plane: { lda #>PLANE_HORISONTAL>>$10 sta.z return+3 jmp __breturn - // [560] phi from get_plane::@9 to get_plane::@return [phi:get_plane::@9->get_plane::@return] + // [562] phi from get_plane::@9 to get_plane::@return [phi:get_plane::@9->get_plane::@return] __breturn_from___b9: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL [phi:get_plane::@9->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL [phi:get_plane::@9->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_VERTICAL @@ -23948,7 +23986,7 @@ get_plane: { jmp __breturn // get_plane::@return __breturn: - // [561] return + // [563] return rts } // get_vic_screen @@ -23956,74 +23994,74 @@ get_plane: { // get_vic_screen(byte register(A) idx) get_vic_screen: { .label return = 3 - // [563] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return -- vbuaa_eq_0_then_la1 + // [565] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return -- vbuaa_eq_0_then_la1 cmp #0 beq __breturn_from_get_vic_screen jmp __b2 // get_vic_screen::@2 __b2: - // [564] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 + // [566] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq __breturn_from___b2 jmp __b3 // get_vic_screen::@3 __b3: - // [565] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 + // [567] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq __breturn_from___b3 jmp __b4 // get_vic_screen::@4 __b4: - // [566] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 + // [568] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq __breturn_from___b4 jmp __b5 // get_vic_screen::@5 __b5: - // [567] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 -- vbuaa_neq_vbuc1_then_la1 + // [569] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 -- vbuaa_neq_vbuc1_then_la1 cmp #4 bne __b1_from___b5 - // [569] phi from get_vic_screen::@5 to get_vic_screen::@return [phi:get_vic_screen::@5->get_vic_screen::@return] + // [571] phi from get_vic_screen::@5 to get_vic_screen::@return [phi:get_vic_screen::@5->get_vic_screen::@return] __breturn_from___b5: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN4 [phi:get_vic_screen::@5->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN4 [phi:get_vic_screen::@5->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN4 sta.z return+1 jmp __breturn - // [568] phi from get_vic_screen::@5 to get_vic_screen::@1 [phi:get_vic_screen::@5->get_vic_screen::@1] + // [570] phi from get_vic_screen::@5 to get_vic_screen::@1 [phi:get_vic_screen::@5->get_vic_screen::@1] __b1_from___b5: jmp __b1 // get_vic_screen::@1 __b1: - // [569] phi from get_vic_screen get_vic_screen::@1 to get_vic_screen::@return [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return] + // [571] phi from get_vic_screen get_vic_screen::@1 to get_vic_screen::@return [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return] __breturn_from_get_vic_screen: __breturn_from___b1: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN0 [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN0 [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN0 sta.z return+1 jmp __breturn - // [569] phi from get_vic_screen::@2 to get_vic_screen::@return [phi:get_vic_screen::@2->get_vic_screen::@return] + // [571] phi from get_vic_screen::@2 to get_vic_screen::@return [phi:get_vic_screen::@2->get_vic_screen::@return] __breturn_from___b2: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN1 [phi:get_vic_screen::@2->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN1 [phi:get_vic_screen::@2->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN1 sta.z return+1 jmp __breturn - // [569] phi from get_vic_screen::@3 to get_vic_screen::@return [phi:get_vic_screen::@3->get_vic_screen::@return] + // [571] phi from get_vic_screen::@3 to get_vic_screen::@return [phi:get_vic_screen::@3->get_vic_screen::@return] __breturn_from___b3: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN2 [phi:get_vic_screen::@3->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN2 [phi:get_vic_screen::@3->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN2 sta.z return+1 jmp __breturn - // [569] phi from get_vic_screen::@4 to get_vic_screen::@return [phi:get_vic_screen::@4->get_vic_screen::@return] + // [571] phi from get_vic_screen::@4 to get_vic_screen::@return [phi:get_vic_screen::@4->get_vic_screen::@return] __breturn_from___b4: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN3 [phi:get_vic_screen::@4->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN3 [phi:get_vic_screen::@4->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN3 @@ -24031,7 +24069,7 @@ get_vic_screen: { jmp __breturn // get_vic_screen::@return __breturn: - // [570] return + // [572] return rts } // get_vic_charset @@ -24039,32 +24077,32 @@ get_vic_screen: { // get_vic_charset(byte register(A) idx) get_vic_charset: { .label return = 7 - // [571] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return -- vbuaa_eq_0_then_la1 + // [573] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return -- vbuaa_eq_0_then_la1 cmp #0 beq __breturn_from_get_vic_charset jmp __b2 // get_vic_charset::@2 __b2: - // [572] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 -- vbuaa_neq_vbuc1_then_la1 + // [574] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 -- vbuaa_neq_vbuc1_then_la1 cmp #1 bne __b1_from___b2 - // [574] phi from get_vic_charset::@2 to get_vic_charset::@return [phi:get_vic_charset::@2->get_vic_charset::@return] + // [576] phi from get_vic_charset::@2 to get_vic_charset::@return [phi:get_vic_charset::@2->get_vic_charset::@return] __breturn_from___b2: - // [574] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_BITMAP [phi:get_vic_charset::@2->get_vic_charset::@return#0] -- pbuz1=pbuc1 + // [576] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_BITMAP [phi:get_vic_charset::@2->get_vic_charset::@return#0] -- pbuz1=pbuc1 lda #VIC_BITMAP sta.z return+1 jmp __breturn - // [573] phi from get_vic_charset::@2 to get_vic_charset::@1 [phi:get_vic_charset::@2->get_vic_charset::@1] + // [575] phi from get_vic_charset::@2 to get_vic_charset::@1 [phi:get_vic_charset::@2->get_vic_charset::@1] __b1_from___b2: jmp __b1 // get_vic_charset::@1 __b1: - // [574] phi from get_vic_charset get_vic_charset::@1 to get_vic_charset::@return [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return] + // [576] phi from get_vic_charset get_vic_charset::@1 to get_vic_charset::@return [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return] __breturn_from_get_vic_charset: __breturn_from___b1: - // [574] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_CHARSET_ROM [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return#0] -- pbuz1=pbuc1 + // [576] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_CHARSET_ROM [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return#0] -- pbuz1=pbuc1 lda #VIC_CHARSET_ROM @@ -24072,7 +24110,7 @@ get_vic_charset: { jmp __breturn // get_vic_charset::@return __breturn: - // [575] return + // [577] return rts } // keyboard_event_scan @@ -24081,38 +24119,38 @@ get_vic_charset: { // Handles debounce and only generates events when the status of a key changes. // Also stores current status of modifiers in keyboard_modifiers. keyboard_event_scan: { - .label row_scan = $13 + .label row_scan = $15 .label keycode = $f .label row = $d - // [577] phi from keyboard_event_scan to keyboard_event_scan::@7 [phi:keyboard_event_scan->keyboard_event_scan::@7] + // [579] phi from keyboard_event_scan to keyboard_event_scan::@7 [phi:keyboard_event_scan->keyboard_event_scan::@7] __b7_from_keyboard_event_scan: - // [577] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#98 [phi:keyboard_event_scan->keyboard_event_scan::@7#0] -- register_copy - // [577] phi (byte) keyboard_event_scan::keycode#11 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#1] -- vbuz1=vbuc1 + // [579] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#98 [phi:keyboard_event_scan->keyboard_event_scan::@7#0] -- register_copy + // [579] phi (byte) keyboard_event_scan::keycode#11 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#1] -- vbuz1=vbuc1 lda #0 sta.z keycode - // [577] phi (byte) keyboard_event_scan::row#2 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#2] -- vbuz1=vbuc1 + // [579] phi (byte) keyboard_event_scan::row#2 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#2] -- vbuz1=vbuc1 lda #0 sta.z row jmp __b7 - // [577] phi from keyboard_event_scan::@8 to keyboard_event_scan::@7 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7] + // [579] phi from keyboard_event_scan::@8 to keyboard_event_scan::@7 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7] __b7_from___b8: - // [577] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#100 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#0] -- register_copy - // [577] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#13 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#1] -- register_copy - // [577] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#2] -- register_copy + // [579] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#100 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#0] -- register_copy + // [579] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#13 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#1] -- register_copy + // [579] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#2] -- register_copy jmp __b7 // keyboard_event_scan::@7 __b7: - // [578] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 -- vbuxx=vbuz1 + // [580] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 -- vbuxx=vbuz1 ldx.z row - // [579] call keyboard_matrix_read + // [581] call keyboard_matrix_read jsr keyboard_matrix_read - // [580] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 + // [582] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 jmp __b19 // keyboard_event_scan::@19 __b19: - // [581] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 -- vbuz1=vbuaa + // [583] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 -- vbuz1=vbuaa sta.z row_scan - // [582] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 + // [584] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 lda.z row_scan ldy.z row cmp keyboard_scan_values,y @@ -24120,221 +24158,221 @@ keyboard_event_scan: { jmp __b16 // keyboard_event_scan::@16 __b16: - // [583] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 + // [585] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 lax.z keycode axs #-[8] stx.z keycode - // [584] phi from keyboard_event_scan::@15 keyboard_event_scan::@16 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8] + // [586] phi from keyboard_event_scan::@15 keyboard_event_scan::@16 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8] __b8_from___b15: __b8_from___b16: - // [584] phi (byte) keyboard_events_size#100 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#0] -- register_copy - // [584] phi (byte) keyboard_event_scan::keycode#13 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#1] -- register_copy + // [586] phi (byte) keyboard_events_size#100 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#0] -- register_copy + // [586] phi (byte) keyboard_event_scan::keycode#13 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#1] -- register_copy jmp __b8 // keyboard_event_scan::@8 __b8: - // [585] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 -- vbuz1=_inc_vbuz1 + // [587] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 -- vbuz1=_inc_vbuz1 inc.z row - // [586] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 -- vbuz1_neq_vbuc1_then_la1 + // [588] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z row bne __b7_from___b8 - // [587] phi from keyboard_event_scan::@8 to keyboard_event_scan::@17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@17] + // [589] phi from keyboard_event_scan::@8 to keyboard_event_scan::@17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@17] __b17_from___b8: jmp __b17 // keyboard_event_scan::@17 __b17: - // [588] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@17 to keyboard_event_pressed [phi:keyboard_event_scan::@17->keyboard_event_pressed] + // [590] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@17 to keyboard_event_pressed [phi:keyboard_event_scan::@17->keyboard_event_pressed] keyboard_event_pressed_from___b17: - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_LSHIFT [phi:keyboard_event_scan::@17->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_LSHIFT [phi:keyboard_event_scan::@17->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_LSHIFT sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed - // [589] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 + // [591] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 jmp __b20 // keyboard_event_scan::@20 __b20: - // [590] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 - // [591] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 -- vbuaa_eq_0_then_la1 + // [592] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 + // [593] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 -- vbuaa_eq_0_then_la1 cmp #0 beq __b1_from___b20 - // [592] phi from keyboard_event_scan::@20 to keyboard_event_scan::@18 [phi:keyboard_event_scan::@20->keyboard_event_scan::@18] + // [594] phi from keyboard_event_scan::@20 to keyboard_event_scan::@18 [phi:keyboard_event_scan::@20->keyboard_event_scan::@18] __b18_from___b20: jmp __b18 // keyboard_event_scan::@18 __b18: - // [593] phi from keyboard_event_scan::@18 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@18->keyboard_event_scan::@1] + // [595] phi from keyboard_event_scan::@18 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@18->keyboard_event_scan::@1] __b1_from___b18: - // [593] phi (byte) keyboard_modifiers#19 = (const nomodify byte) KEY_MODIFIER_LSHIFT [phi:keyboard_event_scan::@18->keyboard_event_scan::@1#0] -- vbuxx=vbuc1 + // [595] phi (byte) keyboard_modifiers#19 = (const nomodify byte) KEY_MODIFIER_LSHIFT [phi:keyboard_event_scan::@18->keyboard_event_scan::@1#0] -- vbuxx=vbuc1 ldx #KEY_MODIFIER_LSHIFT jmp __b1 - // [593] phi from keyboard_event_scan::@20 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1] + // [595] phi from keyboard_event_scan::@20 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1] __b1_from___b20: - // [593] phi (byte) keyboard_modifiers#19 = (byte) 0 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1#0] -- vbuxx=vbuc1 + // [595] phi (byte) keyboard_modifiers#19 = (byte) 0 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1#0] -- vbuxx=vbuc1 ldx #0 jmp __b1 // keyboard_event_scan::@1 __b1: - // [594] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@1 to keyboard_event_pressed [phi:keyboard_event_scan::@1->keyboard_event_pressed] + // [596] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@1 to keyboard_event_pressed [phi:keyboard_event_scan::@1->keyboard_event_pressed] keyboard_event_pressed_from___b1: - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_RSHIFT [phi:keyboard_event_scan::@1->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_RSHIFT [phi:keyboard_event_scan::@1->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_RSHIFT sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed - // [595] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 + // [597] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 jmp __b21 // keyboard_event_scan::@21 __b21: - // [596] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 - // [597] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 -- vbuaa_eq_0_then_la1 + // [598] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 + // [599] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 -- vbuaa_eq_0_then_la1 cmp #0 beq __b2_from___b21 jmp __b4 // keyboard_event_scan::@4 __b4: - // [598] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT -- vbuxx=vbuxx_bor_vbuc1 + // [600] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT -- vbuxx=vbuxx_bor_vbuc1 txa ora #KEY_MODIFIER_RSHIFT tax - // [599] phi from keyboard_event_scan::@21 keyboard_event_scan::@4 to keyboard_event_scan::@2 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2] + // [601] phi from keyboard_event_scan::@21 keyboard_event_scan::@4 to keyboard_event_scan::@2 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2] __b2_from___b21: __b2_from___b4: - // [599] phi (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#19 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2#0] -- register_copy + // [601] phi (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#19 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2#0] -- register_copy jmp __b2 // keyboard_event_scan::@2 __b2: - // [600] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@2 to keyboard_event_pressed [phi:keyboard_event_scan::@2->keyboard_event_pressed] + // [602] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@2 to keyboard_event_pressed [phi:keyboard_event_scan::@2->keyboard_event_pressed] keyboard_event_pressed_from___b2: - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_CTRL [phi:keyboard_event_scan::@2->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_CTRL [phi:keyboard_event_scan::@2->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_CTRL sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed - // [601] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 + // [603] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 jmp __b22 // keyboard_event_scan::@22 __b22: - // [602] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 - // [603] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 -- vbuaa_eq_0_then_la1 + // [604] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 + // [605] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 -- vbuaa_eq_0_then_la1 cmp #0 beq __b3_from___b22 jmp __b5 // keyboard_event_scan::@5 __b5: - // [604] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL -- vbuxx=vbuxx_bor_vbuc1 + // [606] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL -- vbuxx=vbuxx_bor_vbuc1 txa ora #KEY_MODIFIER_CTRL tax - // [605] phi from keyboard_event_scan::@22 keyboard_event_scan::@5 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3] + // [607] phi from keyboard_event_scan::@22 keyboard_event_scan::@5 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3] __b3_from___b22: __b3_from___b5: - // [605] phi (byte) keyboard_modifiers#21 = (byte) keyboard_modifiers#20 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3#0] -- register_copy + // [607] phi (byte) keyboard_modifiers#21 = (byte) keyboard_modifiers#20 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3#0] -- register_copy jmp __b3 // keyboard_event_scan::@3 __b3: - // [606] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@3 to keyboard_event_pressed [phi:keyboard_event_scan::@3->keyboard_event_pressed] + // [608] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@3 to keyboard_event_pressed [phi:keyboard_event_scan::@3->keyboard_event_pressed] keyboard_event_pressed_from___b3: - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_COMMODORE [phi:keyboard_event_scan::@3->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_COMMODORE [phi:keyboard_event_scan::@3->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_COMMODORE sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed - // [607] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 + // [609] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 jmp __b23 // keyboard_event_scan::@23 __b23: - // [608] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 - // [609] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return -- vbuaa_eq_0_then_la1 + // [610] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 + // [611] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return -- vbuaa_eq_0_then_la1 cmp #0 beq __breturn_from___b23 jmp __b6 // keyboard_event_scan::@6 __b6: - // [610] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE -- vbuxx=vbuxx_bor_vbuc1 + // [612] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE -- vbuxx=vbuxx_bor_vbuc1 txa ora #KEY_MODIFIER_COMMODORE tax - // [611] phi from keyboard_event_scan::@23 keyboard_event_scan::@6 to keyboard_event_scan::@return [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return] + // [613] phi from keyboard_event_scan::@23 keyboard_event_scan::@6 to keyboard_event_scan::@return [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return] __breturn_from___b23: __breturn_from___b6: - // [611] phi (byte) keyboard_modifiers#22 = (byte) keyboard_modifiers#21 [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return#0] -- register_copy + // [613] phi (byte) keyboard_modifiers#22 = (byte) keyboard_modifiers#21 [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return#0] -- register_copy jmp __breturn // keyboard_event_scan::@return __breturn: - // [612] return + // [614] return rts // Something has changed on the keyboard row - check each column - // [613] phi from keyboard_event_scan::@10 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9] + // [615] phi from keyboard_event_scan::@10 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9] __b9_from___b10: - // [613] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#0] -- register_copy - // [613] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#1] -- register_copy - // [613] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#2] -- register_copy + // [615] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#0] -- register_copy + // [615] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#1] -- register_copy + // [615] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#2] -- register_copy jmp __b9 - // [613] phi from keyboard_event_scan::@19 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9] + // [615] phi from keyboard_event_scan::@19 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9] __b9_from___b19: - // [613] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#107 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#0] -- register_copy - // [613] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#1] -- register_copy - // [613] phi (byte) keyboard_event_scan::col#2 = (byte) 0 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#2] -- vbuxx=vbuc1 + // [615] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#107 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#0] -- register_copy + // [615] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#1] -- register_copy + // [615] phi (byte) keyboard_event_scan::col#2 = (byte) 0 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#2] -- vbuxx=vbuc1 ldx #0 jmp __b9 // keyboard_event_scan::@9 __b9: - // [614] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2 + // [616] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2 lda.z row_scan ldy.z row eor keyboard_scan_values,y - // [615] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx + // [617] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx and keyboard_matrix_col_bitmask,x - // [616] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 -- vbuaa_eq_0_then_la1 + // [618] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 -- vbuaa_eq_0_then_la1 cmp #0 beq __b10_from___b9 jmp __b12 // keyboard_event_scan::@12 __b12: - // [617] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 -- vbuz1_eq_vbuc1_then_la1 + // [619] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 -- vbuz1_eq_vbuc1_then_la1 lda #8 cmp.z keyboard_events_size beq __b10_from___b12 jmp __b13 // keyboard_event_scan::@13 __b13: - // [618] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx + // [620] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx lda keyboard_matrix_col_bitmask,x and.z row_scan - // [619] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 -- vbuaa_eq_0_then_la1 + // [621] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 -- vbuaa_eq_0_then_la1 cmp #0 beq __b11 jmp __b14 // keyboard_event_scan::@14 __b14: - // [620] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 -- pbuc1_derefidx_vbuz1=vbuz2 + // [622] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 -- pbuc1_derefidx_vbuz1=vbuz2 // Key pressed lda.z keycode ldy.z keyboard_events_size sta keyboard_events,y - // [621] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 + // [623] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 inc.z keyboard_events_size - // [622] phi from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10] + // [624] phi from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10] __b10_from___b11: __b10_from___b12: __b10_from___b14: __b10_from___b9: - // [622] phi (byte) keyboard_events_size#106 = (byte) keyboard_events_size#0 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10#0] -- register_copy + // [624] phi (byte) keyboard_events_size#106 = (byte) keyboard_events_size#0 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10#0] -- register_copy jmp __b10 // keyboard_event_scan::@10 __b10: - // [623] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 -- vbuz1=_inc_vbuz1 + // [625] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 -- vbuz1=_inc_vbuz1 inc.z keycode - // [624] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 -- vbuxx=_inc_vbuxx + // [626] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 -- vbuxx=_inc_vbuxx inx - // [625] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 -- vbuxx_neq_vbuc1_then_la1 + // [627] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne __b9_from___b10 jmp __b15 // keyboard_event_scan::@15 __b15: - // [626] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 -- pbuc1_derefidx_vbuz1=vbuz2 + // [628] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 -- pbuc1_derefidx_vbuz1=vbuz2 // Store the current keyboard status for the row to debounce lda.z row_scan ldy.z row @@ -24342,14 +24380,14 @@ keyboard_event_scan: { jmp __b8_from___b15 // keyboard_event_scan::@11 __b11: - // [627] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 -- vbuaa=vbuz1_bor_vbuc1 + // [629] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 -- vbuaa=vbuz1_bor_vbuc1 lda #$40 ora.z keycode - // [628] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 -- pbuc1_derefidx_vbuz1=vbuaa + // [630] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 -- pbuc1_derefidx_vbuz1=vbuaa // Key released ldy.z keyboard_events_size sta keyboard_events,y - // [629] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 + // [631] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 inc.z keyboard_events_size jmp __b10_from___b11 } @@ -24358,130 +24396,130 @@ keyboard_event_scan: { // Returns $ff if there is no event waiting. As all events are <$7f it is enough to examine bit 7 when determining if there is any event to process. // The buffer is filled by keyboard_event_scan() keyboard_event_get: { - // [630] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return -- vbuz1_eq_0_then_la1 + // [632] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return -- vbuz1_eq_0_then_la1 lda.z keyboard_events_size cmp #0 beq __breturn_from_keyboard_event_get jmp __b1 // keyboard_event_get::@1 __b1: - // [631] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 -- vbuz1=_dec_vbuz1 + // [633] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 -- vbuz1=_dec_vbuz1 dec.z keyboard_events_size - // [632] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) -- vbuaa=pbuc1_derefidx_vbuz1 + // [634] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) -- vbuaa=pbuc1_derefidx_vbuz1 ldy.z keyboard_events_size lda keyboard_events,y - // [633] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] + // [635] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] __breturn_from___b1: - // [633] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#3 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy - // [633] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#1 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy + // [635] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#3 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy + // [635] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#1 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy jmp __breturn - // [633] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] + // [635] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] __breturn_from_keyboard_event_get: - // [633] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#100 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy - // [633] phi (byte) keyboard_event_get::return#2 = (byte) $ff [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1 + // [635] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#100 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy + // [635] phi (byte) keyboard_event_get::return#2 = (byte) $ff [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1 lda #$ff jmp __breturn // keyboard_event_get::@return __breturn: - // [634] return + // [636] return rts } // bitmap_init // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { - .label __10 = $13 + .label __10 = $15 .label yoffs = 7 - // [636] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] + // [638] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] __b1_from_bitmap_init: - // [636] phi (byte) bitmap_init::bits#3 = (byte) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 + // [638] phi (byte) bitmap_init::bits#3 = (byte) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 ldy #$80 - // [636] phi (byte) bitmap_init::x#2 = (byte) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1 + // [638] phi (byte) bitmap_init::x#2 = (byte) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1 ldx #0 jmp __b1 - // [636] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] + // [638] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] __b1_from___b2: - // [636] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy - // [636] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy + // [638] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy + // [638] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy jmp __b1 // bitmap_init::@1 __b1: - // [637] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 -- vbuaa=vbuxx_band_vbuc1 + // [639] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 -- vbuaa=vbuxx_band_vbuc1 txa and #$f8 - // [638] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa + // [640] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_xlo,x - // [639] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP -- pbuc1_derefidx_vbuxx=vbuc2 + // [641] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP -- pbuc1_derefidx_vbuxx=vbuc2 lda #>VIC_BITMAP sta bitmap_plot_xhi,x - // [640] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy + // [642] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy tya sta bitmap_plot_bit,x - // [641] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 -- vbuyy=vbuyy_ror_1 + // [643] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 -- vbuyy=vbuyy_ror_1 tya lsr tay - // [642] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1 + // [644] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1 cpy #0 bne __b6_from___b1 - // [644] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] + // [646] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] __b2_from___b1: - // [644] phi (byte) bitmap_init::bits#4 = (byte) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 + // [646] phi (byte) bitmap_init::bits#4 = (byte) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 ldy #$80 jmp __b2 - // [643] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] + // [645] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] __b6_from___b1: jmp __b6 // bitmap_init::@6 __b6: - // [644] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] + // [646] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] __b2_from___b6: - // [644] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy + // [646] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy jmp __b2 // bitmap_init::@2 __b2: - // [645] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx + // [647] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx inx - // [646] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 + // [648] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 cpx #0 bne __b1_from___b2 - // [647] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] + // [649] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] __b3_from___b2: - // [647] phi (byte*) bitmap_init::yoffs#2 = (byte*) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 + // [649] phi (byte*) bitmap_init::yoffs#2 = (byte*) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 lda #<0 sta.z yoffs lda #>0 sta.z yoffs+1 - // [647] phi (byte) bitmap_init::y#2 = (byte) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 + // [649] phi (byte) bitmap_init::y#2 = (byte) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 ldx #0 jmp __b3 - // [647] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] + // [649] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] __b3_from___b4: - // [647] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy - // [647] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy + // [649] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy + // [649] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy jmp __b3 // bitmap_init::@3 __b3: - // [648] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 + // [650] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 lda #7 sax.z __10 - // [649] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 + // [651] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 -- vbuaa=_lo_pbuz1 lda.z yoffs - // [650] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$10 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa + // [652] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$10 | (byte~) bitmap_init::$7 -- vbuaa=vbuz1_bor_vbuaa ora.z __10 - // [651] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa + // [653] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_ylo,x - // [652] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 + // [654] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 lda.z yoffs+1 - // [653] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa + // [655] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_yhi,x - // [654] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 + // [656] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 lda #7 cmp.z __10 bne __b4_from___b3 jmp __b5 // bitmap_init::@5 __b5: - // [655] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 -- pbuz1=pbuz1_plus_vwuc1 + // [657] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 -- pbuz1=pbuz1_plus_vwuc1 clc lda.z yoffs adc #<$28*8 @@ -24489,344 +24527,344 @@ bitmap_init: { lda.z yoffs+1 adc #>$28*8 sta.z yoffs+1 - // [656] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] + // [658] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] __b4_from___b3: __b4_from___b5: - // [656] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy + // [658] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy jmp __b4 // bitmap_init::@4 __b4: - // [657] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx + // [659] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx inx - // [658] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 + // [660] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 cpx #0 bne __b3_from___b4 jmp __breturn // bitmap_init::@return __breturn: - // [659] return + // [661] return rts } // bitmap_clear // Clear all graphics on the bitmap bitmap_clear: { - .label bitmap = $1a + .label bitmap = $13 .label y = $f - // [660] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + // [662] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda bitmap_plot_xlo sta.z bitmap lda bitmap_plot_xhi sta.z bitmap+1 - // [661] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 - // [662] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] + // [663] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 + // [664] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] __b1_from_bitmap_clear: - // [662] phi (byte) bitmap_clear::y#4 = (byte) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 + // [664] phi (byte) bitmap_clear::y#4 = (byte) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 lda #0 sta.z y - // [662] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy + // [664] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy jmp __b1 - // [662] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] + // [664] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] __b1_from___b3: - // [662] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy - // [662] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy + // [664] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy + // [664] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy jmp __b1 // bitmap_clear::@1 __b1: - // [663] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] + // [665] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] __b2_from___b1: - // [663] phi (byte) bitmap_clear::x#2 = (byte) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1 + // [665] phi (byte) bitmap_clear::x#2 = (byte) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1 ldx #0 - // [663] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy + // [665] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy jmp __b2 - // [663] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] + // [665] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] __b2_from___b2: - // [663] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy - // [663] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy + // [665] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy + // [665] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy jmp __b2 // bitmap_clear::@2 __b2: - // [664] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 + // [666] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 lda #0 ldy #0 sta (bitmap),y - // [665] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 + // [667] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 inc.z bitmap bne !+ inc.z bitmap+1 !: - // [666] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx + // [668] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx inx - // [667] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 + // [669] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$c8 bne __b2_from___b2 jmp __b3 // bitmap_clear::@3 __b3: - // [668] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 + // [670] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 inc.z y - // [669] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 + // [671] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z y bne __b1_from___b3 jmp __breturn // bitmap_clear::@return __breturn: - // [670] return + // [672] return rts } // bitmap_line // Draw a line on the bitmap -// bitmap_line(byte zp($11) x0, byte zp($13) x1, byte register(X) y0, byte zp($10) y1) +// bitmap_line(byte zp($11) x0, byte zp($15) x1, byte register(X) y0, byte zp($10) y1) bitmap_line: { .label xd = $f .label x0 = $11 - .label x1 = $13 + .label x1 = $15 .label y1 = $10 - // [671] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1 + // [673] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 -- vbuz1_lt_vbuz2_then_la1 lda.z x0 cmp.z x1 bcc __b1 jmp __b2 // bitmap_line::@2 __b2: - // [672] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 + // [674] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z x0 sec sbc.z x1 sta.z xd - // [673] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuxx_lt_vbuz1_then_la1 + // [675] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 -- vbuxx_lt_vbuz1_then_la1 cpx.z y1 bcc __b7 jmp __b3 // bitmap_line::@3 __b3: - // [674] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuxx_minus_vbuz1 + // [676] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuxx_minus_vbuz1 txa sec sbc.z y1 tay - // [675] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuyy_lt_vbuz1_then_la1 + // [677] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 -- vbuyy_lt_vbuz1_then_la1 cpy.z xd bcc __b8 jmp __b4 // bitmap_line::@4 __b4: - // [676] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + // [678] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda.z y1 sta.z bitmap_line_ydxi.y - // [677] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [679] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_ydxi.x - // [678] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuxx + // [680] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuxx stx.z bitmap_line_ydxi.y1 - // [679] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy + // [681] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy sty.z bitmap_line_ydxi.yd - // [680] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 - // [681] call bitmap_line_ydxi - // [796] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] + // [682] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 + // [683] call bitmap_line_ydxi + // [798] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] bitmap_line_ydxi_from___b4: - // [796] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp __breturn // bitmap_line::@return __breturn: - // [682] return + // [684] return rts // bitmap_line::@8 __b8: - // [683] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [685] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyi.x - // [684] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuxx=vbuz1 + // [686] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuxx=vbuz1 ldx.z y1 - // [685] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [687] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyi.x1 - // [686] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 - // [687] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy + // [688] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 + // [689] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy sty.z bitmap_line_xdyi.yd - // [688] call bitmap_line_xdyi - // [811] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] + // [690] call bitmap_line_xdyi + // [813] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] bitmap_line_xdyi_from___b8: - // [811] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp __breturn // bitmap_line::@7 __b7: - // [689] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuxx + // [691] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuxx txa eor #$ff sec adc.z y1 tay - // [690] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuyy_lt_vbuz1_then_la1 + // [692] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 -- vbuyy_lt_vbuz1_then_la1 cpy.z xd bcc __b9 jmp __b10 // bitmap_line::@10 __b10: - // [691] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuxx + // [693] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuxx stx.z bitmap_line_ydxd.y - // [692] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 - // [693] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 - // [694] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy + // [694] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 + // [695] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 + // [696] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy sty.z bitmap_line_ydxd.yd - // [695] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 - // [696] call bitmap_line_ydxd - // [826] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] + // [697] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 + // [698] call bitmap_line_ydxd + // [828] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] bitmap_line_ydxd_from___b10: - // [826] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp __breturn // bitmap_line::@9 __b9: - // [697] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [699] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyd.x - // [698] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuxx=vbuz1 + // [700] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuxx=vbuz1 ldx.z y1 - // [699] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 - // [700] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 - // [701] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy + // [701] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 + // [702] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 + // [703] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy sty.z bitmap_line_xdyd.yd - // [702] call bitmap_line_xdyd - // [841] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] + // [704] call bitmap_line_xdyd + // [843] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] bitmap_line_xdyd_from___b9: - // [841] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp __breturn // bitmap_line::@1 __b1: - // [703] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 + // [705] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z x1 sec sbc.z x0 sta.z xd - // [704] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuxx_lt_vbuz1_then_la1 + // [706] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 -- vbuxx_lt_vbuz1_then_la1 cpx.z y1 bcc __b11 jmp __b5 // bitmap_line::@5 __b5: - // [705] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuxx_minus_vbuz1 + // [707] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 -- vbuyy=vbuxx_minus_vbuz1 txa sec sbc.z y1 tay - // [706] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuyy_lt_vbuz1_then_la1 + // [708] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 -- vbuyy_lt_vbuz1_then_la1 cpy.z xd bcc __b12 jmp __b6 // bitmap_line::@6 __b6: - // [707] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 + // [709] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 -- vbuz1=vbuz2 lda.z y1 sta.z bitmap_line_ydxd.y - // [708] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [710] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_ydxd.x - // [709] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuxx + // [711] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuxx stx.z bitmap_line_ydxd.y1 - // [710] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy + // [712] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy sty.z bitmap_line_ydxd.yd - // [711] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 - // [712] call bitmap_line_ydxd - // [826] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] + // [713] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 + // [714] call bitmap_line_ydxd + // [828] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] bitmap_line_ydxd_from___b6: - // [826] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd jmp __breturn // bitmap_line::@12 __b12: - // [713] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [715] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyd.x - // [714] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - // [715] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [716] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + // [717] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyd.x1 - // [716] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 - // [717] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy + // [718] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 + // [719] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy sty.z bitmap_line_xdyd.yd - // [718] call bitmap_line_xdyd - // [841] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] + // [720] call bitmap_line_xdyd + // [843] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] bitmap_line_xdyd_from___b12: - // [841] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd jmp __breturn // bitmap_line::@11 __b11: - // [719] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuxx + // [721] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuxx txa eor #$ff sec adc.z y1 tay - // [720] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuyy_lt_vbuz1_then_la1 + // [722] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 -- vbuyy_lt_vbuz1_then_la1 cpy.z xd bcc __b13 jmp __b14 // bitmap_line::@14 __b14: - // [721] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuxx + // [723] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 -- vbuz1=vbuxx stx.z bitmap_line_ydxi.y - // [722] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 - // [723] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 - // [724] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy + // [724] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 + // [725] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 + // [726] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy sty.z bitmap_line_ydxi.yd - // [725] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 - // [726] call bitmap_line_ydxi - // [796] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] + // [727] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 + // [728] call bitmap_line_ydxi + // [798] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] bitmap_line_ydxi_from___b14: - // [796] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi jmp __breturn // bitmap_line::@13 __b13: - // [727] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [729] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyi.x - // [728] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - // [729] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 - // [730] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 - // [731] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy + // [730] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + // [731] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 + // [732] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 + // [733] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy sty.z bitmap_line_xdyi.yd - // [732] call bitmap_line_xdyi - // [811] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] + // [734] call bitmap_line_xdyi + // [813] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] bitmap_line_xdyi_from___b13: - // [811] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi jmp __breturn } @@ -24838,7 +24876,7 @@ bitmap_line: { dtvSetCpuBankSegment1: { // Move CPU BANK 1 SEGMENT ($4000-$7fff) .label cpuBank = $ff - // [734] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa + // [736] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa sta cpuBank // asm { .byte$32,$dd lda$ff .byte$32,$00 } .byte $32, $dd @@ -24847,22 +24885,22 @@ dtvSetCpuBankSegment1: { jmp __breturn // dtvSetCpuBankSegment1::@return __breturn: - // [736] return + // [738] return rts } // gfx_init_plane_fill // Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // gfx_init_plane_fill(dword zp(9) plane_addr, byte zp($10) fill) gfx_init_plane_fill: { - .label __0 = $14 - .label __1 = $18 - .label __4 = $1a - .label __5 = $1a - .label gfxb = $1a + .label __0 = $16 + .label __1 = $1a + .label __4 = $13 + .label __5 = $13 + .label gfxb = $13 .label by = $12 .label plane_addr = 9 .label fill = $10 - // [738] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 -- vduz1=vduz2_rol_2 + // [740] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 -- vduz1=vduz2_rol_2 lda.z plane_addr asl sta.z __0 @@ -24879,35 +24917,35 @@ gfx_init_plane_fill: { rol.z __0+1 rol.z __0+2 rol.z __0+3 - // [739] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 + // [741] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 lda.z __0+2 sta.z __1 lda.z __0+3 sta.z __1+1 - // [740] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuaa=_lo_vwuz1 + // [742] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuaa=_lo_vwuz1 lda.z __1 - // [741] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 - // [742] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] + // [743] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 + // [744] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from_gfx_init_plane_fill: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 jmp __b5 // gfx_init_plane_fill::@5 __b5: - // [743] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 + // [745] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 -- vwuz1=_lo_vduz2 lda.z plane_addr sta.z __4 lda.z plane_addr+1 sta.z __4+1 - // [744] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 + // [746] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z __5 and #<$3fff sta.z __5 lda.z __5+1 and #>$3fff sta.z __5+1 - // [745] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 + // [747] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 -- vwuz1=vwuc1_plus_vwuz1 clc lda.z gfxb adc #<$4000 @@ -24915,88 +24953,88 @@ gfx_init_plane_fill: { lda.z gfxb+1 adc #>$4000 sta.z gfxb+1 - // [746] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 - // [747] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] + // [748] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 + // [749] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] __b1_from___b5: - // [747] phi (byte) gfx_init_plane_fill::by#4 = (byte) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 + // [749] phi (byte) gfx_init_plane_fill::by#4 = (byte) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 lda #0 sta.z by - // [747] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy + // [749] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy jmp __b1 - // [747] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] + // [749] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] __b1_from___b3: - // [747] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy - // [747] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy + // [749] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy + // [749] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy jmp __b1 // gfx_init_plane_fill::@1 __b1: - // [748] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] + // [750] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] __b2_from___b1: - // [748] phi (byte) gfx_init_plane_fill::bx#2 = (byte) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuxx=vbuc1 + // [750] phi (byte) gfx_init_plane_fill::bx#2 = (byte) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuxx=vbuc1 ldx #0 - // [748] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy + // [750] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy jmp __b2 - // [748] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] + // [750] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] __b2_from___b2: - // [748] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy - // [748] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy + // [750] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy + // [750] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy jmp __b2 // gfx_init_plane_fill::@2 __b2: - // [749] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 + // [751] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 lda.z fill ldy #0 sta (gfxb),y - // [750] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 + // [752] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 inc.z gfxb bne !+ inc.z gfxb+1 !: - // [751] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx + // [753] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx inx - // [752] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 + // [754] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b2 jmp __b3 // gfx_init_plane_fill::@3 __b3: - // [753] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 + // [755] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 inc.z by - // [754] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 + // [756] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z by bne __b1_from___b3 - // [755] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] + // [757] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] __b4_from___b3: jmp __b4 // gfx_init_plane_fill::@4 __b4: - // [756] call dtvSetCpuBankSegment1 + // [758] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] + // [735] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] dtvSetCpuBankSegment1_from___b4: - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 jmp __breturn // gfx_init_plane_fill::@return __breturn: - // [757] return + // [759] return rts } // memset // Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str. -// memset(void* zp($18) str) +// memset(void* zp($1a) str) memset: { .const c = ' ' .const num = $3e8 - .label end = $1a - .label dst = $18 - .label str = $18 + .label end = $1c + .label dst = $1a + .label str = $1a jmp __b1 // memset::@1 __b1: - // [759] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 -- pbuz1=pbuz2_plus_vwuc1 + // [761] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 -- pbuz1=pbuz2_plus_vwuc1 lda.z str clc adc #num sta.z end+1 - // [760] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 - // [761] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] + // [762] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 + // [763] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] __b2_from___b1: __b2_from___b3: - // [761] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy + // [763] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy jmp __b2 // memset::@2 __b2: - // [762] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 + // [764] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 lda.z dst+1 cmp.z end+1 bne __b3 @@ -25022,15 +25060,15 @@ memset: { jmp __breturn // memset::@return __breturn: - // [763] return + // [765] return rts // memset::@3 __b3: - // [764] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 + // [766] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 lda #c ldy #0 sta (dst),y - // [765] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [767] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 @@ -25041,10 +25079,10 @@ memset: { // Print a single char // print_char(byte register(A) ch) print_char: { - // [766] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 -- _deref_pbuz1=vbuaa + // [768] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - // [767] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 -- pbuz1=_inc_pbuz1 + // [769] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 -- pbuz1=_inc_pbuz1 inc.z print_char_cursor bne !+ inc.z print_char_cursor+1 @@ -25052,20 +25090,20 @@ print_char: { jmp __breturn // print_char::@return __breturn: - // [768] return + // [770] return rts } // print_ln // Print a newline print_ln: { - // [770] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + // [772] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] __b1_from_print_ln: __b1_from___b1: - // [770] phi (byte*) print_line_cursor#22 = (byte*) print_line_cursor#1 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + // [772] phi (byte*) print_line_cursor#22 = (byte*) print_line_cursor#1 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp __b1 // print_ln::@1 __b1: - // [771] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [773] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc.z print_line_cursor @@ -25073,7 +25111,7 @@ print_ln: { bcc !+ inc.z print_line_cursor+1 !: - // [772] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + // [774] if((byte*) print_line_cursor#2<(byte*) print_char_cursor#44) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 lda.z print_line_cursor+1 cmp.z print_char_cursor+1 bcc __b1_from___b1 @@ -25085,7 +25123,7 @@ print_ln: { jmp __breturn // print_ln::@return __breturn: - // [773] return + // [775] return rts } // form_field_ptr @@ -25093,20 +25131,20 @@ print_ln: { // field_idx is the index of the field to get the screen address for // form_field_ptr(byte register(X) field_idx) form_field_ptr: { - .label line = $1d - .label x = $1c - .label return = $1f - // [775] (byte) form_field_ptr::y#0 ← *((const byte*) form_fields_y + (byte) form_field_ptr::field_idx#2) -- vbuyy=pbuc1_derefidx_vbuxx + .label line = $1e + .label x = $20 + .label return = $13 + // [777] (byte) form_field_ptr::y#0 ← *((const byte*) form_fields_y + (byte) form_field_ptr::field_idx#2) -- vbuyy=pbuc1_derefidx_vbuxx ldy form_fields_y,x - // [776] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + // [778] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy lda form_line_hi,y sta.z line+1 lda form_line_lo,y sta.z line - // [777] (byte) form_field_ptr::x#0 ← *((const byte*) form_fields_x + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuxx + // [779] (byte) form_field_ptr::x#0 ← *((const byte*) form_fields_x + (byte) form_field_ptr::field_idx#2) -- vbuz1=pbuc1_derefidx_vbuxx lda form_fields_x,x sta.z x - // [778] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz2_plus_vbuz3 + // [780] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 -- pbuz1=pbuz2_plus_vbuz3 lda.z x clc adc.z line @@ -25117,27 +25155,27 @@ form_field_ptr: { jmp __breturn // form_field_ptr::@return __breturn: - // [779] return + // [781] return rts } // print_str_at // Print a string at a specific screen position -// print_str_at(byte* zp($1a) str, byte* zp($18) at) +// print_str_at(byte* zp($13) str, byte* zp($1a) at) print_str_at: { - .label at = $18 - .label str = $1a - // [781] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] + .label at = $1a + .label str = $13 + // [783] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] __b1_from_print_str_at: - // [781] phi (byte*) print_str_at::at#2 = (const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 + // [783] phi (byte*) print_str_at::at#2 = (const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 lda #FORM_SCREEN+$28*2+$a sta.z at+1 - // [781] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy + // [783] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy jmp __b1 // print_str_at::@1 __b1: - // [782] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + // [784] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 -- vbuc1_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 @@ -25145,29 +25183,29 @@ print_str_at: { jmp __breturn // print_str_at::@return __breturn: - // [783] return + // [785] return rts // print_str_at::@2 __b2: - // [784] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 + // [786] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y ldy #0 sta (at),y - // [785] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 + // [787] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 inc.z at bne !+ inc.z at+1 !: - // [786] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 + // [788] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 !: - // [781] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] + // [783] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] __b1_from___b2: - // [781] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy - // [781] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy + // [783] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy + // [783] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy jmp __b1 } // keyboard_matrix_read @@ -25178,16 +25216,16 @@ print_str_at: { // leading to erroneous readings. You must disable the normal interrupt or sei/cli around calls to the keyboard matrix reader. // keyboard_matrix_read(byte register(X) rowid) keyboard_matrix_read: { - // [787] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) -- _deref_pbuc1=pbuc2_derefidx_vbuxx + // [789] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) -- _deref_pbuc1=pbuc2_derefidx_vbuxx lda keyboard_matrix_row_bitmask,x sta CIA1 - // [788] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1 + // [790] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1 lda CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B eor #$ff jmp __breturn // keyboard_matrix_read::@return __breturn: - // [789] return + // [791] return rts } // keyboard_event_pressed @@ -25195,28 +25233,28 @@ keyboard_matrix_read: { // Returns 0 is not pressed and non-0 if pressed // keyboard_event_pressed(byte zp($12) keycode) keyboard_event_pressed: { - .label row_bits = $1c + .label row_bits = $20 .label keycode = $12 - // [791] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 -- vbuaa=vbuz1_ror_3 + // [793] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 -- vbuaa=vbuz1_ror_3 lda.z keycode lsr lsr lsr - // [792] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) -- vbuz1=pbuc1_derefidx_vbuaa + // [794] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) -- vbuz1=pbuc1_derefidx_vbuaa tay lda keyboard_scan_values,y sta.z row_bits - // [793] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 -- vbuaa=vbuz1_band_vbuc1 + // [795] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 -- vbuaa=vbuz1_band_vbuc1 lda #7 and.z keycode - // [794] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuaa + // [796] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuaa tay lda keyboard_matrix_col_bitmask,y and.z row_bits jmp __breturn // keyboard_event_pressed::@return __breturn: - // [795] return + // [797] return rts } // bitmap_line_ydxi @@ -25227,147 +25265,147 @@ bitmap_line_ydxi: { .label y1 = $10 .label yd = $d .label xd = $f - .label e = $13 - // [797] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + .label e = $15 + // [799] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z xd lsr sta.z e - // [798] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] + // [800] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] __b1_from_bitmap_line_ydxi: __b1_from___b2: - // [798] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy - // [798] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy - // [798] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy + // [800] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy + // [800] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy + // [800] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy jmp __b1 // bitmap_line_ydxi::@1 __b1: - // [799] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuyy=vbuz1 + // [801] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuyy=vbuz1 ldy.z x - // [800] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuxx=vbuz1 + // [802] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuxx=vbuz1 ldx.z y - // [801] call bitmap_plot - // [856] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] + // [803] call bitmap_plot + // [858] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] bitmap_plot_from___b1: - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b4 // bitmap_line_ydxi::@4 __b4: - // [802] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 + // [804] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 inc.z y - // [803] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [805] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z xd sta.z e - // [804] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 + // [806] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z yd cmp.z e bcs __b2_from___b4 jmp __b3 // bitmap_line_ydxi::@3 __b3: - // [805] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 + // [807] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 inc.z x - // [806] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [808] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z yd sta.z e - // [807] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] + // [809] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] __b2_from___b3: __b2_from___b4: - // [807] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy - // [807] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy + // [809] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy + // [809] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy jmp __b2 // bitmap_line_ydxi::@2 __b2: - // [808] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 -- vbuxx=vbuz1_plus_1 + // [810] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 -- vbuxx=vbuz1_plus_1 ldx.z y1 inx - // [809] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuxx_then_la1 + // [811] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuxx_then_la1 cpx.z y bne __b1_from___b2 jmp __breturn // bitmap_line_ydxi::@return __breturn: - // [810] return + // [812] return rts } // bitmap_line_xdyi -// bitmap_line_xdyi(byte zp($e) x, byte register(X) y, byte zp($13) x1, byte zp($f) xd, byte zp($d) yd) +// bitmap_line_xdyi(byte zp($e) x, byte register(X) y, byte zp($15) x1, byte zp($f) xd, byte zp($d) yd) bitmap_line_xdyi: { .label x = $e - .label x1 = $13 + .label x1 = $15 .label xd = $f .label yd = $d .label e = $12 - // [812] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [814] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z yd lsr sta.z e - // [813] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] + // [815] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] __b1_from_bitmap_line_xdyi: __b1_from___b2: - // [813] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy - // [813] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy - // [813] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy + // [815] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy + // [815] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy + // [815] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy jmp __b1 // bitmap_line_xdyi::@1 __b1: - // [814] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuyy=vbuz1 + // [816] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuyy=vbuz1 ldy.z x - // [815] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 - // [816] call bitmap_plot - // [856] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] + // [817] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 + // [818] call bitmap_plot + // [858] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] bitmap_plot_from___b1: - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b4 // bitmap_line_xdyi::@4 __b4: - // [817] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 + // [819] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 inc.z x - // [818] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [820] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z yd sta.z e - // [819] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 + // [821] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z xd cmp.z e bcs __b2_from___b4 jmp __b3 // bitmap_line_xdyi::@3 __b3: - // [820] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuxx=_inc_vbuxx + // [822] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuxx=_inc_vbuxx inx - // [821] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [823] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z xd sta.z e - // [822] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] + // [824] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] __b2_from___b3: __b2_from___b4: - // [822] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy - // [822] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy + // [824] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy + // [824] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy jmp __b2 // bitmap_line_xdyi::@2 __b2: - // [823] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 -- vbuaa=vbuz1_plus_1 + // [825] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 -- vbuaa=vbuz1_plus_1 lda.z x1 clc adc #1 - // [824] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuaa_then_la1 + // [826] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuaa_then_la1 cmp.z x bne __b1_from___b2 jmp __breturn // bitmap_line_xdyi::@return __breturn: - // [825] return + // [827] return rts } // bitmap_line_ydxd @@ -25378,166 +25416,166 @@ bitmap_line_ydxd: { .label y1 = $10 .label yd = $12 .label xd = $f - .label e = $1c - // [827] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + .label e = $20 + // [829] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z xd lsr sta.z e - // [828] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] + // [830] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] __b1_from_bitmap_line_ydxd: __b1_from___b2: - // [828] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy - // [828] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy - // [828] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy + // [830] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy + // [830] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy + // [830] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy jmp __b1 // bitmap_line_ydxd::@1 __b1: - // [829] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuyy=vbuz1 + // [831] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuyy=vbuz1 ldy.z x - // [830] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuxx=vbuz1 + // [832] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuxx=vbuz1 ldx.z y - // [831] call bitmap_plot - // [856] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] + // [833] call bitmap_plot + // [858] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] bitmap_plot_from___b1: - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b4 // bitmap_line_ydxd::@4 __b4: - // [832] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 + // [834] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 inc.z y - // [833] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [835] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z xd sta.z e - // [834] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 + // [836] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z yd cmp.z e bcs __b2_from___b4 jmp __b3 // bitmap_line_ydxd::@3 __b3: - // [835] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 + // [837] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 dec.z x - // [836] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [838] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z yd sta.z e - // [837] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] + // [839] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] __b2_from___b3: __b2_from___b4: - // [837] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy - // [837] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy + // [839] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy + // [839] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy jmp __b2 // bitmap_line_ydxd::@2 __b2: - // [838] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 -- vbuxx=vbuz1_plus_1 + // [840] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 -- vbuxx=vbuz1_plus_1 ldx.z y1 inx - // [839] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuxx_then_la1 + // [841] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuxx_then_la1 cpx.z y bne __b1_from___b2 jmp __breturn // bitmap_line_ydxd::@return __breturn: - // [840] return + // [842] return rts } // bitmap_line_xdyd -// bitmap_line_xdyd(byte zp($1c) x, byte register(X) y, byte zp($11) x1, byte zp($f) xd, byte zp($e) yd) +// bitmap_line_xdyd(byte zp($20) x, byte register(X) y, byte zp($11) x1, byte zp($f) xd, byte zp($e) yd) bitmap_line_xdyd: { - .label x = $1c + .label x = $20 .label x1 = $11 .label xd = $f .label yd = $e .label e = $12 - // [842] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [844] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z yd lsr sta.z e - // [843] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] + // [845] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] __b1_from_bitmap_line_xdyd: __b1_from___b2: - // [843] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy - // [843] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy - // [843] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy + // [845] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy + // [845] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy + // [845] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy jmp __b1 // bitmap_line_xdyd::@1 __b1: - // [844] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuyy=vbuz1 + // [846] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuyy=vbuz1 ldy.z x - // [845] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 - // [846] call bitmap_plot - // [856] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] + // [847] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 + // [848] call bitmap_plot + // [858] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] bitmap_plot_from___b1: - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b4 // bitmap_line_xdyd::@4 __b4: - // [847] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 + // [849] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 inc.z x - // [848] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [850] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z yd sta.z e - // [849] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 + // [851] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z xd cmp.z e bcs __b2_from___b4 jmp __b3 // bitmap_line_xdyd::@3 __b3: - // [850] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuxx=_dec_vbuxx + // [852] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuxx=_dec_vbuxx dex - // [851] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [853] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z xd sta.z e - // [852] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] + // [854] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] __b2_from___b3: __b2_from___b4: - // [852] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy - // [852] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy + // [854] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy + // [854] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy jmp __b2 // bitmap_line_xdyd::@2 __b2: - // [853] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 -- vbuaa=vbuz1_plus_1 + // [855] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 -- vbuaa=vbuz1_plus_1 lda.z x1 clc adc #1 - // [854] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuaa_then_la1 + // [856] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuaa_then_la1 cmp.z x bne __b1_from___b2 jmp __breturn // bitmap_line_xdyd::@return __breturn: - // [855] return + // [857] return rts } // bitmap_plot // bitmap_plot(byte register(Y) x, byte register(X) y) bitmap_plot: { - .label plotter_x = $1d - .label plotter_y = $1f - .label plotter = $1d - // [857] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + .label plotter_x = $21 + .label plotter_y = $23 + .label plotter = $21 + // [859] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy lda bitmap_plot_xhi,y sta.z plotter_x+1 lda bitmap_plot_xlo,y sta.z plotter_x - // [858] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx + // [860] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx lda bitmap_plot_yhi,x sta.z plotter_y+1 lda bitmap_plot_ylo,x sta.z plotter_y - // [859] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 + // [861] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z plotter clc adc.z plotter_y @@ -25545,17 +25583,17 @@ bitmap_plot: { lda.z plotter+1 adc.z plotter_y+1 sta.z plotter+1 - // [860] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuyy + // [862] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuyy lda bitmap_plot_bit,y ldy #0 ora (plotter),y - // [861] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa + // [863] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa ldy #0 sta (plotter),y jmp __breturn // bitmap_plot::@return __breturn: - // [862] return + // [864] return rts } // File Data @@ -25925,6 +25963,8 @@ Succesful ASM optimization Pass5NextJumpElimination Removing instruction lda #0 Removing instruction lda #3 Removing instruction lda #0 +Removing instruction lda.z __24+1 +Removing instruction lda.z __38+1 Removing instruction lda.z __50+1 Removing instruction ldy #0 Replacing instruction ldy #0 with TAY @@ -26677,15 +26717,15 @@ Removing unreachable instruction jmp __b14 Removing unreachable instruction jmp __b7 Removing unreachable instruction jmp __b9 Succesful ASM optimization Pass5UnreachableCodeElimination -Fixing long branch [1458] bmi __b2 to bpl -Fixing long branch [1658] beq __b6 to bne -Fixing long branch [1662] beq __b7 to bne -Fixing long branch [1666] beq __b8 to bne -Fixing long branch [1670] beq __b9 to bne -Fixing long branch [1674] beq __b10 to bne -Fixing long branch [1678] beq __b11 to bne -Fixing long branch [1682] beq __b12 to bne -Fixing long branch [1686] beq __b13 to bne +Fixing long branch [1466] bmi __b2 to bpl +Fixing long branch [1666] beq __b6 to bne +Fixing long branch [1670] beq __b7 to bne +Fixing long branch [1674] beq __b8 to bne +Fixing long branch [1678] beq __b9 to bne +Fixing long branch [1682] beq __b10 to bne +Fixing long branch [1686] beq __b11 to bne +Fixing long branch [1690] beq __b12 to bne +Fixing long branch [1694] beq __b13 to bne FINAL SYMBOL TABLE (const nomodify byte*) CHARGEN = (byte*) 53248 @@ -26888,18 +26928,18 @@ FINAL SYMBOL TABLE (byte) apply_preset::idx (byte) apply_preset::idx#0 reg byte a 100910.18181818182 (byte*) apply_preset::preset -(byte*) apply_preset::preset#15 preset zp[2]:24 2.00000002E7 +(byte*) apply_preset::preset#15 preset zp[2]:26 2.00000002E7 (void()) bitmap_clear() (label) bitmap_clear::@1 (label) bitmap_clear::@2 (label) bitmap_clear::@3 (label) bitmap_clear::@return (byte*) bitmap_clear::bitmap -(word) bitmap_clear::bitmap#0 bitmap zp[2]:26 1001.0 -(byte*) bitmap_clear::bitmap#1 bitmap zp[2]:26 42000.600000000006 -(byte*) bitmap_clear::bitmap#2 bitmap zp[2]:26 155002.0 -(byte*) bitmap_clear::bitmap#3 bitmap zp[2]:26 21003.0 -(byte*) bitmap_clear::bitmap#5 bitmap zp[2]:26 2002.0 +(word) bitmap_clear::bitmap#0 bitmap zp[2]:19 1001.0 +(byte*) bitmap_clear::bitmap#1 bitmap zp[2]:19 42000.600000000006 +(byte*) bitmap_clear::bitmap#2 bitmap zp[2]:19 155002.0 +(byte*) bitmap_clear::bitmap#3 bitmap zp[2]:19 21003.0 +(byte*) bitmap_clear::bitmap#5 bitmap zp[2]:19 2002.0 (byte) bitmap_clear::x (byte) bitmap_clear::x#1 reg byte x 150001.5 (byte) bitmap_clear::x#2 reg byte x 66667.33333333333 @@ -26908,7 +26948,7 @@ FINAL SYMBOL TABLE (byte) bitmap_clear::y#4 y zp[1]:15 3333.6666666666665 (void()) bitmap_init((byte*) bitmap_init::bitmap) (byte~) bitmap_init::$0 reg byte a 20002.0 -(byte~) bitmap_init::$10 zp[1]:19 5000.5 +(byte~) bitmap_init::$10 zp[1]:21 5000.5 (byte~) bitmap_init::$7 reg byte a 20002.0 (byte~) bitmap_init::$8 reg byte a 20002.0 (byte~) bitmap_init::$9 reg byte a 20002.0 @@ -26953,7 +26993,7 @@ FINAL SYMBOL TABLE (byte) bitmap_line::x0 (byte) bitmap_line::x0#0 x0 zp[1]:17 3956.956521739131 (byte) bitmap_line::x1 -(byte) bitmap_line::x1#0 x1 zp[1]:19 4136.818181818182 +(byte) bitmap_line::x1#0 x1 zp[1]:21 4136.818181818182 (byte) bitmap_line::xd (byte) bitmap_line::xd#1 xd zp[1]:15 3500.3500000000004 (byte) bitmap_line::xd#2 xd zp[1]:15 3500.3500000000004 @@ -26980,11 +27020,11 @@ FINAL SYMBOL TABLE (byte) bitmap_line_xdyd::e#3 e zp[1]:18 4020000.5999999996 (byte) bitmap_line_xdyd::e#6 e zp[1]:18 1.0000001E7 (byte) bitmap_line_xdyd::x -(byte) bitmap_line_xdyd::x#0 x zp[1]:28 4000.4 -(byte) bitmap_line_xdyd::x#1 x zp[1]:28 4000.4 -(byte) bitmap_line_xdyd::x#2 x zp[1]:28 3750000.375 -(byte) bitmap_line_xdyd::x#3 x zp[1]:28 7525001.0 -(byte) bitmap_line_xdyd::x#6 x zp[1]:28 60001.5 +(byte) bitmap_line_xdyd::x#0 x zp[1]:32 4000.4 +(byte) bitmap_line_xdyd::x#1 x zp[1]:32 4000.4 +(byte) bitmap_line_xdyd::x#2 x zp[1]:32 3750000.375 +(byte) bitmap_line_xdyd::x#3 x zp[1]:32 7525001.0 +(byte) bitmap_line_xdyd::x#6 x zp[1]:32 60001.5 (byte) bitmap_line_xdyd::x1 (byte) bitmap_line_xdyd::x1#0 x1 zp[1]:17 6667.333333333333 (byte) bitmap_line_xdyd::x1#1 x1 zp[1]:17 6667.333333333333 @@ -27024,9 +27064,9 @@ FINAL SYMBOL TABLE (byte) bitmap_line_xdyi::x#3 x zp[1]:14 7525001.0 (byte) bitmap_line_xdyi::x#6 x zp[1]:14 60001.5 (byte) bitmap_line_xdyi::x1 -(byte) bitmap_line_xdyi::x1#0 x1 zp[1]:19 6667.333333333333 -(byte) bitmap_line_xdyi::x1#1 x1 zp[1]:19 6667.333333333333 -(byte) bitmap_line_xdyi::x1#6 x1 zp[1]:19 715714.5 +(byte) bitmap_line_xdyi::x1#0 x1 zp[1]:21 6667.333333333333 +(byte) bitmap_line_xdyi::x1#1 x1 zp[1]:21 6667.333333333333 +(byte) bitmap_line_xdyi::x1#6 x1 zp[1]:21 715714.5 (byte) bitmap_line_xdyi::xd (byte) bitmap_line_xdyi::xd#0 xd zp[1]:15 10001.0 (byte) bitmap_line_xdyi::xd#1 xd zp[1]:15 10001.0 @@ -27050,11 +27090,11 @@ FINAL SYMBOL TABLE (label) bitmap_line_ydxd::@4 (label) bitmap_line_ydxd::@return (byte) bitmap_line_ydxd::e -(byte) bitmap_line_ydxd::e#0 e zp[1]:28 200002.0 -(byte) bitmap_line_ydxd::e#1 e zp[1]:28 1.3333334666666666E7 -(byte) bitmap_line_ydxd::e#2 e zp[1]:28 2.0000002E7 -(byte) bitmap_line_ydxd::e#3 e zp[1]:28 4020000.5999999996 -(byte) bitmap_line_ydxd::e#6 e zp[1]:28 1.0000001E7 +(byte) bitmap_line_ydxd::e#0 e zp[1]:32 200002.0 +(byte) bitmap_line_ydxd::e#1 e zp[1]:32 1.3333334666666666E7 +(byte) bitmap_line_ydxd::e#2 e zp[1]:32 2.0000002E7 +(byte) bitmap_line_ydxd::e#3 e zp[1]:32 4020000.5999999996 +(byte) bitmap_line_ydxd::e#6 e zp[1]:32 1.0000001E7 (byte) bitmap_line_ydxd::x (byte) bitmap_line_ydxd::x#0 x zp[1]:17 5000.5 (byte) bitmap_line_ydxd::x#1 x zp[1]:17 5000.5 @@ -27088,11 +27128,11 @@ FINAL SYMBOL TABLE (label) bitmap_line_ydxi::@4 (label) bitmap_line_ydxi::@return (byte) bitmap_line_ydxi::e -(byte) bitmap_line_ydxi::e#0 e zp[1]:19 200002.0 -(byte) bitmap_line_ydxi::e#1 e zp[1]:19 1.3333334666666666E7 -(byte) bitmap_line_ydxi::e#2 e zp[1]:19 2.0000002E7 -(byte) bitmap_line_ydxi::e#3 e zp[1]:19 4020000.5999999996 -(byte) bitmap_line_ydxi::e#6 e zp[1]:19 1.0000001E7 +(byte) bitmap_line_ydxi::e#0 e zp[1]:21 200002.0 +(byte) bitmap_line_ydxi::e#1 e zp[1]:21 1.3333334666666666E7 +(byte) bitmap_line_ydxi::e#2 e zp[1]:21 2.0000002E7 +(byte) bitmap_line_ydxi::e#3 e zp[1]:21 4020000.5999999996 +(byte) bitmap_line_ydxi::e#6 e zp[1]:21 1.0000001E7 (byte) bitmap_line_ydxi::x (byte) bitmap_line_ydxi::x#0 x zp[1]:17 5000.5 (byte) bitmap_line_ydxi::x#1 x zp[1]:17 5000.5 @@ -27122,11 +27162,11 @@ FINAL SYMBOL TABLE (byte~) bitmap_plot::$1 reg byte a 2.00000002E8 (label) bitmap_plot::@return (byte*) bitmap_plot::plotter -(word) bitmap_plot::plotter#0 plotter zp[2]:29 5.00000005E7 +(word) bitmap_plot::plotter#0 plotter zp[2]:33 5.00000005E7 (word) bitmap_plot::plotter_x -(word) bitmap_plot::plotter_x#0 plotter_x zp[2]:29 1.00000001E8 +(word) bitmap_plot::plotter_x#0 plotter_x zp[2]:33 1.00000001E8 (word) bitmap_plot::plotter_y -(word) bitmap_plot::plotter_y#0 plotter_y zp[2]:31 2.00000002E8 +(word) bitmap_plot::plotter_y#0 plotter_y zp[2]:35 2.00000002E8 (byte) bitmap_plot::x (byte) bitmap_plot::x#0 reg byte y 1.0000001E7 (byte) bitmap_plot::x#1 reg byte y 1.0000001E7 @@ -27196,7 +27236,7 @@ FINAL SYMBOL TABLE (label) form_control::@9 (label) form_control::@return (byte*) form_control::field -(byte*) form_control::field#0 field zp[2]:31 296296.5925925926 +(byte*) form_control::field#0 field zp[2]:19 296296.5925925926 (byte) form_control::key_event (byte) form_control::key_event#0 reg byte a 1333334.6666666667 (byte) form_control::return @@ -27233,12 +27273,12 @@ FINAL SYMBOL TABLE (byte) form_field_ptr::field_idx#1 reg byte x 2000002.0 (byte) form_field_ptr::field_idx#2 reg byte x 7.003333346666667E8 (byte*) form_field_ptr::line -(word) form_field_ptr::line#0 line zp[2]:29 2.000000002E8 +(word) form_field_ptr::line#0 line zp[2]:30 2.000000002E8 (byte*) form_field_ptr::return -(byte*) form_field_ptr::return#0 return zp[2]:31 3.336666673333334E8 -(byte*) form_field_ptr::return#3 return zp[2]:31 2000002.0 +(byte*) form_field_ptr::return#0 return zp[2]:19 3.336666673333334E8 +(byte*) form_field_ptr::return#3 return zp[2]:19 2000002.0 (byte) form_field_ptr::x -(byte) form_field_ptr::x#0 x zp[1]:28 5.2500000075E8 +(byte) form_field_ptr::x#0 x zp[1]:32 5.2500000075E8 (byte) form_field_ptr::y (byte) form_field_ptr::y#0 reg byte y 3.000000003E9 (const byte) form_fields_cnt = (byte) $24 @@ -27394,7 +27434,7 @@ FINAL SYMBOL TABLE (byte) gfx_init_charset::l#1 reg byte x 15001.5 (byte) gfx_init_charset::l#2 reg byte x 5000.5 (void()) gfx_init_plane_8bppchunky() -(word~) gfx_init_plane_8bppchunky::$5 zp[2]:29 10001.0 +(word~) gfx_init_plane_8bppchunky::$5 zp[2]:35 10001.0 (label) gfx_init_plane_8bppchunky::@1 (label) gfx_init_plane_8bppchunky::@2 (label) gfx_init_plane_8bppchunky::@3 @@ -27468,10 +27508,10 @@ FINAL SYMBOL TABLE (byte) gfx_init_plane_charset8::gfxbCpuBank (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfxbCpuBank = (byte)(const nomodify dword) PLANE_CHARSET8/(word) $4000 (void()) gfx_init_plane_fill((dword) gfx_init_plane_fill::plane_addr , (byte) gfx_init_plane_fill::fill) -(dword~) gfx_init_plane_fill::$0 zp[4]:20 2002.0 -(word~) gfx_init_plane_fill::$1 zp[2]:24 2002.0 -(word~) gfx_init_plane_fill::$4 zp[2]:26 2002.0 -(word~) gfx_init_plane_fill::$5 zp[2]:26 2002.0 +(dword~) gfx_init_plane_fill::$0 zp[4]:22 2002.0 +(word~) gfx_init_plane_fill::$1 zp[2]:26 2002.0 +(word~) gfx_init_plane_fill::$4 zp[2]:19 2002.0 +(word~) gfx_init_plane_fill::$5 zp[2]:19 2002.0 (label) gfx_init_plane_fill::@1 (label) gfx_init_plane_fill::@2 (label) gfx_init_plane_fill::@3 @@ -27487,11 +27527,11 @@ FINAL SYMBOL TABLE (byte) gfx_init_plane_fill::fill (byte) gfx_init_plane_fill::fill#6 fill zp[1]:16 5555.611111111111 (byte*) gfx_init_plane_fill::gfxb -(word) gfx_init_plane_fill::gfxb#0 gfxb zp[2]:26 1001.0 -(byte*) gfx_init_plane_fill::gfxb#1 gfxb zp[2]:26 42000.600000000006 -(byte*) gfx_init_plane_fill::gfxb#2 gfxb zp[2]:26 155002.0 -(byte*) gfx_init_plane_fill::gfxb#3 gfxb zp[2]:26 21003.0 -(byte*) gfx_init_plane_fill::gfxb#6 gfxb zp[2]:26 2002.0 +(word) gfx_init_plane_fill::gfxb#0 gfxb zp[2]:19 1001.0 +(byte*) gfx_init_plane_fill::gfxb#1 gfxb zp[2]:19 42000.600000000006 +(byte*) gfx_init_plane_fill::gfxb#2 gfxb zp[2]:19 155002.0 +(byte*) gfx_init_plane_fill::gfxb#3 gfxb zp[2]:19 21003.0 +(byte*) gfx_init_plane_fill::gfxb#6 gfxb zp[2]:19 2002.0 (byte) gfx_init_plane_fill::gfxbCpuBank (byte) gfx_init_plane_fill::gfxbCpuBank#0 reg byte a 2002.0 (dword) gfx_init_plane_fill::plane_addr @@ -27671,10 +27711,11 @@ FINAL SYMBOL TABLE (void()) gfx_mode() (byte~) gfx_mode::$18 reg byte a 202.0 (dword~) gfx_mode::$20 zp[4]:9 202.0 +(word~) gfx_mode::$22 zp[2]:35 202.0 (byte~) gfx_mode::$23 reg byte a 202.0 -(word~) gfx_mode::$24 zp[2]:29 101.0 +(word~) gfx_mode::$24 zp[2]:19 202.0 (byte~) gfx_mode::$25 reg byte a 202.0 -(word~) gfx_mode::$26 zp[2]:31 202.0 +(word~) gfx_mode::$26 zp[2]:26 202.0 (byte~) gfx_mode::$27 reg byte a 202.0 (byte~) gfx_mode::$28 reg byte a 202.0 (byte~) gfx_mode::$29 reg byte a 202.0 @@ -27682,10 +27723,11 @@ FINAL SYMBOL TABLE (byte~) gfx_mode::$31 reg byte a 202.0 (byte~) gfx_mode::$32 reg byte a 202.0 (dword~) gfx_mode::$34 zp[4]:9 202.0 +(word~) gfx_mode::$36 zp[2]:28 202.0 (byte~) gfx_mode::$37 reg byte a 202.0 -(word~) gfx_mode::$38 zp[2]:24 101.0 +(word~) gfx_mode::$38 zp[2]:30 202.0 (byte~) gfx_mode::$39 reg byte a 202.0 -(word~) gfx_mode::$40 zp[2]:26 202.0 +(word~) gfx_mode::$40 zp[2]:33 202.0 (byte~) gfx_mode::$41 reg byte a 202.0 (byte~) gfx_mode::$42 reg byte a 202.0 (byte~) gfx_mode::$43 reg byte a 202.0 @@ -27773,11 +27815,11 @@ FINAL SYMBOL TABLE (byte) gfx_mode::keyboard_event (byte) gfx_mode::keyboard_event#0 reg byte a 20002.0 (dword) gfx_mode::plane_a -(dword) gfx_mode::plane_a#0 plane_a zp[4]:9 50.5 +(dword) gfx_mode::plane_a#0 plane_a zp[4]:9 57.714285714285715 (byte) gfx_mode::plane_a_offs (byte) gfx_mode::plane_a_offs#0 reg byte x 40.4 (dword) gfx_mode::plane_b -(dword) gfx_mode::plane_b#0 plane_b zp[4]:9 50.5 +(dword) gfx_mode::plane_b#0 plane_b zp[4]:9 57.714285714285715 (byte) gfx_mode::plane_b_offs (byte) gfx_mode::plane_b_offs#0 reg byte x 40.4 (byte*) gfx_mode::vic_colors @@ -27812,7 +27854,7 @@ FINAL SYMBOL TABLE (byte) keyboard_event_pressed::return#2 reg byte a 2.0000002E7 (byte) keyboard_event_pressed::return#3 reg byte a 2.0000002E7 (byte) keyboard_event_pressed::row_bits -(byte) keyboard_event_pressed::row_bits#0 row_bits zp[1]:28 1.00000001E8 +(byte) keyboard_event_pressed::row_bits#0 row_bits zp[1]:32 1.00000001E8 (void()) keyboard_event_scan() (byte~) keyboard_event_scan::$0 reg byte a 2.0000002E7 (byte~) keyboard_event_scan::$15 reg byte a 2.000000000002E12 @@ -27860,7 +27902,7 @@ FINAL SYMBOL TABLE (byte) keyboard_event_scan::row#1 row zp[1]:13 1.500000000015E11 (byte) keyboard_event_scan::row#2 row zp[1]:13 6.000000000024E10 (byte) keyboard_event_scan::row_scan -(byte) keyboard_event_scan::row_scan#0 row_scan zp[1]:19 1.2777777777805557E11 +(byte) keyboard_event_scan::row_scan#0 row_scan zp[1]:21 1.2777777777805557E11 (const byte*) keyboard_events[(number) 8] = { fill( 8, 0) } (byte) keyboard_events_size (byte) keyboard_events_size#0 keyboard_events_size zp[1]:16 2.000000000002E12 @@ -27869,7 +27911,7 @@ FINAL SYMBOL TABLE (byte) keyboard_events_size#106 keyboard_events_size zp[1]:16 1.0200000000012E12 (byte) keyboard_events_size#107 keyboard_events_size zp[1]:16 4.285857142914285E10 (byte) keyboard_events_size#19 keyboard_events_size zp[1]:16 8.100000000008999E11 -(byte) keyboard_events_size#25 keyboard_events_size zp[1]:16 111777.86666666667 +(byte) keyboard_events_size#25 keyboard_events_size zp[1]:16 110549.53846153847 (byte) keyboard_events_size#28 keyboard_events_size zp[1]:16 2.871794871794872 (byte) keyboard_events_size#3 keyboard_events_size zp[1]:16 1.50000015E7 (byte) keyboard_events_size#49 keyboard_events_size zp[1]:16 65300.23529411765 @@ -27908,16 +27950,16 @@ FINAL SYMBOL TABLE (byte) memset::c (const byte) memset::c#0 c = (byte) ' ' (byte*) memset::dst -(byte*) memset::dst#1 dst zp[2]:24 2000002.0 -(byte*) memset::dst#2 dst zp[2]:24 1336668.3333333335 -(byte*) memset::dst#4 dst zp[2]:24 20002.0 +(byte*) memset::dst#1 dst zp[2]:26 2000002.0 +(byte*) memset::dst#2 dst zp[2]:26 1336668.3333333335 +(byte*) memset::dst#4 dst zp[2]:26 20002.0 (byte*) memset::end -(byte*) memset::end#0 end zp[2]:26 168333.6666666667 +(byte*) memset::end#0 end zp[2]:28 168333.6666666667 (word) memset::num (const word) memset::num#0 num = (word) $3e8 (void*) memset::return (void*) memset::str -(void*) memset::str#0 str zp[2]:24 333.6666666666667 +(void*) memset::str#0 str zp[2]:26 333.6666666666667 (const byte*) preset_8bpppixelcell[] = { (byte) $a, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $b, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (const byte*) preset_chunky[] = { (byte) 7, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 6, (byte) 0, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (const byte*) preset_ecmchar[] = { (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 0, (byte) 5, (byte) 0, (byte) 6 } @@ -27934,12 +27976,12 @@ FINAL SYMBOL TABLE (byte) print_char::ch (byte) print_char::ch#0 reg byte a 1.1000002E7 (byte*) print_char_cursor -(byte*) print_char_cursor#2 print_char_cursor zp[2]:24 100501.5 -(byte*) print_char_cursor#29 print_char_cursor zp[2]:24 3666667.333333333 -(byte*) print_char_cursor#43 print_char_cursor zp[2]:24 3683334.1666666665 -(byte*) print_char_cursor#44 print_char_cursor zp[2]:24 1.4328571485714287E8 -(byte*) print_char_cursor#72 print_char_cursor zp[2]:24 2002.0 -(byte*) print_char_cursor#73 print_char_cursor zp[2]:24 200002.0 +(byte*) print_char_cursor#2 print_char_cursor zp[2]:26 100501.5 +(byte*) print_char_cursor#29 print_char_cursor zp[2]:26 3666667.333333333 +(byte*) print_char_cursor#43 print_char_cursor zp[2]:26 3683334.1666666665 +(byte*) print_char_cursor#44 print_char_cursor zp[2]:26 1.4328571485714287E8 +(byte*) print_char_cursor#72 print_char_cursor zp[2]:26 2002.0 +(byte*) print_char_cursor#73 print_char_cursor zp[2]:26 200002.0 (void()) print_cls() (label) print_cls::@return (const to_nomodify byte*) print_hextab[] = (byte*) "0123456789abcdef"z @@ -27961,12 +28003,12 @@ FINAL SYMBOL TABLE (label) print_str_at::@2 (label) print_str_at::@return (byte*) print_str_at::at -(byte*) print_str_at::at#0 at zp[2]:24 1.000000001E9 -(byte*) print_str_at::at#2 at zp[2]:24 1.000000001E9 +(byte*) print_str_at::at#0 at zp[2]:26 1.000000001E9 +(byte*) print_str_at::at#2 at zp[2]:26 1.000000001E9 (byte*) print_str_at::str -(byte*) print_str_at::str#0 str zp[2]:26 2.000000002E9 -(byte*) print_str_at::str#1 str zp[2]:26 550001.0 -(byte*) print_str_at::str#2 str zp[2]:26 1.00025000125E9 +(byte*) print_str_at::str#0 str zp[2]:19 2.000000002E9 +(byte*) print_str_at::str#1 str zp[2]:19 550001.0 +(byte*) print_str_at::str#2 str zp[2]:19 1.00025000125E9 (void()) print_str_lines((byte*) print_str_lines::str) (label) print_str_lines::@1 (label) print_str_lines::@2 @@ -27978,10 +28020,10 @@ FINAL SYMBOL TABLE (byte) print_str_lines::ch (byte) print_str_lines::ch#0 reg byte a 666667.3333333334 (byte*) print_str_lines::str -(byte*) print_str_lines::str#0 str zp[2]:26 233333.66666666666 -(byte*) print_str_lines::str#3 str zp[2]:26 150502.0 -(byte*) print_str_lines::str#4 str zp[2]:26 1550002.0 -(byte*) print_str_lines::str#5 str zp[2]:26 500.5 +(byte*) print_str_lines::str#0 str zp[2]:19 233333.66666666666 +(byte*) print_str_lines::str#3 str zp[2]:19 150502.0 +(byte*) print_str_lines::str#4 str zp[2]:19 1550002.0 +(byte*) print_str_lines::str#5 str zp[2]:19 500.5 (void()) render_preset_name((byte) render_preset_name::idx) (label) render_preset_name::@1 (label) render_preset_name::@10 @@ -28004,7 +28046,7 @@ FINAL SYMBOL TABLE (const byte*) render_preset_name::name#1 name_1 = (byte*) "Standard Charset " (const byte*) render_preset_name::name#10 name_10 = (byte*) "Sixs Fred 2 " (const byte*) render_preset_name::name#11 name_11 = (byte*) "8bpp Pixel Cell " -(byte*) render_preset_name::name#13 name zp[2]:26 100001.0 +(byte*) render_preset_name::name#13 name zp[2]:19 100001.0 (const byte*) render_preset_name::name#2 name_2 = (byte*) "Extended Color Charset " (const byte*) render_preset_name::name#3 name_3 = (byte*) "Standard Bitmap " (const byte*) render_preset_name::name#4 name_4 = (byte*) "Multicolor Bitmap " @@ -28122,6 +28164,7 @@ reg byte a [ print_str_lines::ch#0 ] reg byte a [ print_char::ch#0 ] reg byte a [ form_set_screen::$0 ] reg byte a [ form_set_screen::$1 ] +zp[2]:19 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 gfx_mode::$24 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ form_control::$12 ] reg byte a [ keyboard_event_get::return#4 ] reg byte a [ form_control::key_event#0 ] @@ -28144,7 +28187,7 @@ reg byte a [ keyboard_event_scan::$16 ] reg byte a [ keyboard_event_scan::event_type#0 ] reg byte a [ keyboard_event_scan::$23 ] reg byte a [ bitmap_init::$0 ] -zp[1]:19 [ bitmap_init::$10 keyboard_event_scan::row_scan#0 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 bitmap_line::x1#0 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 ] +zp[1]:21 [ bitmap_init::$10 keyboard_event_scan::row_scan#0 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 bitmap_line::x1#0 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 a [ bitmap_init::$7 ] reg byte a [ bitmap_init::$8 ] reg byte a [ bitmap_init::$9 ] @@ -28152,27 +28195,28 @@ reg byte y [ bitmap_line::yd#2 ] reg byte y [ bitmap_line::yd#1 ] reg byte y [ bitmap_line::yd#10 ] reg byte y [ bitmap_line::yd#11 ] -zp[4]:20 [ gfx_init_plane_fill::$0 ] -zp[2]:24 [ gfx_init_plane_fill::$1 gfx_mode::$38 print_str_at::at#2 print_str_at::at#0 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#0 apply_preset::preset#15 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] +zp[4]:22 [ gfx_init_plane_fill::$0 ] +zp[2]:26 [ gfx_init_plane_fill::$1 gfx_mode::$26 print_str_at::at#2 print_str_at::at#0 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#0 apply_preset::preset#15 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] -zp[2]:26 [ memset::end#0 gfx_mode::$40 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] +zp[2]:28 [ memset::end#0 gfx_mode::$36 ] reg byte y [ form_field_ptr::y#0 ] +zp[2]:30 [ form_field_ptr::line#0 gfx_mode::$38 ] reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ keyboard_event_pressed::$0 ] -zp[1]:28 [ keyboard_event_pressed::row_bits#0 form_field_ptr::x#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 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 ] +zp[1]:32 [ keyboard_event_pressed::row_bits#0 form_field_ptr::x#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 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 a [ keyboard_event_pressed::$1 ] reg byte a [ keyboard_event_pressed::return#10 ] reg byte x [ bitmap_line_ydxi::$6 ] reg byte a [ bitmap_line_xdyi::$6 ] reg byte x [ bitmap_line_ydxd::$6 ] reg byte a [ bitmap_line_xdyd::$6 ] -zp[2]:29 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 form_field_ptr::line#0 gfx_init_plane_8bppchunky::$5 gfx_mode::$24 ] -zp[2]:31 [ bitmap_plot::plotter_y#0 form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 gfx_mode::$26 ] +zp[2]:33 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 gfx_mode::$40 ] +zp[2]:35 [ bitmap_plot::plotter_y#0 gfx_init_plane_8bppchunky::$5 gfx_mode::$22 ] reg byte a [ bitmap_plot::$1 ] FINAL ASSEMBLER -Score: 10118912 +Score: 10118930 // File Comments // Interactive Explorer for C64DTV Screen Modes @@ -28348,7 +28392,7 @@ Score: 10118912 .label form_vic_bg2_lo = form_fields_val+$21 .label form_vic_bg3_hi = form_fields_val+$22 .label form_vic_bg3_lo = form_fields_val+$23 - .label print_char_cursor = $18 + .label print_char_cursor = $1a .label print_line_cursor = 7 .label print_screen = 7 // Keyboard event buffer size. The number of events currently in the event buffer @@ -28440,31 +28484,31 @@ keyboard_init: { gfx_init: { // gfx_init_screen0() // [16] call gfx_init_screen0 - // [234] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] + // [236] phi from gfx_init to gfx_init_screen0 [phi:gfx_init->gfx_init_screen0] jsr gfx_init_screen0 // [17] phi from gfx_init to gfx_init::@1 [phi:gfx_init->gfx_init::@1] // gfx_init::@1 // gfx_init_screen1() // [18] call gfx_init_screen1 - // [248] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] + // [250] phi from gfx_init::@1 to gfx_init_screen1 [phi:gfx_init::@1->gfx_init_screen1] jsr gfx_init_screen1 // [19] phi from gfx_init::@1 to gfx_init::@2 [phi:gfx_init::@1->gfx_init::@2] // gfx_init::@2 // gfx_init_screen2() // [20] call gfx_init_screen2 - // [260] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] + // [262] phi from gfx_init::@2 to gfx_init_screen2 [phi:gfx_init::@2->gfx_init_screen2] jsr gfx_init_screen2 // [21] phi from gfx_init::@2 to gfx_init::@3 [phi:gfx_init::@2->gfx_init::@3] // gfx_init::@3 // gfx_init_screen3() // [22] call gfx_init_screen3 - // [275] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] + // [277] phi from gfx_init::@3 to gfx_init_screen3 [phi:gfx_init::@3->gfx_init_screen3] jsr gfx_init_screen3 // [23] phi from gfx_init::@3 to gfx_init::@4 [phi:gfx_init::@3->gfx_init::@4] // gfx_init::@4 // gfx_init_screen4() // [24] call gfx_init_screen4 - // [289] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] + // [291] phi from gfx_init::@4 to gfx_init_screen4 [phi:gfx_init::@4->gfx_init_screen4] jsr gfx_init_screen4 // [25] phi from gfx_init::@4 to gfx_init::@5 [phi:gfx_init::@4->gfx_init::@5] // gfx_init::@5 @@ -28475,55 +28519,55 @@ gfx_init: { // gfx_init::@6 // gfx_init_vic_bitmap() // [28] call gfx_init_vic_bitmap - // [311] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] + // [313] phi from gfx_init::@6 to gfx_init_vic_bitmap [phi:gfx_init::@6->gfx_init_vic_bitmap] jsr gfx_init_vic_bitmap // [29] phi from gfx_init::@6 to gfx_init::@7 [phi:gfx_init::@6->gfx_init::@7] // gfx_init::@7 // gfx_init_plane_8bppchunky() // [30] call gfx_init_plane_8bppchunky - // [324] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] + // [326] phi from gfx_init::@7 to gfx_init_plane_8bppchunky [phi:gfx_init::@7->gfx_init_plane_8bppchunky] jsr gfx_init_plane_8bppchunky // [31] phi from gfx_init::@7 to gfx_init::@8 [phi:gfx_init::@7->gfx_init::@8] // gfx_init::@8 // gfx_init_plane_charset8() // [32] call gfx_init_plane_charset8 - // [344] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] + // [346] phi from gfx_init::@8 to gfx_init_plane_charset8 [phi:gfx_init::@8->gfx_init_plane_charset8] jsr gfx_init_plane_charset8 // [33] phi from gfx_init::@8 to gfx_init::@9 [phi:gfx_init::@8->gfx_init::@9] // gfx_init::@9 // gfx_init_plane_horisontal() // [34] call gfx_init_plane_horisontal - // [369] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] + // [371] phi from gfx_init::@9 to gfx_init_plane_horisontal [phi:gfx_init::@9->gfx_init_plane_horisontal] jsr gfx_init_plane_horisontal // [35] phi from gfx_init::@9 to gfx_init::@10 [phi:gfx_init::@9->gfx_init::@10] // gfx_init::@10 // gfx_init_plane_vertical() // [36] call gfx_init_plane_vertical - // [387] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] + // [389] phi from gfx_init::@10 to gfx_init_plane_vertical [phi:gfx_init::@10->gfx_init_plane_vertical] jsr gfx_init_plane_vertical // [37] phi from gfx_init::@10 to gfx_init::@11 [phi:gfx_init::@10->gfx_init::@11] // gfx_init::@11 // gfx_init_plane_horisontal2() // [38] call gfx_init_plane_horisontal2 - // [400] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] + // [402] phi from gfx_init::@11 to gfx_init_plane_horisontal2 [phi:gfx_init::@11->gfx_init_plane_horisontal2] jsr gfx_init_plane_horisontal2 // [39] phi from gfx_init::@11 to gfx_init::@12 [phi:gfx_init::@11->gfx_init::@12] // gfx_init::@12 // gfx_init_plane_vertical2() // [40] call gfx_init_plane_vertical2 - // [415] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] + // [417] phi from gfx_init::@12 to gfx_init_plane_vertical2 [phi:gfx_init::@12->gfx_init_plane_vertical2] jsr gfx_init_plane_vertical2 // [41] phi from gfx_init::@12 to gfx_init::@13 [phi:gfx_init::@12->gfx_init::@13] // gfx_init::@13 // gfx_init_plane_blank() // [42] call gfx_init_plane_blank - // [418] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] + // [420] phi from gfx_init::@13 to gfx_init_plane_blank [phi:gfx_init::@13->gfx_init_plane_blank] jsr gfx_init_plane_blank // [43] phi from gfx_init::@13 to gfx_init::@14 [phi:gfx_init::@13->gfx_init::@14] // gfx_init::@14 // gfx_init_plane_full() // [44] call gfx_init_plane_full - // [421] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] + // [423] phi from gfx_init::@14 to gfx_init_plane_full [phi:gfx_init::@14->gfx_init_plane_full] jsr gfx_init_plane_full // gfx_init::@return // } @@ -28537,8 +28581,8 @@ form_mode: { // print_set_screen(COLS) // [47] call print_set_screen // Form Colors - // [424] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] - // [424] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) COLS [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 + // [426] phi from form_mode to print_set_screen [phi:form_mode->print_set_screen] + // [426] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) COLS [phi:form_mode->print_set_screen#0] -- pbuz1=pbuc1 lda #COLS @@ -28553,8 +28597,8 @@ form_mode: { // form_mode::@9 // print_str_lines(FORM_COLS) // [51] call print_str_lines - // [430] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] - // [430] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_COLS [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 + // [432] phi from form_mode::@9 to print_str_lines [phi:form_mode::@9->print_str_lines] + // [432] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_COLS [phi:form_mode::@9->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_COLS @@ -28565,8 +28609,8 @@ form_mode: { // print_set_screen(FORM_SCREEN) // [53] call print_set_screen // Form Text - // [424] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] - // [424] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) FORM_SCREEN [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 + // [426] phi from form_mode::@10 to print_set_screen [phi:form_mode::@10->print_set_screen] + // [426] phi (byte*) print_set_screen::screen#2 = (const nomodify byte*) FORM_SCREEN [phi:form_mode::@10->print_set_screen#0] -- pbuz1=pbuc1 lda #FORM_SCREEN @@ -28581,8 +28625,8 @@ form_mode: { // form_mode::@12 // print_str_lines(FORM_TEXT) // [57] call print_str_lines - // [430] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] - // [430] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_TEXT [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 + // [432] phi from form_mode::@12 to print_str_lines [phi:form_mode::@12->print_str_lines] + // [432] phi (byte*) print_str_lines::str#5 = (const byte*) FORM_TEXT [phi:form_mode::@12->print_str_lines#0] -- pbuz1=pbuc1 lda #FORM_TEXT @@ -28593,21 +28637,21 @@ form_mode: { // form_set_screen(FORM_SCREEN) // [59] call form_set_screen // Form Fields - // [446] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] + // [448] phi from form_mode::@13 to form_set_screen [phi:form_mode::@13->form_set_screen] jsr form_set_screen // [60] phi from form_mode::@13 to form_mode::@14 [phi:form_mode::@13->form_mode::@14] // form_mode::@14 // form_render_values() // [61] call form_render_values - // [456] phi from form_mode::@14 to form_render_values [phi:form_mode::@14->form_render_values] + // [458] phi from form_mode::@14 to form_render_values [phi:form_mode::@14->form_render_values] jsr form_render_values // form_mode::@15 // render_preset_name(*form_preset) // [62] (byte) render_preset_name::idx#0 ← *((const byte*) form_fields_val) -- vbuaa=_deref_pbuc1 lda form_fields_val // [63] call render_preset_name - // [464] phi from form_mode::@15 to render_preset_name [phi:form_mode::@15->render_preset_name] - // [464] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#0 [phi:form_mode::@15->render_preset_name#0] -- register_copy + // [466] phi from form_mode::@15 to render_preset_name [phi:form_mode::@15->render_preset_name] + // [466] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#0 [phi:form_mode::@15->render_preset_name#0] -- register_copy jsr render_preset_name // form_mode::@16 // *DTV_GRAPHICS_VIC_BANK = (byte)((dword)FORM_CHARSET/$10000) @@ -28749,15 +28793,15 @@ form_mode: { sta.z preset_current // form_render_values() // [95] call form_render_values - // [456] phi from form_mode::@18 to form_render_values [phi:form_mode::@18->form_render_values] + // [458] phi from form_mode::@18 to form_render_values [phi:form_mode::@18->form_render_values] jsr form_render_values // form_mode::@19 // render_preset_name(*form_preset) // [96] (byte) render_preset_name::idx#1 ← *((const byte*) form_fields_val) -- vbuaa=_deref_pbuc1 lda form_fields_val // [97] call render_preset_name - // [464] phi from form_mode::@19 to render_preset_name [phi:form_mode::@19->render_preset_name] - // [464] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#1 [phi:form_mode::@19->render_preset_name#0] -- register_copy + // [466] phi from form_mode::@19 to render_preset_name [phi:form_mode::@19->render_preset_name] + // [466] phi (byte) render_preset_name::idx#10 = (byte) render_preset_name::idx#1 [phi:form_mode::@19->render_preset_name#0] -- register_copy jsr render_preset_name jmp __b2 } @@ -28765,11 +28809,13 @@ form_mode: { // Change graphics mode to show the selected graphics mode gfx_mode: { .label __20 = 9 - .label __24 = $1d - .label __26 = $1f + .label __22 = $23 + .label __24 = $13 + .label __26 = $1a .label __34 = 9 - .label __38 = $18 - .label __40 = $1a + .label __36 = $1c + .label __38 = $1e + .label __40 = $21 .label __47 = 3 .label __48 = 3 .label __50 = 7 @@ -28946,8 +28992,8 @@ gfx_mode: { // [130] (byte) get_plane::idx#0 ← *((const nomodify byte*) form_a_pattern) -- vbuaa=_deref_pbuc1 lda form_a_pattern // [131] call get_plane - // [544] phi from gfx_mode::@9 to get_plane [phi:gfx_mode::@9->get_plane] - // [544] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#0 [phi:gfx_mode::@9->get_plane#0] -- register_copy + // [546] phi from gfx_mode::@9 to get_plane [phi:gfx_mode::@9->get_plane] + // [546] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#0 [phi:gfx_mode::@9->get_plane#0] -- register_copy jsr get_plane // get_plane(*form_a_pattern) // [132] (dword) get_plane::return#16 ← (dword) get_plane::return#14 @@ -28969,89 +29015,94 @@ gfx_mode: { adc #0 sta.z plane_a+3 // < plane_a - // [135] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 -- vwuz1=_lo_vduz2 + // [135] (word~) gfx_mode::$22 ← < (dword) gfx_mode::plane_a#0 -- vwuz1=_lo_vduz2 + lda.z plane_a + sta.z __22 + lda.z plane_a+1 + sta.z __22+1 + // < < plane_a + // [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$22 -- vbuaa=_lo_vwuz1 + lda.z __22 + // *DTV_PLANEA_START_LO = < < plane_a + // [137] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$23 -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_START_LO + // < plane_a + // [138] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 -- vwuz1=_lo_vduz2 lda.z plane_a sta.z __24 lda.z plane_a+1 sta.z __24+1 - // < < plane_a - // [136] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$24 -- vbuaa=_lo_vwuz1 - lda.z __24 - // *DTV_PLANEA_START_LO = < < plane_a - // [137] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$23 -- _deref_pbuc1=vbuaa - sta DTV_PLANEA_START_LO // > < plane_a - // [138] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 -- vbuaa=_hi_vwuz1 - lda.z __24+1 + // [139] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 -- vbuaa=_hi_vwuz1 // *DTV_PLANEA_START_MI = > < plane_a - // [139] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 -- _deref_pbuc1=vbuaa + // [140] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 -- _deref_pbuc1=vbuaa sta DTV_PLANEA_START_MI // > plane_a - // [140] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 -- vwuz1=_hi_vduz2 + // [141] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 -- vwuz1=_hi_vduz2 lda.z plane_a+2 sta.z __26 lda.z plane_a+3 sta.z __26+1 // < > plane_a - // [141] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 -- vbuaa=_lo_vwuz1 + // [142] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 -- vbuaa=_lo_vwuz1 lda.z __26 // *DTV_PLANEA_START_HI = < > plane_a - // [142] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 -- _deref_pbuc1=vbuaa + // [143] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 -- _deref_pbuc1=vbuaa sta DTV_PLANEA_START_HI // *form_a_step_hi*$10 - // [143] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [144] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_a_step_hi asl asl asl asl // *form_a_step_hi*$10|*form_a_step_lo - // [144] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [145] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_a_step_lo // *DTV_PLANEA_STEP = *form_a_step_hi*$10|*form_a_step_lo - // [145] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 -- _deref_pbuc1=vbuaa + // [146] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 -- _deref_pbuc1=vbuaa sta DTV_PLANEA_STEP // *form_a_mod_hi*$10 - // [146] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [147] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_a_mod_hi asl asl asl asl // *form_a_mod_hi*$10|*form_a_mod_lo - // [147] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [148] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_a_mod_lo // *DTV_PLANEA_MODULO_LO = *form_a_mod_hi*$10|*form_a_mod_lo - // [148] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 -- _deref_pbuc1=vbuaa + // [149] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 -- _deref_pbuc1=vbuaa sta DTV_PLANEA_MODULO_LO // *DTV_PLANEA_MODULO_HI = 0 - // [149] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [150] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEA_MODULO_HI // *form_b_start_hi*$10 - // [150] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [151] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_b_start_hi asl asl asl asl // plane_b_offs = *form_b_start_hi*$10|*form_b_start_lo - // [151] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) -- vbuxx=vbuaa_bor__deref_pbuc1 + // [152] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) -- vbuxx=vbuaa_bor__deref_pbuc1 ora form_b_start_lo tax // get_plane(*form_b_pattern) - // [152] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) -- vbuaa=_deref_pbuc1 + // [153] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) -- vbuaa=_deref_pbuc1 lda form_b_pattern - // [153] call get_plane - // [544] phi from gfx_mode::@27 to get_plane [phi:gfx_mode::@27->get_plane] - // [544] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#1 [phi:gfx_mode::@27->get_plane#0] -- register_copy + // [154] call get_plane + // [546] phi from gfx_mode::@27 to get_plane [phi:gfx_mode::@27->get_plane] + // [546] phi (byte) get_plane::idx#10 = (byte) get_plane::idx#1 [phi:gfx_mode::@27->get_plane#0] -- register_copy jsr get_plane // get_plane(*form_b_pattern) - // [154] (dword) get_plane::return#17 ← (dword) get_plane::return#14 + // [155] (dword) get_plane::return#17 ← (dword) get_plane::return#14 // gfx_mode::@28 - // [155] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 + // [156] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 // plane_b = get_plane(*form_b_pattern) + plane_b_offs - // [156] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 -- vduz1=vduz1_plus_vbuxx + // [157] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 -- vduz1=vduz1_plus_vbuxx txa clc adc.z plane_b @@ -29066,88 +29117,93 @@ gfx_mode: { adc #0 sta.z plane_b+3 // < plane_b - // [157] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 -- vwuz1=_lo_vduz2 + // [158] (word~) gfx_mode::$36 ← < (dword) gfx_mode::plane_b#0 -- vwuz1=_lo_vduz2 + lda.z plane_b + sta.z __36 + lda.z plane_b+1 + sta.z __36+1 + // < < plane_b + // [159] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$36 -- vbuaa=_lo_vwuz1 + lda.z __36 + // *DTV_PLANEB_START_LO = < < plane_b + // [160] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_START_LO + // < plane_b + // [161] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 -- vwuz1=_lo_vduz2 lda.z plane_b sta.z __38 lda.z plane_b+1 sta.z __38+1 - // < < plane_b - // [158] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$38 -- vbuaa=_lo_vwuz1 - lda.z __38 - // *DTV_PLANEB_START_LO = < < plane_b - // [159] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 -- _deref_pbuc1=vbuaa - sta DTV_PLANEB_START_LO // > < plane_b - // [160] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 -- vbuaa=_hi_vwuz1 - lda.z __38+1 + // [162] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 -- vbuaa=_hi_vwuz1 // *DTV_PLANEB_START_MI = > < plane_b - // [161] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 -- _deref_pbuc1=vbuaa + // [163] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 -- _deref_pbuc1=vbuaa sta DTV_PLANEB_START_MI // > plane_b - // [162] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 -- vwuz1=_hi_vduz2 + // [164] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 -- vwuz1=_hi_vduz2 lda.z plane_b+2 sta.z __40 lda.z plane_b+3 sta.z __40+1 // < > plane_b - // [163] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 -- vbuaa=_lo_vwuz1 + // [165] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 -- vbuaa=_lo_vwuz1 lda.z __40 // *DTV_PLANEB_START_HI = < > plane_b - // [164] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 -- _deref_pbuc1=vbuaa + // [166] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 -- _deref_pbuc1=vbuaa sta DTV_PLANEB_START_HI // *form_b_step_hi*$10 - // [165] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [167] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_b_step_hi asl asl asl asl // *form_b_step_hi*$10|*form_b_step_lo - // [166] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [168] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_b_step_lo // *DTV_PLANEB_STEP = *form_b_step_hi*$10|*form_b_step_lo - // [167] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 -- _deref_pbuc1=vbuaa + // [169] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 -- _deref_pbuc1=vbuaa sta DTV_PLANEB_STEP // *form_b_mod_hi*$10 - // [168] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [170] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_b_mod_hi asl asl asl asl // *form_b_mod_hi*$10|*form_b_mod_lo - // [169] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [171] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_b_mod_lo // *DTV_PLANEB_MODULO_LO = *form_b_mod_hi*$10|*form_b_mod_lo - // [170] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 -- _deref_pbuc1=vbuaa + // [172] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 -- _deref_pbuc1=vbuaa sta DTV_PLANEB_MODULO_LO // *DTV_PLANEB_MODULO_HI = 0 - // [171] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [173] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta DTV_PLANEB_MODULO_HI // CIA2->PORT_A_DDR = %00000011 - // [172] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 -- _deref_pbuc1=vbuc2 + // [174] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 -- _deref_pbuc1=vbuc2 // VIC Graphics Bank lda #3 sta CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR // CIA2->PORT_A = %00000011 ^ (byte)((word)VIC_SCREEN0/$4000) - // [173] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 -- _deref_pbuc1=vbuc2 + // [175] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 -- _deref_pbuc1=vbuc2 // Set VIC Bank bits to output - all others to input lda #3^VIC_SCREEN0/$4000 sta CIA2 // get_vic_screen(*form_vic_screen) - // [174] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) -- vbuaa=_deref_pbuc1 + // [176] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) -- vbuaa=_deref_pbuc1 lda form_vic_screen - // [175] call get_vic_screen - // [562] phi from gfx_mode::@28 to get_vic_screen [phi:gfx_mode::@28->get_vic_screen] - // [562] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#0 [phi:gfx_mode::@28->get_vic_screen#0] -- register_copy + // [177] call get_vic_screen + // [564] phi from gfx_mode::@28 to get_vic_screen [phi:gfx_mode::@28->get_vic_screen] + // [564] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#0 [phi:gfx_mode::@28->get_vic_screen#0] -- register_copy jsr get_vic_screen // get_vic_screen(*form_vic_screen) - // [176] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 + // [178] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 // gfx_mode::@29 - // [177] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 + // [179] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 // (word)get_vic_screen(*form_vic_screen)&$3fff - // [178] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 + // [180] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z __47 and #<$3fff sta.z __47 @@ -29155,7 +29211,7 @@ gfx_mode: { and #>$3fff sta.z __47+1 // ((word)get_vic_screen(*form_vic_screen)&$3fff)/$40 - // [179] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 -- vwuz1=vwuz1_ror_6 + // [181] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 -- vwuz1=vwuz1_ror_6 lda.z __48 asl sta.z $ff @@ -29169,15 +29225,15 @@ gfx_mode: { rol.z __48 rol.z __48+1 // get_vic_charset(*form_vic_gfx) - // [180] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) -- vbuaa=_deref_pbuc1 + // [182] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) -- vbuaa=_deref_pbuc1 lda form_vic_gfx - // [181] call get_vic_charset + // [183] call get_vic_charset jsr get_vic_charset - // [182] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 + // [184] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 // gfx_mode::@30 - // [183] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 + // [185] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 // (word)get_vic_charset(*form_vic_gfx)&$3fff - // [184] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 + // [186] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff -- vwuz1=vwuz1_band_vwuc1 lda.z __50 and #<$3fff sta.z __50 @@ -29185,223 +29241,223 @@ gfx_mode: { and #>$3fff sta.z __50+1 // >((word)get_vic_charset(*form_vic_gfx)&$3fff) - // [185] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 -- vbuaa=_hi_vwuz1 + // [187] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 -- vbuaa=_hi_vwuz1 // (>((word)get_vic_charset(*form_vic_gfx)&$3fff))/4 - // [186] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 -- vbuz1=vbuaa_ror_2 + // [188] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 -- vbuz1=vbuaa_ror_2 lsr lsr sta.z __52 // (byte)(((word)get_vic_screen(*form_vic_screen)&$3fff)/$40) | ((>((word)get_vic_charset(*form_vic_gfx)&$3fff))/4) - // [187] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 -- vbuaa=_byte_vwuz1 + // [189] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 -- vbuaa=_byte_vwuz1 lda.z __48 - // [188] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 -- vbuaa=vbuaa_bor_vbuz1 + // [190] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 -- vbuaa=vbuaa_bor_vbuz1 ora.z __52 // *VIC_MEMORY = (byte)(((word)get_vic_screen(*form_vic_screen)&$3fff)/$40) | ((>((word)get_vic_charset(*form_vic_gfx)&$3fff))/4) - // [189] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 -- _deref_pbuc1=vbuaa + // [191] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 -- _deref_pbuc1=vbuaa // Set VIC Bank // VIC memory sta VIC_MEMORY // get_vic_screen(*form_vic_cols) - // [190] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) -- vbuaa=_deref_pbuc1 + // [192] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) -- vbuaa=_deref_pbuc1 lda form_vic_cols - // [191] call get_vic_screen - // [562] phi from gfx_mode::@30 to get_vic_screen [phi:gfx_mode::@30->get_vic_screen] - // [562] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#1 [phi:gfx_mode::@30->get_vic_screen#0] -- register_copy + // [193] call get_vic_screen + // [564] phi from gfx_mode::@30 to get_vic_screen [phi:gfx_mode::@30->get_vic_screen] + // [564] phi (byte) get_vic_screen::idx#2 = (byte) get_vic_screen::idx#1 [phi:gfx_mode::@30->get_vic_screen#0] -- register_copy jsr get_vic_screen // get_vic_screen(*form_vic_cols) - // [192] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 + // [194] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 // gfx_mode::@31 // vic_colors = get_vic_screen(*form_vic_cols) - // [193] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 - // [194] phi from gfx_mode::@31 to gfx_mode::@19 [phi:gfx_mode::@31->gfx_mode::@19] - // [194] phi (byte) gfx_mode::cy#4 = (byte) 0 [phi:gfx_mode::@31->gfx_mode::@19#0] -- vbuz1=vbuc1 + // [195] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 + // [196] phi from gfx_mode::@31 to gfx_mode::@19 [phi:gfx_mode::@31->gfx_mode::@19] + // [196] phi (byte) gfx_mode::cy#4 = (byte) 0 [phi:gfx_mode::@31->gfx_mode::@19#0] -- vbuz1=vbuc1 lda #0 sta.z cy - // [194] phi (byte*) gfx_mode::col#3 = (const nomodify byte*) COLS [phi:gfx_mode::@31->gfx_mode::@19#1] -- pbuz1=pbuc1 + // [196] phi (byte*) gfx_mode::col#3 = (const nomodify byte*) COLS [phi:gfx_mode::@31->gfx_mode::@19#1] -- pbuz1=pbuc1 lda #COLS sta.z col+1 - // [194] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#0 [phi:gfx_mode::@31->gfx_mode::@19#2] -- register_copy - // [194] phi from gfx_mode::@21 to gfx_mode::@19 [phi:gfx_mode::@21->gfx_mode::@19] - // [194] phi (byte) gfx_mode::cy#4 = (byte) gfx_mode::cy#1 [phi:gfx_mode::@21->gfx_mode::@19#0] -- register_copy - // [194] phi (byte*) gfx_mode::col#3 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@21->gfx_mode::@19#1] -- register_copy - // [194] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@21->gfx_mode::@19#2] -- register_copy + // [196] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#0 [phi:gfx_mode::@31->gfx_mode::@19#2] -- register_copy + // [196] phi from gfx_mode::@21 to gfx_mode::@19 [phi:gfx_mode::@21->gfx_mode::@19] + // [196] phi (byte) gfx_mode::cy#4 = (byte) gfx_mode::cy#1 [phi:gfx_mode::@21->gfx_mode::@19#0] -- register_copy + // [196] phi (byte*) gfx_mode::col#3 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@21->gfx_mode::@19#1] -- register_copy + // [196] phi (byte*) gfx_mode::vic_colors#3 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@21->gfx_mode::@19#2] -- register_copy // gfx_mode::@19 __b19: - // [195] phi from gfx_mode::@19 to gfx_mode::@20 [phi:gfx_mode::@19->gfx_mode::@20] - // [195] phi (byte) gfx_mode::cx#2 = (byte) 0 [phi:gfx_mode::@19->gfx_mode::@20#0] -- vbuxx=vbuc1 + // [197] phi from gfx_mode::@19 to gfx_mode::@20 [phi:gfx_mode::@19->gfx_mode::@20] + // [197] phi (byte) gfx_mode::cx#2 = (byte) 0 [phi:gfx_mode::@19->gfx_mode::@20#0] -- vbuxx=vbuc1 ldx #0 - // [195] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#3 [phi:gfx_mode::@19->gfx_mode::@20#1] -- register_copy - // [195] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#3 [phi:gfx_mode::@19->gfx_mode::@20#2] -- register_copy - // [195] phi from gfx_mode::@20 to gfx_mode::@20 [phi:gfx_mode::@20->gfx_mode::@20] - // [195] phi (byte) gfx_mode::cx#2 = (byte) gfx_mode::cx#1 [phi:gfx_mode::@20->gfx_mode::@20#0] -- register_copy - // [195] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@20->gfx_mode::@20#1] -- register_copy - // [195] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@20->gfx_mode::@20#2] -- register_copy + // [197] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#3 [phi:gfx_mode::@19->gfx_mode::@20#1] -- register_copy + // [197] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#3 [phi:gfx_mode::@19->gfx_mode::@20#2] -- register_copy + // [197] phi from gfx_mode::@20 to gfx_mode::@20 [phi:gfx_mode::@20->gfx_mode::@20] + // [197] phi (byte) gfx_mode::cx#2 = (byte) gfx_mode::cx#1 [phi:gfx_mode::@20->gfx_mode::@20#0] -- register_copy + // [197] phi (byte*) gfx_mode::col#2 = (byte*) gfx_mode::col#1 [phi:gfx_mode::@20->gfx_mode::@20#1] -- register_copy + // [197] phi (byte*) gfx_mode::vic_colors#2 = (byte*) gfx_mode::vic_colors#1 [phi:gfx_mode::@20->gfx_mode::@20#2] -- register_copy // gfx_mode::@20 __b20: // *col++ = *vic_colors++ - // [196] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) -- _deref_pbuz1=_deref_pbuz2 + // [198] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (vic_colors),y sta (col),y // *col++ = *vic_colors++; - // [197] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 -- pbuz1=_inc_pbuz1 + // [199] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 -- pbuz1=_inc_pbuz1 inc.z col bne !+ inc.z col+1 !: - // [198] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 -- pbuz1=_inc_pbuz1 + // [200] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 -- pbuz1=_inc_pbuz1 inc.z vic_colors bne !+ inc.z vic_colors+1 !: // for(byte cx: 0..39) - // [199] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 -- vbuxx=_inc_vbuxx + // [201] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 -- vbuxx=_inc_vbuxx inx - // [200] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 -- vbuxx_neq_vbuc1_then_la1 + // [202] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b20 // gfx_mode::@21 // for(byte cy: 0..24 ) - // [201] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 -- vbuz1=_inc_vbuz1 + // [203] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [202] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 -- vbuz1_neq_vbuc1_then_la1 + // [204] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b19 // gfx_mode::@22 // VICII->BORDER_COLOR = 0 - // [203] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [205] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) ← (byte) 0 -- _deref_pbuc1=vbuc2 // Background colors lda #0 sta VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR // *form_vic_bg0_hi*$10 - // [204] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [206] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_vic_bg0_hi asl asl asl asl // *form_vic_bg0_hi*$10|*form_vic_bg0_lo - // [205] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [207] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_vic_bg0_lo // VICII->BG_COLOR = *form_vic_bg0_hi*$10|*form_vic_bg0_lo - // [206] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuaa + // [208] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) ← (byte~) gfx_mode::$56 -- _deref_pbuc1=vbuaa sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR // *form_vic_bg1_hi*$10 - // [207] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [209] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_vic_bg1_hi asl asl asl asl // *form_vic_bg1_hi*$10|*form_vic_bg1_lo - // [208] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [210] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_vic_bg1_lo // VICII->BG_COLOR1 = *form_vic_bg1_hi*$10|*form_vic_bg1_lo - // [209] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuaa + // [211] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1) ← (byte~) gfx_mode::$58 -- _deref_pbuc1=vbuaa sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR1 // *form_vic_bg2_hi*$10 - // [210] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [212] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_vic_bg2_hi asl asl asl asl // *form_vic_bg2_hi*$10|*form_vic_bg2_lo - // [211] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [213] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_vic_bg2_lo // VICII->BG_COLOR2 = *form_vic_bg2_hi*$10|*form_vic_bg2_lo - // [212] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuaa + // [214] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2) ← (byte~) gfx_mode::$60 -- _deref_pbuc1=vbuaa sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR2 // *form_vic_bg3_hi*$10 - // [213] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 + // [215] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 -- vbuaa=_deref_pbuc1_rol_4 lda form_vic_bg3_hi asl asl asl asl // *form_vic_bg3_hi*$10|*form_vic_bg3_lo - // [214] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 + // [216] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) -- vbuaa=vbuaa_bor__deref_pbuc1 ora form_vic_bg3_lo // VICII->BG_COLOR3 = *form_vic_bg3_hi*$10|*form_vic_bg3_lo - // [215] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuaa + // [217] *((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3) ← (byte~) gfx_mode::$62 -- _deref_pbuc1=vbuaa sta VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR3 // if(*form_dtv_palet==0) - // [216] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 -- _deref_pbuc1_eq_0_then_la1 + // [218] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 -- _deref_pbuc1_eq_0_then_la1 // DTV Palette lda form_dtv_palet cmp #0 beq __b13 - // [217] phi from gfx_mode::@22 to gfx_mode::@23 [phi:gfx_mode::@22->gfx_mode::@23] - // [217] phi (byte) gfx_mode::j#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@23#0] -- vbuxx=vbuc1 + // [219] phi from gfx_mode::@22 to gfx_mode::@23 [phi:gfx_mode::@22->gfx_mode::@23] + // [219] phi (byte) gfx_mode::j#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@23#0] -- vbuxx=vbuc1 ldx #0 // DTV Palette - Grey Tones - // [217] phi from gfx_mode::@23 to gfx_mode::@23 [phi:gfx_mode::@23->gfx_mode::@23] - // [217] phi (byte) gfx_mode::j#2 = (byte) gfx_mode::j#1 [phi:gfx_mode::@23->gfx_mode::@23#0] -- register_copy + // [219] phi from gfx_mode::@23 to gfx_mode::@23 [phi:gfx_mode::@23->gfx_mode::@23] + // [219] phi (byte) gfx_mode::j#2 = (byte) gfx_mode::j#1 [phi:gfx_mode::@23->gfx_mode::@23#0] -- register_copy // gfx_mode::@23 __b23: // DTV_PALETTE[j] = j - // [218] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 -- pbuc1_derefidx_vbuxx=vbuxx + // [220] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 -- pbuc1_derefidx_vbuxx=vbuxx txa sta DTV_PALETTE,x // for(byte j : 0..$f) - // [219] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 -- vbuxx=_inc_vbuxx + // [221] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 -- vbuxx=_inc_vbuxx inx - // [220] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 -- vbuxx_neq_vbuc1_then_la1 + // [222] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne __b23 // gfx_mode::@25 __b25: // while(VICII->RASTER!=$ff) - // [221] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1 + // [223] if(*((byte*)(const nomodify struct MOS6569_VICII*) VICII+(const byte) OFFSET_STRUCT_MOS6569_VICII_RASTER)!=(byte) $ff) goto gfx_mode::@25 -- _deref_pbuc1_neq_vbuc2_then_la1 lda #$ff cmp VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER bne __b25 - // [222] phi from gfx_mode::@25 to gfx_mode::@26 [phi:gfx_mode::@25->gfx_mode::@26] + // [224] phi from gfx_mode::@25 to gfx_mode::@26 [phi:gfx_mode::@25->gfx_mode::@26] // gfx_mode::@26 // keyboard_event_scan() - // [223] call keyboard_event_scan - // [576] phi from gfx_mode::@26 to keyboard_event_scan [phi:gfx_mode::@26->keyboard_event_scan] - // [576] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#25 [phi:gfx_mode::@26->keyboard_event_scan#0] -- register_copy + // [225] call keyboard_event_scan + // [578] phi from gfx_mode::@26 to keyboard_event_scan [phi:gfx_mode::@26->keyboard_event_scan] + // [578] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#25 [phi:gfx_mode::@26->keyboard_event_scan#0] -- register_copy jsr keyboard_event_scan - // [224] phi from gfx_mode::@26 to gfx_mode::@32 [phi:gfx_mode::@26->gfx_mode::@32] + // [226] phi from gfx_mode::@26 to gfx_mode::@32 [phi:gfx_mode::@26->gfx_mode::@32] // gfx_mode::@32 // keyboard_event_get() - // [225] call keyboard_event_get + // [227] call keyboard_event_get jsr keyboard_event_get - // [226] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 + // [228] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 // gfx_mode::@33 // keyboard_event = keyboard_event_get() - // [227] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 + // [229] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 // if(keyboard_event==KEY_SPACE) - // [228] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return -- vbuaa_eq_vbuc1_then_la1 + // [230] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return -- vbuaa_eq_vbuc1_then_la1 cmp #KEY_SPACE beq __breturn jmp __b25 // gfx_mode::@return __breturn: // } - // [229] return + // [231] return rts // DTV Palette - default - // [230] phi from gfx_mode::@22 to gfx_mode::@24 [phi:gfx_mode::@22->gfx_mode::@24] + // [232] phi from gfx_mode::@22 to gfx_mode::@24 [phi:gfx_mode::@22->gfx_mode::@24] __b13: - // [230] phi (byte) gfx_mode::i#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@24#0] -- vbuxx=vbuc1 + // [232] phi (byte) gfx_mode::i#2 = (byte) 0 [phi:gfx_mode::@22->gfx_mode::@24#0] -- vbuxx=vbuc1 ldx #0 - // [230] phi from gfx_mode::@24 to gfx_mode::@24 [phi:gfx_mode::@24->gfx_mode::@24] - // [230] phi (byte) gfx_mode::i#2 = (byte) gfx_mode::i#1 [phi:gfx_mode::@24->gfx_mode::@24#0] -- register_copy + // [232] phi from gfx_mode::@24 to gfx_mode::@24 [phi:gfx_mode::@24->gfx_mode::@24] + // [232] phi (byte) gfx_mode::i#2 = (byte) gfx_mode::i#1 [phi:gfx_mode::@24->gfx_mode::@24#0] -- register_copy // gfx_mode::@24 __b24: // DTV_PALETTE[i] = DTV_PALETTE_DEFAULT[i] - // [231] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + // [233] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx lda DTV_PALETTE_DEFAULT,x sta DTV_PALETTE,x // for(byte i : 0..$f) - // [232] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 -- vbuxx=_inc_vbuxx + // [234] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 -- vbuxx=_inc_vbuxx inx - // [233] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 -- vbuxx_neq_vbuc1_then_la1 + // [235] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne __b24 jmp __b25 @@ -29412,74 +29468,74 @@ gfx_init_screen0: { .label __1 = $10 .label ch = 3 .label cy = $11 - // [235] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] - // [235] phi (byte*) gfx_init_screen0::ch#3 = (const nomodify byte*) VIC_SCREEN0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 + // [237] phi from gfx_init_screen0 to gfx_init_screen0::@1 [phi:gfx_init_screen0->gfx_init_screen0::@1] + // [237] phi (byte*) gfx_init_screen0::ch#3 = (const nomodify byte*) VIC_SCREEN0 [phi:gfx_init_screen0->gfx_init_screen0::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN0 sta.z ch+1 - // [235] phi (byte) gfx_init_screen0::cy#4 = (byte) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 + // [237] phi (byte) gfx_init_screen0::cy#4 = (byte) 0 [phi:gfx_init_screen0->gfx_init_screen0::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy - // [235] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] - // [235] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy - // [235] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy + // [237] phi from gfx_init_screen0::@3 to gfx_init_screen0::@1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1] + // [237] phi (byte*) gfx_init_screen0::ch#3 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#0] -- register_copy + // [237] phi (byte) gfx_init_screen0::cy#4 = (byte) gfx_init_screen0::cy#1 [phi:gfx_init_screen0::@3->gfx_init_screen0::@1#1] -- register_copy // gfx_init_screen0::@1 __b1: - // [236] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] - // [236] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy - // [236] phi (byte) gfx_init_screen0::cx#2 = (byte) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuxx=vbuc1 + // [238] phi from gfx_init_screen0::@1 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2] + // [238] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#3 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#0] -- register_copy + // [238] phi (byte) gfx_init_screen0::cx#2 = (byte) 0 [phi:gfx_init_screen0::@1->gfx_init_screen0::@2#1] -- vbuxx=vbuc1 ldx #0 - // [236] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] - // [236] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy - // [236] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy + // [238] phi from gfx_init_screen0::@2 to gfx_init_screen0::@2 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2] + // [238] phi (byte*) gfx_init_screen0::ch#2 = (byte*) gfx_init_screen0::ch#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#0] -- register_copy + // [238] phi (byte) gfx_init_screen0::cx#2 = (byte) gfx_init_screen0::cx#1 [phi:gfx_init_screen0::@2->gfx_init_screen0::@2#1] -- register_copy // gfx_init_screen0::@2 __b2: // cy&$f - // [237] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f -- vbuaa=vbuz1_band_vbuc1 + // [239] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f -- vbuaa=vbuz1_band_vbuc1 lda #$f and.z cy // (cy&$f)*$10 - // [238] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 -- vbuz1=vbuaa_rol_4 + // [240] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 -- vbuz1=vbuaa_rol_4 asl asl asl asl sta.z __1 // cx&$f - // [239] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f -- vbuaa=vbuxx_band_vbuc1 + // [241] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f -- vbuaa=vbuxx_band_vbuc1 txa and #$f // (cy&$f)*$10|(cx&$f) - // [240] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa + // [242] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 -- vbuaa=vbuz1_bor_vbuaa ora.z __1 // *ch++ = (cy&$f)*$10|(cx&$f) - // [241] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa + // [243] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y // *ch++ = (cy&$f)*$10|(cx&$f); - // [242] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 + // [244] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: // for(byte cx: 0..39) - // [243] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx + // [245] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 -- vbuxx=_inc_vbuxx inx - // [244] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 + // [246] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // gfx_init_screen0::@3 // for(byte cy: 0..24 ) - // [245] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 + // [247] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [246] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 + // [248] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1 // gfx_init_screen0::@return // } - // [247] return + // [249] return rts } // gfx_init_screen1 @@ -29487,64 +29543,64 @@ gfx_init_screen0: { gfx_init_screen1: { .label ch = 5 .label cy = 2 - // [249] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] - // [249] phi (byte*) gfx_init_screen1::ch#3 = (const nomodify byte*) VIC_SCREEN1 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 + // [251] phi from gfx_init_screen1 to gfx_init_screen1::@1 [phi:gfx_init_screen1->gfx_init_screen1::@1] + // [251] phi (byte*) gfx_init_screen1::ch#3 = (const nomodify byte*) VIC_SCREEN1 [phi:gfx_init_screen1->gfx_init_screen1::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN1 sta.z ch+1 - // [249] phi (byte) gfx_init_screen1::cy#4 = (byte) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 + // [251] phi (byte) gfx_init_screen1::cy#4 = (byte) 0 [phi:gfx_init_screen1->gfx_init_screen1::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy - // [249] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] - // [249] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy - // [249] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy + // [251] phi from gfx_init_screen1::@3 to gfx_init_screen1::@1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1] + // [251] phi (byte*) gfx_init_screen1::ch#3 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#0] -- register_copy + // [251] phi (byte) gfx_init_screen1::cy#4 = (byte) gfx_init_screen1::cy#1 [phi:gfx_init_screen1::@3->gfx_init_screen1::@1#1] -- register_copy // gfx_init_screen1::@1 __b1: - // [250] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] - // [250] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy - // [250] phi (byte) gfx_init_screen1::cx#2 = (byte) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuxx=vbuc1 + // [252] phi from gfx_init_screen1::@1 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2] + // [252] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#3 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#0] -- register_copy + // [252] phi (byte) gfx_init_screen1::cx#2 = (byte) 0 [phi:gfx_init_screen1::@1->gfx_init_screen1::@2#1] -- vbuxx=vbuc1 ldx #0 - // [250] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] - // [250] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy - // [250] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy + // [252] phi from gfx_init_screen1::@2 to gfx_init_screen1::@2 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2] + // [252] phi (byte*) gfx_init_screen1::ch#2 = (byte*) gfx_init_screen1::ch#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#0] -- register_copy + // [252] phi (byte) gfx_init_screen1::cx#2 = (byte) gfx_init_screen1::cx#1 [phi:gfx_init_screen1::@2->gfx_init_screen1::@2#1] -- register_copy // gfx_init_screen1::@2 __b2: // cx+cy - // [251] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + // [253] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 -- vbuaa=vbuxx_plus_vbuz1 txa clc adc.z cy // (cx+cy)&$f - // [252] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f -- vbuaa=vbuaa_band_vbuc1 + // [254] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f -- vbuaa=vbuaa_band_vbuc1 and #$f // *ch++ = (cx+cy)&$f - // [253] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa + // [255] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y // *ch++ = (cx+cy)&$f; - // [254] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 + // [256] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: // for(byte cx: 0..39) - // [255] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx + // [257] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 -- vbuxx=_inc_vbuxx inx - // [256] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 + // [258] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // gfx_init_screen1::@3 // for(byte cy: 0..24 ) - // [257] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 + // [259] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [258] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 + // [260] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1 // gfx_init_screen1::@return // } - // [259] return + // [261] return rts } // gfx_init_screen2 @@ -29553,82 +29609,82 @@ gfx_init_screen2: { .label col2 = $11 .label ch = 3 .label cy = $e - // [261] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] - // [261] phi (byte*) gfx_init_screen2::ch#3 = (const nomodify byte*) VIC_SCREEN2 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 + // [263] phi from gfx_init_screen2 to gfx_init_screen2::@1 [phi:gfx_init_screen2->gfx_init_screen2::@1] + // [263] phi (byte*) gfx_init_screen2::ch#3 = (const nomodify byte*) VIC_SCREEN2 [phi:gfx_init_screen2->gfx_init_screen2::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN2 sta.z ch+1 - // [261] phi (byte) gfx_init_screen2::cy#4 = (byte) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 + // [263] phi (byte) gfx_init_screen2::cy#4 = (byte) 0 [phi:gfx_init_screen2->gfx_init_screen2::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy - // [261] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] - // [261] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy - // [261] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy + // [263] phi from gfx_init_screen2::@3 to gfx_init_screen2::@1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1] + // [263] phi (byte*) gfx_init_screen2::ch#3 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#0] -- register_copy + // [263] phi (byte) gfx_init_screen2::cy#4 = (byte) gfx_init_screen2::cy#1 [phi:gfx_init_screen2::@3->gfx_init_screen2::@1#1] -- register_copy // gfx_init_screen2::@1 __b1: - // [262] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] - // [262] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy - // [262] phi (byte) gfx_init_screen2::cx#2 = (byte) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuxx=vbuc1 + // [264] phi from gfx_init_screen2::@1 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2] + // [264] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#3 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#0] -- register_copy + // [264] phi (byte) gfx_init_screen2::cx#2 = (byte) 0 [phi:gfx_init_screen2::@1->gfx_init_screen2::@2#1] -- vbuxx=vbuc1 ldx #0 - // [262] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] - // [262] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy - // [262] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy + // [264] phi from gfx_init_screen2::@2 to gfx_init_screen2::@2 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2] + // [264] phi (byte*) gfx_init_screen2::ch#2 = (byte*) gfx_init_screen2::ch#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#0] -- register_copy + // [264] phi (byte) gfx_init_screen2::cx#2 = (byte) gfx_init_screen2::cx#1 [phi:gfx_init_screen2::@2->gfx_init_screen2::@2#1] -- register_copy // gfx_init_screen2::@2 __b2: // cx+cy - // [263] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 + // [265] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 -- vbuaa=vbuxx_plus_vbuz1 txa clc adc.z cy // col = (cx+cy)&$f - // [264] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f -- vbuyy=vbuaa_band_vbuc1 + // [266] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f -- vbuyy=vbuaa_band_vbuc1 and #$f tay // col2 = ($f-col) - // [265] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy + // [267] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 -- vbuz1=vbuc1_minus_vbuyy tya eor #$ff sec adc #$f sta.z col2 // col*$10 - // [266] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 -- vbuaa=vbuyy_rol_4 + // [268] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 -- vbuaa=vbuyy_rol_4 tya asl asl asl asl // col*$10 | col2 - // [267] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 + // [269] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 -- vbuaa=vbuaa_bor_vbuz1 ora.z col2 // *ch++ = col*$10 | col2 - // [268] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa + // [270] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y // *ch++ = col*$10 | col2; - // [269] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 + // [271] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: // for(byte cx: 0..39) - // [270] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx + // [272] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 -- vbuxx=_inc_vbuxx inx - // [271] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 + // [273] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // gfx_init_screen2::@3 // for(byte cy: 0..24 ) - // [272] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 + // [274] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [273] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [275] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1 // gfx_init_screen2::@return // } - // [274] return + // [276] return rts } // gfx_init_screen3 @@ -29637,74 +29693,74 @@ gfx_init_screen3: { .label __1 = $12 .label ch = 3 .label cy = $e - // [276] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] - // [276] phi (byte*) gfx_init_screen3::ch#3 = (const nomodify byte*) VIC_SCREEN3 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 + // [278] phi from gfx_init_screen3 to gfx_init_screen3::@1 [phi:gfx_init_screen3->gfx_init_screen3::@1] + // [278] phi (byte*) gfx_init_screen3::ch#3 = (const nomodify byte*) VIC_SCREEN3 [phi:gfx_init_screen3->gfx_init_screen3::@1#0] -- pbuz1=pbuc1 lda #VIC_SCREEN3 sta.z ch+1 - // [276] phi (byte) gfx_init_screen3::cy#4 = (byte) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 + // [278] phi (byte) gfx_init_screen3::cy#4 = (byte) 0 [phi:gfx_init_screen3->gfx_init_screen3::@1#1] -- vbuz1=vbuc1 lda #0 sta.z cy - // [276] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] - // [276] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy - // [276] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy + // [278] phi from gfx_init_screen3::@3 to gfx_init_screen3::@1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1] + // [278] phi (byte*) gfx_init_screen3::ch#3 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#0] -- register_copy + // [278] phi (byte) gfx_init_screen3::cy#4 = (byte) gfx_init_screen3::cy#1 [phi:gfx_init_screen3::@3->gfx_init_screen3::@1#1] -- register_copy // gfx_init_screen3::@1 __b1: - // [277] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] - // [277] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy - // [277] phi (byte) gfx_init_screen3::cx#2 = (byte) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuxx=vbuc1 + // [279] phi from gfx_init_screen3::@1 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2] + // [279] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#3 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#0] -- register_copy + // [279] phi (byte) gfx_init_screen3::cx#2 = (byte) 0 [phi:gfx_init_screen3::@1->gfx_init_screen3::@2#1] -- vbuxx=vbuc1 ldx #0 - // [277] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] - // [277] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy - // [277] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy + // [279] phi from gfx_init_screen3::@2 to gfx_init_screen3::@2 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2] + // [279] phi (byte*) gfx_init_screen3::ch#2 = (byte*) gfx_init_screen3::ch#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#0] -- register_copy + // [279] phi (byte) gfx_init_screen3::cx#2 = (byte) gfx_init_screen3::cx#1 [phi:gfx_init_screen3::@2->gfx_init_screen3::@2#1] -- register_copy // gfx_init_screen3::@2 __b2: // cx&3 - // [278] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 -- vbuaa=vbuxx_band_vbuc1 + // [280] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 -- vbuaa=vbuxx_band_vbuc1 txa and #3 // (cx&3)*$10 - // [279] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 -- vbuz1=vbuaa_rol_4 + // [281] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 -- vbuz1=vbuaa_rol_4 asl asl asl asl sta.z __1 // cy&3 - // [280] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 -- vbuaa=vbuz1_band_vbuc1 + // [282] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 -- vbuaa=vbuz1_band_vbuc1 lda #3 and.z cy // (cx&3)*$10|(cy&3) - // [281] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa + // [283] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 -- vbuaa=vbuz1_bor_vbuaa ora.z __1 // *ch++ = (cx&3)*$10|(cy&3) - // [282] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa + // [284] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 -- _deref_pbuz1=vbuaa ldy #0 sta (ch),y // *ch++ = (cx&3)*$10|(cy&3); - // [283] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 + // [285] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: // for(byte cx: 0..39) - // [284] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx + // [286] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 -- vbuxx=_inc_vbuxx inx - // [285] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 + // [287] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // gfx_init_screen3::@3 // for(byte cy: 0..24 ) - // [286] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 + // [288] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [287] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 + // [289] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1 // gfx_init_screen3::@return // } - // [288] return + // [290] return rts } // gfx_init_screen4 @@ -29712,57 +29768,57 @@ gfx_init_screen3: { gfx_init_screen4: { .label ch = 5 .label cy = $11 - // [290] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] - // [290] phi (byte) gfx_init_screen4::cy#4 = (byte) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 + // [292] phi from gfx_init_screen4 to gfx_init_screen4::@1 [phi:gfx_init_screen4->gfx_init_screen4::@1] + // [292] phi (byte) gfx_init_screen4::cy#4 = (byte) 0 [phi:gfx_init_screen4->gfx_init_screen4::@1#0] -- vbuz1=vbuc1 lda #0 sta.z cy - // [290] phi (byte*) gfx_init_screen4::ch#3 = (const nomodify byte*) VIC_SCREEN4 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 + // [292] phi (byte*) gfx_init_screen4::ch#3 = (const nomodify byte*) VIC_SCREEN4 [phi:gfx_init_screen4->gfx_init_screen4::@1#1] -- pbuz1=pbuc1 lda #VIC_SCREEN4 sta.z ch+1 - // [290] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] - // [290] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy - // [290] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy + // [292] phi from gfx_init_screen4::@3 to gfx_init_screen4::@1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1] + // [292] phi (byte) gfx_init_screen4::cy#4 = (byte) gfx_init_screen4::cy#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#0] -- register_copy + // [292] phi (byte*) gfx_init_screen4::ch#3 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@3->gfx_init_screen4::@1#1] -- register_copy // gfx_init_screen4::@1 __b1: - // [291] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] - // [291] phi (byte) gfx_init_screen4::cx#2 = (byte) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuxx=vbuc1 + // [293] phi from gfx_init_screen4::@1 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2] + // [293] phi (byte) gfx_init_screen4::cx#2 = (byte) 0 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#0] -- vbuxx=vbuc1 ldx #0 - // [291] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy - // [291] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] - // [291] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy - // [291] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy + // [293] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#3 [phi:gfx_init_screen4::@1->gfx_init_screen4::@2#1] -- register_copy + // [293] phi from gfx_init_screen4::@2 to gfx_init_screen4::@2 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2] + // [293] phi (byte) gfx_init_screen4::cx#2 = (byte) gfx_init_screen4::cx#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#0] -- register_copy + // [293] phi (byte*) gfx_init_screen4::ch#2 = (byte*) gfx_init_screen4::ch#1 [phi:gfx_init_screen4::@2->gfx_init_screen4::@2#1] -- register_copy // gfx_init_screen4::@2 __b2: // *ch++ = 0 - // [292] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 + // [294] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 lda #0 tay sta (ch),y // *ch++ = 0; - // [293] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 + // [295] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 -- pbuz1=_inc_pbuz1 inc.z ch bne !+ inc.z ch+1 !: // for(byte cx: 0..39) - // [294] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx + // [296] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 -- vbuxx=_inc_vbuxx inx - // [295] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 + // [297] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // gfx_init_screen4::@3 // for(byte cy: 0..24 ) - // [296] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 + // [298] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 -- vbuz1=_inc_vbuz1 inc.z cy - // [297] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 + // [299] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$19 cmp.z cy bne __b1 // gfx_init_screen4::@return // } - // [298] return + // [300] return rts } // gfx_init_charset @@ -29771,78 +29827,78 @@ gfx_init_charset: { .label chargen = 5 .label c = $11 // *PROCPORT = $32 - // [299] *((const nomodify byte*) PROCPORT) ← (byte) $32 -- _deref_pbuc1=vbuc2 + // [301] *((const nomodify byte*) PROCPORT) ← (byte) $32 -- _deref_pbuc1=vbuc2 lda #$32 sta PROCPORT - // [300] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] - // [300] phi (byte) gfx_init_charset::c#4 = (byte) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 + // [302] phi from gfx_init_charset to gfx_init_charset::@1 [phi:gfx_init_charset->gfx_init_charset::@1] + // [302] phi (byte) gfx_init_charset::c#4 = (byte) 0 [phi:gfx_init_charset->gfx_init_charset::@1#0] -- vbuz1=vbuc1 lda #0 sta.z c - // [300] phi (byte*) gfx_init_charset::charset#3 = (const nomodify byte*) VIC_CHARSET_ROM [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 + // [302] phi (byte*) gfx_init_charset::charset#3 = (const nomodify byte*) VIC_CHARSET_ROM [phi:gfx_init_charset->gfx_init_charset::@1#1] -- pbuz1=pbuc1 lda #VIC_CHARSET_ROM sta.z charset+1 - // [300] phi (byte*) gfx_init_charset::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 + // [302] phi (byte*) gfx_init_charset::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_charset->gfx_init_charset::@1#2] -- pbuz1=pbuc1 lda #CHARGEN sta.z chargen+1 - // [300] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] - // [300] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy - // [300] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy - // [300] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy + // [302] phi from gfx_init_charset::@3 to gfx_init_charset::@1 [phi:gfx_init_charset::@3->gfx_init_charset::@1] + // [302] phi (byte) gfx_init_charset::c#4 = (byte) gfx_init_charset::c#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#0] -- register_copy + // [302] phi (byte*) gfx_init_charset::charset#3 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#1] -- register_copy + // [302] phi (byte*) gfx_init_charset::chargen#3 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@3->gfx_init_charset::@1#2] -- register_copy // gfx_init_charset::@1 __b1: - // [301] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] - // [301] phi (byte) gfx_init_charset::l#2 = (byte) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuxx=vbuc1 + // [303] phi from gfx_init_charset::@1 to gfx_init_charset::@2 [phi:gfx_init_charset::@1->gfx_init_charset::@2] + // [303] phi (byte) gfx_init_charset::l#2 = (byte) 0 [phi:gfx_init_charset::@1->gfx_init_charset::@2#0] -- vbuxx=vbuc1 ldx #0 - // [301] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy - // [301] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy - // [301] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] - // [301] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy - // [301] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy - // [301] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy + // [303] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#1] -- register_copy + // [303] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#3 [phi:gfx_init_charset::@1->gfx_init_charset::@2#2] -- register_copy + // [303] phi from gfx_init_charset::@2 to gfx_init_charset::@2 [phi:gfx_init_charset::@2->gfx_init_charset::@2] + // [303] phi (byte) gfx_init_charset::l#2 = (byte) gfx_init_charset::l#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#0] -- register_copy + // [303] phi (byte*) gfx_init_charset::charset#2 = (byte*) gfx_init_charset::charset#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#1] -- register_copy + // [303] phi (byte*) gfx_init_charset::chargen#2 = (byte*) gfx_init_charset::chargen#1 [phi:gfx_init_charset::@2->gfx_init_charset::@2#2] -- register_copy // gfx_init_charset::@2 __b2: // *charset++ = *chargen++ - // [302] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 + // [304] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta (charset),y // *charset++ = *chargen++; - // [303] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 + // [305] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 -- pbuz1=_inc_pbuz1 inc.z charset bne !+ inc.z charset+1 !: - // [304] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 + // [306] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 -- pbuz1=_inc_pbuz1 inc.z chargen bne !+ inc.z chargen+1 !: // for( byte l: 0..7) - // [305] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx + // [307] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 -- vbuxx=_inc_vbuxx inx - // [306] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 -- vbuxx_neq_vbuc1_then_la1 + // [308] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne __b2 // gfx_init_charset::@3 // for(byte c: 0..$ff) - // [307] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 + // [309] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 -- vbuz1=_inc_vbuz1 inc.z c - // [308] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 + // [310] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 -- vbuz1_neq_0_then_la1 lda.z c cmp #0 bne __b1 // gfx_init_charset::@4 // *PROCPORT = $37 - // [309] *((const nomodify byte*) PROCPORT) ← (byte) $37 -- _deref_pbuc1=vbuc2 + // [311] *((const nomodify byte*) PROCPORT) ← (byte) $37 -- _deref_pbuc1=vbuc2 lda #$37 sta PROCPORT // gfx_init_charset::@return // } - // [310] return + // [312] return rts } // gfx_init_vic_bitmap @@ -29851,53 +29907,53 @@ gfx_init_vic_bitmap: { .const lines_cnt = 9 .label l = 2 // bitmap_init(VIC_BITMAP) - // [312] call bitmap_init + // [314] call bitmap_init // Draw some lines on the bitmap - // [635] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] + // [637] phi from gfx_init_vic_bitmap to bitmap_init [phi:gfx_init_vic_bitmap->bitmap_init] jsr bitmap_init - // [313] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] + // [315] phi from gfx_init_vic_bitmap to gfx_init_vic_bitmap::@3 [phi:gfx_init_vic_bitmap->gfx_init_vic_bitmap::@3] // gfx_init_vic_bitmap::@3 // bitmap_clear() - // [314] call bitmap_clear + // [316] call bitmap_clear jsr bitmap_clear - // [315] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] - // [315] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 + // [317] phi from gfx_init_vic_bitmap::@3 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1] + // [317] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) 0 [phi:gfx_init_vic_bitmap::@3->gfx_init_vic_bitmap::@1#0] -- vbuz1=vbuc1 lda #0 sta.z l // gfx_init_vic_bitmap::@1 __b1: // for(byte l=0; lgfx_init_vic_bitmap::@1] - // [315] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1#0] -- register_copy + // [317] phi from gfx_init_vic_bitmap::@4 to gfx_init_vic_bitmap::@1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1] + // [317] phi (byte) gfx_init_vic_bitmap::l#2 = (byte) gfx_init_vic_bitmap::l#1 [phi:gfx_init_vic_bitmap::@4->gfx_init_vic_bitmap::@1#0] -- register_copy jmp __b1 lines_x: .byte 0, $ff, $ff, 0, 0, $80, $ff, $80, 0, $80 lines_y: .byte 0, 0, $c7, $c7, 0, 0, $64, $c7, $64, 0 @@ -29905,48 +29961,48 @@ gfx_init_vic_bitmap: { // gfx_init_plane_8bppchunky // Initialize 8BPP Chunky Bitmap (contains 8bpp pixels) gfx_init_plane_8bppchunky: { - .label __5 = $1d + .label __5 = $23 .label gfxb = 5 .label x = 3 .label y = 2 // dtvSetCpuBankSegment1(gfxbCpuBank++) - // [325] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [327] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #PLANE_8BPP_CHUNKY/$4000 jsr dtvSetCpuBankSegment1 - // [326] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] - // [326] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 + // [328] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + // [328] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 ldx #PLANE_8BPP_CHUNKY/$4000+1 - // [326] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 + // [328] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 lda #0 sta.z y - // [326] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + // [328] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxb lda #>$4000 sta.z gfxb+1 - // [326] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] - // [326] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy - // [326] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy - // [326] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy + // [328] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + // [328] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy + // [328] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy + // [328] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy // gfx_init_plane_8bppchunky::@1 __b1: - // [327] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] - // [327] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy - // [327] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vwuc1 + // [329] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + // [329] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy + // [329] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vwuc1 lda #<0 sta.z x sta.z x+1 - // [327] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy - // [327] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] - // [327] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy - // [327] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy - // [327] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy + // [329] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy + // [329] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + // [329] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy + // [329] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy + // [329] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy // gfx_init_plane_8bppchunky::@2 __b2: // if(gfxb==$8000) - // [328] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 + // [330] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 -- pbuz1_neq_vwuc1_then_la1 lda.z gfxb+1 cmp #>$8000 bne __b3 @@ -29955,30 +30011,30 @@ gfx_init_plane_8bppchunky: { bne __b3 // gfx_init_plane_8bppchunky::@4 // dtvSetCpuBankSegment1(gfxbCpuBank++) - // [329] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx + // [331] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuaa=vbuxx txa - // [330] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + // [332] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 // gfx_init_plane_8bppchunky::@7 // dtvSetCpuBankSegment1(gfxbCpuBank++); - // [331] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx + // [333] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 -- vbuxx=_inc_vbuxx inx - // [332] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] - // [332] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy - // [332] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + // [334] phi from gfx_init_plane_8bppchunky::@7 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3] + // [334] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#0] -- register_copy + // [334] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) 16384 [phi:gfx_init_plane_8bppchunky::@7->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxb lda #>$4000 sta.z gfxb+1 - // [332] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] - // [332] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy - // [332] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy + // [334] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + // [334] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy + // [334] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy // gfx_init_plane_8bppchunky::@3 __b3: // x+y - // [333] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 + // [335] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 -- vwuz1=vwuz2_plus_vbuz3 lda.z y clc adc.z x @@ -29987,25 +30043,25 @@ gfx_init_plane_8bppchunky: { adc.z x+1 sta.z __5+1 // c = (byte)(x+y) - // [334] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 -- vbuaa=_byte_vwuz1 + // [336] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 -- vbuaa=_byte_vwuz1 lda.z __5 // *gfxb++ = c - // [335] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa + // [337] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxb),y // *gfxb++ = c; - // [336] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 + // [338] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 -- pbuz1=_inc_pbuz1 inc.z gfxb bne !+ inc.z gfxb+1 !: // for (word x : 0..319) - // [337] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 + // [339] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 -- vwuz1=_inc_vwuz1 inc.z x bne !+ inc.z x+1 !: - // [338] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 + // [340] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 -- vwuz1_neq_vwuc1_then_la1 lda.z x+1 cmp #>$140 bne __b2 @@ -30014,24 +30070,24 @@ gfx_init_plane_8bppchunky: { bne __b2 // gfx_init_plane_8bppchunky::@5 // for(byte y : 0..199) - // [339] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 + // [341] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 -- vbuz1=_inc_vbuz1 inc.z y - // [340] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 + // [342] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) goto gfx_init_plane_8bppchunky::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z y bne __b1 - // [341] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + // [343] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] // gfx_init_plane_8bppchunky::@6 // dtvSetCpuBankSegment1((byte)($4000/$4000)) - // [342] call dtvSetCpuBankSegment1 + // [344] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 // gfx_init_plane_8bppchunky::@return // } - // [343] return + // [345] return rts } // gfx_init_plane_charset8 @@ -30046,149 +30102,149 @@ gfx_init_plane_charset8: { .label cr = $10 .label ch = $f // dtvSetCpuBankSegment1(gfxbCpuBank++) - // [345] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [347] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_charset8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 [phi:gfx_init_plane_charset8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 // gfx_init_plane_charset8::@9 // *PROCPORT = PROCPORT_RAM_CHARROM - // [346] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM -- _deref_pbuc1=vbuc2 + // [348] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_CHARROM sta PROCPORT - // [347] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] - // [347] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 + // [349] phi from gfx_init_plane_charset8::@9 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1] + // [349] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#0] -- vbuz1=vbuc1 lda #0 sta.z ch - // [347] phi (byte) gfx_init_plane_charset8::col#6 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 + // [349] phi (byte) gfx_init_plane_charset8::col#6 = (byte) 0 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#1] -- vbuz1=vbuc1 sta.z col - // [347] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 + // [349] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#2] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxa lda #>$4000 sta.z gfxa+1 - // [347] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 + // [349] phi (byte*) gfx_init_plane_charset8::chargen#3 = (const nomodify byte*) CHARGEN [phi:gfx_init_plane_charset8::@9->gfx_init_plane_charset8::@1#3] -- pbuz1=pbuc1 lda #CHARGEN sta.z chargen+1 - // [347] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] - // [347] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy - // [347] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy - // [347] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy - // [347] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy + // [349] phi from gfx_init_plane_charset8::@7 to gfx_init_plane_charset8::@1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1] + // [349] phi (byte) gfx_init_plane_charset8::ch#8 = (byte) gfx_init_plane_charset8::ch#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#0] -- register_copy + // [349] phi (byte) gfx_init_plane_charset8::col#6 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#1] -- register_copy + // [349] phi (byte*) gfx_init_plane_charset8::gfxa#6 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#2] -- register_copy + // [349] phi (byte*) gfx_init_plane_charset8::chargen#3 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@7->gfx_init_plane_charset8::@1#3] -- register_copy // gfx_init_plane_charset8::@1 __b1: - // [348] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] - // [348] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 + // [350] phi from gfx_init_plane_charset8::@1 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2] + // [350] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) 0 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#0] -- vbuz1=vbuc1 lda #0 sta.z cr - // [348] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy - // [348] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] - // [348] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy - // [348] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy - // [348] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy + // [350] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#1] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#6 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#2] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#3 [phi:gfx_init_plane_charset8::@1->gfx_init_plane_charset8::@2#3] -- register_copy + // [350] phi from gfx_init_plane_charset8::@6 to gfx_init_plane_charset8::@2 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2] + // [350] phi (byte) gfx_init_plane_charset8::cr#6 = (byte) gfx_init_plane_charset8::cr#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#0] -- register_copy + // [350] phi (byte) gfx_init_plane_charset8::col#5 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#1] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::gfxa#5 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#2] -- register_copy + // [350] phi (byte*) gfx_init_plane_charset8::chargen#2 = (byte*) gfx_init_plane_charset8::chargen#1 [phi:gfx_init_plane_charset8::@6->gfx_init_plane_charset8::@2#3] -- register_copy // gfx_init_plane_charset8::@2 __b2: // bits = *chargen++ - // [349] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 + // [351] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) -- vbuz1=_deref_pbuz2 ldy #0 lda (chargen),y sta.z bits - // [350] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 + // [352] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 -- pbuz1=_inc_pbuz1 inc.z chargen bne !+ inc.z chargen+1 !: - // [351] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] - // [351] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuxx=vbuc1 + // [353] phi from gfx_init_plane_charset8::@2 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3] + // [353] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) 0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#0] -- vbuxx=vbuc1 ldx #0 - // [351] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy - // [351] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy - // [351] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy - // [351] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] - // [351] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy - // [351] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy - // [351] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy - // [351] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#1] -- register_copy + // [353] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#5 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#2] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#0 [phi:gfx_init_plane_charset8::@2->gfx_init_plane_charset8::@3#3] -- register_copy + // [353] phi from gfx_init_plane_charset8::@4 to gfx_init_plane_charset8::@3 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3] + // [353] phi (byte) gfx_init_plane_charset8::cp#2 = (byte) gfx_init_plane_charset8::cp#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#0] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::col#2 = (byte) gfx_init_plane_charset8::col#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#1] -- register_copy + // [353] phi (byte*) gfx_init_plane_charset8::gfxa#2 = (byte*) gfx_init_plane_charset8::gfxa#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#2] -- register_copy + // [353] phi (byte) gfx_init_plane_charset8::bits#2 = (byte) gfx_init_plane_charset8::bits#1 [phi:gfx_init_plane_charset8::@4->gfx_init_plane_charset8::@3#3] -- register_copy // gfx_init_plane_charset8::@3 __b3: // bits & $80 - // [352] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 -- vbuaa=vbuz1_band_vbuc1 + // [354] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 -- vbuaa=vbuz1_band_vbuc1 lda #$80 and.z bits // if((bits & $80) != 0) - // [353] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 + // [355] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 -- vbuaa_eq_0_then_la1 cmp #0 beq __b5 // gfx_init_plane_charset8::@5 - // [354] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 + // [356] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 -- vbuaa=vbuz1 lda.z col - // [355] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] - // [355] phi (byte) gfx_init_plane_charset8::c#2 = (byte) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy + // [357] phi from gfx_init_plane_charset8::@5 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4] + // [357] phi (byte) gfx_init_plane_charset8::c#2 = (byte) gfx_init_plane_charset8::c#3 [phi:gfx_init_plane_charset8::@5->gfx_init_plane_charset8::@4#0] -- register_copy jmp __b4 - // [355] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] + // [357] phi from gfx_init_plane_charset8::@3 to gfx_init_plane_charset8::@4 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4] __b5: - // [355] phi (byte) gfx_init_plane_charset8::c#2 = (byte) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuaa=vbuc1 + // [357] phi (byte) gfx_init_plane_charset8::c#2 = (byte) 0 [phi:gfx_init_plane_charset8::@3->gfx_init_plane_charset8::@4#0] -- vbuaa=vbuc1 lda #0 // gfx_init_plane_charset8::@4 __b4: // *gfxa++ = c - // [356] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa + // [358] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 -- _deref_pbuz1=vbuaa ldy #0 sta (gfxa),y // *gfxa++ = c; - // [357] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 + // [359] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 !: // bits = bits*2 - // [358] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 -- vbuz1=vbuz1_rol_1 + // [360] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 -- vbuz1=vbuz1_rol_1 asl.z bits // col++; - // [359] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 + // [361] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 -- vbuz1=_inc_vbuz1 inc.z col // for ( byte cp : 0..7) - // [360] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx + // [362] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 -- vbuxx=_inc_vbuxx inx - // [361] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 -- vbuxx_neq_vbuc1_then_la1 + // [363] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne __b3 // gfx_init_plane_charset8::@6 // for ( byte cr : 0..7) - // [362] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 + // [364] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 -- vbuz1=_inc_vbuz1 inc.z cr - // [363] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 + // [365] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z cr bne __b2 // gfx_init_plane_charset8::@7 // for(byte ch : $00..$ff) - // [364] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 + // [366] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 -- vbuz1=_inc_vbuz1 inc.z ch - // [365] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 + // [367] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 -- vbuz1_neq_0_then_la1 lda.z ch cmp #0 bne __b1 // gfx_init_plane_charset8::@8 // *PROCPORT = PROCPORT_RAM_IO - // [366] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO -- _deref_pbuc1=vbuc2 + // [368] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO -- _deref_pbuc1=vbuc2 lda #PROCPORT_RAM_IO sta PROCPORT // dtvSetCpuBankSegment1((byte)($4000/$4000)) - // [367] call dtvSetCpuBankSegment1 + // [369] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi from gfx_init_plane_charset8::@8 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_charset8::@8->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 // gfx_init_plane_charset8::@return // } - // [368] return + // [370] return rts } // gfx_init_plane_horisontal @@ -30198,94 +30254,94 @@ gfx_init_plane_horisontal: { .label gfxa = 3 .label ay = $f // dtvSetCpuBankSegment1(gfxbCpuBank++) - // [370] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [372] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_horisontal to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - // [371] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] - // [371] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 + // [373] phi from gfx_init_plane_horisontal to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1] + // [373] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#0] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxa lda #>$4000 sta.z gfxa+1 - // [371] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 + // [373] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal->gfx_init_plane_horisontal::@1#1] -- vbuz1=vbuc1 lda #0 sta.z ay - // [371] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] - // [371] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy - // [371] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy + // [373] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1] + // [373] phi (byte*) gfx_init_plane_horisontal::gfxa#6 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#0] -- register_copy + // [373] phi (byte) gfx_init_plane_horisontal::ay#4 = (byte) gfx_init_plane_horisontal::ay#1 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@1#1] -- register_copy // gfx_init_plane_horisontal::@1 __b1: - // [372] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] - // [372] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuxx=vbuc1 + // [374] phi from gfx_init_plane_horisontal::@1 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2] + // [374] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#0] -- vbuxx=vbuc1 ldx #0 - // [372] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy - // [372] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] - // [372] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy - // [372] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy + // [374] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#6 [phi:gfx_init_plane_horisontal::@1->gfx_init_plane_horisontal::@2#1] -- register_copy + // [374] phi from gfx_init_plane_horisontal::@4 to gfx_init_plane_horisontal::@2 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2] + // [374] phi (byte) gfx_init_plane_horisontal::ax#2 = (byte) gfx_init_plane_horisontal::ax#1 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#0] -- register_copy + // [374] phi (byte*) gfx_init_plane_horisontal::gfxa#3 = (byte*) gfx_init_plane_horisontal::gfxa#7 [phi:gfx_init_plane_horisontal::@4->gfx_init_plane_horisontal::@2#1] -- register_copy // gfx_init_plane_horisontal::@2 __b2: // ay&4 - // [373] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 -- vbuaa=vbuz1_band_vbuc1 + // [375] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 -- vbuaa=vbuz1_band_vbuc1 lda #4 and.z ay // if((ay&4)==0) - // [374] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 + // [376] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 -- vbuaa_eq_0_then_la1 cmp #0 beq __b3 // gfx_init_plane_horisontal::@5 // *gfxa++ = %11111111 - // [375] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff -- _deref_pbuz1=vbuc1 + // [377] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff -- _deref_pbuz1=vbuc1 lda #$ff ldy #0 sta (gfxa),y // *gfxa++ = %11111111; - // [376] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + // [378] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 !: - // [377] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] - // [377] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy + // [379] phi from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 to gfx_init_plane_horisontal::@4 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4] + // [379] phi (byte*) gfx_init_plane_horisontal::gfxa#7 = (byte*) gfx_init_plane_horisontal::gfxa#1 [phi:gfx_init_plane_horisontal::@3/gfx_init_plane_horisontal::@5->gfx_init_plane_horisontal::@4#0] -- register_copy // gfx_init_plane_horisontal::@4 __b4: // for (byte ax : 0..39) - // [378] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx + // [380] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 -- vbuxx=_inc_vbuxx inx - // [379] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 + // [381] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // gfx_init_plane_horisontal::@6 // for(byte ay : 0..199) - // [380] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 + // [382] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 -- vbuz1=_inc_vbuz1 inc.z ay - // [381] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 + // [383] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z ay bne __b1 - // [382] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] + // [384] phi from gfx_init_plane_horisontal::@6 to gfx_init_plane_horisontal::@7 [phi:gfx_init_plane_horisontal::@6->gfx_init_plane_horisontal::@7] // gfx_init_plane_horisontal::@7 // dtvSetCpuBankSegment1((byte)($4000/$4000)) - // [383] call dtvSetCpuBankSegment1 + // [385] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi from gfx_init_plane_horisontal::@7 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal::@7->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 // gfx_init_plane_horisontal::@return // } - // [384] return + // [386] return rts // gfx_init_plane_horisontal::@3 __b3: // *gfxa++ = %00000000 - // [385] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 + // [387] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 -- _deref_pbuz1=vbuc1 lda #0 tay sta (gfxa),y // *gfxa++ = %00000000; - // [386] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 + // [388] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 @@ -30299,71 +30355,71 @@ gfx_init_plane_vertical: { .label gfxb = 5 .label by = $10 // dtvSetCpuBankSegment1(gfxbCpuBank++) - // [388] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [390] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_vertical to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_vertical::gfxbCpuBank#0 [phi:gfx_init_plane_vertical->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - // [389] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] - // [389] phi (byte) gfx_init_plane_vertical::by#4 = (byte) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 + // [391] phi from gfx_init_plane_vertical to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1] + // [391] phi (byte) gfx_init_plane_vertical::by#4 = (byte) 0 [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#0] -- vbuz1=vbuc1 lda #0 sta.z by - // [389] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 + // [391] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff [phi:gfx_init_plane_vertical->gfx_init_plane_vertical::@1#1] -- pbuz1=pbuc1 lda #<$4000+(PLANE_VERTICAL&$3fff) sta.z gfxb lda #>$4000+(PLANE_VERTICAL&$3fff) sta.z gfxb+1 - // [389] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] - // [389] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy - // [389] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy + // [391] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1] + // [391] phi (byte) gfx_init_plane_vertical::by#4 = (byte) gfx_init_plane_vertical::by#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#0] -- register_copy + // [391] phi (byte*) gfx_init_plane_vertical::gfxb#3 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@1#1] -- register_copy // gfx_init_plane_vertical::@1 __b1: - // [390] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] - // [390] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuxx=vbuc1 + // [392] phi from gfx_init_plane_vertical::@1 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2] + // [392] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) 0 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#0] -- vbuxx=vbuc1 ldx #0 - // [390] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy - // [390] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] - // [390] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy - // [390] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy + // [392] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#3 [phi:gfx_init_plane_vertical::@1->gfx_init_plane_vertical::@2#1] -- register_copy + // [392] phi from gfx_init_plane_vertical::@2 to gfx_init_plane_vertical::@2 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2] + // [392] phi (byte) gfx_init_plane_vertical::bx#2 = (byte) gfx_init_plane_vertical::bx#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#0] -- register_copy + // [392] phi (byte*) gfx_init_plane_vertical::gfxb#2 = (byte*) gfx_init_plane_vertical::gfxb#1 [phi:gfx_init_plane_vertical::@2->gfx_init_plane_vertical::@2#1] -- register_copy // gfx_init_plane_vertical::@2 __b2: // *gfxb++ = %00001111 - // [391] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f -- _deref_pbuz1=vbuc1 + // [393] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f -- _deref_pbuz1=vbuc1 lda #$f ldy #0 sta (gfxb),y // *gfxb++ = %00001111; - // [392] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 + // [394] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 -- pbuz1=_inc_pbuz1 inc.z gfxb bne !+ inc.z gfxb+1 !: // for ( byte bx : 0..39) - // [393] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx + // [395] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 -- vbuxx=_inc_vbuxx inx - // [394] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 + // [396] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // gfx_init_plane_vertical::@3 // for(byte by : 0..199) - // [395] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 + // [397] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 -- vbuz1=_inc_vbuz1 inc.z by - // [396] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 + // [398] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z by bne __b1 - // [397] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] + // [399] phi from gfx_init_plane_vertical::@3 to gfx_init_plane_vertical::@4 [phi:gfx_init_plane_vertical::@3->gfx_init_plane_vertical::@4] // gfx_init_plane_vertical::@4 // dtvSetCpuBankSegment1((byte)($4000/$4000)) - // [398] call dtvSetCpuBankSegment1 + // [400] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi from gfx_init_plane_vertical::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_vertical::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 // gfx_init_plane_vertical::@return // } - // [399] return + // [401] return rts } // gfx_init_plane_horisontal2 @@ -30373,79 +30429,79 @@ gfx_init_plane_horisontal2: { .label gfxa = 5 .label ay = $12 // dtvSetCpuBankSegment1(gfxbCpuBank++) - // [401] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [403] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_horisontal2 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 [phi:gfx_init_plane_horisontal2->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #gfxbCpuBank jsr dtvSetCpuBankSegment1 - // [402] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] - // [402] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 + // [404] phi from gfx_init_plane_horisontal2 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1] + // [404] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*)(word) $4000 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#0] -- pbuz1=pbuc1 lda #<$4000 sta.z gfxa lda #>$4000 sta.z gfxa+1 - // [402] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 + // [404] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) 0 [phi:gfx_init_plane_horisontal2->gfx_init_plane_horisontal2::@1#1] -- vbuz1=vbuc1 lda #0 sta.z ay - // [402] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] - // [402] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy - // [402] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy + // [404] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1] + // [404] phi (byte*) gfx_init_plane_horisontal2::gfxa#3 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#0] -- register_copy + // [404] phi (byte) gfx_init_plane_horisontal2::ay#4 = (byte) gfx_init_plane_horisontal2::ay#1 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@1#1] -- register_copy // gfx_init_plane_horisontal2::@1 __b1: - // [403] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] - // [403] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuxx=vbuc1 + // [405] phi from gfx_init_plane_horisontal2::@1 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2] + // [405] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) 0 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#0] -- vbuxx=vbuc1 ldx #0 - // [403] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy - // [403] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] - // [403] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy - // [403] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy + // [405] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#3 [phi:gfx_init_plane_horisontal2::@1->gfx_init_plane_horisontal2::@2#1] -- register_copy + // [405] phi from gfx_init_plane_horisontal2::@2 to gfx_init_plane_horisontal2::@2 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2] + // [405] phi (byte) gfx_init_plane_horisontal2::ax#2 = (byte) gfx_init_plane_horisontal2::ax#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#0] -- register_copy + // [405] phi (byte*) gfx_init_plane_horisontal2::gfxa#2 = (byte*) gfx_init_plane_horisontal2::gfxa#1 [phi:gfx_init_plane_horisontal2::@2->gfx_init_plane_horisontal2::@2#1] -- register_copy // gfx_init_plane_horisontal2::@2 __b2: // ay/2 - // [404] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 -- vbuaa=vbuz1_ror_1 + // [406] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 -- vbuaa=vbuz1_ror_1 lda.z ay lsr // row = (ay/2) & 3 - // [405] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 -- vbuaa=vbuaa_band_vbuc1 + // [407] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 -- vbuaa=vbuaa_band_vbuc1 and #3 // *gfxa++ = row_bitmask[row] - // [406] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuaa + // [408] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) -- _deref_pbuz1=pbuc1_derefidx_vbuaa tay lda row_bitmask,y ldy #0 sta (gfxa),y // *gfxa++ = row_bitmask[row]; - // [407] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 + // [409] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 -- pbuz1=_inc_pbuz1 inc.z gfxa bne !+ inc.z gfxa+1 !: // for (byte ax : 0..39) - // [408] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx + // [410] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 -- vbuxx=_inc_vbuxx inx - // [409] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 + // [411] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // gfx_init_plane_horisontal2::@3 // for(byte ay : 0..199) - // [410] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 + // [412] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 -- vbuz1=_inc_vbuz1 inc.z ay - // [411] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [413] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z ay bne __b1 - // [412] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] + // [414] phi from gfx_init_plane_horisontal2::@3 to gfx_init_plane_horisontal2::@4 [phi:gfx_init_plane_horisontal2::@3->gfx_init_plane_horisontal2::@4] // gfx_init_plane_horisontal2::@4 // dtvSetCpuBankSegment1((byte)($4000/$4000)) - // [413] call dtvSetCpuBankSegment1 + // [415] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi from gfx_init_plane_horisontal2::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_horisontal2::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 // gfx_init_plane_horisontal2::@return // } - // [414] return + // [416] return rts row_bitmask: .byte 0, $55, $aa, $ff } @@ -30453,12 +30509,12 @@ gfx_init_plane_horisontal2: { // Initialize Plane with Vertical Stripes every 2 pixels gfx_init_plane_vertical2: { // gfx_init_plane_fill(PLANE_VERTICAL2, %00011011) - // [416] call gfx_init_plane_fill - // [737] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] - // [737] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + // [418] call gfx_init_plane_fill + // [739] phi from gfx_init_plane_vertical2 to gfx_init_plane_fill [phi:gfx_init_plane_vertical2->gfx_init_plane_fill] + // [739] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $1b [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$1b sta.z gfx_init_plane_fill.fill - // [737] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_VERTICAL2 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 + // [739] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_VERTICAL2 [phi:gfx_init_plane_vertical2->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_VERTICAL2 @@ -30470,19 +30526,19 @@ gfx_init_plane_vertical2: { jsr gfx_init_plane_fill // gfx_init_plane_vertical2::@return // } - // [417] return + // [419] return rts } // gfx_init_plane_blank // Initialize Plane with blank pixels gfx_init_plane_blank: { // gfx_init_plane_fill(PLANE_BLANK, 0) - // [419] call gfx_init_plane_fill - // [737] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] - // [737] phi (byte) gfx_init_plane_fill::fill#6 = (byte) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + // [421] call gfx_init_plane_fill + // [739] phi from gfx_init_plane_blank to gfx_init_plane_fill [phi:gfx_init_plane_blank->gfx_init_plane_fill] + // [739] phi (byte) gfx_init_plane_fill::fill#6 = (byte) 0 [phi:gfx_init_plane_blank->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #0 sta.z gfx_init_plane_fill.fill - // [737] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_BLANK [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 + // [739] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_BLANK [phi:gfx_init_plane_blank->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_BLANK @@ -30494,19 +30550,19 @@ gfx_init_plane_blank: { jsr gfx_init_plane_fill // gfx_init_plane_blank::@return // } - // [420] return + // [422] return rts } // gfx_init_plane_full // Initialize Plane with all pixels gfx_init_plane_full: { // gfx_init_plane_fill(PLANE_FULL, $ff) - // [422] call gfx_init_plane_fill - // [737] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] - // [737] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 + // [424] call gfx_init_plane_fill + // [739] phi from gfx_init_plane_full to gfx_init_plane_fill [phi:gfx_init_plane_full->gfx_init_plane_fill] + // [739] phi (byte) gfx_init_plane_fill::fill#6 = (byte) $ff [phi:gfx_init_plane_full->gfx_init_plane_fill#0] -- vbuz1=vbuc1 lda #$ff sta.z gfx_init_plane_fill.fill - // [737] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_FULL [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 + // [739] phi (dword) gfx_init_plane_fill::plane_addr#3 = (const nomodify dword) PLANE_FULL [phi:gfx_init_plane_full->gfx_init_plane_fill#1] -- vduz1=vduc1 lda #PLANE_FULL @@ -30518,7 +30574,7 @@ gfx_init_plane_full: { jsr gfx_init_plane_fill // gfx_init_plane_full::@return // } - // [423] return + // [425] return rts } // print_set_screen @@ -30527,95 +30583,95 @@ gfx_init_plane_full: { print_set_screen: { .label screen = 7 // print_screen = screen - // [425] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 + // [427] (byte*) print_screen#0 ← (byte*) print_set_screen::screen#2 // print_set_screen::@return // } - // [426] return + // [428] return rts } // print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { // memset(print_screen, ' ', 1000) - // [427] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 -- pvoz1=pvoz2 + // [429] (void*) memset::str#0 ← (void*)(byte*) print_screen#0 -- pvoz1=pvoz2 lda.z print_screen sta.z memset.str lda.z print_screen+1 sta.z memset.str+1 - // [428] call memset - // [758] phi from print_cls to memset [phi:print_cls->memset] + // [430] call memset + // [760] phi from print_cls to memset [phi:print_cls->memset] jsr memset // print_cls::@return // } - // [429] return + // [431] return rts } // print_str_lines // Print a number of zero-terminated strings, each followed by a newline. // The sequence of lines is terminated by another zero. -// print_str_lines(byte* zp($1a) str) +// print_str_lines(byte* zp($13) str) print_str_lines: { - .label str = $1a - // [431] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 -- pbuz1=pbuz2 + .label str = $13 + // [433] (byte*) print_char_cursor#72 ← (byte*) print_screen#0 -- pbuz1=pbuz2 lda.z print_screen sta.z print_char_cursor lda.z print_screen+1 sta.z print_char_cursor+1 - // [432] phi from print_str_lines print_str_lines::@6 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1] - // [432] phi (byte*) print_line_cursor#1 = (byte*) print_screen#0 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#0] -- register_copy - // [432] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#72 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#1] -- register_copy - // [432] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#2] -- register_copy + // [434] phi from print_str_lines print_str_lines::@6 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1] + // [434] phi (byte*) print_line_cursor#1 = (byte*) print_screen#0 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#0] -- register_copy + // [434] phi (byte*) print_char_cursor#2 = (byte*) print_char_cursor#72 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#1] -- register_copy + // [434] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@6->print_str_lines::@1#2] -- register_copy // print_str_lines::@1 __b1: // while(*str) - // [433] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + // [435] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 -- vbuc1_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 bne __b2 // print_str_lines::@return // } - // [434] return + // [436] return rts - // [435] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] - // [435] phi (byte*) print_char_cursor#43 = (byte*) print_char_cursor#2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy - // [435] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy + // [437] phi from print_str_lines::@1 print_str_lines::@3 to print_str_lines::@2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2] + // [437] phi (byte*) print_char_cursor#43 = (byte*) print_char_cursor#2 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#0] -- register_copy + // [437] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@3->print_str_lines::@2#1] -- register_copy // print_str_lines::@2 __b2: // ch = *(str++) - // [436] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 + // [438] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - // [437] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 + // [439] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 !: // if(ch) - // [438] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 -- vbuc1_eq_vbuaa_then_la1 + // [440] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 -- vbuc1_eq_vbuaa_then_la1 cmp #0 beq __b3 // print_str_lines::@4 // print_char(ch) - // [439] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 - // [440] call print_char + // [441] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 + // [442] call print_char jsr print_char - // [441] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] - // [441] phi (byte*) print_char_cursor#44 = (byte*) print_char_cursor#43 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy + // [443] phi from print_str_lines::@2 print_str_lines::@4 to print_str_lines::@3 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3] + // [443] phi (byte*) print_char_cursor#44 = (byte*) print_char_cursor#43 [phi:print_str_lines::@2/print_str_lines::@4->print_str_lines::@3#0] -- register_copy // print_str_lines::@3 __b3: // while (ch) - // [442] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 -- vbuc1_neq_vbuaa_then_la1 + // [444] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 -- vbuc1_neq_vbuaa_then_la1 cmp #0 bne __b2 - // [443] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] + // [445] phi from print_str_lines::@3 to print_str_lines::@5 [phi:print_str_lines::@3->print_str_lines::@5] // print_str_lines::@5 // print_ln() - // [444] call print_ln - // [769] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] + // [446] call print_ln + // [771] phi from print_str_lines::@5 to print_ln [phi:print_str_lines::@5->print_ln] jsr print_ln // print_str_lines::@6 - // [445] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 -- pbuz1=pbuz2 + // [447] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#2 -- pbuz1=pbuz2 lda.z print_line_cursor sta.z print_char_cursor lda.z print_line_cursor+1 @@ -30627,33 +30683,33 @@ print_str_lines: { // screen is the start address of the screen to use form_set_screen: { .label line = 7 - // [447] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] - // [447] phi (byte) form_set_screen::y#2 = (byte) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 + // [449] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + // [449] phi (byte) form_set_screen::y#2 = (byte) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 ldx #0 - // [447] phi (byte*) form_set_screen::line#2 = (const nomodify byte*) FORM_SCREEN [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + // [449] phi (byte*) form_set_screen::line#2 = (const nomodify byte*) FORM_SCREEN [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 lda #FORM_SCREEN sta.z line+1 - // [447] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] - // [447] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy - // [447] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy + // [449] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + // [449] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy + // [449] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy // form_set_screen::@1 __b1: // line - // [450] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 + // [452] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 -- vbuaa=_hi_pbuz1 lda.z line+1 // form_line_hi[y] = >line - // [451] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuxx=vbuaa + // [453] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_hi,x // line = line + 40 - // [452] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [454] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc.z line @@ -30662,52 +30718,52 @@ form_set_screen: { inc.z line+1 !: // for(byte y: 0..24) - // [453] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuxx=_inc_vbuxx + // [455] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 -- vbuxx=_inc_vbuxx inx - // [454] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 -- vbuxx_neq_vbuc1_then_la1 + // [456] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #$19 bne __b1 // form_set_screen::@return // } - // [455] return + // [457] return rts } // form_render_values // Render all form values from the form_fields_val array form_render_values: { - // [457] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] - // [457] phi (byte) form_render_values::idx#2 = (byte) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 + // [459] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + // [459] phi (byte) form_render_values::idx#2 = (byte) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 ldx #0 // form_render_values::@1 __b1: // for( byte idx=0; idxform_field_ptr] - // [774] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@2->form_field_ptr#0] -- register_copy + // [462] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 + // [463] call form_field_ptr + // [776] phi from form_render_values::@2 to form_field_ptr [phi:form_render_values::@2->form_field_ptr] + // [776] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@2->form_field_ptr#0] -- register_copy jsr form_field_ptr // form_render_values::@3 // *field = print_hextab[form_fields_val[idx]] - // [462] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuxx) + // [464] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) -- pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuxx) ldy form_fields_val,x lda print_hextab,y ldy.z form_field_ptr.x sta (form_field_ptr.line),y // for( byte idx=0; idxform_render_values::@1] - // [457] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + // [459] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + // [459] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy jmp __b1 } // render_preset_name @@ -30715,146 +30771,146 @@ form_render_values: { // idx is the ID of the preset // render_preset_name(byte register(A) idx) render_preset_name: { - .label name = $1a + .label name = $13 // if(idx==0) - // [465] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 -- vbuaa_eq_0_then_la1 + // [467] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 -- vbuaa_eq_0_then_la1 cmp #0 beq __b3 // render_preset_name::@3 // if(idx==1) - // [466] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [468] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq __b6 // render_preset_name::@4 // if(idx==2) - // [467] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [469] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq __b7 // render_preset_name::@5 // if(idx==3) - // [468] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [470] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq __b8 // render_preset_name::@6 // if(idx==4) - // [469] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [471] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #4 beq __b9 // render_preset_name::@7 // if(idx==5) - // [470] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [472] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #5 beq __b10 // render_preset_name::@8 // if(idx==6) - // [471] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [473] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #6 beq __b11 // render_preset_name::@9 // if(idx==7) - // [472] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [474] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #7 beq __b12 // render_preset_name::@10 // if(idx==8) - // [473] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [475] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #8 beq __b4 // render_preset_name::@11 // if(idx==9) - // [474] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 + // [476] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq __b5 // render_preset_name::@12 // if(idx==10) - // [475] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 -- vbuaa_eq_vbuc1_then_la1 + // [477] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq __b1 - // [477] phi from render_preset_name render_preset_name::@12 to render_preset_name::@2 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2] + // [479] phi from render_preset_name render_preset_name::@12 to render_preset_name::@2 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2] __b3: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#1 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#1 [phi:render_preset_name/render_preset_name::@12->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_1 sta.z name+1 jmp __b2 - // [476] phi from render_preset_name::@12 to render_preset_name::@1 [phi:render_preset_name::@12->render_preset_name::@1] + // [478] phi from render_preset_name::@12 to render_preset_name::@1 [phi:render_preset_name::@12->render_preset_name::@1] // render_preset_name::@1 __b1: - // [477] phi from render_preset_name::@1 to render_preset_name::@2 [phi:render_preset_name::@1->render_preset_name::@2] - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#11 [phi:render_preset_name::@1->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi from render_preset_name::@1 to render_preset_name::@2 [phi:render_preset_name::@1->render_preset_name::@2] + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#11 [phi:render_preset_name::@1->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_11 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@10 to render_preset_name::@2 [phi:render_preset_name::@10->render_preset_name::@2] + // [479] phi from render_preset_name::@10 to render_preset_name::@2 [phi:render_preset_name::@10->render_preset_name::@2] __b4: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@10->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#9 [phi:render_preset_name::@10->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_9 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@11 to render_preset_name::@2 [phi:render_preset_name::@11->render_preset_name::@2] + // [479] phi from render_preset_name::@11 to render_preset_name::@2 [phi:render_preset_name::@11->render_preset_name::@2] __b5: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@11->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#10 [phi:render_preset_name::@11->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_10 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@3 to render_preset_name::@2 [phi:render_preset_name::@3->render_preset_name::@2] + // [479] phi from render_preset_name::@3 to render_preset_name::@2 [phi:render_preset_name::@3->render_preset_name::@2] __b6: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@3->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#2 [phi:render_preset_name::@3->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_2 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@4 to render_preset_name::@2 [phi:render_preset_name::@4->render_preset_name::@2] + // [479] phi from render_preset_name::@4 to render_preset_name::@2 [phi:render_preset_name::@4->render_preset_name::@2] __b7: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@4->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#3 [phi:render_preset_name::@4->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_3 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@5 to render_preset_name::@2 [phi:render_preset_name::@5->render_preset_name::@2] + // [479] phi from render_preset_name::@5 to render_preset_name::@2 [phi:render_preset_name::@5->render_preset_name::@2] __b8: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@5->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#4 [phi:render_preset_name::@5->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_4 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@6 to render_preset_name::@2 [phi:render_preset_name::@6->render_preset_name::@2] + // [479] phi from render_preset_name::@6 to render_preset_name::@2 [phi:render_preset_name::@6->render_preset_name::@2] __b9: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@6->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#5 [phi:render_preset_name::@6->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_5 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@7 to render_preset_name::@2 [phi:render_preset_name::@7->render_preset_name::@2] + // [479] phi from render_preset_name::@7 to render_preset_name::@2 [phi:render_preset_name::@7->render_preset_name::@2] __b10: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@7->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#6 [phi:render_preset_name::@7->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_6 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@8 to render_preset_name::@2 [phi:render_preset_name::@8->render_preset_name::@2] + // [479] phi from render_preset_name::@8 to render_preset_name::@2 [phi:render_preset_name::@8->render_preset_name::@2] __b11: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@8->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#7 [phi:render_preset_name::@8->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_7 sta.z name+1 jmp __b2 - // [477] phi from render_preset_name::@9 to render_preset_name::@2 [phi:render_preset_name::@9->render_preset_name::@2] + // [479] phi from render_preset_name::@9 to render_preset_name::@2 [phi:render_preset_name::@9->render_preset_name::@2] __b12: - // [477] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@9->render_preset_name::@2#0] -- pbuz1=pbuc1 + // [479] phi (byte*) render_preset_name::name#13 = (const byte*) render_preset_name::name#8 [phi:render_preset_name::@9->render_preset_name::@2#0] -- pbuz1=pbuc1 lda #name_8 @@ -30862,14 +30918,14 @@ render_preset_name: { // render_preset_name::@2 __b2: // print_str_at(name, FORM_SCREEN+40*2+10) - // [478] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 - // [479] call print_str_at + // [480] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 + // [481] call print_str_at // Render it - // [780] phi from render_preset_name::@2 to print_str_at [phi:render_preset_name::@2->print_str_at] + // [782] phi from render_preset_name::@2 to print_str_at [phi:render_preset_name::@2->print_str_at] jsr print_str_at // render_preset_name::@return // } - // [480] return + // [482] return rts name_1: .text "Standard Charset " .byte 0 @@ -30898,38 +30954,38 @@ render_preset_name: { // Reads keyboard and allows the user to navigate and change the fields of the form // Returns 0 if space is not pressed, non-0 if space is pressed form_control: { - .label field = $1f + .label field = $13 // form_field_ptr(form_field_idx) - // [481] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 -- vbuxx=vbuz1 + // [483] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#30 -- vbuxx=vbuz1 ldx.z form_field_idx - // [482] call form_field_ptr - // [774] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] - // [774] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + // [484] call form_field_ptr + // [776] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + // [776] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy jsr form_field_ptr // form_field_ptr(form_field_idx) - // [483] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 + // [485] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 // form_control::@18 // field = form_field_ptr(form_field_idx) - // [484] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 + // [486] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 // if(--form_cursor_count < 0) - // [485] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 -- vbsz1=_dec_vbsz1 + // [487] (signed byte) form_cursor_count#4 ← -- (signed byte) form_cursor_count#23 -- vbsz1=_dec_vbsz1 dec.z form_cursor_count - // [486] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 -- vbsz1_ge_0_then_la1 + // [488] if((signed byte) form_cursor_count#4>=(signed byte) 0) goto form_control::@21 -- vbsz1_ge_0_then_la1 lda.z form_cursor_count cmp #0 bpl __b1 - // [488] phi from form_control::@18 to form_control::@1 [phi:form_control::@18->form_control::@1] - // [488] phi (signed byte) form_cursor_count#16 = (const nomodify signed byte) FORM_CURSOR_BLINK [phi:form_control::@18->form_control::@1#0] -- vbsz1=vbsc1 + // [490] phi from form_control::@18 to form_control::@1 [phi:form_control::@18->form_control::@1] + // [490] phi (signed byte) form_cursor_count#16 = (const nomodify signed byte) FORM_CURSOR_BLINK [phi:form_control::@18->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta.z form_cursor_count - // [487] phi from form_control::@18 to form_control::@21 [phi:form_control::@18->form_control::@21] + // [489] phi from form_control::@18 to form_control::@21 [phi:form_control::@18->form_control::@21] // form_control::@21 - // [488] phi from form_control::@21 to form_control::@1 [phi:form_control::@21->form_control::@1] - // [488] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#4 [phi:form_control::@21->form_control::@1#0] -- register_copy + // [490] phi from form_control::@21 to form_control::@1 [phi:form_control::@21->form_control::@1] + // [490] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#4 [phi:form_control::@21->form_control::@1#0] -- register_copy // form_control::@1 __b1: // if(form_cursor_countform_control::@3] + // [494] phi from form_control::@2 form_control::@7 to form_control::@3 [phi:form_control::@2/form_control::@7->form_control::@3] // form_control::@3 __b3: // keyboard_event_scan() - // [493] call keyboard_event_scan + // [495] call keyboard_event_scan // Scan the keyboard - // [576] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] - // [576] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#49 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy + // [578] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + // [578] phi (byte) keyboard_events_size#98 = (byte) keyboard_events_size#49 [phi:form_control::@3->keyboard_event_scan#0] -- register_copy jsr keyboard_event_scan - // [494] phi from form_control::@3 to form_control::@19 [phi:form_control::@3->form_control::@19] + // [496] phi from form_control::@3 to form_control::@19 [phi:form_control::@3->form_control::@19] // form_control::@19 // keyboard_event_get() - // [495] call keyboard_event_get + // [497] call keyboard_event_get jsr keyboard_event_get - // [496] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 + // [498] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 // form_control::@20 // key_event = keyboard_event_get() - // [497] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 + // [499] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 // if(key_event==KEY_CRSR_DOWN) - // [498] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 + // [500] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_DOWN bne __b4 // form_control::@8 // *field & $7f - // [499] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 + // [501] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y // *field = *field & $7f - // [500] *((byte*) form_control::field#0) ← (byte~) form_control::$14 -- _deref_pbuz1=vbuaa + // [502] *((byte*) form_control::field#0) ← (byte~) form_control::$14 -- _deref_pbuz1=vbuaa // Unblink the cursor sta (field),y // keyboard_modifiers&KEY_MODIFIER_SHIFT - // [501] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuaa=vbuxx_band_vbuc1 + // [503] (byte~) form_control::$15 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuaa=vbuxx_band_vbuc1 txa and #KEY_MODIFIER_SHIFT // if((keyboard_modifiers&KEY_MODIFIER_SHIFT)==0) - // [502] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 -- vbuaa_eq_0_then_la1 + // [504] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 -- vbuaa_eq_0_then_la1 cmp #0 beq __b13 // form_control::@9 // if(--form_field_idx==$ff) - // [503] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 -- vbuz1=_dec_vbuz1 + // [505] (byte) form_field_idx#5 ← -- (byte) form_field_idx#30 -- vbuz1=_dec_vbuz1 dec.z form_field_idx - // [504] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 + // [506] if((byte) form_field_idx#5!=(byte) $ff) goto form_control::@22 -- vbuz1_neq_vbuc1_then_la1 lda #$ff cmp.z form_field_idx bne __b14 - // [506] phi from form_control::@9 to form_control::@14 [phi:form_control::@9->form_control::@14] - // [506] phi (byte) form_field_idx#33 = (const byte) form_fields_cnt-(byte) 1 [phi:form_control::@9->form_control::@14#0] -- vbuz1=vbuc1 + // [508] phi from form_control::@9 to form_control::@14 [phi:form_control::@9->form_control::@14] + // [508] phi (byte) form_field_idx#33 = (const byte) form_fields_cnt-(byte) 1 [phi:form_control::@9->form_control::@14#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta.z form_field_idx - // [505] phi from form_control::@9 to form_control::@22 [phi:form_control::@9->form_control::@22] + // [507] phi from form_control::@9 to form_control::@22 [phi:form_control::@9->form_control::@22] // form_control::@22 - // [506] phi from form_control::@22 form_control::@23 to form_control::@14 [phi:form_control::@22/form_control::@23->form_control::@14] - // [506] phi (byte) form_field_idx#33 = (byte) form_field_idx#5 [phi:form_control::@22/form_control::@23->form_control::@14#0] -- register_copy + // [508] phi from form_control::@22 form_control::@23 to form_control::@14 [phi:form_control::@22/form_control::@23->form_control::@14] + // [508] phi (byte) form_field_idx#33 = (byte) form_field_idx#5 [phi:form_control::@22/form_control::@23->form_control::@14#0] -- register_copy // form_control::@14 __b14: - // [507] phi from form_control::@14 to form_control::@return [phi:form_control::@14->form_control::@return] - // [507] phi (byte) form_field_idx#19 = (byte) form_field_idx#33 [phi:form_control::@14->form_control::@return#0] -- register_copy - // [507] phi (signed byte) form_cursor_count#17 = (const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 [phi:form_control::@14->form_control::@return#1] -- vbsz1=vbsc1 + // [509] phi from form_control::@14 to form_control::@return [phi:form_control::@14->form_control::@return] + // [509] phi (byte) form_field_idx#19 = (byte) form_field_idx#33 [phi:form_control::@14->form_control::@return#0] -- register_copy + // [509] phi (signed byte) form_cursor_count#17 = (const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 [phi:form_control::@14->form_control::@return#1] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK/2 sta.z form_cursor_count - // [507] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@14->form_control::@return#2] -- vbuxx=vbuc1 + // [509] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@14->form_control::@return#2] -- vbuxx=vbuc1 ldx #0 // form_control::@return // } - // [508] return + // [510] return rts // form_control::@13 __b13: // if(++form_field_idx==form_fields_cnt) - // [509] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 -- vbuz1=_inc_vbuz1 + // [511] (byte) form_field_idx#4 ← ++ (byte) form_field_idx#30 -- vbuz1=_inc_vbuz1 inc.z form_field_idx - // [510] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 -- vbuz1_neq_vbuc1_then_la1 + // [512] if((byte) form_field_idx#4!=(const byte) form_fields_cnt) goto form_control::@23 -- vbuz1_neq_vbuc1_then_la1 lda #form_fields_cnt cmp.z form_field_idx bne __b14 - // [506] phi from form_control::@13 to form_control::@14 [phi:form_control::@13->form_control::@14] - // [506] phi (byte) form_field_idx#33 = (byte) 0 [phi:form_control::@13->form_control::@14#0] -- vbuz1=vbuc1 + // [508] phi from form_control::@13 to form_control::@14 [phi:form_control::@13->form_control::@14] + // [508] phi (byte) form_field_idx#33 = (byte) 0 [phi:form_control::@13->form_control::@14#0] -- vbuz1=vbuc1 lda #0 sta.z form_field_idx jmp __b14 - // [511] phi from form_control::@13 to form_control::@23 [phi:form_control::@13->form_control::@23] + // [513] phi from form_control::@13 to form_control::@23 [phi:form_control::@13->form_control::@23] // form_control::@23 // form_control::@4 __b4: // if(key_event==KEY_CRSR_RIGHT) - // [512] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 -- vbuaa_neq_vbuc1_then_la1 + // [514] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_RIGHT bne __b5 // form_control::@10 // keyboard_modifiers&KEY_MODIFIER_SHIFT - // [513] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuaa=vbuxx_band_vbuc1 + // [515] (byte~) form_control::$22 ← (byte) keyboard_modifiers#22 & (const nomodify byte) KEY_MODIFIER_SHIFT -- vbuaa=vbuxx_band_vbuc1 txa and #KEY_MODIFIER_SHIFT // if((keyboard_modifiers&KEY_MODIFIER_SHIFT)==0) - // [514] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 -- vbuaa_eq_0_then_la1 + // [516] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 -- vbuaa_eq_0_then_la1 cmp #0 beq __b15 // form_control::@11 // if(--form_fields_val[form_field_idx]==$ff) - // [515] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + // [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx.z form_field_idx dec form_fields_val,x - // [516] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + // [518] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)!=(byte) $ff) goto form_control::@16 -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 lda #$ff ldy.z form_field_idx cmp form_fields_val,y bne __b16 // form_control::@12 // form_fields_val[form_field_idx] = form_fields_max[form_field_idx] - // [517] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + // [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← *((const byte*) form_fields_max + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 lda form_fields_max,y sta form_fields_val,y // form_control::@16 __b16: // *field = print_hextab[form_fields_val[form_field_idx]] - // [518] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) -- _deref_pbuz1=pbuc1_derefidx_(pbuc2_derefidx_vbuz2) + // [520] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#30)) -- _deref_pbuz1=pbuc1_derefidx_(pbuc2_derefidx_vbuz2) // Render field value ldx.z form_field_idx ldy form_fields_val,x lda print_hextab,y ldy #0 sta (field),y - // [507] phi from form_control::@16 form_control::@6 to form_control::@return [phi:form_control::@16/form_control::@6->form_control::@return] + // [509] phi from form_control::@16 form_control::@6 to form_control::@return [phi:form_control::@16/form_control::@6->form_control::@return] __b7: - // [507] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@16/form_control::@6->form_control::@return#0] -- register_copy - // [507] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@16/form_control::@6->form_control::@return#1] -- register_copy - // [507] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@16/form_control::@6->form_control::@return#2] -- vbuxx=vbuc1 + // [509] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@16/form_control::@6->form_control::@return#0] -- register_copy + // [509] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@16/form_control::@6->form_control::@return#1] -- register_copy + // [509] phi (byte) form_control::return#2 = (byte) 0 [phi:form_control::@16/form_control::@6->form_control::@return#2] -- vbuxx=vbuc1 ldx #0 rts // form_control::@15 __b15: // if(++form_fields_val[form_field_idx]>form_fields_max[form_field_idx]) - // [519] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + // [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#30) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx.z form_field_idx inc form_fields_val,x - // [520] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + // [522] if(*((const byte*) form_fields_val + (byte) form_field_idx#30)<=*((const byte*) form_fields_max + (byte) form_field_idx#30)) goto form_control::@16 -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy.z form_field_idx lda form_fields_max,y cmp form_fields_val,y bcs __b16 // form_control::@17 // form_fields_val[form_field_idx] = 0 - // [521] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 + // [523] *((const byte*) form_fields_val + (byte) form_field_idx#30) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 sta form_fields_val,y jmp __b16 // form_control::@5 __b5: // if(key_event==KEY_SPACE) - // [522] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 -- vbuaa_neq_vbuc1_then_la1 + // [524] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_SPACE bne __b7 - // [507] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] - // [507] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@5->form_control::@return#0] -- register_copy - // [507] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@5->form_control::@return#1] -- register_copy - // [507] phi (byte) form_control::return#2 = (byte) $ff [phi:form_control::@5->form_control::@return#2] -- vbuxx=vbuc1 + // [509] phi from form_control::@5 to form_control::@return [phi:form_control::@5->form_control::@return] + // [509] phi (byte) form_field_idx#19 = (byte) form_field_idx#30 [phi:form_control::@5->form_control::@return#0] -- register_copy + // [509] phi (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#16 [phi:form_control::@5->form_control::@return#1] -- register_copy + // [509] phi (byte) form_control::return#2 = (byte) $ff [phi:form_control::@5->form_control::@return#2] -- vbuxx=vbuc1 ldx #$ff rts - // [523] phi from form_control::@5 to form_control::@6 [phi:form_control::@5->form_control::@6] + // [525] phi from form_control::@5 to form_control::@6 [phi:form_control::@5->form_control::@6] // form_control::@6 // form_control::@2 __b2: // *field | $80 - // [524] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 -- vbuaa=_deref_pbuz1_bor_vbuc1 + // [526] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 -- vbuaa=_deref_pbuz1_bor_vbuc1 lda #$80 ldy #0 ora (field),y // *field = *field | $80 - // [525] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- _deref_pbuz1=vbuaa + // [527] *((byte*) form_control::field#0) ← (byte~) form_control::$13 -- _deref_pbuz1=vbuaa sta (field),y jmp __b3 } @@ -31128,177 +31184,177 @@ form_control: { // idx is the ID of the preset // apply_preset(byte register(A) idx) apply_preset: { - .label preset = $18 + .label preset = $1a // if(idx==0) - // [526] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 -- vbuaa_eq_0_then_la1 + // [528] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 -- vbuaa_eq_0_then_la1 cmp #0 beq __b3 // apply_preset::@3 // if(idx==1) - // [527] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [529] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq __b6 // apply_preset::@4 // if(idx==2) - // [528] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [530] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq __b7 // apply_preset::@5 // if(idx==3) - // [529] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [531] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq __b8 // apply_preset::@6 // if(idx==4) - // [530] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [532] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #4 beq __b9 // apply_preset::@7 // if(idx==5) - // [531] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [533] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #5 beq __b10 // apply_preset::@8 // if(idx==6) - // [532] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [534] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #6 beq __b11 // apply_preset::@9 // if(idx==7) - // [533] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [535] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #7 beq __b12 // apply_preset::@10 // if(idx==8) - // [534] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [536] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #8 beq __b4 // apply_preset::@11 // if(idx==9) - // [535] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 + // [537] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq __b5 // apply_preset::@12 // if(idx==10) - // [536] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 + // [538] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq __b1 - // [538] phi from apply_preset apply_preset::@12 to apply_preset::@2 [phi:apply_preset/apply_preset::@12->apply_preset::@2] + // [540] phi from apply_preset apply_preset::@12 to apply_preset::@2 [phi:apply_preset/apply_preset::@12->apply_preset::@2] __b3: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdchar [phi:apply_preset/apply_preset::@12->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdchar [phi:apply_preset/apply_preset::@12->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_stdchar sta.z preset+1 jmp __b2 - // [537] phi from apply_preset::@12 to apply_preset::@1 [phi:apply_preset::@12->apply_preset::@1] + // [539] phi from apply_preset::@12 to apply_preset::@1 [phi:apply_preset::@12->apply_preset::@1] // apply_preset::@1 __b1: - // [538] phi from apply_preset::@1 to apply_preset::@2 [phi:apply_preset::@1->apply_preset::@2] - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_8bpppixelcell [phi:apply_preset::@1->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi from apply_preset::@1 to apply_preset::@2 [phi:apply_preset::@1->apply_preset::@2] + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_8bpppixelcell [phi:apply_preset::@1->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_8bpppixelcell sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@10 to apply_preset::@2 [phi:apply_preset::@10->apply_preset::@2] + // [540] phi from apply_preset::@10 to apply_preset::@2 [phi:apply_preset::@10->apply_preset::@2] __b4: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred [phi:apply_preset::@10->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred [phi:apply_preset::@10->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_sixsfred sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@11 to apply_preset::@2 [phi:apply_preset::@11->apply_preset::@2] + // [540] phi from apply_preset::@11 to apply_preset::@2 [phi:apply_preset::@11->apply_preset::@2] __b5: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred2 [phi:apply_preset::@11->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_sixsfred2 [phi:apply_preset::@11->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_sixsfred2 sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@3 to apply_preset::@2 [phi:apply_preset::@3->apply_preset::@2] + // [540] phi from apply_preset::@3 to apply_preset::@2 [phi:apply_preset::@3->apply_preset::@2] __b6: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_ecmchar [phi:apply_preset::@3->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_ecmchar [phi:apply_preset::@3->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_ecmchar sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@4 to apply_preset::@2 [phi:apply_preset::@4->apply_preset::@2] + // [540] phi from apply_preset::@4 to apply_preset::@2 [phi:apply_preset::@4->apply_preset::@2] __b7: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdbm [phi:apply_preset::@4->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_stdbm [phi:apply_preset::@4->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_stdbm sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@5 to apply_preset::@2 [phi:apply_preset::@5->apply_preset::@2] + // [540] phi from apply_preset::@5 to apply_preset::@2 [phi:apply_preset::@5->apply_preset::@2] __b8: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_mcbm [phi:apply_preset::@5->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_mcbm [phi:apply_preset::@5->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_mcbm sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@6 to apply_preset::@2 [phi:apply_preset::@6->apply_preset::@2] + // [540] phi from apply_preset::@6 to apply_preset::@2 [phi:apply_preset::@6->apply_preset::@2] __b9: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_stdchar [phi:apply_preset::@6->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_stdchar [phi:apply_preset::@6->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_hi_stdchar sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@7 to apply_preset::@2 [phi:apply_preset::@7->apply_preset::@2] + // [540] phi from apply_preset::@7 to apply_preset::@2 [phi:apply_preset::@7->apply_preset::@2] __b10: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_ecmchar [phi:apply_preset::@7->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_hi_ecmchar [phi:apply_preset::@7->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_hi_ecmchar sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@8 to apply_preset::@2 [phi:apply_preset::@8->apply_preset::@2] + // [540] phi from apply_preset::@8 to apply_preset::@2 [phi:apply_preset::@8->apply_preset::@2] __b11: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_twoplane [phi:apply_preset::@8->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_twoplane [phi:apply_preset::@8->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_twoplane sta.z preset+1 jmp __b2 - // [538] phi from apply_preset::@9 to apply_preset::@2 [phi:apply_preset::@9->apply_preset::@2] + // [540] phi from apply_preset::@9 to apply_preset::@2 [phi:apply_preset::@9->apply_preset::@2] __b12: - // [538] phi (byte*) apply_preset::preset#15 = (const byte*) preset_chunky [phi:apply_preset::@9->apply_preset::@2#0] -- pbuz1=pbuc1 + // [540] phi (byte*) apply_preset::preset#15 = (const byte*) preset_chunky [phi:apply_preset::@9->apply_preset::@2#0] -- pbuz1=pbuc1 lda #preset_chunky sta.z preset+1 // apply_preset::@2 __b2: - // [539] phi from apply_preset::@2 to apply_preset::@13 [phi:apply_preset::@2->apply_preset::@13] - // [539] phi (byte) apply_preset::i#2 = (byte) 0 [phi:apply_preset::@2->apply_preset::@13#0] -- vbuyy=vbuc1 + // [541] phi from apply_preset::@2 to apply_preset::@13 [phi:apply_preset::@2->apply_preset::@13] + // [541] phi (byte) apply_preset::i#2 = (byte) 0 [phi:apply_preset::@2->apply_preset::@13#0] -- vbuyy=vbuc1 ldy #0 // Copy preset values into the fields // apply_preset::@13 __b13: // for( byte i=0; i != form_fields_cnt; i++) - // [540] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 -- vbuyy_neq_vbuc1_then_la1 + // [542] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 -- vbuyy_neq_vbuc1_then_la1 cpy #form_fields_cnt bne __b14 // apply_preset::@return // } - // [541] return + // [543] return rts // apply_preset::@14 __b14: // form_fields_val[i] = preset[i] - // [542] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy + // [544] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) -- pbuc1_derefidx_vbuyy=pbuz1_derefidx_vbuyy lda (preset),y sta form_fields_val,y // for( byte i=0; i != form_fields_cnt; i++) - // [543] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy + // [545] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 -- vbuyy=_inc_vbuyy iny - // [539] phi from apply_preset::@14 to apply_preset::@13 [phi:apply_preset::@14->apply_preset::@13] - // [539] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@14->apply_preset::@13#0] -- register_copy + // [541] phi from apply_preset::@14 to apply_preset::@13 [phi:apply_preset::@14->apply_preset::@13] + // [541] phi (byte) apply_preset::i#2 = (byte) apply_preset::i#1 [phi:apply_preset::@14->apply_preset::@13#0] -- register_copy jmp __b13 } // get_plane @@ -31307,92 +31363,92 @@ apply_preset: { get_plane: { .label return = 9 // if(idx==0) - // [545] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return -- vbuaa_eq_0_then_la1 + // [547] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return -- vbuaa_eq_0_then_la1 cmp #0 beq __b1 // get_plane::@2 // if(idx==1) - // [546] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [548] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #1 bne !__b6+ jmp __b6 !__b6: // get_plane::@3 // if(idx==2) - // [547] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [549] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #2 bne !__b7+ jmp __b7 !__b7: // get_plane::@4 // if(idx==3) - // [548] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [550] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #3 bne !__b8+ jmp __b8 !__b8: // get_plane::@5 // if(idx==4) - // [549] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [551] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #4 bne !__b9+ jmp __b9 !__b9: // get_plane::@6 // if(idx==5) - // [550] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [552] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #5 bne !__b10+ jmp __b10 !__b10: // get_plane::@7 // if(idx==6) - // [551] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [553] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #6 bne !__b11+ jmp __b11 !__b11: // get_plane::@8 // if(idx==7) - // [552] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [554] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #7 bne !__b12+ jmp __b12 !__b12: // get_plane::@9 // if(idx==8) - // [553] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [555] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #8 bne !__b13+ jmp __b13 !__b13: // get_plane::@10 // if(idx==9) - // [554] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [556] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #9 beq __b2 // get_plane::@11 // if(idx==10) - // [555] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [557] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #$a beq __b3 // get_plane::@12 // if(idx==11) - // [556] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [558] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #$b beq __b4 // get_plane::@13 // if(idx==12) - // [557] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 + // [559] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return -- vbuaa_eq_vbuc1_then_la1 cmp #$c beq __b5 // get_plane::@14 // if(idx==13) - // [558] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 -- vbuaa_neq_vbuc1_then_la1 + // [560] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 -- vbuaa_neq_vbuc1_then_la1 cmp #$d bne __b1 - // [560] phi from get_plane::@14 to get_plane::@return [phi:get_plane::@14->get_plane::@return] - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_FULL [phi:get_plane::@14->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi from get_plane::@14 to get_plane::@return [phi:get_plane::@14->get_plane::@return] + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_FULL [phi:get_plane::@14->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_FULL @@ -31402,11 +31458,11 @@ get_plane: { lda #>PLANE_FULL>>$10 sta.z return+3 rts - // [559] phi from get_plane::@14 to get_plane::@1 [phi:get_plane::@14->get_plane::@1] + // [561] phi from get_plane::@14 to get_plane::@1 [phi:get_plane::@14->get_plane::@1] // get_plane::@1 __b1: - // [560] phi from get_plane get_plane::@1 to get_plane::@return [phi:get_plane/get_plane::@1->get_plane::@return] - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN0 [phi:get_plane/get_plane::@1->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi from get_plane get_plane::@1 to get_plane::@return [phi:get_plane/get_plane::@1->get_plane::@return] + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN0 [phi:get_plane/get_plane::@1->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN0 @@ -31416,9 +31472,9 @@ get_plane: { lda #>VIC_SCREEN0>>$10 sta.z return+3 rts - // [560] phi from get_plane::@10 to get_plane::@return [phi:get_plane::@10->get_plane::@return] + // [562] phi from get_plane::@10 to get_plane::@return [phi:get_plane::@10->get_plane::@return] __b2: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL2 [phi:get_plane::@10->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL2 [phi:get_plane::@10->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_HORISONTAL2 @@ -31428,9 +31484,9 @@ get_plane: { lda #>PLANE_HORISONTAL2>>$10 sta.z return+3 rts - // [560] phi from get_plane::@11 to get_plane::@return [phi:get_plane::@11->get_plane::@return] + // [562] phi from get_plane::@11 to get_plane::@return [phi:get_plane::@11->get_plane::@return] __b3: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL2 [phi:get_plane::@11->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL2 [phi:get_plane::@11->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_VERTICAL2 @@ -31440,9 +31496,9 @@ get_plane: { lda #>PLANE_VERTICAL2>>$10 sta.z return+3 rts - // [560] phi from get_plane::@12 to get_plane::@return [phi:get_plane::@12->get_plane::@return] + // [562] phi from get_plane::@12 to get_plane::@return [phi:get_plane::@12->get_plane::@return] __b4: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_CHARSET8 [phi:get_plane::@12->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_CHARSET8 [phi:get_plane::@12->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_CHARSET8 @@ -31452,9 +31508,9 @@ get_plane: { lda #>PLANE_CHARSET8>>$10 sta.z return+3 rts - // [560] phi from get_plane::@13 to get_plane::@return [phi:get_plane::@13->get_plane::@return] + // [562] phi from get_plane::@13 to get_plane::@return [phi:get_plane::@13->get_plane::@return] __b5: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_BLANK [phi:get_plane::@13->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_BLANK [phi:get_plane::@13->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_BLANK @@ -31464,9 +31520,9 @@ get_plane: { lda #>PLANE_BLANK>>$10 sta.z return+3 rts - // [560] phi from get_plane::@2 to get_plane::@return [phi:get_plane::@2->get_plane::@return] + // [562] phi from get_plane::@2 to get_plane::@return [phi:get_plane::@2->get_plane::@return] __b6: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN1 [phi:get_plane::@2->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN1 [phi:get_plane::@2->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN1 @@ -31476,9 +31532,9 @@ get_plane: { lda #>VIC_SCREEN1>>$10 sta.z return+3 rts - // [560] phi from get_plane::@3 to get_plane::@return [phi:get_plane::@3->get_plane::@return] + // [562] phi from get_plane::@3 to get_plane::@return [phi:get_plane::@3->get_plane::@return] __b7: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN2 [phi:get_plane::@3->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN2 [phi:get_plane::@3->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN2 @@ -31488,9 +31544,9 @@ get_plane: { lda #>VIC_SCREEN2>>$10 sta.z return+3 rts - // [560] phi from get_plane::@4 to get_plane::@return [phi:get_plane::@4->get_plane::@return] + // [562] phi from get_plane::@4 to get_plane::@return [phi:get_plane::@4->get_plane::@return] __b8: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN3 [phi:get_plane::@4->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_SCREEN3 [phi:get_plane::@4->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_SCREEN3 @@ -31500,9 +31556,9 @@ get_plane: { lda #>VIC_SCREEN3>>$10 sta.z return+3 rts - // [560] phi from get_plane::@5 to get_plane::@return [phi:get_plane::@5->get_plane::@return] + // [562] phi from get_plane::@5 to get_plane::@return [phi:get_plane::@5->get_plane::@return] __b9: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_BITMAP [phi:get_plane::@5->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_BITMAP [phi:get_plane::@5->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_BITMAP @@ -31512,9 +31568,9 @@ get_plane: { lda #>VIC_BITMAP>>$10 sta.z return+3 rts - // [560] phi from get_plane::@6 to get_plane::@return [phi:get_plane::@6->get_plane::@return] + // [562] phi from get_plane::@6 to get_plane::@return [phi:get_plane::@6->get_plane::@return] __b10: - // [560] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_CHARSET_ROM [phi:get_plane::@6->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (dword)(const nomodify byte*) VIC_CHARSET_ROM [phi:get_plane::@6->get_plane::@return#0] -- vduz1=vduc1 lda #VIC_CHARSET_ROM @@ -31524,9 +31580,9 @@ get_plane: { lda #>VIC_CHARSET_ROM>>$10 sta.z return+3 rts - // [560] phi from get_plane::@7 to get_plane::@return [phi:get_plane::@7->get_plane::@return] + // [562] phi from get_plane::@7 to get_plane::@return [phi:get_plane::@7->get_plane::@return] __b11: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_8BPP_CHUNKY [phi:get_plane::@7->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_8BPP_CHUNKY [phi:get_plane::@7->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_8BPP_CHUNKY @@ -31536,9 +31592,9 @@ get_plane: { lda #>PLANE_8BPP_CHUNKY>>$10 sta.z return+3 rts - // [560] phi from get_plane::@8 to get_plane::@return [phi:get_plane::@8->get_plane::@return] + // [562] phi from get_plane::@8 to get_plane::@return [phi:get_plane::@8->get_plane::@return] __b12: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL [phi:get_plane::@8->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_HORISONTAL [phi:get_plane::@8->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_HORISONTAL @@ -31548,9 +31604,9 @@ get_plane: { lda #>PLANE_HORISONTAL>>$10 sta.z return+3 rts - // [560] phi from get_plane::@9 to get_plane::@return [phi:get_plane::@9->get_plane::@return] + // [562] phi from get_plane::@9 to get_plane::@return [phi:get_plane::@9->get_plane::@return] __b13: - // [560] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL [phi:get_plane::@9->get_plane::@return#0] -- vduz1=vduc1 + // [562] phi (dword) get_plane::return#14 = (const nomodify dword) PLANE_VERTICAL [phi:get_plane::@9->get_plane::@return#0] -- vduz1=vduc1 lda #PLANE_VERTICAL @@ -31561,7 +31617,7 @@ get_plane: { sta.z return+3 // get_plane::@return // } - // [561] return + // [563] return rts } // get_vic_screen @@ -31570,72 +31626,72 @@ get_plane: { get_vic_screen: { .label return = 3 // if(idx==0) - // [563] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return -- vbuaa_eq_0_then_la1 + // [565] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return -- vbuaa_eq_0_then_la1 cmp #0 beq __b1 // get_vic_screen::@2 // if(idx==1) - // [564] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 + // [566] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 cmp #1 beq __b2 // get_vic_screen::@3 // if(idx==2) - // [565] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 + // [567] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 cmp #2 beq __b3 // get_vic_screen::@4 // if(idx==3) - // [566] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 + // [568] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return -- vbuaa_eq_vbuc1_then_la1 cmp #3 beq __b4 // get_vic_screen::@5 // if(idx==4) - // [567] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 -- vbuaa_neq_vbuc1_then_la1 + // [569] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 -- vbuaa_neq_vbuc1_then_la1 cmp #4 bne __b1 - // [569] phi from get_vic_screen::@5 to get_vic_screen::@return [phi:get_vic_screen::@5->get_vic_screen::@return] - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN4 [phi:get_vic_screen::@5->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi from get_vic_screen::@5 to get_vic_screen::@return [phi:get_vic_screen::@5->get_vic_screen::@return] + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN4 [phi:get_vic_screen::@5->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN4 sta.z return+1 rts - // [568] phi from get_vic_screen::@5 to get_vic_screen::@1 [phi:get_vic_screen::@5->get_vic_screen::@1] + // [570] phi from get_vic_screen::@5 to get_vic_screen::@1 [phi:get_vic_screen::@5->get_vic_screen::@1] // get_vic_screen::@1 __b1: - // [569] phi from get_vic_screen get_vic_screen::@1 to get_vic_screen::@return [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return] - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN0 [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi from get_vic_screen get_vic_screen::@1 to get_vic_screen::@return [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return] + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN0 [phi:get_vic_screen/get_vic_screen::@1->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN0 sta.z return+1 rts - // [569] phi from get_vic_screen::@2 to get_vic_screen::@return [phi:get_vic_screen::@2->get_vic_screen::@return] + // [571] phi from get_vic_screen::@2 to get_vic_screen::@return [phi:get_vic_screen::@2->get_vic_screen::@return] __b2: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN1 [phi:get_vic_screen::@2->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN1 [phi:get_vic_screen::@2->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN1 sta.z return+1 rts - // [569] phi from get_vic_screen::@3 to get_vic_screen::@return [phi:get_vic_screen::@3->get_vic_screen::@return] + // [571] phi from get_vic_screen::@3 to get_vic_screen::@return [phi:get_vic_screen::@3->get_vic_screen::@return] __b3: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN2 [phi:get_vic_screen::@3->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN2 [phi:get_vic_screen::@3->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN2 sta.z return+1 rts - // [569] phi from get_vic_screen::@4 to get_vic_screen::@return [phi:get_vic_screen::@4->get_vic_screen::@return] + // [571] phi from get_vic_screen::@4 to get_vic_screen::@return [phi:get_vic_screen::@4->get_vic_screen::@return] __b4: - // [569] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN3 [phi:get_vic_screen::@4->get_vic_screen::@return#0] -- pbuz1=pbuc1 + // [571] phi (byte*) get_vic_screen::return#5 = (const nomodify byte*) VIC_SCREEN3 [phi:get_vic_screen::@4->get_vic_screen::@return#0] -- pbuz1=pbuc1 lda #VIC_SCREEN3 sta.z return+1 // get_vic_screen::@return // } - // [570] return + // [572] return rts } // get_vic_charset @@ -31644,33 +31700,33 @@ get_vic_screen: { get_vic_charset: { .label return = 7 // if(idx==0) - // [571] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return -- vbuaa_eq_0_then_la1 + // [573] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return -- vbuaa_eq_0_then_la1 cmp #0 beq __b1 // get_vic_charset::@2 // if(idx==1) - // [572] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 -- vbuaa_neq_vbuc1_then_la1 + // [574] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 -- vbuaa_neq_vbuc1_then_la1 cmp #1 bne __b1 - // [574] phi from get_vic_charset::@2 to get_vic_charset::@return [phi:get_vic_charset::@2->get_vic_charset::@return] - // [574] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_BITMAP [phi:get_vic_charset::@2->get_vic_charset::@return#0] -- pbuz1=pbuc1 + // [576] phi from get_vic_charset::@2 to get_vic_charset::@return [phi:get_vic_charset::@2->get_vic_charset::@return] + // [576] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_BITMAP [phi:get_vic_charset::@2->get_vic_charset::@return#0] -- pbuz1=pbuc1 lda #VIC_BITMAP sta.z return+1 rts - // [573] phi from get_vic_charset::@2 to get_vic_charset::@1 [phi:get_vic_charset::@2->get_vic_charset::@1] + // [575] phi from get_vic_charset::@2 to get_vic_charset::@1 [phi:get_vic_charset::@2->get_vic_charset::@1] // get_vic_charset::@1 __b1: - // [574] phi from get_vic_charset get_vic_charset::@1 to get_vic_charset::@return [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return] - // [574] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_CHARSET_ROM [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return#0] -- pbuz1=pbuc1 + // [576] phi from get_vic_charset get_vic_charset::@1 to get_vic_charset::@return [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return] + // [576] phi (byte*) get_vic_charset::return#2 = (const nomodify byte*) VIC_CHARSET_ROM [phi:get_vic_charset/get_vic_charset::@1->get_vic_charset::@return#0] -- pbuz1=pbuc1 lda #VIC_CHARSET_ROM sta.z return+1 // get_vic_charset::@return // } - // [575] return + // [577] return rts } // keyboard_event_scan @@ -31679,228 +31735,228 @@ get_vic_charset: { // Handles debounce and only generates events when the status of a key changes. // Also stores current status of modifiers in keyboard_modifiers. keyboard_event_scan: { - .label row_scan = $13 + .label row_scan = $15 .label keycode = $f .label row = $d - // [577] phi from keyboard_event_scan to keyboard_event_scan::@7 [phi:keyboard_event_scan->keyboard_event_scan::@7] - // [577] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#98 [phi:keyboard_event_scan->keyboard_event_scan::@7#0] -- register_copy - // [577] phi (byte) keyboard_event_scan::keycode#11 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#1] -- vbuz1=vbuc1 + // [579] phi from keyboard_event_scan to keyboard_event_scan::@7 [phi:keyboard_event_scan->keyboard_event_scan::@7] + // [579] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#98 [phi:keyboard_event_scan->keyboard_event_scan::@7#0] -- register_copy + // [579] phi (byte) keyboard_event_scan::keycode#11 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#1] -- vbuz1=vbuc1 lda #0 sta.z keycode - // [577] phi (byte) keyboard_event_scan::row#2 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#2] -- vbuz1=vbuc1 + // [579] phi (byte) keyboard_event_scan::row#2 = (byte) 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#2] -- vbuz1=vbuc1 sta.z row - // [577] phi from keyboard_event_scan::@8 to keyboard_event_scan::@7 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7] - // [577] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#100 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#0] -- register_copy - // [577] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#13 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#1] -- register_copy - // [577] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#2] -- register_copy + // [579] phi from keyboard_event_scan::@8 to keyboard_event_scan::@7 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7] + // [579] phi (byte) keyboard_events_size#107 = (byte) keyboard_events_size#100 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#0] -- register_copy + // [579] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#13 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#1] -- register_copy + // [579] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#2] -- register_copy // keyboard_event_scan::@7 __b7: // keyboard_matrix_read(row) - // [578] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 -- vbuxx=vbuz1 + // [580] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 -- vbuxx=vbuz1 ldx.z row - // [579] call keyboard_matrix_read + // [581] call keyboard_matrix_read jsr keyboard_matrix_read - // [580] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 + // [582] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 // keyboard_event_scan::@19 // row_scan = keyboard_matrix_read(row) - // [581] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 -- vbuz1=vbuaa + // [583] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 -- vbuz1=vbuaa sta.z row_scan // if(row_scan!=keyboard_scan_values[row]) - // [582] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 + // [584] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1 ldy.z row cmp keyboard_scan_values,y bne __b6 // keyboard_event_scan::@16 // keycode = keycode + 8 - // [583] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 + // [585] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 lax.z keycode axs #-[8] stx.z keycode - // [584] phi from keyboard_event_scan::@15 keyboard_event_scan::@16 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8] - // [584] phi (byte) keyboard_events_size#100 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#0] -- register_copy - // [584] phi (byte) keyboard_event_scan::keycode#13 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#1] -- register_copy + // [586] phi from keyboard_event_scan::@15 keyboard_event_scan::@16 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8] + // [586] phi (byte) keyboard_events_size#100 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#0] -- register_copy + // [586] phi (byte) keyboard_event_scan::keycode#13 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#1] -- register_copy // keyboard_event_scan::@8 __b8: // for(char row : 0..7) - // [585] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 -- vbuz1=_inc_vbuz1 + // [587] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 -- vbuz1=_inc_vbuz1 inc.z row - // [586] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 -- vbuz1_neq_vbuc1_then_la1 + // [588] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z row bne __b7 - // [587] phi from keyboard_event_scan::@8 to keyboard_event_scan::@17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@17] + // [589] phi from keyboard_event_scan::@8 to keyboard_event_scan::@17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@17] // keyboard_event_scan::@17 // keyboard_event_pressed(KEY_LSHIFT) - // [588] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@17 to keyboard_event_pressed [phi:keyboard_event_scan::@17->keyboard_event_pressed] - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_LSHIFT [phi:keyboard_event_scan::@17->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [590] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@17 to keyboard_event_pressed [phi:keyboard_event_scan::@17->keyboard_event_pressed] + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_LSHIFT [phi:keyboard_event_scan::@17->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_LSHIFT sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed // keyboard_event_pressed(KEY_LSHIFT) - // [589] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 + // [591] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 // keyboard_event_scan::@20 - // [590] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 + // [592] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 // if(keyboard_event_pressed(KEY_LSHIFT)!= 0) - // [591] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 -- vbuaa_eq_0_then_la1 + // [593] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 -- vbuaa_eq_0_then_la1 cmp #0 beq __b4 - // [592] phi from keyboard_event_scan::@20 to keyboard_event_scan::@18 [phi:keyboard_event_scan::@20->keyboard_event_scan::@18] + // [594] phi from keyboard_event_scan::@20 to keyboard_event_scan::@18 [phi:keyboard_event_scan::@20->keyboard_event_scan::@18] // keyboard_event_scan::@18 - // [593] phi from keyboard_event_scan::@18 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@18->keyboard_event_scan::@1] - // [593] phi (byte) keyboard_modifiers#19 = (const nomodify byte) KEY_MODIFIER_LSHIFT [phi:keyboard_event_scan::@18->keyboard_event_scan::@1#0] -- vbuxx=vbuc1 + // [595] phi from keyboard_event_scan::@18 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@18->keyboard_event_scan::@1] + // [595] phi (byte) keyboard_modifiers#19 = (const nomodify byte) KEY_MODIFIER_LSHIFT [phi:keyboard_event_scan::@18->keyboard_event_scan::@1#0] -- vbuxx=vbuc1 ldx #KEY_MODIFIER_LSHIFT jmp __b1 - // [593] phi from keyboard_event_scan::@20 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1] + // [595] phi from keyboard_event_scan::@20 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1] __b4: - // [593] phi (byte) keyboard_modifiers#19 = (byte) 0 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1#0] -- vbuxx=vbuc1 + // [595] phi (byte) keyboard_modifiers#19 = (byte) 0 [phi:keyboard_event_scan::@20->keyboard_event_scan::@1#0] -- vbuxx=vbuc1 ldx #0 // keyboard_event_scan::@1 __b1: // keyboard_event_pressed(KEY_RSHIFT) - // [594] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@1 to keyboard_event_pressed [phi:keyboard_event_scan::@1->keyboard_event_pressed] - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_RSHIFT [phi:keyboard_event_scan::@1->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [596] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@1 to keyboard_event_pressed [phi:keyboard_event_scan::@1->keyboard_event_pressed] + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_RSHIFT [phi:keyboard_event_scan::@1->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_RSHIFT sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed // keyboard_event_pressed(KEY_RSHIFT) - // [595] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 + // [597] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 // keyboard_event_scan::@21 - // [596] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 + // [598] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 // if(keyboard_event_pressed(KEY_RSHIFT)!= 0) - // [597] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 -- vbuaa_eq_0_then_la1 + // [599] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 -- vbuaa_eq_0_then_la1 cmp #0 beq __b2 // keyboard_event_scan::@4 // keyboard_modifiers = keyboard_modifiers | KEY_MODIFIER_RSHIFT - // [598] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT -- vbuxx=vbuxx_bor_vbuc1 + // [600] (byte) keyboard_modifiers#2 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_RSHIFT -- vbuxx=vbuxx_bor_vbuc1 txa ora #KEY_MODIFIER_RSHIFT tax - // [599] phi from keyboard_event_scan::@21 keyboard_event_scan::@4 to keyboard_event_scan::@2 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2] - // [599] phi (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#19 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2#0] -- register_copy + // [601] phi from keyboard_event_scan::@21 keyboard_event_scan::@4 to keyboard_event_scan::@2 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2] + // [601] phi (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#19 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2#0] -- register_copy // keyboard_event_scan::@2 __b2: // keyboard_event_pressed(KEY_CTRL) - // [600] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@2 to keyboard_event_pressed [phi:keyboard_event_scan::@2->keyboard_event_pressed] - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_CTRL [phi:keyboard_event_scan::@2->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [602] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@2 to keyboard_event_pressed [phi:keyboard_event_scan::@2->keyboard_event_pressed] + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_CTRL [phi:keyboard_event_scan::@2->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_CTRL sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed // keyboard_event_pressed(KEY_CTRL) - // [601] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 + // [603] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 // keyboard_event_scan::@22 - // [602] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 + // [604] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 // if(keyboard_event_pressed(KEY_CTRL)!= 0) - // [603] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 -- vbuaa_eq_0_then_la1 + // [605] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 -- vbuaa_eq_0_then_la1 cmp #0 beq __b3 // keyboard_event_scan::@5 // keyboard_modifiers = keyboard_modifiers | KEY_MODIFIER_CTRL - // [604] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL -- vbuxx=vbuxx_bor_vbuc1 + // [606] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_CTRL -- vbuxx=vbuxx_bor_vbuc1 txa ora #KEY_MODIFIER_CTRL tax - // [605] phi from keyboard_event_scan::@22 keyboard_event_scan::@5 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3] - // [605] phi (byte) keyboard_modifiers#21 = (byte) keyboard_modifiers#20 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3#0] -- register_copy + // [607] phi from keyboard_event_scan::@22 keyboard_event_scan::@5 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3] + // [607] phi (byte) keyboard_modifiers#21 = (byte) keyboard_modifiers#20 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3#0] -- register_copy // keyboard_event_scan::@3 __b3: // keyboard_event_pressed(KEY_COMMODORE) - // [606] call keyboard_event_pressed - // [790] phi from keyboard_event_scan::@3 to keyboard_event_pressed [phi:keyboard_event_scan::@3->keyboard_event_pressed] - // [790] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_COMMODORE [phi:keyboard_event_scan::@3->keyboard_event_pressed#0] -- vbuz1=vbuc1 + // [608] call keyboard_event_pressed + // [792] phi from keyboard_event_scan::@3 to keyboard_event_pressed [phi:keyboard_event_scan::@3->keyboard_event_pressed] + // [792] phi (byte) keyboard_event_pressed::keycode#4 = (const nomodify byte) KEY_COMMODORE [phi:keyboard_event_scan::@3->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_COMMODORE sta.z keyboard_event_pressed.keycode jsr keyboard_event_pressed // keyboard_event_pressed(KEY_COMMODORE) - // [607] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 + // [609] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 // keyboard_event_scan::@23 - // [608] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 + // [610] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 // if(keyboard_event_pressed(KEY_COMMODORE)!= 0) - // [609] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return -- vbuaa_eq_0_then_la1 + // [611] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return -- vbuaa_eq_0_then_la1 cmp #0 beq __breturn // keyboard_event_scan::@6 // keyboard_modifiers = keyboard_modifiers | KEY_MODIFIER_COMMODORE - // [610] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE -- vbuxx=vbuxx_bor_vbuc1 + // [612] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#21 | (const nomodify byte) KEY_MODIFIER_COMMODORE -- vbuxx=vbuxx_bor_vbuc1 txa ora #KEY_MODIFIER_COMMODORE tax - // [611] phi from keyboard_event_scan::@23 keyboard_event_scan::@6 to keyboard_event_scan::@return [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return] - // [611] phi (byte) keyboard_modifiers#22 = (byte) keyboard_modifiers#21 [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return#0] -- register_copy + // [613] phi from keyboard_event_scan::@23 keyboard_event_scan::@6 to keyboard_event_scan::@return [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return] + // [613] phi (byte) keyboard_modifiers#22 = (byte) keyboard_modifiers#21 [phi:keyboard_event_scan::@23/keyboard_event_scan::@6->keyboard_event_scan::@return#0] -- register_copy // keyboard_event_scan::@return __breturn: // } - // [612] return + // [614] return rts // Something has changed on the keyboard row - check each column - // [613] phi from keyboard_event_scan::@10 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9] - // [613] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#0] -- register_copy - // [613] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#1] -- register_copy - // [613] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#2] -- register_copy - // [613] phi from keyboard_event_scan::@19 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9] + // [615] phi from keyboard_event_scan::@10 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9] + // [615] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#106 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#0] -- register_copy + // [615] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#1] -- register_copy + // [615] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#2] -- register_copy + // [615] phi from keyboard_event_scan::@19 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9] __b6: - // [613] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#107 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#0] -- register_copy - // [613] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#1] -- register_copy - // [613] phi (byte) keyboard_event_scan::col#2 = (byte) 0 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#2] -- vbuxx=vbuc1 + // [615] phi (byte) keyboard_events_size#19 = (byte) keyboard_events_size#107 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#0] -- register_copy + // [615] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#1] -- register_copy + // [615] phi (byte) keyboard_event_scan::col#2 = (byte) 0 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#2] -- vbuxx=vbuc1 ldx #0 // keyboard_event_scan::@9 __b9: // row_scan^keyboard_scan_values[row] - // [614] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2 + // [616] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2 lda.z row_scan ldy.z row eor keyboard_scan_values,y // (row_scan^keyboard_scan_values[row])&keyboard_matrix_col_bitmask[col] - // [615] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx + // [617] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx and keyboard_matrix_col_bitmask,x // if(((row_scan^keyboard_scan_values[row])&keyboard_matrix_col_bitmask[col])!=0) - // [616] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 -- vbuaa_eq_0_then_la1 + // [618] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 -- vbuaa_eq_0_then_la1 cmp #0 beq __b10 // keyboard_event_scan::@12 // if(keyboard_events_size!=8) - // [617] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 -- vbuz1_eq_vbuc1_then_la1 + // [619] if((byte) keyboard_events_size#19==(byte) 8) goto keyboard_event_scan::@10 -- vbuz1_eq_vbuc1_then_la1 lda #8 cmp.z keyboard_events_size beq __b10 // keyboard_event_scan::@13 // event_type = row_scan&keyboard_matrix_col_bitmask[col] - // [618] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx + // [620] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx lda keyboard_matrix_col_bitmask,x and.z row_scan // if(event_type==0) - // [619] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 -- vbuaa_eq_0_then_la1 + // [621] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 -- vbuaa_eq_0_then_la1 cmp #0 beq __b11 // keyboard_event_scan::@14 // keyboard_events[keyboard_events_size++] = keycode - // [620] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 -- pbuc1_derefidx_vbuz1=vbuz2 + // [622] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte) keyboard_event_scan::keycode#10 -- pbuc1_derefidx_vbuz1=vbuz2 // Key pressed lda.z keycode ldy.z keyboard_events_size sta keyboard_events,y // keyboard_events[keyboard_events_size++] = keycode; - // [621] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 + // [623] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 inc.z keyboard_events_size - // [622] phi from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10] - // [622] phi (byte) keyboard_events_size#106 = (byte) keyboard_events_size#0 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10#0] -- register_copy + // [624] phi from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10] + // [624] phi (byte) keyboard_events_size#106 = (byte) keyboard_events_size#0 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10#0] -- register_copy // keyboard_event_scan::@10 __b10: // keycode++; - // [623] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 -- vbuz1=_inc_vbuz1 + // [625] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 -- vbuz1=_inc_vbuz1 inc.z keycode // for(char col : 0..7) - // [624] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 -- vbuxx=_inc_vbuxx + // [626] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 -- vbuxx=_inc_vbuxx inx - // [625] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 -- vbuxx_neq_vbuc1_then_la1 + // [627] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne __b9 // keyboard_event_scan::@15 // keyboard_scan_values[row] = row_scan - // [626] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 -- pbuc1_derefidx_vbuz1=vbuz2 + // [628] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 -- pbuc1_derefidx_vbuz1=vbuz2 // Store the current keyboard status for the row to debounce lda.z row_scan ldy.z row @@ -31909,16 +31965,16 @@ keyboard_event_scan: { // keyboard_event_scan::@11 __b11: // keycode|$40 - // [627] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 -- vbuaa=vbuz1_bor_vbuc1 + // [629] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 -- vbuaa=vbuz1_bor_vbuc1 lda #$40 ora.z keycode // keyboard_events[keyboard_events_size++] = keycode|$40 - // [628] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 -- pbuc1_derefidx_vbuz1=vbuaa + // [630] *((const byte*) keyboard_events + (byte) keyboard_events_size#19) ← (byte~) keyboard_event_scan::$23 -- pbuc1_derefidx_vbuz1=vbuaa // Key released ldy.z keyboard_events_size sta keyboard_events,y // keyboard_events[keyboard_events_size++] = keycode|$40; - // [629] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 + // [631] (byte) keyboard_events_size#0 ← ++ (byte) keyboard_events_size#19 -- vbuz1=_inc_vbuz1 inc.z keyboard_events_size jmp __b10 } @@ -31928,124 +31984,124 @@ keyboard_event_scan: { // The buffer is filled by keyboard_event_scan() keyboard_event_get: { // if(keyboard_events_size==0) - // [630] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return -- vbuz1_eq_0_then_la1 + // [632] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return -- vbuz1_eq_0_then_la1 lda.z keyboard_events_size cmp #0 beq __b1 // keyboard_event_get::@1 // return keyboard_events[--keyboard_events_size]; - // [631] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 -- vbuz1=_dec_vbuz1 + // [633] (byte) keyboard_events_size#3 ← -- (byte) keyboard_events_size#100 -- vbuz1=_dec_vbuz1 dec.z keyboard_events_size - // [632] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) -- vbuaa=pbuc1_derefidx_vbuz1 + // [634] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#3) -- vbuaa=pbuc1_derefidx_vbuz1 ldy.z keyboard_events_size lda keyboard_events,y - // [633] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] - // [633] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#3 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy - // [633] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#1 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy + // [635] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] + // [635] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#3 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy + // [635] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#1 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy rts - // [633] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] + // [635] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] __b1: - // [633] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#100 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy - // [633] phi (byte) keyboard_event_get::return#2 = (byte) $ff [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1 + // [635] phi (byte) keyboard_events_size#25 = (byte) keyboard_events_size#100 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy + // [635] phi (byte) keyboard_event_get::return#2 = (byte) $ff [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1 lda #$ff // keyboard_event_get::@return // } - // [634] return + // [636] return rts } // bitmap_init // Initialize the bitmap plotter tables for a specific bitmap bitmap_init: { - .label __10 = $13 + .label __10 = $15 .label yoffs = 7 - // [636] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] - // [636] phi (byte) bitmap_init::bits#3 = (byte) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 + // [638] phi from bitmap_init to bitmap_init::@1 [phi:bitmap_init->bitmap_init::@1] + // [638] phi (byte) bitmap_init::bits#3 = (byte) $80 [phi:bitmap_init->bitmap_init::@1#0] -- vbuyy=vbuc1 ldy #$80 - // [636] phi (byte) bitmap_init::x#2 = (byte) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1 + // [638] phi (byte) bitmap_init::x#2 = (byte) 0 [phi:bitmap_init->bitmap_init::@1#1] -- vbuxx=vbuc1 ldx #0 - // [636] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] - // [636] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy - // [636] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy + // [638] phi from bitmap_init::@2 to bitmap_init::@1 [phi:bitmap_init::@2->bitmap_init::@1] + // [638] phi (byte) bitmap_init::bits#3 = (byte) bitmap_init::bits#4 [phi:bitmap_init::@2->bitmap_init::@1#0] -- register_copy + // [638] phi (byte) bitmap_init::x#2 = (byte) bitmap_init::x#1 [phi:bitmap_init::@2->bitmap_init::@1#1] -- register_copy // bitmap_init::@1 __b1: // x&$f8 - // [637] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 -- vbuaa=vbuxx_band_vbuc1 + // [639] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 -- vbuaa=vbuxx_band_vbuc1 txa and #$f8 // bitmap_plot_xlo[x] = x&$f8 - // [638] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa + // [640] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_xlo,x // bitmap_plot_xhi[x] = >bitmap - // [639] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP -- pbuc1_derefidx_vbuxx=vbuc2 + // [641] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP -- pbuc1_derefidx_vbuxx=vbuc2 lda #>VIC_BITMAP sta bitmap_plot_xhi,x // bitmap_plot_bit[x] = bits - // [640] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy + // [642] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 -- pbuc1_derefidx_vbuxx=vbuyy tya sta bitmap_plot_bit,x // bits = bits>>1 - // [641] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 -- vbuyy=vbuyy_ror_1 + // [643] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 -- vbuyy=vbuyy_ror_1 tya lsr tay // if(bits==0) - // [642] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1 + // [644] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 -- vbuyy_neq_0_then_la1 cpy #0 bne __b2 - // [644] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] - // [644] phi (byte) bitmap_init::bits#4 = (byte) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 + // [646] phi from bitmap_init::@1 to bitmap_init::@2 [phi:bitmap_init::@1->bitmap_init::@2] + // [646] phi (byte) bitmap_init::bits#4 = (byte) $80 [phi:bitmap_init::@1->bitmap_init::@2#0] -- vbuyy=vbuc1 ldy #$80 - // [643] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] + // [645] phi from bitmap_init::@1 to bitmap_init::@6 [phi:bitmap_init::@1->bitmap_init::@6] // bitmap_init::@6 - // [644] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] - // [644] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy + // [646] phi from bitmap_init::@6 to bitmap_init::@2 [phi:bitmap_init::@6->bitmap_init::@2] + // [646] phi (byte) bitmap_init::bits#4 = (byte) bitmap_init::bits#1 [phi:bitmap_init::@6->bitmap_init::@2#0] -- register_copy // bitmap_init::@2 __b2: // for(char x : 0..255) - // [645] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx + // [647] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 -- vbuxx=_inc_vbuxx inx - // [646] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 + // [648] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 -- vbuxx_neq_0_then_la1 cpx #0 bne __b1 - // [647] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] - // [647] phi (byte*) bitmap_init::yoffs#2 = (byte*) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 + // [649] phi from bitmap_init::@2 to bitmap_init::@3 [phi:bitmap_init::@2->bitmap_init::@3] + // [649] phi (byte*) bitmap_init::yoffs#2 = (byte*) 0 [phi:bitmap_init::@2->bitmap_init::@3#0] -- pbuz1=pbuc1 lda #<0 sta.z yoffs sta.z yoffs+1 - // [647] phi (byte) bitmap_init::y#2 = (byte) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 + // [649] phi (byte) bitmap_init::y#2 = (byte) 0 [phi:bitmap_init::@2->bitmap_init::@3#1] -- vbuxx=vbuc1 tax - // [647] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] - // [647] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy - // [647] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy + // [649] phi from bitmap_init::@4 to bitmap_init::@3 [phi:bitmap_init::@4->bitmap_init::@3] + // [649] phi (byte*) bitmap_init::yoffs#2 = (byte*) bitmap_init::yoffs#4 [phi:bitmap_init::@4->bitmap_init::@3#0] -- register_copy + // [649] phi (byte) bitmap_init::y#2 = (byte) bitmap_init::y#1 [phi:bitmap_init::@4->bitmap_init::@3#1] -- register_copy // bitmap_init::@3 __b3: // y&$7 - // [648] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 + // [650] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 lda #7 sax.z __10 // yoffs - // [652] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 + // [654] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 -- vbuaa=_hi_pbuz1 lda.z yoffs+1 // bitmap_plot_yhi[y] = >yoffs - // [653] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa + // [655] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 -- pbuc1_derefidx_vbuxx=vbuaa sta bitmap_plot_yhi,x // if((y&$7)==7) - // [654] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 + // [656] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 -- vbuz1_neq_vbuc1_then_la1 lda #7 cmp.z __10 bne __b4 // bitmap_init::@5 // yoffs = yoffs + 40*8 - // [655] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 -- pbuz1=pbuz1_plus_vwuc1 + // [657] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 -- pbuz1=pbuz1_plus_vwuc1 clc lda.z yoffs adc #<$28*8 @@ -32053,332 +32109,332 @@ bitmap_init: { lda.z yoffs+1 adc #>$28*8 sta.z yoffs+1 - // [656] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] - // [656] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy + // [658] phi from bitmap_init::@3 bitmap_init::@5 to bitmap_init::@4 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4] + // [658] phi (byte*) bitmap_init::yoffs#4 = (byte*) bitmap_init::yoffs#2 [phi:bitmap_init::@3/bitmap_init::@5->bitmap_init::@4#0] -- register_copy // bitmap_init::@4 __b4: // for(char y : 0..255) - // [657] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx + // [659] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 -- vbuxx=_inc_vbuxx inx - // [658] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 + // [660] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 -- vbuxx_neq_0_then_la1 cpx #0 bne __b3 // bitmap_init::@return // } - // [659] return + // [661] return rts } // bitmap_clear // Clear all graphics on the bitmap bitmap_clear: { - .label bitmap = $1a + .label bitmap = $13 .label y = $f // bitmap = (char*) { bitmap_plot_xhi[0], bitmap_plot_xlo[0] } - // [660] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 + // [662] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) -- vwuz1=_deref_pbuc1_word__deref_pbuc2 lda bitmap_plot_xlo sta.z bitmap lda bitmap_plot_xhi sta.z bitmap+1 - // [661] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 - // [662] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] - // [662] phi (byte) bitmap_clear::y#4 = (byte) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 + // [663] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 + // [664] phi from bitmap_clear to bitmap_clear::@1 [phi:bitmap_clear->bitmap_clear::@1] + // [664] phi (byte) bitmap_clear::y#4 = (byte) 0 [phi:bitmap_clear->bitmap_clear::@1#0] -- vbuz1=vbuc1 lda #0 sta.z y - // [662] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy - // [662] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] - // [662] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy - // [662] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy + // [664] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#5 [phi:bitmap_clear->bitmap_clear::@1#1] -- register_copy + // [664] phi from bitmap_clear::@3 to bitmap_clear::@1 [phi:bitmap_clear::@3->bitmap_clear::@1] + // [664] phi (byte) bitmap_clear::y#4 = (byte) bitmap_clear::y#1 [phi:bitmap_clear::@3->bitmap_clear::@1#0] -- register_copy + // [664] phi (byte*) bitmap_clear::bitmap#3 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@3->bitmap_clear::@1#1] -- register_copy // bitmap_clear::@1 __b1: - // [663] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] - // [663] phi (byte) bitmap_clear::x#2 = (byte) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1 + // [665] phi from bitmap_clear::@1 to bitmap_clear::@2 [phi:bitmap_clear::@1->bitmap_clear::@2] + // [665] phi (byte) bitmap_clear::x#2 = (byte) 0 [phi:bitmap_clear::@1->bitmap_clear::@2#0] -- vbuxx=vbuc1 ldx #0 - // [663] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy - // [663] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] - // [663] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy - // [663] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy + // [665] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#3 [phi:bitmap_clear::@1->bitmap_clear::@2#1] -- register_copy + // [665] phi from bitmap_clear::@2 to bitmap_clear::@2 [phi:bitmap_clear::@2->bitmap_clear::@2] + // [665] phi (byte) bitmap_clear::x#2 = (byte) bitmap_clear::x#1 [phi:bitmap_clear::@2->bitmap_clear::@2#0] -- register_copy + // [665] phi (byte*) bitmap_clear::bitmap#2 = (byte*) bitmap_clear::bitmap#1 [phi:bitmap_clear::@2->bitmap_clear::@2#1] -- register_copy // bitmap_clear::@2 __b2: // *bitmap++ = 0 - // [664] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 + // [666] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 -- _deref_pbuz1=vbuc1 lda #0 tay sta (bitmap),y // *bitmap++ = 0; - // [665] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 + // [667] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 -- pbuz1=_inc_pbuz1 inc.z bitmap bne !+ inc.z bitmap+1 !: // for( char x: 0..199 ) - // [666] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx + // [668] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 -- vbuxx=_inc_vbuxx inx - // [667] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 + // [669] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$c8 bne __b2 // bitmap_clear::@3 // for( char y: 0..39 ) - // [668] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 + // [670] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 -- vbuz1=_inc_vbuz1 inc.z y - // [669] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 + // [671] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z y bne __b1 // bitmap_clear::@return // } - // [670] return + // [672] return rts } // bitmap_line // Draw a line on the bitmap -// bitmap_line(byte zp($11) x0, byte zp($13) x1, byte register(X) y0, byte zp($10) y1) +// bitmap_line(byte zp($11) x0, byte zp($15) x1, byte register(X) y0, byte zp($10) y1) bitmap_line: { .label xd = $f .label x0 = $11 - .label x1 = $13 + .label x1 = $15 .label y1 = $10 // if(x0bitmap_line_ydxi] - // [796] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy + // [682] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 + // [683] call bitmap_line_ydxi + // [798] phi from bitmap_line::@4 to bitmap_line_ydxi [phi:bitmap_line::@4->bitmap_line_ydxi] + // [798] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#0 [phi:bitmap_line::@4->bitmap_line_ydxi#0] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#1] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#0 [phi:bitmap_line::@4->bitmap_line_ydxi#2] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#0 [phi:bitmap_line::@4->bitmap_line_ydxi#3] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#0 [phi:bitmap_line::@4->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi // bitmap_line::@return // } - // [682] return + // [684] return rts // bitmap_line::@8 __b8: // bitmap_line_xdyi(x1, y1, x0, xd, yd) - // [683] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [685] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyi.x - // [684] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuxx=vbuz1 + // [686] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 -- vbuxx=vbuz1 ldx.z y1 - // [685] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [687] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyi.x1 - // [686] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 - // [687] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy + // [688] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 + // [689] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 -- vbuz1=vbuyy sty.z bitmap_line_xdyi.yd - // [688] call bitmap_line_xdyi - // [811] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] - // [811] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy + // [690] call bitmap_line_xdyi + // [813] phi from bitmap_line::@8 to bitmap_line_xdyi [phi:bitmap_line::@8->bitmap_line_xdyi] + // [813] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#0 [phi:bitmap_line::@8->bitmap_line_xdyi#0] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#1] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#0 [phi:bitmap_line::@8->bitmap_line_xdyi#2] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#0 [phi:bitmap_line::@8->bitmap_line_xdyi#3] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#0 [phi:bitmap_line::@8->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi rts // bitmap_line::@7 __b7: // yd = y1-y0 - // [689] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuxx + // [691] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuxx txa eor #$ff sec adc.z y1 tay // if(ydbitmap_line_ydxd] - // [826] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy + // [697] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 + // [698] call bitmap_line_ydxd + // [828] phi from bitmap_line::@10 to bitmap_line_ydxd [phi:bitmap_line::@10->bitmap_line_ydxd] + // [828] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#0 [phi:bitmap_line::@10->bitmap_line_ydxd#0] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#1] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#0 [phi:bitmap_line::@10->bitmap_line_ydxd#2] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#0 [phi:bitmap_line::@10->bitmap_line_ydxd#3] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#0 [phi:bitmap_line::@10->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd rts // bitmap_line::@9 __b9: // bitmap_line_xdyd(x1, y1, x0, xd, yd) - // [697] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [699] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyd.x - // [698] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuxx=vbuz1 + // [700] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 -- vbuxx=vbuz1 ldx.z y1 - // [699] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 - // [700] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 - // [701] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy + // [701] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 + // [702] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 + // [703] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 -- vbuz1=vbuyy sty.z bitmap_line_xdyd.yd - // [702] call bitmap_line_xdyd - // [841] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] - // [841] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy + // [704] call bitmap_line_xdyd + // [843] phi from bitmap_line::@9 to bitmap_line_xdyd [phi:bitmap_line::@9->bitmap_line_xdyd] + // [843] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#0 [phi:bitmap_line::@9->bitmap_line_xdyd#0] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#1] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#0 [phi:bitmap_line::@9->bitmap_line_xdyd#2] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#0 [phi:bitmap_line::@9->bitmap_line_xdyd#3] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#0 [phi:bitmap_line::@9->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd rts // bitmap_line::@1 __b1: // xd = x1-x0 - // [703] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 + // [705] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 -- vbuz1=vbuz2_minus_vbuz3 lda.z x1 sec sbc.z x0 sta.z xd // if(y0bitmap_line_ydxd] - // [826] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy - // [826] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy + // [713] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 + // [714] call bitmap_line_ydxd + // [828] phi from bitmap_line::@6 to bitmap_line_ydxd [phi:bitmap_line::@6->bitmap_line_ydxd] + // [828] phi (byte) bitmap_line_ydxd::y1#6 = (byte) bitmap_line_ydxd::y1#1 [phi:bitmap_line::@6->bitmap_line_ydxd#0] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::yd#5 = (byte) bitmap_line_ydxd::yd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#1] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::y#7 = (byte) bitmap_line_ydxd::y#1 [phi:bitmap_line::@6->bitmap_line_ydxd#2] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::x#5 = (byte) bitmap_line_ydxd::x#1 [phi:bitmap_line::@6->bitmap_line_ydxd#3] -- register_copy + // [828] phi (byte) bitmap_line_ydxd::xd#2 = (byte) bitmap_line_ydxd::xd#1 [phi:bitmap_line::@6->bitmap_line_ydxd#4] -- register_copy jsr bitmap_line_ydxd rts // bitmap_line::@12 __b12: // bitmap_line_xdyd(x0, y0, x1, xd, yd) - // [713] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [715] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyd.x - // [714] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 - // [715] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 + // [716] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 + // [717] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 -- vbuz1=vbuz2 lda.z x1 sta.z bitmap_line_xdyd.x1 - // [716] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 - // [717] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy + // [718] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 + // [719] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 -- vbuz1=vbuyy sty.z bitmap_line_xdyd.yd - // [718] call bitmap_line_xdyd - // [841] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] - // [841] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy - // [841] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy + // [720] call bitmap_line_xdyd + // [843] phi from bitmap_line::@12 to bitmap_line_xdyd [phi:bitmap_line::@12->bitmap_line_xdyd] + // [843] phi (byte) bitmap_line_xdyd::x1#6 = (byte) bitmap_line_xdyd::x1#1 [phi:bitmap_line::@12->bitmap_line_xdyd#0] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::xd#5 = (byte) bitmap_line_xdyd::xd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#1] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::y#5 = (byte) bitmap_line_xdyd::y#1 [phi:bitmap_line::@12->bitmap_line_xdyd#2] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::x#6 = (byte) bitmap_line_xdyd::x#1 [phi:bitmap_line::@12->bitmap_line_xdyd#3] -- register_copy + // [843] phi (byte) bitmap_line_xdyd::yd#2 = (byte) bitmap_line_xdyd::yd#1 [phi:bitmap_line::@12->bitmap_line_xdyd#4] -- register_copy jsr bitmap_line_xdyd rts // bitmap_line::@11 __b11: // yd = y1-y0 - // [719] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuxx + // [721] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 -- vbuyy=vbuz1_minus_vbuxx txa eor #$ff sec adc.z y1 tay // if(ydbitmap_line_ydxi] - // [796] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy - // [796] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy + // [727] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 + // [728] call bitmap_line_ydxi + // [798] phi from bitmap_line::@14 to bitmap_line_ydxi [phi:bitmap_line::@14->bitmap_line_ydxi] + // [798] phi (byte) bitmap_line_ydxi::y1#6 = (byte) bitmap_line_ydxi::y1#1 [phi:bitmap_line::@14->bitmap_line_ydxi#0] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::yd#5 = (byte) bitmap_line_ydxi::yd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#1] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::y#6 = (byte) bitmap_line_ydxi::y#1 [phi:bitmap_line::@14->bitmap_line_ydxi#2] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::x#5 = (byte) bitmap_line_ydxi::x#1 [phi:bitmap_line::@14->bitmap_line_ydxi#3] -- register_copy + // [798] phi (byte) bitmap_line_ydxi::xd#2 = (byte) bitmap_line_ydxi::xd#1 [phi:bitmap_line::@14->bitmap_line_ydxi#4] -- register_copy jsr bitmap_line_ydxi rts // bitmap_line::@13 __b13: // bitmap_line_xdyi(x0, y0, x1, xd, yd) - // [727] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 + // [729] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 -- vbuz1=vbuz2 lda.z x0 sta.z bitmap_line_xdyi.x - // [728] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 - // [729] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 - // [730] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 - // [731] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy + // [730] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 + // [731] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 + // [732] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 + // [733] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 -- vbuz1=vbuyy sty.z bitmap_line_xdyi.yd - // [732] call bitmap_line_xdyi - // [811] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] - // [811] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy - // [811] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy + // [734] call bitmap_line_xdyi + // [813] phi from bitmap_line::@13 to bitmap_line_xdyi [phi:bitmap_line::@13->bitmap_line_xdyi] + // [813] phi (byte) bitmap_line_xdyi::x1#6 = (byte) bitmap_line_xdyi::x1#1 [phi:bitmap_line::@13->bitmap_line_xdyi#0] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::xd#5 = (byte) bitmap_line_xdyi::xd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#1] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::y#5 = (byte) bitmap_line_xdyi::y#1 [phi:bitmap_line::@13->bitmap_line_xdyi#2] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::x#6 = (byte) bitmap_line_xdyi::x#1 [phi:bitmap_line::@13->bitmap_line_xdyi#3] -- register_copy + // [813] phi (byte) bitmap_line_xdyi::yd#2 = (byte) bitmap_line_xdyi::yd#1 [phi:bitmap_line::@13->bitmap_line_xdyi#4] -- register_copy jsr bitmap_line_xdyi rts } @@ -32391,7 +32447,7 @@ dtvSetCpuBankSegment1: { // Move CPU BANK 1 SEGMENT ($4000-$7fff) .label cpuBank = $ff // *cpuBank = cpuBankIdx - // [734] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa + // [736] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 -- _deref_pbuc1=vbuaa sta cpuBank // asm // asm { .byte$32,$dd lda$ff .byte$32,$00 } @@ -32400,23 +32456,23 @@ dtvSetCpuBankSegment1: { .byte $32, $00 // dtvSetCpuBankSegment1::@return // } - // [736] return + // [738] return rts } // gfx_init_plane_fill // Initialize 320*200 1bpp pixel ($2000) plane with identical bytes // gfx_init_plane_fill(dword zp(9) plane_addr, byte zp($10) fill) gfx_init_plane_fill: { - .label __0 = $14 - .label __1 = $18 - .label __4 = $1a - .label __5 = $1a - .label gfxb = $1a + .label __0 = $16 + .label __1 = $1a + .label __4 = $13 + .label __5 = $13 + .label gfxb = $13 .label by = $12 .label plane_addr = 9 .label fill = $10 // plane_addr*4 - // [738] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 -- vduz1=vduz2_rol_2 + // [740] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 -- vduz1=vduz2_rol_2 lda.z plane_addr asl sta.z __0 @@ -32434,29 +32490,29 @@ gfx_init_plane_fill: { rol.z __0+2 rol.z __0+3 // >(plane_addr*4) - // [739] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 + // [741] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 -- vwuz1=_hi_vduz2 lda.z __0+2 sta.z __1 lda.z __0+3 sta.z __1+1 // gfxbCpuBank = < >(plane_addr*4) - // [740] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuaa=_lo_vwuz1 + // [742] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 -- vbuaa=_lo_vwuz1 lda.z __1 // dtvSetCpuBankSegment1(gfxbCpuBank++) - // [741] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 - // [742] call dtvSetCpuBankSegment1 - // [733] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy + // [743] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 + // [744] call dtvSetCpuBankSegment1 + // [735] phi from gfx_init_plane_fill to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 [phi:gfx_init_plane_fill->dtvSetCpuBankSegment1#0] -- register_copy jsr dtvSetCpuBankSegment1 // gfx_init_plane_fill::@5 // $3fff sta.z __5+1 // $4000 + ($4000 sta.z gfxb+1 - // [746] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 - // [747] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] - // [747] phi (byte) gfx_init_plane_fill::by#4 = (byte) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 + // [748] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 + // [749] phi from gfx_init_plane_fill::@5 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1] + // [749] phi (byte) gfx_init_plane_fill::by#4 = (byte) 0 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#0] -- vbuz1=vbuc1 lda #0 sta.z by - // [747] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy - // [747] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] - // [747] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy - // [747] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy + // [749] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#6 [phi:gfx_init_plane_fill::@5->gfx_init_plane_fill::@1#1] -- register_copy + // [749] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1] + // [749] phi (byte) gfx_init_plane_fill::by#4 = (byte) gfx_init_plane_fill::by#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#0] -- register_copy + // [749] phi (byte*) gfx_init_plane_fill::gfxb#3 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@1#1] -- register_copy // gfx_init_plane_fill::@1 __b1: - // [748] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] - // [748] phi (byte) gfx_init_plane_fill::bx#2 = (byte) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuxx=vbuc1 + // [750] phi from gfx_init_plane_fill::@1 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2] + // [750] phi (byte) gfx_init_plane_fill::bx#2 = (byte) 0 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#0] -- vbuxx=vbuc1 ldx #0 - // [748] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy - // [748] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] - // [748] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy - // [748] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy + // [750] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#3 [phi:gfx_init_plane_fill::@1->gfx_init_plane_fill::@2#1] -- register_copy + // [750] phi from gfx_init_plane_fill::@2 to gfx_init_plane_fill::@2 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2] + // [750] phi (byte) gfx_init_plane_fill::bx#2 = (byte) gfx_init_plane_fill::bx#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#0] -- register_copy + // [750] phi (byte*) gfx_init_plane_fill::gfxb#2 = (byte*) gfx_init_plane_fill::gfxb#1 [phi:gfx_init_plane_fill::@2->gfx_init_plane_fill::@2#1] -- register_copy // gfx_init_plane_fill::@2 __b2: // *gfxb++ = fill - // [749] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 + // [751] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 -- _deref_pbuz1=vbuz2 lda.z fill ldy #0 sta (gfxb),y // *gfxb++ = fill; - // [750] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 + // [752] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 -- pbuz1=_inc_pbuz1 inc.z gfxb bne !+ inc.z gfxb+1 !: // for ( byte bx : 0..39) - // [751] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx + // [753] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 -- vbuxx=_inc_vbuxx inx - // [752] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 + // [754] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // gfx_init_plane_fill::@3 // for(byte by : 0..199) - // [753] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 + // [755] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 -- vbuz1=_inc_vbuz1 inc.z by - // [754] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 + // [756] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$c8 cmp.z by bne __b1 - // [755] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] + // [757] phi from gfx_init_plane_fill::@3 to gfx_init_plane_fill::@4 [phi:gfx_init_plane_fill::@3->gfx_init_plane_fill::@4] // gfx_init_plane_fill::@4 // dtvSetCpuBankSegment1((byte)($4000/$4000)) - // [756] call dtvSetCpuBankSegment1 + // [758] call dtvSetCpuBankSegment1 // Reset CPU BANK segment to $4000 - // [733] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] - // [733] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + // [735] phi from gfx_init_plane_fill::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1] + // [735] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 = (byte)(number) $4000/(number) $4000 [phi:gfx_init_plane_fill::@4->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 lda #$4000/$4000 jsr dtvSetCpuBankSegment1 // gfx_init_plane_fill::@return // } - // [757] return + // [759] return rts } // memset // Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str. -// memset(void* zp($18) str) +// memset(void* zp($1a) str) memset: { .const c = ' ' .const num = $3e8 - .label end = $1a - .label dst = $18 - .label str = $18 + .label end = $1c + .label dst = $1a + .label str = $1a // memset::@1 // end = (char*)str + num - // [759] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 -- pbuz1=pbuz2_plus_vwuc1 + // [761] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 -- pbuz1=pbuz2_plus_vwuc1 lda.z str clc adc #num sta.z end+1 - // [760] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 - // [761] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] - // [761] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy + // [762] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 + // [763] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] + // [763] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy // memset::@2 __b2: // for(char* dst = str; dst!=end; dst++) - // [762] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 + // [764] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 lda.z dst+1 cmp.z end+1 bne __b3 @@ -32565,17 +32621,17 @@ memset: { bne __b3 // memset::@return // } - // [763] return + // [765] return rts // memset::@3 __b3: // *dst = c - // [764] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 + // [766] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 lda #c ldy #0 sta (dst),y // for(char* dst = str; dst!=end; dst++) - // [765] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [767] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 @@ -32587,29 +32643,29 @@ memset: { // print_char(byte register(A) ch) print_char: { // *(print_char_cursor++) = ch - // [766] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 -- _deref_pbuz1=vbuaa + // [768] *((byte*) print_char_cursor#43) ← (byte) print_char::ch#0 -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y // *(print_char_cursor++) = ch; - // [767] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 -- pbuz1=_inc_pbuz1 + // [769] (byte*) print_char_cursor#29 ← ++ (byte*) print_char_cursor#43 -- pbuz1=_inc_pbuz1 inc.z print_char_cursor bne !+ inc.z print_char_cursor+1 !: // print_char::@return // } - // [768] return + // [770] return rts } // print_ln // Print a newline print_ln: { - // [770] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] - // [770] phi (byte*) print_line_cursor#22 = (byte*) print_line_cursor#1 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + // [772] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + // [772] phi (byte*) print_line_cursor#22 = (byte*) print_line_cursor#1 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy // print_ln::@1 __b1: // print_line_cursor + $28 - // [771] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [773] (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#22 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc.z print_line_cursor @@ -32618,7 +32674,7 @@ print_ln: { inc.z print_line_cursor+1 !: // while (print_line_cursorprint_str_at::@1] - // [781] phi (byte*) print_str_at::at#2 = (const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 + .label at = $1a + .label str = $13 + // [783] phi from print_str_at to print_str_at::@1 [phi:print_str_at->print_str_at::@1] + // [783] phi (byte*) print_str_at::at#2 = (const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a [phi:print_str_at->print_str_at::@1#0] -- pbuz1=pbuc1 lda #FORM_SCREEN+$28*2+$a sta.z at+1 - // [781] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy + // [783] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#1 [phi:print_str_at->print_str_at::@1#1] -- register_copy // print_str_at::@1 __b1: // while(*str) - // [782] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + // [784] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 -- vbuc1_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 bne __b2 // print_str_at::@return // } - // [783] return + // [785] return rts // print_str_at::@2 __b2: // *(at++) = *(str++) - // [784] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 + // [786] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (str),y sta (at),y // *(at++) = *(str++); - // [785] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 + // [787] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 -- pbuz1=_inc_pbuz1 inc.z at bne !+ inc.z at+1 !: - // [786] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 + // [788] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 !: - // [781] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] - // [781] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy - // [781] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy + // [783] phi from print_str_at::@2 to print_str_at::@1 [phi:print_str_at::@2->print_str_at::@1] + // [783] phi (byte*) print_str_at::at#2 = (byte*) print_str_at::at#0 [phi:print_str_at::@2->print_str_at::@1#0] -- register_copy + // [783] phi (byte*) print_str_at::str#2 = (byte*) print_str_at::str#0 [phi:print_str_at::@2->print_str_at::@1#1] -- register_copy jmp __b1 } // keyboard_matrix_read @@ -32723,16 +32779,16 @@ print_str_at: { // keyboard_matrix_read(byte register(X) rowid) keyboard_matrix_read: { // CIA1->PORT_A = keyboard_matrix_row_bitmask[rowid] - // [787] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) -- _deref_pbuc1=pbuc2_derefidx_vbuxx + // [789] *((byte*)(const nomodify struct MOS6526_CIA*) CIA1) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) -- _deref_pbuc1=pbuc2_derefidx_vbuxx lda keyboard_matrix_row_bitmask,x sta CIA1 // ~CIA1->PORT_B - // [788] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1 + // [790] (byte) keyboard_matrix_read::return#0 ← ~ *((byte*)(const nomodify struct MOS6526_CIA*) CIA1+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1 lda CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B eor #$ff // keyboard_matrix_read::@return // } - // [789] return + // [791] return rts } // keyboard_event_pressed @@ -32740,31 +32796,31 @@ keyboard_matrix_read: { // Returns 0 is not pressed and non-0 if pressed // keyboard_event_pressed(byte zp($12) keycode) keyboard_event_pressed: { - .label row_bits = $1c + .label row_bits = $20 .label keycode = $12 // keycode>>3 - // [791] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 -- vbuaa=vbuz1_ror_3 + // [793] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 -- vbuaa=vbuz1_ror_3 lda.z keycode lsr lsr lsr // row_bits = keyboard_scan_values[keycode>>3] - // [792] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) -- vbuz1=pbuc1_derefidx_vbuaa + // [794] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) -- vbuz1=pbuc1_derefidx_vbuaa tay lda keyboard_scan_values,y sta.z row_bits // keycode&7 - // [793] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 -- vbuaa=vbuz1_band_vbuc1 + // [795] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 -- vbuaa=vbuz1_band_vbuc1 lda #7 and.z keycode // row_bits & keyboard_matrix_col_bitmask[keycode&7] - // [794] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuaa + // [796] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuaa tay lda keyboard_matrix_col_bitmask,y and.z row_bits // keyboard_event_pressed::@return // } - // [795] return + // [797] return rts } // bitmap_line_ydxi @@ -32775,141 +32831,141 @@ bitmap_line_ydxi: { .label y1 = $10 .label yd = $d .label xd = $f - .label e = $13 + .label e = $15 // e = xd>>1 - // [797] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [799] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z xd lsr sta.z e - // [798] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] - // [798] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy - // [798] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy - // [798] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy + // [800] phi from bitmap_line_ydxi bitmap_line_ydxi::@2 to bitmap_line_ydxi::@1 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1] + // [800] phi (byte) bitmap_line_ydxi::e#3 = (byte) bitmap_line_ydxi::e#0 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#0] -- register_copy + // [800] phi (byte) bitmap_line_ydxi::y#3 = (byte) bitmap_line_ydxi::y#6 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#1] -- register_copy + // [800] phi (byte) bitmap_line_ydxi::x#3 = (byte) bitmap_line_ydxi::x#5 [phi:bitmap_line_ydxi/bitmap_line_ydxi::@2->bitmap_line_ydxi::@1#2] -- register_copy // bitmap_line_ydxi::@1 __b1: // bitmap_plot(x,y) - // [799] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuyy=vbuz1 + // [801] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 -- vbuyy=vbuz1 ldy.z x - // [800] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuxx=vbuz1 + // [802] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 -- vbuxx=vbuz1 ldx.z y - // [801] call bitmap_plot - // [856] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy + // [803] call bitmap_plot + // [858] phi from bitmap_line_ydxi::@1 to bitmap_plot [phi:bitmap_line_ydxi::@1->bitmap_plot] + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#2 [phi:bitmap_line_ydxi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot // bitmap_line_ydxi::@4 // y++; - // [802] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 + // [804] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 -- vbuz1=_inc_vbuz1 inc.z y // e = e+xd - // [803] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [805] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z xd sta.z e // if(yd=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 + // [806] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z yd cmp.z e bcs __b2 // bitmap_line_ydxi::@3 // x++; - // [805] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 + // [807] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 -- vbuz1=_inc_vbuz1 inc.z x // e = e - yd - // [806] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [808] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z yd sta.z e - // [807] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] - // [807] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy - // [807] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy + // [809] phi from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 to bitmap_line_ydxi::@2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2] + // [809] phi (byte) bitmap_line_ydxi::e#6 = (byte) bitmap_line_ydxi::e#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#0] -- register_copy + // [809] phi (byte) bitmap_line_ydxi::x#6 = (byte) bitmap_line_ydxi::x#2 [phi:bitmap_line_ydxi::@3/bitmap_line_ydxi::@4->bitmap_line_ydxi::@2#1] -- register_copy // bitmap_line_ydxi::@2 __b2: // y1+1 - // [808] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 -- vbuxx=vbuz1_plus_1 + // [810] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 -- vbuxx=vbuz1_plus_1 ldx.z y1 inx // while (y!=(y1+1)) - // [809] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuxx_then_la1 + // [811] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 -- vbuz1_neq_vbuxx_then_la1 cpx.z y bne __b1 // bitmap_line_ydxi::@return // } - // [810] return + // [812] return rts } // bitmap_line_xdyi -// bitmap_line_xdyi(byte zp($e) x, byte register(X) y, byte zp($13) x1, byte zp($f) xd, byte zp($d) yd) +// bitmap_line_xdyi(byte zp($e) x, byte register(X) y, byte zp($15) x1, byte zp($f) xd, byte zp($d) yd) bitmap_line_xdyi: { .label x = $e - .label x1 = $13 + .label x1 = $15 .label xd = $f .label yd = $d .label e = $12 // e = yd>>1 - // [812] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [814] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z yd lsr sta.z e - // [813] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] - // [813] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy - // [813] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy - // [813] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy + // [815] phi from bitmap_line_xdyi bitmap_line_xdyi::@2 to bitmap_line_xdyi::@1 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1] + // [815] phi (byte) bitmap_line_xdyi::e#3 = (byte) bitmap_line_xdyi::e#0 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#0] -- register_copy + // [815] phi (byte) bitmap_line_xdyi::y#3 = (byte) bitmap_line_xdyi::y#5 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#1] -- register_copy + // [815] phi (byte) bitmap_line_xdyi::x#3 = (byte) bitmap_line_xdyi::x#6 [phi:bitmap_line_xdyi/bitmap_line_xdyi::@2->bitmap_line_xdyi::@1#2] -- register_copy // bitmap_line_xdyi::@1 __b1: // bitmap_plot(x,y) - // [814] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuyy=vbuz1 + // [816] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 -- vbuyy=vbuz1 ldy.z x - // [815] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 - // [816] call bitmap_plot - // [856] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy + // [817] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 + // [818] call bitmap_plot + // [858] phi from bitmap_line_xdyi::@1 to bitmap_plot [phi:bitmap_line_xdyi::@1->bitmap_plot] + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#0 [phi:bitmap_line_xdyi::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot // bitmap_line_xdyi::@4 // x++; - // [817] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 + // [819] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 -- vbuz1=_inc_vbuz1 inc.z x // e = e+yd - // [818] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [820] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z yd sta.z e // if(xd=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 + // [821] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z xd cmp.z e bcs __b2 // bitmap_line_xdyi::@3 // y++; - // [820] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuxx=_inc_vbuxx + // [822] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 -- vbuxx=_inc_vbuxx inx // e = e - xd - // [821] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [823] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z xd sta.z e - // [822] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] - // [822] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy - // [822] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy + // [824] phi from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 to bitmap_line_xdyi::@2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2] + // [824] phi (byte) bitmap_line_xdyi::e#6 = (byte) bitmap_line_xdyi::e#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#0] -- register_copy + // [824] phi (byte) bitmap_line_xdyi::y#6 = (byte) bitmap_line_xdyi::y#2 [phi:bitmap_line_xdyi::@3/bitmap_line_xdyi::@4->bitmap_line_xdyi::@2#1] -- register_copy // bitmap_line_xdyi::@2 __b2: // x1+1 - // [823] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 -- vbuaa=vbuz1_plus_1 + // [825] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 -- vbuaa=vbuz1_plus_1 lda.z x1 clc adc #1 // while (x!=(x1+1)) - // [824] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuaa_then_la1 + // [826] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 -- vbuz1_neq_vbuaa_then_la1 cmp.z x bne __b1 // bitmap_line_xdyi::@return // } - // [825] return + // [827] return rts } // bitmap_line_ydxd @@ -32920,163 +32976,163 @@ bitmap_line_ydxd: { .label y1 = $10 .label yd = $12 .label xd = $f - .label e = $1c + .label e = $20 // e = xd>>1 - // [827] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [829] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z xd lsr sta.z e - // [828] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] - // [828] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy - // [828] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy - // [828] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy + // [830] phi from bitmap_line_ydxd bitmap_line_ydxd::@2 to bitmap_line_ydxd::@1 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1] + // [830] phi (byte) bitmap_line_ydxd::e#3 = (byte) bitmap_line_ydxd::e#0 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#0] -- register_copy + // [830] phi (byte) bitmap_line_ydxd::y#2 = (byte) bitmap_line_ydxd::y#7 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#1] -- register_copy + // [830] phi (byte) bitmap_line_ydxd::x#3 = (byte) bitmap_line_ydxd::x#5 [phi:bitmap_line_ydxd/bitmap_line_ydxd::@2->bitmap_line_ydxd::@1#2] -- register_copy // bitmap_line_ydxd::@1 __b1: // bitmap_plot(x,y) - // [829] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuyy=vbuz1 + // [831] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 -- vbuyy=vbuz1 ldy.z x - // [830] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuxx=vbuz1 + // [832] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 -- vbuxx=vbuz1 ldx.z y - // [831] call bitmap_plot - // [856] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy + // [833] call bitmap_plot + // [858] phi from bitmap_line_ydxd::@1 to bitmap_plot [phi:bitmap_line_ydxd::@1->bitmap_plot] + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#3 [phi:bitmap_line_ydxd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot // bitmap_line_ydxd::@4 // y = y++; - // [832] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 + // [834] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 -- vbuz1=_inc_vbuz1 inc.z y // e = e+xd - // [833] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [835] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z xd sta.z e // if(yd=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 + // [836] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z yd cmp.z e bcs __b2 // bitmap_line_ydxd::@3 // x--; - // [835] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 + // [837] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 -- vbuz1=_dec_vbuz1 dec.z x // e = e - yd - // [836] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [838] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z yd sta.z e - // [837] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] - // [837] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy - // [837] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy + // [839] phi from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 to bitmap_line_ydxd::@2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2] + // [839] phi (byte) bitmap_line_ydxd::e#6 = (byte) bitmap_line_ydxd::e#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#0] -- register_copy + // [839] phi (byte) bitmap_line_ydxd::x#6 = (byte) bitmap_line_ydxd::x#2 [phi:bitmap_line_ydxd::@3/bitmap_line_ydxd::@4->bitmap_line_ydxd::@2#1] -- register_copy // bitmap_line_ydxd::@2 __b2: // y1+1 - // [838] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 -- vbuxx=vbuz1_plus_1 + // [840] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 -- vbuxx=vbuz1_plus_1 ldx.z y1 inx // while (y!=(y1+1)) - // [839] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuxx_then_la1 + // [841] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 -- vbuz1_neq_vbuxx_then_la1 cpx.z y bne __b1 // bitmap_line_ydxd::@return // } - // [840] return + // [842] return rts } // bitmap_line_xdyd -// bitmap_line_xdyd(byte zp($1c) x, byte register(X) y, byte zp($11) x1, byte zp($f) xd, byte zp($e) yd) +// bitmap_line_xdyd(byte zp($20) x, byte register(X) y, byte zp($11) x1, byte zp($f) xd, byte zp($e) yd) bitmap_line_xdyd: { - .label x = $1c + .label x = $20 .label x1 = $11 .label xd = $f .label yd = $e .label e = $12 // e = yd>>1 - // [842] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 + // [844] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 -- vbuz1=vbuz2_ror_1 lda.z yd lsr sta.z e - // [843] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] - // [843] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy - // [843] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy - // [843] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy + // [845] phi from bitmap_line_xdyd bitmap_line_xdyd::@2 to bitmap_line_xdyd::@1 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1] + // [845] phi (byte) bitmap_line_xdyd::e#3 = (byte) bitmap_line_xdyd::e#0 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#0] -- register_copy + // [845] phi (byte) bitmap_line_xdyd::y#3 = (byte) bitmap_line_xdyd::y#5 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#1] -- register_copy + // [845] phi (byte) bitmap_line_xdyd::x#3 = (byte) bitmap_line_xdyd::x#6 [phi:bitmap_line_xdyd/bitmap_line_xdyd::@2->bitmap_line_xdyd::@1#2] -- register_copy // bitmap_line_xdyd::@1 __b1: // bitmap_plot(x,y) - // [844] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuyy=vbuz1 + // [846] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 -- vbuyy=vbuz1 ldy.z x - // [845] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 - // [846] call bitmap_plot - // [856] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] - // [856] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy - // [856] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy + // [847] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 + // [848] call bitmap_plot + // [858] phi from bitmap_line_xdyd::@1 to bitmap_plot [phi:bitmap_line_xdyd::@1->bitmap_plot] + // [858] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#0] -- register_copy + // [858] phi (byte) bitmap_plot::x#4 = (byte) bitmap_plot::x#1 [phi:bitmap_line_xdyd::@1->bitmap_plot#1] -- register_copy jsr bitmap_plot // bitmap_line_xdyd::@4 // x++; - // [847] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 + // [849] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 -- vbuz1=_inc_vbuz1 inc.z x // e = e+yd - // [848] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 + // [850] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 -- vbuz1=vbuz1_plus_vbuz2 lda.z e clc adc.z yd sta.z e // if(xd=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 + // [851] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 -- vbuz1_ge_vbuz2_then_la1 lda.z xd cmp.z e bcs __b2 // bitmap_line_xdyd::@3 // y--; - // [850] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuxx=_dec_vbuxx + // [852] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 -- vbuxx=_dec_vbuxx dex // e = e - xd - // [851] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 + // [853] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 -- vbuz1=vbuz1_minus_vbuz2 lda.z e sec sbc.z xd sta.z e - // [852] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] - // [852] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy - // [852] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy + // [854] phi from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 to bitmap_line_xdyd::@2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2] + // [854] phi (byte) bitmap_line_xdyd::e#6 = (byte) bitmap_line_xdyd::e#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#0] -- register_copy + // [854] phi (byte) bitmap_line_xdyd::y#6 = (byte) bitmap_line_xdyd::y#2 [phi:bitmap_line_xdyd::@3/bitmap_line_xdyd::@4->bitmap_line_xdyd::@2#1] -- register_copy // bitmap_line_xdyd::@2 __b2: // x1+1 - // [853] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 -- vbuaa=vbuz1_plus_1 + // [855] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 -- vbuaa=vbuz1_plus_1 lda.z x1 clc adc #1 // while (x!=(x1+1)) - // [854] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuaa_then_la1 + // [856] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 -- vbuz1_neq_vbuaa_then_la1 cmp.z x bne __b1 // bitmap_line_xdyd::@return // } - // [855] return + // [857] return rts } // bitmap_plot // bitmap_plot(byte register(Y) x, byte register(X) y) bitmap_plot: { - .label plotter_x = $1d - .label plotter_y = $1f - .label plotter = $1d + .label plotter_x = $21 + .label plotter_y = $23 + .label plotter = $21 // plotter_x = { bitmap_plot_xhi[x], bitmap_plot_xlo[x] } - // [857] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + // [859] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy lda bitmap_plot_xhi,y sta.z plotter_x+1 lda bitmap_plot_xlo,y sta.z plotter_x // plotter_y = { bitmap_plot_yhi[y], bitmap_plot_ylo[y] } - // [858] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx + // [860] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuxx_word_pbuc2_derefidx_vbuxx lda bitmap_plot_yhi,x sta.z plotter_y+1 lda bitmap_plot_ylo,x sta.z plotter_y // plotter_x+plotter_y - // [859] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 + // [861] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z plotter clc adc.z plotter_y @@ -33085,16 +33141,16 @@ bitmap_plot: { adc.z plotter_y+1 sta.z plotter+1 // *plotter | bitmap_plot_bit[x] - // [860] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuyy + // [862] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) -- vbuaa=_deref_pbuz1_bor_pbuc1_derefidx_vbuyy lda bitmap_plot_bit,y ldy #0 ora (plotter),y // *plotter = *plotter | bitmap_plot_bit[x] - // [861] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa + // [863] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 -- _deref_pbuz1=vbuaa sta (plotter),y // bitmap_plot::@return // } - // [862] return + // [864] return rts } // File Data diff --git a/src/test/ref/c64dtv-gfxexplorer.sym b/src/test/ref/c64dtv-gfxexplorer.sym index 747430e87..b2af0a413 100644 --- a/src/test/ref/c64dtv-gfxexplorer.sym +++ b/src/test/ref/c64dtv-gfxexplorer.sym @@ -198,18 +198,18 @@ (byte) apply_preset::idx (byte) apply_preset::idx#0 reg byte a 100910.18181818182 (byte*) apply_preset::preset -(byte*) apply_preset::preset#15 preset zp[2]:24 2.00000002E7 +(byte*) apply_preset::preset#15 preset zp[2]:26 2.00000002E7 (void()) bitmap_clear() (label) bitmap_clear::@1 (label) bitmap_clear::@2 (label) bitmap_clear::@3 (label) bitmap_clear::@return (byte*) bitmap_clear::bitmap -(word) bitmap_clear::bitmap#0 bitmap zp[2]:26 1001.0 -(byte*) bitmap_clear::bitmap#1 bitmap zp[2]:26 42000.600000000006 -(byte*) bitmap_clear::bitmap#2 bitmap zp[2]:26 155002.0 -(byte*) bitmap_clear::bitmap#3 bitmap zp[2]:26 21003.0 -(byte*) bitmap_clear::bitmap#5 bitmap zp[2]:26 2002.0 +(word) bitmap_clear::bitmap#0 bitmap zp[2]:19 1001.0 +(byte*) bitmap_clear::bitmap#1 bitmap zp[2]:19 42000.600000000006 +(byte*) bitmap_clear::bitmap#2 bitmap zp[2]:19 155002.0 +(byte*) bitmap_clear::bitmap#3 bitmap zp[2]:19 21003.0 +(byte*) bitmap_clear::bitmap#5 bitmap zp[2]:19 2002.0 (byte) bitmap_clear::x (byte) bitmap_clear::x#1 reg byte x 150001.5 (byte) bitmap_clear::x#2 reg byte x 66667.33333333333 @@ -218,7 +218,7 @@ (byte) bitmap_clear::y#4 y zp[1]:15 3333.6666666666665 (void()) bitmap_init((byte*) bitmap_init::bitmap) (byte~) bitmap_init::$0 reg byte a 20002.0 -(byte~) bitmap_init::$10 zp[1]:19 5000.5 +(byte~) bitmap_init::$10 zp[1]:21 5000.5 (byte~) bitmap_init::$7 reg byte a 20002.0 (byte~) bitmap_init::$8 reg byte a 20002.0 (byte~) bitmap_init::$9 reg byte a 20002.0 @@ -263,7 +263,7 @@ (byte) bitmap_line::x0 (byte) bitmap_line::x0#0 x0 zp[1]:17 3956.956521739131 (byte) bitmap_line::x1 -(byte) bitmap_line::x1#0 x1 zp[1]:19 4136.818181818182 +(byte) bitmap_line::x1#0 x1 zp[1]:21 4136.818181818182 (byte) bitmap_line::xd (byte) bitmap_line::xd#1 xd zp[1]:15 3500.3500000000004 (byte) bitmap_line::xd#2 xd zp[1]:15 3500.3500000000004 @@ -290,11 +290,11 @@ (byte) bitmap_line_xdyd::e#3 e zp[1]:18 4020000.5999999996 (byte) bitmap_line_xdyd::e#6 e zp[1]:18 1.0000001E7 (byte) bitmap_line_xdyd::x -(byte) bitmap_line_xdyd::x#0 x zp[1]:28 4000.4 -(byte) bitmap_line_xdyd::x#1 x zp[1]:28 4000.4 -(byte) bitmap_line_xdyd::x#2 x zp[1]:28 3750000.375 -(byte) bitmap_line_xdyd::x#3 x zp[1]:28 7525001.0 -(byte) bitmap_line_xdyd::x#6 x zp[1]:28 60001.5 +(byte) bitmap_line_xdyd::x#0 x zp[1]:32 4000.4 +(byte) bitmap_line_xdyd::x#1 x zp[1]:32 4000.4 +(byte) bitmap_line_xdyd::x#2 x zp[1]:32 3750000.375 +(byte) bitmap_line_xdyd::x#3 x zp[1]:32 7525001.0 +(byte) bitmap_line_xdyd::x#6 x zp[1]:32 60001.5 (byte) bitmap_line_xdyd::x1 (byte) bitmap_line_xdyd::x1#0 x1 zp[1]:17 6667.333333333333 (byte) bitmap_line_xdyd::x1#1 x1 zp[1]:17 6667.333333333333 @@ -334,9 +334,9 @@ (byte) bitmap_line_xdyi::x#3 x zp[1]:14 7525001.0 (byte) bitmap_line_xdyi::x#6 x zp[1]:14 60001.5 (byte) bitmap_line_xdyi::x1 -(byte) bitmap_line_xdyi::x1#0 x1 zp[1]:19 6667.333333333333 -(byte) bitmap_line_xdyi::x1#1 x1 zp[1]:19 6667.333333333333 -(byte) bitmap_line_xdyi::x1#6 x1 zp[1]:19 715714.5 +(byte) bitmap_line_xdyi::x1#0 x1 zp[1]:21 6667.333333333333 +(byte) bitmap_line_xdyi::x1#1 x1 zp[1]:21 6667.333333333333 +(byte) bitmap_line_xdyi::x1#6 x1 zp[1]:21 715714.5 (byte) bitmap_line_xdyi::xd (byte) bitmap_line_xdyi::xd#0 xd zp[1]:15 10001.0 (byte) bitmap_line_xdyi::xd#1 xd zp[1]:15 10001.0 @@ -360,11 +360,11 @@ (label) bitmap_line_ydxd::@4 (label) bitmap_line_ydxd::@return (byte) bitmap_line_ydxd::e -(byte) bitmap_line_ydxd::e#0 e zp[1]:28 200002.0 -(byte) bitmap_line_ydxd::e#1 e zp[1]:28 1.3333334666666666E7 -(byte) bitmap_line_ydxd::e#2 e zp[1]:28 2.0000002E7 -(byte) bitmap_line_ydxd::e#3 e zp[1]:28 4020000.5999999996 -(byte) bitmap_line_ydxd::e#6 e zp[1]:28 1.0000001E7 +(byte) bitmap_line_ydxd::e#0 e zp[1]:32 200002.0 +(byte) bitmap_line_ydxd::e#1 e zp[1]:32 1.3333334666666666E7 +(byte) bitmap_line_ydxd::e#2 e zp[1]:32 2.0000002E7 +(byte) bitmap_line_ydxd::e#3 e zp[1]:32 4020000.5999999996 +(byte) bitmap_line_ydxd::e#6 e zp[1]:32 1.0000001E7 (byte) bitmap_line_ydxd::x (byte) bitmap_line_ydxd::x#0 x zp[1]:17 5000.5 (byte) bitmap_line_ydxd::x#1 x zp[1]:17 5000.5 @@ -398,11 +398,11 @@ (label) bitmap_line_ydxi::@4 (label) bitmap_line_ydxi::@return (byte) bitmap_line_ydxi::e -(byte) bitmap_line_ydxi::e#0 e zp[1]:19 200002.0 -(byte) bitmap_line_ydxi::e#1 e zp[1]:19 1.3333334666666666E7 -(byte) bitmap_line_ydxi::e#2 e zp[1]:19 2.0000002E7 -(byte) bitmap_line_ydxi::e#3 e zp[1]:19 4020000.5999999996 -(byte) bitmap_line_ydxi::e#6 e zp[1]:19 1.0000001E7 +(byte) bitmap_line_ydxi::e#0 e zp[1]:21 200002.0 +(byte) bitmap_line_ydxi::e#1 e zp[1]:21 1.3333334666666666E7 +(byte) bitmap_line_ydxi::e#2 e zp[1]:21 2.0000002E7 +(byte) bitmap_line_ydxi::e#3 e zp[1]:21 4020000.5999999996 +(byte) bitmap_line_ydxi::e#6 e zp[1]:21 1.0000001E7 (byte) bitmap_line_ydxi::x (byte) bitmap_line_ydxi::x#0 x zp[1]:17 5000.5 (byte) bitmap_line_ydxi::x#1 x zp[1]:17 5000.5 @@ -432,11 +432,11 @@ (byte~) bitmap_plot::$1 reg byte a 2.00000002E8 (label) bitmap_plot::@return (byte*) bitmap_plot::plotter -(word) bitmap_plot::plotter#0 plotter zp[2]:29 5.00000005E7 +(word) bitmap_plot::plotter#0 plotter zp[2]:33 5.00000005E7 (word) bitmap_plot::plotter_x -(word) bitmap_plot::plotter_x#0 plotter_x zp[2]:29 1.00000001E8 +(word) bitmap_plot::plotter_x#0 plotter_x zp[2]:33 1.00000001E8 (word) bitmap_plot::plotter_y -(word) bitmap_plot::plotter_y#0 plotter_y zp[2]:31 2.00000002E8 +(word) bitmap_plot::plotter_y#0 plotter_y zp[2]:35 2.00000002E8 (byte) bitmap_plot::x (byte) bitmap_plot::x#0 reg byte y 1.0000001E7 (byte) bitmap_plot::x#1 reg byte y 1.0000001E7 @@ -506,7 +506,7 @@ (label) form_control::@9 (label) form_control::@return (byte*) form_control::field -(byte*) form_control::field#0 field zp[2]:31 296296.5925925926 +(byte*) form_control::field#0 field zp[2]:19 296296.5925925926 (byte) form_control::key_event (byte) form_control::key_event#0 reg byte a 1333334.6666666667 (byte) form_control::return @@ -543,12 +543,12 @@ (byte) form_field_ptr::field_idx#1 reg byte x 2000002.0 (byte) form_field_ptr::field_idx#2 reg byte x 7.003333346666667E8 (byte*) form_field_ptr::line -(word) form_field_ptr::line#0 line zp[2]:29 2.000000002E8 +(word) form_field_ptr::line#0 line zp[2]:30 2.000000002E8 (byte*) form_field_ptr::return -(byte*) form_field_ptr::return#0 return zp[2]:31 3.336666673333334E8 -(byte*) form_field_ptr::return#3 return zp[2]:31 2000002.0 +(byte*) form_field_ptr::return#0 return zp[2]:19 3.336666673333334E8 +(byte*) form_field_ptr::return#3 return zp[2]:19 2000002.0 (byte) form_field_ptr::x -(byte) form_field_ptr::x#0 x zp[1]:28 5.2500000075E8 +(byte) form_field_ptr::x#0 x zp[1]:32 5.2500000075E8 (byte) form_field_ptr::y (byte) form_field_ptr::y#0 reg byte y 3.000000003E9 (const byte) form_fields_cnt = (byte) $24 @@ -704,7 +704,7 @@ (byte) gfx_init_charset::l#1 reg byte x 15001.5 (byte) gfx_init_charset::l#2 reg byte x 5000.5 (void()) gfx_init_plane_8bppchunky() -(word~) gfx_init_plane_8bppchunky::$5 zp[2]:29 10001.0 +(word~) gfx_init_plane_8bppchunky::$5 zp[2]:35 10001.0 (label) gfx_init_plane_8bppchunky::@1 (label) gfx_init_plane_8bppchunky::@2 (label) gfx_init_plane_8bppchunky::@3 @@ -778,10 +778,10 @@ (byte) gfx_init_plane_charset8::gfxbCpuBank (const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfxbCpuBank = (byte)(const nomodify dword) PLANE_CHARSET8/(word) $4000 (void()) gfx_init_plane_fill((dword) gfx_init_plane_fill::plane_addr , (byte) gfx_init_plane_fill::fill) -(dword~) gfx_init_plane_fill::$0 zp[4]:20 2002.0 -(word~) gfx_init_plane_fill::$1 zp[2]:24 2002.0 -(word~) gfx_init_plane_fill::$4 zp[2]:26 2002.0 -(word~) gfx_init_plane_fill::$5 zp[2]:26 2002.0 +(dword~) gfx_init_plane_fill::$0 zp[4]:22 2002.0 +(word~) gfx_init_plane_fill::$1 zp[2]:26 2002.0 +(word~) gfx_init_plane_fill::$4 zp[2]:19 2002.0 +(word~) gfx_init_plane_fill::$5 zp[2]:19 2002.0 (label) gfx_init_plane_fill::@1 (label) gfx_init_plane_fill::@2 (label) gfx_init_plane_fill::@3 @@ -797,11 +797,11 @@ (byte) gfx_init_plane_fill::fill (byte) gfx_init_plane_fill::fill#6 fill zp[1]:16 5555.611111111111 (byte*) gfx_init_plane_fill::gfxb -(word) gfx_init_plane_fill::gfxb#0 gfxb zp[2]:26 1001.0 -(byte*) gfx_init_plane_fill::gfxb#1 gfxb zp[2]:26 42000.600000000006 -(byte*) gfx_init_plane_fill::gfxb#2 gfxb zp[2]:26 155002.0 -(byte*) gfx_init_plane_fill::gfxb#3 gfxb zp[2]:26 21003.0 -(byte*) gfx_init_plane_fill::gfxb#6 gfxb zp[2]:26 2002.0 +(word) gfx_init_plane_fill::gfxb#0 gfxb zp[2]:19 1001.0 +(byte*) gfx_init_plane_fill::gfxb#1 gfxb zp[2]:19 42000.600000000006 +(byte*) gfx_init_plane_fill::gfxb#2 gfxb zp[2]:19 155002.0 +(byte*) gfx_init_plane_fill::gfxb#3 gfxb zp[2]:19 21003.0 +(byte*) gfx_init_plane_fill::gfxb#6 gfxb zp[2]:19 2002.0 (byte) gfx_init_plane_fill::gfxbCpuBank (byte) gfx_init_plane_fill::gfxbCpuBank#0 reg byte a 2002.0 (dword) gfx_init_plane_fill::plane_addr @@ -981,10 +981,11 @@ (void()) gfx_mode() (byte~) gfx_mode::$18 reg byte a 202.0 (dword~) gfx_mode::$20 zp[4]:9 202.0 +(word~) gfx_mode::$22 zp[2]:35 202.0 (byte~) gfx_mode::$23 reg byte a 202.0 -(word~) gfx_mode::$24 zp[2]:29 101.0 +(word~) gfx_mode::$24 zp[2]:19 202.0 (byte~) gfx_mode::$25 reg byte a 202.0 -(word~) gfx_mode::$26 zp[2]:31 202.0 +(word~) gfx_mode::$26 zp[2]:26 202.0 (byte~) gfx_mode::$27 reg byte a 202.0 (byte~) gfx_mode::$28 reg byte a 202.0 (byte~) gfx_mode::$29 reg byte a 202.0 @@ -992,10 +993,11 @@ (byte~) gfx_mode::$31 reg byte a 202.0 (byte~) gfx_mode::$32 reg byte a 202.0 (dword~) gfx_mode::$34 zp[4]:9 202.0 +(word~) gfx_mode::$36 zp[2]:28 202.0 (byte~) gfx_mode::$37 reg byte a 202.0 -(word~) gfx_mode::$38 zp[2]:24 101.0 +(word~) gfx_mode::$38 zp[2]:30 202.0 (byte~) gfx_mode::$39 reg byte a 202.0 -(word~) gfx_mode::$40 zp[2]:26 202.0 +(word~) gfx_mode::$40 zp[2]:33 202.0 (byte~) gfx_mode::$41 reg byte a 202.0 (byte~) gfx_mode::$42 reg byte a 202.0 (byte~) gfx_mode::$43 reg byte a 202.0 @@ -1083,11 +1085,11 @@ (byte) gfx_mode::keyboard_event (byte) gfx_mode::keyboard_event#0 reg byte a 20002.0 (dword) gfx_mode::plane_a -(dword) gfx_mode::plane_a#0 plane_a zp[4]:9 50.5 +(dword) gfx_mode::plane_a#0 plane_a zp[4]:9 57.714285714285715 (byte) gfx_mode::plane_a_offs (byte) gfx_mode::plane_a_offs#0 reg byte x 40.4 (dword) gfx_mode::plane_b -(dword) gfx_mode::plane_b#0 plane_b zp[4]:9 50.5 +(dword) gfx_mode::plane_b#0 plane_b zp[4]:9 57.714285714285715 (byte) gfx_mode::plane_b_offs (byte) gfx_mode::plane_b_offs#0 reg byte x 40.4 (byte*) gfx_mode::vic_colors @@ -1122,7 +1124,7 @@ (byte) keyboard_event_pressed::return#2 reg byte a 2.0000002E7 (byte) keyboard_event_pressed::return#3 reg byte a 2.0000002E7 (byte) keyboard_event_pressed::row_bits -(byte) keyboard_event_pressed::row_bits#0 row_bits zp[1]:28 1.00000001E8 +(byte) keyboard_event_pressed::row_bits#0 row_bits zp[1]:32 1.00000001E8 (void()) keyboard_event_scan() (byte~) keyboard_event_scan::$0 reg byte a 2.0000002E7 (byte~) keyboard_event_scan::$15 reg byte a 2.000000000002E12 @@ -1170,7 +1172,7 @@ (byte) keyboard_event_scan::row#1 row zp[1]:13 1.500000000015E11 (byte) keyboard_event_scan::row#2 row zp[1]:13 6.000000000024E10 (byte) keyboard_event_scan::row_scan -(byte) keyboard_event_scan::row_scan#0 row_scan zp[1]:19 1.2777777777805557E11 +(byte) keyboard_event_scan::row_scan#0 row_scan zp[1]:21 1.2777777777805557E11 (const byte*) keyboard_events[(number) 8] = { fill( 8, 0) } (byte) keyboard_events_size (byte) keyboard_events_size#0 keyboard_events_size zp[1]:16 2.000000000002E12 @@ -1179,7 +1181,7 @@ (byte) keyboard_events_size#106 keyboard_events_size zp[1]:16 1.0200000000012E12 (byte) keyboard_events_size#107 keyboard_events_size zp[1]:16 4.285857142914285E10 (byte) keyboard_events_size#19 keyboard_events_size zp[1]:16 8.100000000008999E11 -(byte) keyboard_events_size#25 keyboard_events_size zp[1]:16 111777.86666666667 +(byte) keyboard_events_size#25 keyboard_events_size zp[1]:16 110549.53846153847 (byte) keyboard_events_size#28 keyboard_events_size zp[1]:16 2.871794871794872 (byte) keyboard_events_size#3 keyboard_events_size zp[1]:16 1.50000015E7 (byte) keyboard_events_size#49 keyboard_events_size zp[1]:16 65300.23529411765 @@ -1218,16 +1220,16 @@ (byte) memset::c (const byte) memset::c#0 c = (byte) ' ' (byte*) memset::dst -(byte*) memset::dst#1 dst zp[2]:24 2000002.0 -(byte*) memset::dst#2 dst zp[2]:24 1336668.3333333335 -(byte*) memset::dst#4 dst zp[2]:24 20002.0 +(byte*) memset::dst#1 dst zp[2]:26 2000002.0 +(byte*) memset::dst#2 dst zp[2]:26 1336668.3333333335 +(byte*) memset::dst#4 dst zp[2]:26 20002.0 (byte*) memset::end -(byte*) memset::end#0 end zp[2]:26 168333.6666666667 +(byte*) memset::end#0 end zp[2]:28 168333.6666666667 (word) memset::num (const word) memset::num#0 num = (word) $3e8 (void*) memset::return (void*) memset::str -(void*) memset::str#0 str zp[2]:24 333.6666666666667 +(void*) memset::str#0 str zp[2]:26 333.6666666666667 (const byte*) preset_8bpppixelcell[] = { (byte) $a, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $b, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (const byte*) preset_chunky[] = { (byte) 7, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 6, (byte) 0, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (const byte*) preset_ecmchar[] = { (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 0, (byte) 5, (byte) 0, (byte) 6 } @@ -1244,12 +1246,12 @@ (byte) print_char::ch (byte) print_char::ch#0 reg byte a 1.1000002E7 (byte*) print_char_cursor -(byte*) print_char_cursor#2 print_char_cursor zp[2]:24 100501.5 -(byte*) print_char_cursor#29 print_char_cursor zp[2]:24 3666667.333333333 -(byte*) print_char_cursor#43 print_char_cursor zp[2]:24 3683334.1666666665 -(byte*) print_char_cursor#44 print_char_cursor zp[2]:24 1.4328571485714287E8 -(byte*) print_char_cursor#72 print_char_cursor zp[2]:24 2002.0 -(byte*) print_char_cursor#73 print_char_cursor zp[2]:24 200002.0 +(byte*) print_char_cursor#2 print_char_cursor zp[2]:26 100501.5 +(byte*) print_char_cursor#29 print_char_cursor zp[2]:26 3666667.333333333 +(byte*) print_char_cursor#43 print_char_cursor zp[2]:26 3683334.1666666665 +(byte*) print_char_cursor#44 print_char_cursor zp[2]:26 1.4328571485714287E8 +(byte*) print_char_cursor#72 print_char_cursor zp[2]:26 2002.0 +(byte*) print_char_cursor#73 print_char_cursor zp[2]:26 200002.0 (void()) print_cls() (label) print_cls::@return (const to_nomodify byte*) print_hextab[] = (byte*) "0123456789abcdef"z @@ -1271,12 +1273,12 @@ (label) print_str_at::@2 (label) print_str_at::@return (byte*) print_str_at::at -(byte*) print_str_at::at#0 at zp[2]:24 1.000000001E9 -(byte*) print_str_at::at#2 at zp[2]:24 1.000000001E9 +(byte*) print_str_at::at#0 at zp[2]:26 1.000000001E9 +(byte*) print_str_at::at#2 at zp[2]:26 1.000000001E9 (byte*) print_str_at::str -(byte*) print_str_at::str#0 str zp[2]:26 2.000000002E9 -(byte*) print_str_at::str#1 str zp[2]:26 550001.0 -(byte*) print_str_at::str#2 str zp[2]:26 1.00025000125E9 +(byte*) print_str_at::str#0 str zp[2]:19 2.000000002E9 +(byte*) print_str_at::str#1 str zp[2]:19 550001.0 +(byte*) print_str_at::str#2 str zp[2]:19 1.00025000125E9 (void()) print_str_lines((byte*) print_str_lines::str) (label) print_str_lines::@1 (label) print_str_lines::@2 @@ -1288,10 +1290,10 @@ (byte) print_str_lines::ch (byte) print_str_lines::ch#0 reg byte a 666667.3333333334 (byte*) print_str_lines::str -(byte*) print_str_lines::str#0 str zp[2]:26 233333.66666666666 -(byte*) print_str_lines::str#3 str zp[2]:26 150502.0 -(byte*) print_str_lines::str#4 str zp[2]:26 1550002.0 -(byte*) print_str_lines::str#5 str zp[2]:26 500.5 +(byte*) print_str_lines::str#0 str zp[2]:19 233333.66666666666 +(byte*) print_str_lines::str#3 str zp[2]:19 150502.0 +(byte*) print_str_lines::str#4 str zp[2]:19 1550002.0 +(byte*) print_str_lines::str#5 str zp[2]:19 500.5 (void()) render_preset_name((byte) render_preset_name::idx) (label) render_preset_name::@1 (label) render_preset_name::@10 @@ -1314,7 +1316,7 @@ (const byte*) render_preset_name::name#1 name_1 = (byte*) "Standard Charset " (const byte*) render_preset_name::name#10 name_10 = (byte*) "Sixs Fred 2 " (const byte*) render_preset_name::name#11 name_11 = (byte*) "8bpp Pixel Cell " -(byte*) render_preset_name::name#13 name zp[2]:26 100001.0 +(byte*) render_preset_name::name#13 name zp[2]:19 100001.0 (const byte*) render_preset_name::name#2 name_2 = (byte*) "Extended Color Charset " (const byte*) render_preset_name::name#3 name_3 = (byte*) "Standard Bitmap " (const byte*) render_preset_name::name#4 name_4 = (byte*) "Multicolor Bitmap " @@ -1432,6 +1434,7 @@ reg byte a [ print_str_lines::ch#0 ] reg byte a [ print_char::ch#0 ] reg byte a [ form_set_screen::$0 ] reg byte a [ form_set_screen::$1 ] +zp[2]:19 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 gfx_mode::$24 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ form_control::$12 ] reg byte a [ keyboard_event_get::return#4 ] reg byte a [ form_control::key_event#0 ] @@ -1454,7 +1457,7 @@ reg byte a [ keyboard_event_scan::$16 ] reg byte a [ keyboard_event_scan::event_type#0 ] reg byte a [ keyboard_event_scan::$23 ] reg byte a [ bitmap_init::$0 ] -zp[1]:19 [ bitmap_init::$10 keyboard_event_scan::row_scan#0 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 bitmap_line::x1#0 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 ] +zp[1]:21 [ bitmap_init::$10 keyboard_event_scan::row_scan#0 bitmap_line_xdyi::x1#6 bitmap_line_xdyi::x1#1 bitmap_line_xdyi::x1#0 bitmap_line::x1#0 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 a [ bitmap_init::$7 ] reg byte a [ bitmap_init::$8 ] reg byte a [ bitmap_init::$9 ] @@ -1462,20 +1465,21 @@ reg byte y [ bitmap_line::yd#2 ] reg byte y [ bitmap_line::yd#1 ] reg byte y [ bitmap_line::yd#10 ] reg byte y [ bitmap_line::yd#11 ] -zp[4]:20 [ gfx_init_plane_fill::$0 ] -zp[2]:24 [ gfx_init_plane_fill::$1 gfx_mode::$38 print_str_at::at#2 print_str_at::at#0 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#0 apply_preset::preset#15 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] +zp[4]:22 [ gfx_init_plane_fill::$0 ] +zp[2]:26 [ gfx_init_plane_fill::$1 gfx_mode::$26 print_str_at::at#2 print_str_at::at#0 memset::dst#2 memset::dst#4 memset::dst#1 memset::str#0 apply_preset::preset#15 print_char_cursor#43 print_char_cursor#2 print_char_cursor#72 print_char_cursor#73 print_char_cursor#44 print_char_cursor#29 ] reg byte a [ gfx_init_plane_fill::gfxbCpuBank#0 ] -zp[2]:26 [ memset::end#0 gfx_mode::$40 gfx_init_plane_fill::gfxb#2 gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::gfxb#6 gfx_init_plane_fill::gfxb#0 gfx_init_plane_fill::$4 gfx_init_plane_fill::$5 bitmap_clear::bitmap#2 bitmap_clear::bitmap#3 bitmap_clear::bitmap#5 bitmap_clear::bitmap#1 bitmap_clear::bitmap#0 render_preset_name::name#13 print_str_at::str#2 print_str_at::str#1 print_str_at::str#0 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] +zp[2]:28 [ memset::end#0 gfx_mode::$36 ] reg byte y [ form_field_ptr::y#0 ] +zp[2]:30 [ form_field_ptr::line#0 gfx_mode::$38 ] reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ keyboard_event_pressed::$0 ] -zp[1]:28 [ keyboard_event_pressed::row_bits#0 form_field_ptr::x#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 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 ] +zp[1]:32 [ keyboard_event_pressed::row_bits#0 form_field_ptr::x#0 bitmap_line_xdyd::x#3 bitmap_line_xdyd::x#6 bitmap_line_xdyd::x#1 bitmap_line_xdyd::x#0 bitmap_line_xdyd::x#2 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 a [ keyboard_event_pressed::$1 ] reg byte a [ keyboard_event_pressed::return#10 ] reg byte x [ bitmap_line_ydxi::$6 ] reg byte a [ bitmap_line_xdyi::$6 ] reg byte x [ bitmap_line_ydxd::$6 ] reg byte a [ bitmap_line_xdyd::$6 ] -zp[2]:29 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 form_field_ptr::line#0 gfx_init_plane_8bppchunky::$5 gfx_mode::$24 ] -zp[2]:31 [ bitmap_plot::plotter_y#0 form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 gfx_mode::$26 ] +zp[2]:33 [ bitmap_plot::plotter_x#0 bitmap_plot::plotter#0 gfx_mode::$40 ] +zp[2]:35 [ bitmap_plot::plotter_y#0 gfx_init_plane_8bppchunky::$5 gfx_mode::$22 ] reg byte a [ bitmap_plot::$1 ] diff --git a/src/test/ref/coalesce-assignment.asm b/src/test/ref/coalesce-assignment.asm index 37bb9dd39..1227b4fcb 100644 --- a/src/test/ref/coalesce-assignment.asm +++ b/src/test/ref/coalesce-assignment.asm @@ -4,7 +4,6 @@ .pc = $80d "Program" main: { .label SCREEN = $400 - .label e = 3 .label a = 2 ldx #0 txa @@ -16,14 +15,8 @@ main: { tya clc adc.z a - sta.z e - // f = d+a - tya - clc - adc.z a // g = e+f - clc - adc.z e + asl // SCREEN[idx++] = g sta SCREEN,x // SCREEN[idx++] = g; diff --git a/src/test/ref/coalesce-assignment.cfg b/src/test/ref/coalesce-assignment.cfg index 9461d1fb6..d4d12705a 100644 --- a/src/test/ref/coalesce-assignment.cfg +++ b/src/test/ref/coalesce-assignment.cfg @@ -10,18 +10,17 @@ main::@1: scope:[main] from main main::@3 main::@2: scope:[main] from main::@1 main::@2 [2] (byte) main::idx#2 ← phi( main::@1/(byte) main::idx#3 main::@2/(byte) main::idx#1 ) [2] (byte) main::d#0 ← phi( main::@1/(byte) 0 main::@2/(byte) main::b#1 ) - [3] (byte) main::e#0 ← (byte) main::d#0 + (byte) main::a#4 - [4] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 - [5] (byte) main::g#0 ← (byte) main::e#0 + (byte) main::f#0 - [6] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 - [7] (byte) main::idx#1 ← ++ (byte) main::idx#2 - [8] (byte) main::b#1 ← ++ (byte) main::d#0 - [9] if((byte) main::b#1!=(byte) 6) goto main::@2 + [3] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 + [4] (byte) main::g#0 ← (byte) main::f#0 + (byte) main::f#0 + [5] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 + [6] (byte) main::idx#1 ← ++ (byte) main::idx#2 + [7] (byte) main::b#1 ← ++ (byte) main::d#0 + [8] if((byte) main::b#1!=(byte) 6) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - [10] (byte) main::a#1 ← ++ (byte) main::a#4 - [11] if((byte) main::a#1!=(byte) 6) goto main::@1 + [9] (byte) main::a#1 ← ++ (byte) main::a#4 + [10] if((byte) main::a#1!=(byte) 6) goto main::@1 to:main::@return main::@return: scope:[main] from main::@3 - [12] return + [11] return to:@return diff --git a/src/test/ref/coalesce-assignment.log b/src/test/ref/coalesce-assignment.log index 11fe620ef..9bc71d0e3 100644 --- a/src/test/ref/coalesce-assignment.log +++ b/src/test/ref/coalesce-assignment.log @@ -103,6 +103,8 @@ Alias main::idx#1 = main::idx#4 Successful SSA optimization Pass2AliasElimination Identical Phi Values (byte) main::a#2 (byte) main::a#4 Successful SSA optimization Pass2IdenticalPhiElimination +Identified duplicate assignment right side [9] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 +Successful SSA optimization Pass2DuplicateRValueIdentification Simple Condition (bool~) main::$3 [12] if((byte) main::b#1!=rangelast(0,5)) goto main::@2 Simple Condition (bool~) main::$4 [15] if((byte) main::a#1!=rangelast(0,5)) goto main::@1 Successful SSA optimization Pass2ConditionalJumpSimplification @@ -128,6 +130,8 @@ Successful SSA optimization PassNCastSimplification Finalized unsigned number type (byte) 6 Finalized unsigned number type (byte) 6 Successful SSA optimization PassNFinalizeNumberTypeConversions +Alias main::f#0 = main::e#0 +Successful SSA optimization Pass2AliasElimination Inlining constant with var siblings (const byte) main::idx#0 Inlining constant with var siblings (const byte) main::a#0 Inlining constant with var siblings (const byte) main::b#0 @@ -142,10 +146,10 @@ CALL GRAPH Created 4 initial phi equivalence classes Coalesced [2] main::idx#6 ← main::idx#3 -Coalesced [14] main::a#5 ← main::a#1 -Coalesced [15] main::idx#5 ← main::idx#1 -Coalesced [16] main::d#1 ← main::b#1 -Coalesced (already) [17] main::idx#7 ← main::idx#1 +Coalesced [13] main::a#5 ← main::a#1 +Coalesced [14] main::idx#5 ← main::idx#1 +Coalesced [15] main::d#1 ← main::b#1 +Coalesced (already) [16] main::idx#7 ← main::idx#1 Coalesced down to 3 phi equivalence classes Culled Empty Block (label) main::@4 Culled Empty Block (label) main::@5 @@ -164,20 +168,19 @@ main::@1: scope:[main] from main main::@3 main::@2: scope:[main] from main::@1 main::@2 [2] (byte) main::idx#2 ← phi( main::@1/(byte) main::idx#3 main::@2/(byte) main::idx#1 ) [2] (byte) main::d#0 ← phi( main::@1/(byte) 0 main::@2/(byte) main::b#1 ) - [3] (byte) main::e#0 ← (byte) main::d#0 + (byte) main::a#4 - [4] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 - [5] (byte) main::g#0 ← (byte) main::e#0 + (byte) main::f#0 - [6] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 - [7] (byte) main::idx#1 ← ++ (byte) main::idx#2 - [8] (byte) main::b#1 ← ++ (byte) main::d#0 - [9] if((byte) main::b#1!=(byte) 6) goto main::@2 + [3] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 + [4] (byte) main::g#0 ← (byte) main::f#0 + (byte) main::f#0 + [5] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 + [6] (byte) main::idx#1 ← ++ (byte) main::idx#2 + [7] (byte) main::b#1 ← ++ (byte) main::d#0 + [8] if((byte) main::b#1!=(byte) 6) goto main::@2 to:main::@3 main::@3: scope:[main] from main::@2 - [10] (byte) main::a#1 ← ++ (byte) main::a#4 - [11] if((byte) main::a#1!=(byte) 6) goto main::@1 + [9] (byte) main::a#1 ← ++ (byte) main::a#4 + [10] if((byte) main::a#1!=(byte) 6) goto main::@1 to:main::@return main::@return: scope:[main] from main::@3 - [12] return + [11] return to:@return @@ -185,43 +188,39 @@ VARIABLE REGISTER WEIGHTS (void()) main() (byte) main::a (byte) main::a#1 16.5 -(byte) main::a#4 24.888888888888886 +(byte) main::a#4 15.375 (byte) main::b (byte) main::b#1 151.5 (byte) main::c (byte) main::d -(byte) main::d#0 67.33333333333333 +(byte) main::d#0 60.599999999999994 (byte) main::e -(byte) main::e#0 101.0 (byte) main::f -(byte) main::f#0 202.0 +(byte) main::f#0 303.0 (byte) main::g (byte) main::g#0 202.0 (byte) main::idx (byte) main::idx#1 42.599999999999994 -(byte) main::idx#2 62.8 +(byte) main::idx#2 78.5 (byte) main::idx#3 22.0 Initial phi equivalence classes [ main::a#4 main::a#1 ] [ main::d#0 main::b#1 ] [ main::idx#2 main::idx#3 main::idx#1 ] -Added variable main::e#0 to live range equivalence class [ main::e#0 ] Added variable main::f#0 to live range equivalence class [ main::f#0 ] Added variable main::g#0 to live range equivalence class [ main::g#0 ] Complete equivalence classes [ main::a#4 main::a#1 ] [ main::d#0 main::b#1 ] [ main::idx#2 main::idx#3 main::idx#1 ] -[ main::e#0 ] [ main::f#0 ] [ main::g#0 ] Allocated zp[1]:2 [ main::a#4 main::a#1 ] Allocated zp[1]:3 [ main::d#0 main::b#1 ] Allocated zp[1]:4 [ main::idx#2 main::idx#3 main::idx#1 ] -Allocated zp[1]:5 [ main::e#0 ] -Allocated zp[1]:6 [ main::f#0 ] -Allocated zp[1]:7 [ main::g#0 ] +Allocated zp[1]:5 [ main::f#0 ] +Allocated zp[1]:6 [ main::g#0 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -236,9 +235,8 @@ Target platform is c64basic / MOS6502X main: { .label SCREEN = $400 .label d = 3 - .label e = 5 - .label f = 6 - .label g = 7 + .label f = 5 + .label g = 6 .label idx = 4 .label b = 3 .label a = 2 @@ -272,80 +270,67 @@ main: { jmp __b2 // main::@2 __b2: - // [3] (byte) main::e#0 ← (byte) main::d#0 + (byte) main::a#4 -- vbuz1=vbuz2_plus_vbuz3 - lda.z d - clc - adc.z a - sta.z e - // [4] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 -- vbuz1=vbuz2_plus_vbuz3 + // [3] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 -- vbuz1=vbuz2_plus_vbuz3 lda.z d clc adc.z a sta.z f - // [5] (byte) main::g#0 ← (byte) main::e#0 + (byte) main::f#0 -- vbuz1=vbuz2_plus_vbuz3 - lda.z e - clc - adc.z f + // [4] (byte) main::g#0 ← (byte) main::f#0 + (byte) main::f#0 -- vbuz1=vbuz2_plus_vbuz2 + lda.z f + asl sta.z g - // [6] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 -- pbuc1_derefidx_vbuz1=vbuz2 + // [5] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z g ldy.z idx sta SCREEN,y - // [7] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuz1=_inc_vbuz1 + // [6] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuz1=_inc_vbuz1 inc.z idx - // [8] (byte) main::b#1 ← ++ (byte) main::d#0 -- vbuz1=_inc_vbuz1 + // [7] (byte) main::b#1 ← ++ (byte) main::d#0 -- vbuz1=_inc_vbuz1 inc.z b - // [9] if((byte) main::b#1!=(byte) 6) goto main::@2 -- vbuz1_neq_vbuc1_then_la1 + // [8] if((byte) main::b#1!=(byte) 6) goto main::@2 -- vbuz1_neq_vbuc1_then_la1 lda #6 cmp.z b bne __b2_from___b2 jmp __b3 // main::@3 __b3: - // [10] (byte) main::a#1 ← ++ (byte) main::a#4 -- vbuz1=_inc_vbuz1 + // [9] (byte) main::a#1 ← ++ (byte) main::a#4 -- vbuz1=_inc_vbuz1 inc.z a - // [11] if((byte) main::a#1!=(byte) 6) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 + // [10] if((byte) main::a#1!=(byte) 6) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 lda #6 cmp.z a bne __b1_from___b3 jmp __breturn // main::@return __breturn: - // [12] return + // [11] return rts } // File Data REGISTER UPLIFT POTENTIAL REGISTERS -Statement [3] (byte) main::e#0 ← (byte) main::d#0 + (byte) main::a#4 [ main::a#4 main::d#0 main::idx#2 main::e#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::e#0 ] { } ) always clobbers reg byte a +Statement [3] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 [ main::a#4 main::d#0 main::idx#2 main::f#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::f#0 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:2 [ main::a#4 main::a#1 ] Removing always clobbered register reg byte a as potential for zp[1]:3 [ main::d#0 main::b#1 ] Removing always clobbered register reg byte a as potential for zp[1]:4 [ main::idx#2 main::idx#3 main::idx#1 ] -Statement [4] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 [ main::a#4 main::d#0 main::idx#2 main::e#0 main::f#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::e#0 main::f#0 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:5 [ main::e#0 ] -Statement [5] (byte) main::g#0 ← (byte) main::e#0 + (byte) main::f#0 [ main::a#4 main::d#0 main::idx#2 main::g#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::g#0 ] { } ) always clobbers reg byte a -Statement [3] (byte) main::e#0 ← (byte) main::d#0 + (byte) main::a#4 [ main::a#4 main::d#0 main::idx#2 main::e#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::e#0 ] { } ) always clobbers reg byte a -Statement [4] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 [ main::a#4 main::d#0 main::idx#2 main::e#0 main::f#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::e#0 main::f#0 ] { } ) always clobbers reg byte a -Statement [5] (byte) main::g#0 ← (byte) main::e#0 + (byte) main::f#0 [ main::a#4 main::d#0 main::idx#2 main::g#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::g#0 ] { } ) always clobbers reg byte a +Statement [4] (byte) main::g#0 ← (byte) main::f#0 + (byte) main::f#0 [ main::a#4 main::d#0 main::idx#2 main::g#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::g#0 ] { } ) always clobbers reg byte a +Statement [3] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 [ main::a#4 main::d#0 main::idx#2 main::f#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::f#0 ] { } ) always clobbers reg byte a +Statement [4] (byte) main::g#0 ← (byte) main::f#0 + (byte) main::f#0 [ main::a#4 main::d#0 main::idx#2 main::g#0 ] ( [ main::a#4 main::d#0 main::idx#2 main::g#0 ] { } ) always clobbers reg byte a Potential registers zp[1]:2 [ main::a#4 main::a#1 ] : zp[1]:2 , reg byte x , reg byte y , Potential registers zp[1]:3 [ main::d#0 main::b#1 ] : zp[1]:3 , reg byte x , reg byte y , Potential registers zp[1]:4 [ main::idx#2 main::idx#3 main::idx#1 ] : zp[1]:4 , reg byte x , reg byte y , -Potential registers zp[1]:5 [ main::e#0 ] : zp[1]:5 , reg byte x , reg byte y , -Potential registers zp[1]:6 [ main::f#0 ] : zp[1]:6 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:7 [ main::g#0 ] : zp[1]:7 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:5 [ main::f#0 ] : zp[1]:5 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:6 [ main::g#0 ] : zp[1]:6 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 218.83: zp[1]:3 [ main::d#0 main::b#1 ] 202: zp[1]:6 [ main::f#0 ] 202: zp[1]:7 [ main::g#0 ] 127.4: zp[1]:4 [ main::idx#2 main::idx#3 main::idx#1 ] 101: zp[1]:5 [ main::e#0 ] 41.39: zp[1]:2 [ main::a#4 main::a#1 ] +Uplift Scope [main] 303: zp[1]:5 [ main::f#0 ] 212.1: zp[1]:3 [ main::d#0 main::b#1 ] 202: zp[1]:6 [ main::g#0 ] 143.1: zp[1]:4 [ main::idx#2 main::idx#3 main::idx#1 ] 31.88: zp[1]:2 [ main::a#4 main::a#1 ] Uplift Scope [] -Uplifting [main] best 4941 combination reg byte y [ main::d#0 main::b#1 ] reg byte a [ main::f#0 ] reg byte a [ main::g#0 ] reg byte x [ main::idx#2 main::idx#3 main::idx#1 ] zp[1]:5 [ main::e#0 ] zp[1]:2 [ main::a#4 main::a#1 ] -Limited combination testing to 100 combinations of 1296 possible. -Uplifting [] best 4941 combination -Attempting to uplift remaining variables inzp[1]:5 [ main::e#0 ] -Uplifting [main] best 4941 combination zp[1]:5 [ main::e#0 ] +Uplifting [main] best 3641 combination reg byte a [ main::f#0 ] reg byte y [ main::d#0 main::b#1 ] reg byte a [ main::g#0 ] reg byte x [ main::idx#2 main::idx#3 main::idx#1 ] zp[1]:2 [ main::a#4 main::a#1 ] +Limited combination testing to 100 combinations of 432 possible. +Uplifting [] best 3641 combination Attempting to uplift remaining variables inzp[1]:2 [ main::a#4 main::a#1 ] -Uplifting [main] best 4941 combination zp[1]:2 [ main::a#4 main::a#1 ] -Allocated (was zp[1]:5) zp[1]:3 [ main::e#0 ] +Uplifting [main] best 3641 combination zp[1]:2 [ main::a#4 main::a#1 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -358,7 +343,6 @@ ASSEMBLER BEFORE OPTIMIZATION // main main: { .label SCREEN = $400 - .label e = 3 .label a = 2 // [1] phi from main to main::@1 [phi:main->main::@1] __b1_from_main: @@ -388,40 +372,34 @@ main: { jmp __b2 // main::@2 __b2: - // [3] (byte) main::e#0 ← (byte) main::d#0 + (byte) main::a#4 -- vbuz1=vbuyy_plus_vbuz2 + // [3] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 -- vbuaa=vbuyy_plus_vbuz1 tya clc adc.z a - sta.z e - // [4] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 -- vbuaa=vbuyy_plus_vbuz1 - tya - clc - adc.z a - // [5] (byte) main::g#0 ← (byte) main::e#0 + (byte) main::f#0 -- vbuaa=vbuz1_plus_vbuaa - clc - adc.z e - // [6] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 -- pbuc1_derefidx_vbuxx=vbuaa + // [4] (byte) main::g#0 ← (byte) main::f#0 + (byte) main::f#0 -- vbuaa=vbuaa_plus_vbuaa + asl + // [5] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN,x - // [7] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuxx=_inc_vbuxx + // [6] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuxx=_inc_vbuxx inx - // [8] (byte) main::b#1 ← ++ (byte) main::d#0 -- vbuyy=_inc_vbuyy + // [7] (byte) main::b#1 ← ++ (byte) main::d#0 -- vbuyy=_inc_vbuyy iny - // [9] if((byte) main::b#1!=(byte) 6) goto main::@2 -- vbuyy_neq_vbuc1_then_la1 + // [8] if((byte) main::b#1!=(byte) 6) goto main::@2 -- vbuyy_neq_vbuc1_then_la1 cpy #6 bne __b2_from___b2 jmp __b3 // main::@3 __b3: - // [10] (byte) main::a#1 ← ++ (byte) main::a#4 -- vbuz1=_inc_vbuz1 + // [9] (byte) main::a#1 ← ++ (byte) main::a#4 -- vbuz1=_inc_vbuz1 inc.z a - // [11] if((byte) main::a#1!=(byte) 6) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 + // [10] if((byte) main::a#1!=(byte) 6) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 lda #6 cmp.z a bne __b1_from___b3 jmp __breturn // main::@return __breturn: - // [12] return + // [11] return rts } // File Data @@ -456,33 +434,31 @@ FINAL SYMBOL TABLE (const nomodify byte*) main::SCREEN = (byte*) 1024 (byte) main::a (byte) main::a#1 a zp[1]:2 16.5 -(byte) main::a#4 a zp[1]:2 24.888888888888886 +(byte) main::a#4 a zp[1]:2 15.375 (byte) main::b (byte) main::b#1 reg byte y 151.5 (byte) main::c (byte) main::d -(byte) main::d#0 reg byte y 67.33333333333333 +(byte) main::d#0 reg byte y 60.599999999999994 (byte) main::e -(byte) main::e#0 e zp[1]:3 101.0 (byte) main::f -(byte) main::f#0 reg byte a 202.0 +(byte) main::f#0 reg byte a 303.0 (byte) main::g (byte) main::g#0 reg byte a 202.0 (byte) main::idx (byte) main::idx#1 reg byte x 42.599999999999994 -(byte) main::idx#2 reg byte x 62.8 +(byte) main::idx#2 reg byte x 78.5 (byte) main::idx#3 reg byte x 22.0 zp[1]:2 [ main::a#4 main::a#1 ] reg byte y [ main::d#0 main::b#1 ] reg byte x [ main::idx#2 main::idx#3 main::idx#1 ] -zp[1]:3 [ main::e#0 ] reg byte a [ main::f#0 ] reg byte a [ main::g#0 ] FINAL ASSEMBLER -Score: 3951 +Score: 2651 // File Comments // Tests variable coalescing over assignments @@ -494,7 +470,6 @@ Score: 3951 // main main: { .label SCREEN = $400 - .label e = 3 .label a = 2 // [1] phi from main to main::@1 [phi:main->main::@1] // [1] phi (byte) main::idx#3 = (byte) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 @@ -517,43 +492,36 @@ main: { // main::@2 __b2: // e = b+c - // [3] (byte) main::e#0 ← (byte) main::d#0 + (byte) main::a#4 -- vbuz1=vbuyy_plus_vbuz2 - tya - clc - adc.z a - sta.z e - // f = d+a - // [4] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 -- vbuaa=vbuyy_plus_vbuz1 + // [3] (byte) main::f#0 ← (byte) main::d#0 + (byte) main::a#4 -- vbuaa=vbuyy_plus_vbuz1 tya clc adc.z a // g = e+f - // [5] (byte) main::g#0 ← (byte) main::e#0 + (byte) main::f#0 -- vbuaa=vbuz1_plus_vbuaa - clc - adc.z e + // [4] (byte) main::g#0 ← (byte) main::f#0 + (byte) main::f#0 -- vbuaa=vbuaa_plus_vbuaa + asl // SCREEN[idx++] = g - // [6] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 -- pbuc1_derefidx_vbuxx=vbuaa + // [5] *((const nomodify byte*) main::SCREEN + (byte) main::idx#2) ← (byte) main::g#0 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN,x // SCREEN[idx++] = g; - // [7] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuxx=_inc_vbuxx + // [6] (byte) main::idx#1 ← ++ (byte) main::idx#2 -- vbuxx=_inc_vbuxx inx // for( byte b: 0..5) - // [8] (byte) main::b#1 ← ++ (byte) main::d#0 -- vbuyy=_inc_vbuyy + // [7] (byte) main::b#1 ← ++ (byte) main::d#0 -- vbuyy=_inc_vbuyy iny - // [9] if((byte) main::b#1!=(byte) 6) goto main::@2 -- vbuyy_neq_vbuc1_then_la1 + // [8] if((byte) main::b#1!=(byte) 6) goto main::@2 -- vbuyy_neq_vbuc1_then_la1 cpy #6 bne __b2 // main::@3 // for( byte a: 0..5) - // [10] (byte) main::a#1 ← ++ (byte) main::a#4 -- vbuz1=_inc_vbuz1 + // [9] (byte) main::a#1 ← ++ (byte) main::a#4 -- vbuz1=_inc_vbuz1 inc.z a - // [11] if((byte) main::a#1!=(byte) 6) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 + // [10] if((byte) main::a#1!=(byte) 6) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 lda #6 cmp.z a bne __b1 // main::@return // } - // [12] return + // [11] return rts } // File Data diff --git a/src/test/ref/coalesce-assignment.sym b/src/test/ref/coalesce-assignment.sym index c856e92f8..db9b2012b 100644 --- a/src/test/ref/coalesce-assignment.sym +++ b/src/test/ref/coalesce-assignment.sym @@ -6,26 +6,24 @@ (const nomodify byte*) main::SCREEN = (byte*) 1024 (byte) main::a (byte) main::a#1 a zp[1]:2 16.5 -(byte) main::a#4 a zp[1]:2 24.888888888888886 +(byte) main::a#4 a zp[1]:2 15.375 (byte) main::b (byte) main::b#1 reg byte y 151.5 (byte) main::c (byte) main::d -(byte) main::d#0 reg byte y 67.33333333333333 +(byte) main::d#0 reg byte y 60.599999999999994 (byte) main::e -(byte) main::e#0 e zp[1]:3 101.0 (byte) main::f -(byte) main::f#0 reg byte a 202.0 +(byte) main::f#0 reg byte a 303.0 (byte) main::g (byte) main::g#0 reg byte a 202.0 (byte) main::idx (byte) main::idx#1 reg byte x 42.599999999999994 -(byte) main::idx#2 reg byte x 62.8 +(byte) main::idx#2 reg byte x 78.5 (byte) main::idx#3 reg byte x 22.0 zp[1]:2 [ main::a#4 main::a#1 ] reg byte y [ main::d#0 main::b#1 ] reg byte x [ main::idx#2 main::idx#3 main::idx#1 ] -zp[1]:3 [ main::e#0 ] reg byte a [ main::f#0 ] reg byte a [ main::g#0 ] diff --git a/src/test/ref/complex/splines/truetype-splines.asm b/src/test/ref/complex/splines/truetype-splines.asm index 9d5c7e0ae..7b9d21d68 100644 --- a/src/test/ref/complex/splines/truetype-splines.asm +++ b/src/test/ref/complex/splines/truetype-splines.asm @@ -302,6 +302,7 @@ bitmap_clear: { } // show_letter(byte zp(2) angle) show_letter: { + .label __17 = $18 .label angle = 2 .label to_x = 8 .label to_y = $a @@ -318,7 +319,6 @@ show_letter: { .label current_y = 6 .label current_x_1 = $19 .label current_y_1 = $1b - .label __21 = $18 lda #<0 sta.z current_y sta.z current_y+1 @@ -331,17 +331,17 @@ show_letter: { asl asl asl - sta.z __21 clc adc.z i - tax - lda letter_c+OFFSET_STRUCT_SEGMENT_TO,x + sta.z __17 + tay + lda letter_c+OFFSET_STRUCT_SEGMENT_TO,y sta.z to_x - lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,y sta.z to_x+1 - lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,x + lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z to_y - lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z to_y+1 // to = { to.x - 50, to.y - 150} lda.z to_x @@ -379,17 +379,14 @@ show_letter: { adc #>$64 sta.z current_y_1+1 // via = letter_c[i].via - lda.z __21 - clc - adc.z i - tax - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,x + ldy.z __17 + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,y sta.z via_x - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,y sta.z via_x+1 - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,x + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z via_y - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z via_y+1 // via = { via.x - 50, via.y - 150} lda.z via_x @@ -427,10 +424,7 @@ show_letter: { adc #>$64 sta.z segment_via_y+1 // segment = { letter_c[i].type, to, via} - lda.z __21 - clc - adc.z i - tay + ldy.z __17 lda letter_c,y // if(segment.type==MOVE_TO) cmp #MOVE_TO diff --git a/src/test/ref/complex/splines/truetype-splines.cfg b/src/test/ref/complex/splines/truetype-splines.cfg index 2e89890d1..3453a2af9 100644 --- a/src/test/ref/complex/splines/truetype-splines.cfg +++ b/src/test/ref/complex/splines/truetype-splines.cfg @@ -179,9 +179,9 @@ show_letter::@1: scope:[show_letter] from show_letter show_letter::@9 [80] (signed word) show_letter::current_x#4 ← phi( show_letter/(signed word) 0 show_letter::@9/(signed word) show_letter::current_x#11 ) [80] (byte) show_letter::i#10 ← phi( show_letter/(byte) 0 show_letter::@9/(byte) show_letter::i#1 ) [81] (byte~) show_letter::$21 ← (byte) show_letter::i#10 << (byte) 3 - [82] (byte~) show_letter::$16 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 - [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$16) - [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$16) + [82] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 + [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$17) + [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) [85] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 [86] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 [87] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1 @@ -196,408 +196,406 @@ show_letter::@6: scope:[show_letter] from show_letter::@1 [94] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0 [95] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 [96] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 - [97] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 - [98] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) - [99] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) - [100] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 - [101] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 - [102] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 - [103] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 - [104] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 - [105] call rotate - [106] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 - [107] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 + [97] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) + [98] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) + [99] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 + [100] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 + [101] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 + [102] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 + [103] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 + [104] call rotate + [105] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 + [106] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 to:show_letter::@7 show_letter::@7: scope:[show_letter] from show_letter::@6 - [108] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 - [109] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 - [110] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 - [111] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 - [112] (byte~) show_letter::$18 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 - [113] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$18) - [114] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 + [107] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 + [108] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 + [109] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 + [110] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 + [111] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$17) + [112] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 to:show_letter::@4 show_letter::@4: scope:[show_letter] from show_letter::@7 - [115] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 + [113] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 to:show_letter::@5 show_letter::@5: scope:[show_letter] from show_letter::@4 - [116] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 - [117] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 - [118] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 - [119] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 - [120] call bitmap_line + [114] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 + [115] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 + [116] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 + [117] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 + [118] call bitmap_line to:show_letter::@3 show_letter::@3: scope:[show_letter] from show_letter::@5 show_letter::@7 show_letter::@8 - [121] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 - [122] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 + [119] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 + [120] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 to:show_letter::@return show_letter::@return: scope:[show_letter] from show_letter::@3 - [123] return + [121] return to:@return show_letter::@9: scope:[show_letter] from show_letter::@3 - [124] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 - [125] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 + [122] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 + [123] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 to:show_letter::@1 show_letter::@2: scope:[show_letter] from show_letter::@4 - [126] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 - [127] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 - [128] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 - [129] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 - [130] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 - [131] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 - [132] call spline_8segB + [124] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 + [125] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 + [126] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 + [127] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 + [128] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 + [129] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 + [130] call spline_8segB to:show_letter::@8 show_letter::@8: scope:[show_letter] from show_letter::@2 - [133] phi() - [134] call bitmap_plot_spline_8seg + [131] phi() + [132] call bitmap_plot_spline_8seg to:show_letter::@3 (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) memset: scope:[memset] from bitmap_clear bitmap_clear::@1 - [135] (byte) memset::c#4 ← phi( bitmap_clear/(const byte) bitmap_clear::col#0 bitmap_clear::@1/(byte) 0 ) - [135] (void*) memset::str#3 ← phi( bitmap_clear/(void*)(const nomodify byte*) BITMAP_SCREEN bitmap_clear::@1/(void*)(const nomodify byte*) BITMAP_GRAPHICS ) - [135] (word) memset::num#2 ← phi( bitmap_clear/(word) $3e8 bitmap_clear::@1/(word) $1f40 ) - [136] if((word) memset::num#2<=(byte) 0) goto memset::@return + [133] (byte) memset::c#4 ← phi( bitmap_clear/(const byte) bitmap_clear::col#0 bitmap_clear::@1/(byte) 0 ) + [133] (void*) memset::str#3 ← phi( bitmap_clear/(void*)(const nomodify byte*) BITMAP_SCREEN bitmap_clear::@1/(void*)(const nomodify byte*) BITMAP_GRAPHICS ) + [133] (word) memset::num#2 ← phi( bitmap_clear/(word) $3e8 bitmap_clear::@1/(word) $1f40 ) + [134] if((word) memset::num#2<=(byte) 0) goto memset::@return to:memset::@1 memset::@1: scope:[memset] from memset - [137] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 - [138] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 + [135] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 + [136] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 to:memset::@2 memset::@2: scope:[memset] from memset::@1 memset::@3 - [139] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) - [140] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 + [137] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) + [138] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 to:memset::@return memset::@return: scope:[memset] from memset memset::@2 - [141] return + [139] return to:@return memset::@3: scope:[memset] from memset::@2 - [142] *((byte*) memset::dst#2) ← (byte) memset::c#4 - [143] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + [140] *((byte*) memset::dst#2) ← (byte) memset::c#4 + [141] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 to:memset::@2 (struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle) rotate: scope:[rotate] from show_letter::@1 show_letter::@6 - [144] (signed word) rotate::vector_y#2 ← phi( show_letter::@1/(signed word) rotate::vector_y#0 show_letter::@6/(signed word) rotate::vector_y#1 ) - [144] (signed word) rotate::vector_x#2 ← phi( show_letter::@1/(signed word) rotate::vector_x#0 show_letter::@6/(signed word) rotate::vector_x#1 ) - [144] (byte) rotate::angle#2 ← phi( show_letter::@1/(byte) rotate::angle#0 show_letter::@6/(byte) rotate::angle#1 ) - [145] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) - [146] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 - [147] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 - [148] call mulf16s - [149] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 + [142] (signed word) rotate::vector_y#2 ← phi( show_letter::@1/(signed word) rotate::vector_y#0 show_letter::@6/(signed word) rotate::vector_y#1 ) + [142] (signed word) rotate::vector_x#2 ← phi( show_letter::@1/(signed word) rotate::vector_x#0 show_letter::@6/(signed word) rotate::vector_x#1 ) + [142] (byte) rotate::angle#2 ← phi( show_letter::@1/(byte) rotate::angle#0 show_letter::@6/(byte) rotate::angle#1 ) + [143] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) + [144] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 + [145] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 + [146] call mulf16s + [147] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 to:rotate::@1 rotate::@1: scope:[rotate] from rotate - [150] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 - [151] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 - [152] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 - [153] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 - [154] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 - [155] call mulf16s - [156] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 + [148] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 + [149] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 + [150] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 + [151] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 + [152] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 + [153] call mulf16s + [154] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 to:rotate::@2 rotate::@2: scope:[rotate] from rotate::@1 - [157] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 - [158] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 - [159] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 - [160] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) - [161] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 - [162] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 - [163] call mulf16s - [164] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 + [155] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 + [156] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 + [157] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 + [158] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) + [159] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 + [160] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 + [161] call mulf16s + [162] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 to:rotate::@3 rotate::@3: scope:[rotate] from rotate::@2 - [165] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 - [166] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 - [167] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 - [168] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 - [169] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 - [170] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 - [171] call mulf16s - [172] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 + [163] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 + [164] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 + [165] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 + [166] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 + [167] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 + [168] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 + [169] call mulf16s + [170] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 to:rotate::@4 rotate::@4: scope:[rotate] from rotate::@3 - [173] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 - [174] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 - [175] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 - [176] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 - [177] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 - [178] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 - [179] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 - [180] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 + [171] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 + [172] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 + [173] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 + [174] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 + [175] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 + [176] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 + [177] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 + [178] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 to:rotate::@return rotate::@return: scope:[rotate] from rotate::@4 - [181] return + [179] return to:@return (void()) bitmap_line((word) bitmap_line::x1 , (word) bitmap_line::y1 , (word) bitmap_line::x2 , (word) bitmap_line::y2) bitmap_line: scope:[bitmap_line] from bitmap_plot_spline_8seg::@1 show_letter::@5 - [182] (word) bitmap_line::y2#11 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y2#13 show_letter::@5/(word) bitmap_line::y2#0 ) - [182] (word) bitmap_line::x2#10 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x2#13 show_letter::@5/(word) bitmap_line::x2#0 ) - [182] (word) bitmap_line::y#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y1#1 show_letter::@5/(word) bitmap_line::y1#0 ) - [182] (word) bitmap_line::x#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x1#1 show_letter::@5/(word) bitmap_line::x1#0 ) - [183] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 - [184] call abs_u16 - [185] (word) abs_u16::return#0 ← (word) abs_u16::return#4 + [180] (word) bitmap_line::y2#11 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y2#13 show_letter::@5/(word) bitmap_line::y2#0 ) + [180] (word) bitmap_line::x2#10 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x2#13 show_letter::@5/(word) bitmap_line::x2#0 ) + [180] (word) bitmap_line::y#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y1#1 show_letter::@5/(word) bitmap_line::y1#0 ) + [180] (word) bitmap_line::x#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x1#1 show_letter::@5/(word) bitmap_line::x1#0 ) + [181] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 + [182] call abs_u16 + [183] (word) abs_u16::return#0 ← (word) abs_u16::return#4 to:bitmap_line::@12 bitmap_line::@12: scope:[bitmap_line] from bitmap_line - [186] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 - [187] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 - [188] call abs_u16 - [189] (word) abs_u16::return#1 ← (word) abs_u16::return#4 + [184] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 + [185] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 + [186] call abs_u16 + [187] (word) abs_u16::return#1 ← (word) abs_u16::return#4 to:bitmap_line::@13 bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@12 - [190] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 - [191] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 + [188] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 + [189] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 to:bitmap_line::@18 bitmap_line::@18: scope:[bitmap_line] from bitmap_line::@13 - [192] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 + [190] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 to:bitmap_line::@1 bitmap_line::@1: scope:[bitmap_line] from bitmap_line::@13 bitmap_line::@18 - [193] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 - [194] call sgn_u16 - [195] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 + [191] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 + [192] call sgn_u16 + [193] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 to:bitmap_line::@14 bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@1 - [196] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 - [197] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 - [198] call sgn_u16 - [199] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 + [194] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 + [195] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 + [196] call sgn_u16 + [197] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 to:bitmap_line::@15 bitmap_line::@15: scope:[bitmap_line] from bitmap_line::@14 - [200] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 - [201] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 + [198] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 + [199] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 to:bitmap_line::@5 bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@15 - [202] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 + [200] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 to:bitmap_line::@6 bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5 bitmap_line::@7 - [203] (word) bitmap_line::e#3 ← phi( bitmap_line::@5/(word) bitmap_line::e#0 bitmap_line::@7/(word) bitmap_line::e#6 ) - [203] (word) bitmap_line::y#4 ← phi( bitmap_line::@5/(word) bitmap_line::y#0 bitmap_line::@7/(word) bitmap_line::y#1 ) - [203] (word) bitmap_line::x#13 ← phi( bitmap_line::@5/(word) bitmap_line::x#0 bitmap_line::@7/(word) bitmap_line::x#12 ) - [204] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 - [205] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 - [206] call bitmap_plot + [201] (word) bitmap_line::e#3 ← phi( bitmap_line::@5/(word) bitmap_line::e#0 bitmap_line::@7/(word) bitmap_line::e#6 ) + [201] (word) bitmap_line::y#4 ← phi( bitmap_line::@5/(word) bitmap_line::y#0 bitmap_line::@7/(word) bitmap_line::y#1 ) + [201] (word) bitmap_line::x#13 ← phi( bitmap_line::@5/(word) bitmap_line::x#0 bitmap_line::@7/(word) bitmap_line::x#12 ) + [202] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 + [203] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 + [204] call bitmap_plot to:bitmap_line::@16 bitmap_line::@16: scope:[bitmap_line] from bitmap_line::@6 - [207] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 - [208] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 - [209] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 + [205] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 + [206] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 + [207] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 to:bitmap_line::@8 bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@16 - [210] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 - [211] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 + [208] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 + [209] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 to:bitmap_line::@7 bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@16 bitmap_line::@8 - [212] (word) bitmap_line::e#6 ← phi( bitmap_line::@16/(word) bitmap_line::e#1 bitmap_line::@8/(word) bitmap_line::e#2 ) - [212] (word) bitmap_line::x#12 ← phi( bitmap_line::@16/(word) bitmap_line::x#13 bitmap_line::@8/(word) bitmap_line::x#1 ) - [213] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 + [210] (word) bitmap_line::e#6 ← phi( bitmap_line::@16/(word) bitmap_line::e#1 bitmap_line::@8/(word) bitmap_line::e#2 ) + [210] (word) bitmap_line::x#12 ← phi( bitmap_line::@16/(word) bitmap_line::x#13 bitmap_line::@8/(word) bitmap_line::x#1 ) + [211] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 to:bitmap_line::@3 bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@7 - [214] (word) bitmap_line::y#7 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@7/(word) bitmap_line::y#1 ) - [214] (word) bitmap_line::x#6 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@7/(word) bitmap_line::x#12 ) - [215] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 - [216] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 - [217] call bitmap_plot + [212] (word) bitmap_line::y#7 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@7/(word) bitmap_line::y#1 ) + [212] (word) bitmap_line::x#6 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@7/(word) bitmap_line::x#12 ) + [213] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 + [214] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 + [215] call bitmap_plot to:bitmap_line::@return bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@3 bitmap_line::@4 - [218] return + [216] return to:@return bitmap_line::@2: scope:[bitmap_line] from bitmap_line::@15 - [219] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 + [217] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 to:bitmap_line::@9 bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@2 - [220] (word) bitmap_line::e1#3 ← phi( bitmap_line::@10/(word) bitmap_line::e1#6 bitmap_line::@2/(word) bitmap_line::e1#0 ) - [220] (word) bitmap_line::y#15 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@2/(word) bitmap_line::y#0 ) - [220] (word) bitmap_line::x#7 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@2/(word) bitmap_line::x#0 ) - [221] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 - [222] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 - [223] call bitmap_plot + [218] (word) bitmap_line::e1#3 ← phi( bitmap_line::@10/(word) bitmap_line::e1#6 bitmap_line::@2/(word) bitmap_line::e1#0 ) + [218] (word) bitmap_line::y#15 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@2/(word) bitmap_line::y#0 ) + [218] (word) bitmap_line::x#7 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@2/(word) bitmap_line::x#0 ) + [219] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 + [220] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 + [221] call bitmap_plot to:bitmap_line::@17 bitmap_line::@17: scope:[bitmap_line] from bitmap_line::@9 - [224] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 - [225] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 - [226] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 + [222] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 + [223] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 + [224] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 to:bitmap_line::@11 bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@17 - [227] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 - [228] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 + [225] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 + [226] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 to:bitmap_line::@10 bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@11 bitmap_line::@17 - [229] (word) bitmap_line::e1#6 ← phi( bitmap_line::@11/(word) bitmap_line::e1#2 bitmap_line::@17/(word) bitmap_line::e1#1 ) - [229] (word) bitmap_line::y#13 ← phi( bitmap_line::@11/(word) bitmap_line::y#2 bitmap_line::@17/(word) bitmap_line::y#15 ) - [230] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 + [227] (word) bitmap_line::e1#6 ← phi( bitmap_line::@11/(word) bitmap_line::e1#2 bitmap_line::@17/(word) bitmap_line::e1#1 ) + [227] (word) bitmap_line::y#13 ← phi( bitmap_line::@11/(word) bitmap_line::y#2 bitmap_line::@17/(word) bitmap_line::y#15 ) + [228] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 to:bitmap_line::@3 bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@18 - [231] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 - [232] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 - [233] call bitmap_plot + [229] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 + [230] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 + [231] call bitmap_plot to:bitmap_line::@return (void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y) spline_8segB: scope:[spline_8segB] from show_letter::@2 - [234] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 - [235] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 - [236] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 - [237] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 - [238] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 - [239] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 - [240] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 - [241] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 - [242] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 - [243] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 - [244] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 - [245] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 - [246] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 - [247] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 - [248] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 - [249] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 - [250] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 - [251] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 + [232] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 + [233] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 + [234] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 + [235] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 + [236] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 + [237] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 + [238] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 + [239] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 + [240] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 + [241] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 + [242] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 + [243] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 + [244] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 + [245] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 + [246] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 + [247] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 + [248] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 + [249] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 to:spline_8segB::@1 spline_8segB::@1: scope:[spline_8segB] from spline_8segB spline_8segB::@1 - [252] (signed word) spline_8segB::i_y#2 ← phi( spline_8segB/(signed word) spline_8segB::i_y#0 spline_8segB::@1/(signed word) spline_8segB::i_y#1 ) - [252] (signed word) spline_8segB::i_x#2 ← phi( spline_8segB/(signed word) spline_8segB::i_x#0 spline_8segB::@1/(signed word) spline_8segB::i_x#1 ) - [252] (byte) spline_8segB::n#2 ← phi( spline_8segB/(byte) 0 spline_8segB::@1/(byte) spline_8segB::n#1 ) - [252] (signed word) spline_8segB::p_y#2 ← phi( spline_8segB/(signed word) spline_8segB::p_y#0 spline_8segB::@1/(signed word) spline_8segB::p_y#1 ) - [252] (signed word) spline_8segB::p_x#2 ← phi( spline_8segB/(signed word) spline_8segB::p_x#0 spline_8segB::@1/(signed word) spline_8segB::p_x#1 ) - [253] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 - [254] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 - [255] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 - [256] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 - [257] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 - [258] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 - [259] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 - [260] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 - [261] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 - [262] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 - [263] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 - [264] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 - [265] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 + [250] (signed word) spline_8segB::i_y#2 ← phi( spline_8segB/(signed word) spline_8segB::i_y#0 spline_8segB::@1/(signed word) spline_8segB::i_y#1 ) + [250] (signed word) spline_8segB::i_x#2 ← phi( spline_8segB/(signed word) spline_8segB::i_x#0 spline_8segB::@1/(signed word) spline_8segB::i_x#1 ) + [250] (byte) spline_8segB::n#2 ← phi( spline_8segB/(byte) 0 spline_8segB::@1/(byte) spline_8segB::n#1 ) + [250] (signed word) spline_8segB::p_y#2 ← phi( spline_8segB/(signed word) spline_8segB::p_y#0 spline_8segB::@1/(signed word) spline_8segB::p_y#1 ) + [250] (signed word) spline_8segB::p_x#2 ← phi( spline_8segB/(signed word) spline_8segB::p_x#0 spline_8segB::@1/(signed word) spline_8segB::p_x#1 ) + [251] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 + [252] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 + [253] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 + [254] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 + [255] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 + [256] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 + [257] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 + [258] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 + [259] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 + [260] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 + [261] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 + [262] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 + [263] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 to:spline_8segB::@2 spline_8segB::@2: scope:[spline_8segB] from spline_8segB::@1 - [266] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 - [267] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 - [268] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 - [269] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 - [270] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 - [271] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 + [264] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 + [265] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 + [266] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 + [267] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 + [268] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 + [269] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 to:spline_8segB::@return spline_8segB::@return: scope:[spline_8segB] from spline_8segB::@2 - [272] return + [270] return to:@return (void()) bitmap_plot_spline_8seg() bitmap_plot_spline_8seg: scope:[bitmap_plot_spline_8seg] from show_letter::@8 - [273] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) - [274] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) + [271] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) + [272] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) to:bitmap_plot_spline_8seg::@1 bitmap_plot_spline_8seg::@1: scope:[bitmap_plot_spline_8seg] from bitmap_plot_spline_8seg bitmap_plot_spline_8seg::@2 - [275] (signed word) bitmap_plot_spline_8seg::current_y#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_y#1 ) - [275] (signed word) bitmap_plot_spline_8seg::current_x#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_x#1 ) - [275] (byte) bitmap_plot_spline_8seg::n#2 ← phi( bitmap_plot_spline_8seg/(byte) 1 bitmap_plot_spline_8seg::@2/(byte) bitmap_plot_spline_8seg::n#1 ) - [276] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 - [277] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 - [278] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 - [279] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) - [280] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) - [281] call bitmap_line + [273] (signed word) bitmap_plot_spline_8seg::current_y#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_y#1 ) + [273] (signed word) bitmap_plot_spline_8seg::current_x#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_x#1 ) + [273] (byte) bitmap_plot_spline_8seg::n#2 ← phi( bitmap_plot_spline_8seg/(byte) 1 bitmap_plot_spline_8seg::@2/(byte) bitmap_plot_spline_8seg::n#1 ) + [274] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 + [275] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 + [276] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 + [277] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) + [278] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) + [279] call bitmap_line to:bitmap_plot_spline_8seg::@2 bitmap_plot_spline_8seg::@2: scope:[bitmap_plot_spline_8seg] from bitmap_plot_spline_8seg::@1 - [282] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) - [283] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) - [284] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 - [285] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 + [280] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) + [281] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) + [282] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 + [283] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 to:bitmap_plot_spline_8seg::@return bitmap_plot_spline_8seg::@return: scope:[bitmap_plot_spline_8seg] from bitmap_plot_spline_8seg::@2 - [286] return + [284] return to:@return (signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b) mulf16s: scope:[mulf16s] from rotate rotate::@1 rotate::@2 rotate::@3 - [287] (signed word) mulf16s::b#4 ← phi( rotate/(signed word) mulf16s::b#0 rotate::@1/(signed word) mulf16s::b#1 rotate::@2/(signed word) mulf16s::b#2 rotate::@3/(signed word) mulf16s::b#3 ) - [287] (signed word) mulf16s::a#4 ← phi( rotate/(signed word) mulf16s::a#0 rotate::@1/(signed word) mulf16s::a#1 rotate::@2/(signed word) mulf16s::a#2 rotate::@3/(signed word) mulf16s::a#3 ) - [288] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 - [289] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 - [290] call mulf16u - [291] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 + [285] (signed word) mulf16s::b#4 ← phi( rotate/(signed word) mulf16s::b#0 rotate::@1/(signed word) mulf16s::b#1 rotate::@2/(signed word) mulf16s::b#2 rotate::@3/(signed word) mulf16s::b#3 ) + [285] (signed word) mulf16s::a#4 ← phi( rotate/(signed word) mulf16s::a#0 rotate::@1/(signed word) mulf16s::a#1 rotate::@2/(signed word) mulf16s::a#2 rotate::@3/(signed word) mulf16s::a#3 ) + [286] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 + [287] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 + [288] call mulf16u + [289] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 to:mulf16s::@5 mulf16s::@5: scope:[mulf16s] from mulf16s - [292] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 - [293] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 + [290] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 + [291] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 to:mulf16s::@3 mulf16s::@3: scope:[mulf16s] from mulf16s::@5 - [294] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 - [295] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 - [296] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 + [292] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 + [293] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 + [294] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 to:mulf16s::@1 mulf16s::@1: scope:[mulf16s] from mulf16s::@3 mulf16s::@5 - [297] (dword) mulf16s::m#5 ← phi( mulf16s::@3/(dword) mulf16s::m#1 mulf16s::@5/(dword) mulf16s::m#0 ) - [298] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 + [295] (dword) mulf16s::m#5 ← phi( mulf16s::@3/(dword) mulf16s::m#1 mulf16s::@5/(dword) mulf16s::m#0 ) + [296] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 to:mulf16s::@4 mulf16s::@4: scope:[mulf16s] from mulf16s::@1 - [299] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 - [300] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 - [301] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 + [297] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 + [298] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 + [299] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 to:mulf16s::@2 mulf16s::@2: scope:[mulf16s] from mulf16s::@1 mulf16s::@4 - [302] (dword) mulf16s::m#4 ← phi( mulf16s::@1/(dword) mulf16s::m#5 mulf16s::@4/(dword) mulf16s::m#2 ) - [303] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 + [300] (dword) mulf16s::m#4 ← phi( mulf16s::@1/(dword) mulf16s::m#5 mulf16s::@4/(dword) mulf16s::m#2 ) + [301] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 to:mulf16s::@return mulf16s::@return: scope:[mulf16s] from mulf16s::@2 - [304] return + [302] return to:@return (word()) abs_u16((word) abs_u16::w) abs_u16: scope:[abs_u16] from bitmap_line bitmap_line::@12 - [305] (word) abs_u16::w#2 ← phi( bitmap_line/(word) abs_u16::w#0 bitmap_line::@12/(word) abs_u16::w#1 ) - [306] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 - [307] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 - [308] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 + [303] (word) abs_u16::w#2 ← phi( bitmap_line/(word) abs_u16::w#0 bitmap_line::@12/(word) abs_u16::w#1 ) + [304] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 + [305] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 + [306] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 to:abs_u16::@return abs_u16::@1: scope:[abs_u16] from abs_u16 - [309] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 + [307] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 to:abs_u16::@return abs_u16::@return: scope:[abs_u16] from abs_u16 abs_u16::@1 - [310] (word) abs_u16::return#4 ← phi( abs_u16::@1/(word) abs_u16::return#2 abs_u16/(word) abs_u16::w#2 ) - [311] return + [308] (word) abs_u16::return#4 ← phi( abs_u16::@1/(word) abs_u16::return#2 abs_u16/(word) abs_u16::w#2 ) + [309] return to:@return (word()) sgn_u16((word) sgn_u16::w) sgn_u16: scope:[sgn_u16] from bitmap_line::@1 bitmap_line::@14 - [312] (word) sgn_u16::w#2 ← phi( bitmap_line::@1/(word) sgn_u16::w#0 bitmap_line::@14/(word) sgn_u16::w#1 ) - [313] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 - [314] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 - [315] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 + [310] (word) sgn_u16::w#2 ← phi( bitmap_line::@1/(word) sgn_u16::w#0 bitmap_line::@14/(word) sgn_u16::w#1 ) + [311] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 + [312] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 + [313] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 to:sgn_u16::@return sgn_u16::@1: scope:[sgn_u16] from sgn_u16 - [316] phi() + [314] phi() to:sgn_u16::@return sgn_u16::@return: scope:[sgn_u16] from sgn_u16 sgn_u16::@1 - [317] (word) sgn_u16::return#4 ← phi( sgn_u16::@1/(byte) -1 sgn_u16/(byte) 1 ) - [318] return + [315] (word) sgn_u16::return#4 ← phi( sgn_u16::@1/(byte) -1 sgn_u16/(byte) 1 ) + [316] return to:@return (void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y) bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_line::@6 bitmap_line::@9 - [319] (word) bitmap_plot::x#4 ← phi( bitmap_line::@3/(word) bitmap_plot::x#2 bitmap_line::@4/(word) bitmap_plot::x#0 bitmap_line::@6/(word) bitmap_plot::x#1 bitmap_line::@9/(word) bitmap_plot::x#3 ) - [319] (byte) bitmap_plot::y#4 ← phi( bitmap_line::@3/(byte) bitmap_plot::y#2 bitmap_line::@4/(byte) bitmap_plot::y#0 bitmap_line::@6/(byte) bitmap_plot::y#1 bitmap_line::@9/(byte) bitmap_plot::y#3 ) - [320] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) - [321] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 - [322] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 - [323] (byte~) bitmap_plot::$1 ← < (word) bitmap_plot::x#4 - [324] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) + [317] (word) bitmap_plot::x#4 ← phi( bitmap_line::@3/(word) bitmap_plot::x#2 bitmap_line::@4/(word) bitmap_plot::x#0 bitmap_line::@6/(word) bitmap_plot::x#1 bitmap_line::@9/(word) bitmap_plot::x#3 ) + [317] (byte) bitmap_plot::y#4 ← phi( bitmap_line::@3/(byte) bitmap_plot::y#2 bitmap_line::@4/(byte) bitmap_plot::y#0 bitmap_line::@6/(byte) bitmap_plot::y#1 bitmap_line::@9/(byte) bitmap_plot::y#3 ) + [318] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) + [319] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 + [320] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 + [321] (byte~) bitmap_plot::$1 ← < (word) bitmap_plot::x#4 + [322] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot - [325] return + [323] return to:@return (dword()) mulf16u((word) mulf16u::a , (word) mulf16u::b) mulf16u: scope:[mulf16u] from mulf16s - [326] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 - [327] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 + [324] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 + [325] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !: } - [329] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) + [327] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) to:mulf16u::@return mulf16u::@return: scope:[mulf16u] from mulf16u - [330] return + [328] return to:@return diff --git a/src/test/ref/complex/splines/truetype-splines.log b/src/test/ref/complex/splines/truetype-splines.log index 5b951825d..4d6c7e9ed 100644 --- a/src/test/ref/complex/splines/truetype-splines.log +++ b/src/test/ref/complex/splines/truetype-splines.log @@ -3392,6 +3392,9 @@ Successful SSA optimization Pass2ConstantInlining Alias show_letter::$21 = show_letter::$19 show_letter::$23 Alias bitmap_plot_spline_8seg::$4 = bitmap_plot_spline_8seg::$3 Successful SSA optimization Pass2AliasElimination +Identified duplicate assignment right side [228] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 +Identified duplicate assignment right side [244] (byte~) show_letter::$18 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 +Successful SSA optimization Pass2DuplicateRValueIdentification Constant (const byte) bitmap_clear::col#0 = WHITE<<4 Successful SSA optimization Pass2ConstantIdentification Constant (const byte) memset::c#0 = bitmap_clear::col#0 @@ -3399,6 +3402,8 @@ Successful SSA optimization Pass2ConstantIdentification Inlining constant with var siblings (const byte) memset::c#0 Constant inlined memset::c#0 = (const byte) bitmap_clear::col#0 Successful SSA optimization Pass2ConstantInlining +Alias show_letter::$17 = show_letter::$16 show_letter::$18 +Successful SSA optimization Pass2AliasElimination Added new block during phi lifting spline_8segB::@3(between spline_8segB::@1 and spline_8segB::@1) Added new block during phi lifting bitmap_init::@8(between bitmap_init::@2 and bitmap_init::@1) Added new block during phi lifting bitmap_init::@9(between bitmap_init::@1 and bitmap_init::@2) @@ -3451,11 +3456,11 @@ Adding NOP phi() at start of sgn_u16::@1 CALL GRAPH Calls in [main] to mulf_init:1 bitmap_init:3 bitmap_clear:5 bitmap_clear:18 show_letter:20 Calls in [bitmap_clear] to memset:106 memset:108 -Calls in [show_letter] to rotate:125 rotate:143 bitmap_line:162 spline_8segB:176 bitmap_plot_spline_8seg:178 -Calls in [rotate] to mulf16s:198 mulf16s:207 mulf16s:217 mulf16s:227 -Calls in [bitmap_line] to abs_u16:241 abs_u16:246 sgn_u16:253 sgn_u16:258 bitmap_plot:271 bitmap_plot:288 bitmap_plot:305 bitmap_plot:326 -Calls in [bitmap_plot_spline_8seg] to bitmap_line:388 -Calls in [mulf16s] to mulf16u:400 +Calls in [show_letter] to rotate:125 rotate:142 bitmap_line:160 spline_8segB:174 bitmap_plot_spline_8seg:176 +Calls in [rotate] to mulf16s:196 mulf16s:205 mulf16s:215 mulf16s:225 +Calls in [bitmap_line] to abs_u16:239 abs_u16:244 sgn_u16:251 sgn_u16:256 bitmap_plot:269 bitmap_plot:286 bitmap_plot:303 bitmap_plot:324 +Calls in [bitmap_plot_spline_8seg] to bitmap_line:386 +Calls in [mulf16s] to mulf16u:398 Created 64 initial phi equivalence classes Coalesced [28] main::angle#10 ← main::angle#1 @@ -3485,83 +3490,83 @@ Coalesced [104] bitmap_init::bits#6 ← bitmap_init::bits#1 Coalesced [122] rotate::angle#5 ← rotate::angle#0 Coalesced [123] rotate::vector_x#6 ← rotate::vector_x#0 Coalesced [124] rotate::vector_y#5 ← rotate::vector_y#0 -Coalesced [140] rotate::angle#6 ← rotate::angle#1 -Coalesced [141] rotate::vector_x#7 ← rotate::vector_x#1 -Coalesced [142] rotate::vector_y#6 ← rotate::vector_y#1 -Coalesced [158] bitmap_line::x#21 ← bitmap_line::x1#0 -Coalesced [159] bitmap_line::y#21 ← bitmap_line::y1#0 -Coalesced [160] bitmap_line::x2#14 ← bitmap_line::x2#0 -Coalesced [161] bitmap_line::y2#14 ← bitmap_line::y2#0 -Coalesced [167] show_letter::i#13 ← show_letter::i#1 -Not coalescing [168] show_letter::current_x#11 ← show_letter::current_x#10 -Not coalescing [169] show_letter::current_y#11 ← show_letter::current_y#10 -Coalesced [191] memset::dst#5 ← memset::dst#1 -Coalesced [196] mulf16s::a#9 ← mulf16s::a#0 -Coalesced [197] mulf16s::b#8 ← mulf16s::b#0 -Coalesced [205] mulf16s::a#10 ← mulf16s::a#1 -Coalesced [206] mulf16s::b#9 ← mulf16s::b#1 -Coalesced [215] mulf16s::a#11 ← mulf16s::a#2 -Coalesced [216] mulf16s::b#10 ← mulf16s::b#2 -Coalesced [225] mulf16s::a#12 ← mulf16s::a#3 -Coalesced [226] mulf16s::b#11 ← mulf16s::b#3 -Coalesced [240] abs_u16::w#5 ← abs_u16::w#0 -Coalesced [245] abs_u16::w#6 ← abs_u16::w#1 -Coalesced [252] sgn_u16::w#3 ← sgn_u16::w#0 -Coalesced [257] sgn_u16::w#4 ← sgn_u16::w#1 -Coalesced [263] bitmap_line::x#22 ← bitmap_line::x#0 -Coalesced [264] bitmap_line::y#22 ← bitmap_line::y#0 -Coalesced [265] bitmap_line::e#7 ← bitmap_line::e#0 -Coalesced [269] bitmap_plot::y#7 ← bitmap_plot::y#1 -Coalesced [270] bitmap_plot::x#7 ← bitmap_plot::x#1 -Coalesced [277] bitmap_line::x#25 ← bitmap_line::x#1 -Coalesced [278] bitmap_line::e#10 ← bitmap_line::e#2 -Coalesced [281] bitmap_line::x#27 ← bitmap_line::x#12 -Coalesced [282] bitmap_line::y#25 ← bitmap_line::y#1 -Coalesced [286] bitmap_plot::y#5 ← bitmap_plot::y#2 -Coalesced [287] bitmap_plot::x#5 ← bitmap_plot::x#2 -Coalesced [291] bitmap_line::x#23 ← bitmap_line::x#12 -Coalesced [292] bitmap_line::y#23 ← bitmap_line::y#1 -Coalesced [293] bitmap_line::e#8 ← bitmap_line::e#6 -Coalesced (already) [294] bitmap_line::x#24 ← bitmap_line::x#13 -Coalesced [295] bitmap_line::e#9 ← bitmap_line::e#1 -Coalesced [297] bitmap_line::x#29 ← bitmap_line::x#0 -Coalesced [298] bitmap_line::y#27 ← bitmap_line::y#0 -Coalesced [299] bitmap_line::e1#8 ← bitmap_line::e1#0 -Coalesced [303] bitmap_plot::y#8 ← bitmap_plot::y#3 -Coalesced [304] bitmap_plot::x#8 ← bitmap_plot::x#3 -Coalesced [311] bitmap_line::y#28 ← bitmap_line::y#2 -Coalesced [312] bitmap_line::e1#9 ← bitmap_line::e1#2 -Coalesced [315] bitmap_line::x#26 ← bitmap_line::x#15 -Coalesced [316] bitmap_line::y#24 ← bitmap_line::y#13 -Coalesced (already) [317] bitmap_line::x#28 ← bitmap_line::x#15 -Coalesced (already) [318] bitmap_line::y#26 ← bitmap_line::y#13 -Coalesced [319] bitmap_line::e1#7 ← bitmap_line::e1#6 -Coalesced (already) [320] bitmap_line::y#29 ← bitmap_line::y#15 -Coalesced [321] bitmap_line::e1#10 ← bitmap_line::e1#1 -Coalesced [324] bitmap_plot::y#6 ← bitmap_plot::y#0 -Coalesced [325] bitmap_plot::x#6 ← bitmap_plot::x#0 -Coalesced [346] spline_8segB::p_x#4 ← spline_8segB::p_x#0 -Coalesced [347] spline_8segB::p_y#4 ← spline_8segB::p_y#0 -Coalesced [348] spline_8segB::i_x#3 ← spline_8segB::i_x#0 -Coalesced [349] spline_8segB::i_y#3 ← spline_8segB::i_y#0 -Coalesced [371] spline_8segB::p_x#5 ← spline_8segB::p_x#1 -Coalesced [372] spline_8segB::p_y#5 ← spline_8segB::p_y#1 -Coalesced [373] spline_8segB::n#3 ← spline_8segB::n#1 -Coalesced [374] spline_8segB::i_x#4 ← spline_8segB::i_x#1 -Coalesced [375] spline_8segB::i_y#4 ← spline_8segB::i_y#1 -Coalesced [378] bitmap_plot_spline_8seg::current_x#3 ← bitmap_plot_spline_8seg::current_x#0 -Coalesced [379] bitmap_plot_spline_8seg::current_y#3 ← bitmap_plot_spline_8seg::current_y#0 -Coalesced [384] bitmap_line::x#20 ← bitmap_line::x1#1 -Coalesced [385] bitmap_line::y#20 ← bitmap_line::y1#1 -Coalesced [394] bitmap_plot_spline_8seg::n#4 ← bitmap_plot_spline_8seg::n#1 -Coalesced [395] bitmap_plot_spline_8seg::current_x#4 ← bitmap_plot_spline_8seg::current_x#1 -Coalesced [396] bitmap_plot_spline_8seg::current_y#4 ← bitmap_plot_spline_8seg::current_y#1 -Coalesced [407] mulf16s::m#7 ← mulf16s::m#1 -Coalesced [413] mulf16s::m#10 ← mulf16s::m#2 -Coalesced [417] mulf16s::m#9 ← mulf16s::m#5 -Coalesced [418] mulf16s::m#8 ← mulf16s::m#0 -Coalesced [423] abs_u16::return#9 ← abs_u16::w#2 -Coalesced [427] abs_u16::return#8 ← abs_u16::return#2 +Coalesced [139] rotate::angle#6 ← rotate::angle#1 +Coalesced [140] rotate::vector_x#7 ← rotate::vector_x#1 +Coalesced [141] rotate::vector_y#6 ← rotate::vector_y#1 +Coalesced [156] bitmap_line::x#21 ← bitmap_line::x1#0 +Coalesced [157] bitmap_line::y#21 ← bitmap_line::y1#0 +Coalesced [158] bitmap_line::x2#14 ← bitmap_line::x2#0 +Coalesced [159] bitmap_line::y2#14 ← bitmap_line::y2#0 +Coalesced [165] show_letter::i#13 ← show_letter::i#1 +Not coalescing [166] show_letter::current_x#11 ← show_letter::current_x#10 +Not coalescing [167] show_letter::current_y#11 ← show_letter::current_y#10 +Coalesced [189] memset::dst#5 ← memset::dst#1 +Coalesced [194] mulf16s::a#9 ← mulf16s::a#0 +Coalesced [195] mulf16s::b#8 ← mulf16s::b#0 +Coalesced [203] mulf16s::a#10 ← mulf16s::a#1 +Coalesced [204] mulf16s::b#9 ← mulf16s::b#1 +Coalesced [213] mulf16s::a#11 ← mulf16s::a#2 +Coalesced [214] mulf16s::b#10 ← mulf16s::b#2 +Coalesced [223] mulf16s::a#12 ← mulf16s::a#3 +Coalesced [224] mulf16s::b#11 ← mulf16s::b#3 +Coalesced [238] abs_u16::w#5 ← abs_u16::w#0 +Coalesced [243] abs_u16::w#6 ← abs_u16::w#1 +Coalesced [250] sgn_u16::w#3 ← sgn_u16::w#0 +Coalesced [255] sgn_u16::w#4 ← sgn_u16::w#1 +Coalesced [261] bitmap_line::x#22 ← bitmap_line::x#0 +Coalesced [262] bitmap_line::y#22 ← bitmap_line::y#0 +Coalesced [263] bitmap_line::e#7 ← bitmap_line::e#0 +Coalesced [267] bitmap_plot::y#7 ← bitmap_plot::y#1 +Coalesced [268] bitmap_plot::x#7 ← bitmap_plot::x#1 +Coalesced [275] bitmap_line::x#25 ← bitmap_line::x#1 +Coalesced [276] bitmap_line::e#10 ← bitmap_line::e#2 +Coalesced [279] bitmap_line::x#27 ← bitmap_line::x#12 +Coalesced [280] bitmap_line::y#25 ← bitmap_line::y#1 +Coalesced [284] bitmap_plot::y#5 ← bitmap_plot::y#2 +Coalesced [285] bitmap_plot::x#5 ← bitmap_plot::x#2 +Coalesced [289] bitmap_line::x#23 ← bitmap_line::x#12 +Coalesced [290] bitmap_line::y#23 ← bitmap_line::y#1 +Coalesced [291] bitmap_line::e#8 ← bitmap_line::e#6 +Coalesced (already) [292] bitmap_line::x#24 ← bitmap_line::x#13 +Coalesced [293] bitmap_line::e#9 ← bitmap_line::e#1 +Coalesced [295] bitmap_line::x#29 ← bitmap_line::x#0 +Coalesced [296] bitmap_line::y#27 ← bitmap_line::y#0 +Coalesced [297] bitmap_line::e1#8 ← bitmap_line::e1#0 +Coalesced [301] bitmap_plot::y#8 ← bitmap_plot::y#3 +Coalesced [302] bitmap_plot::x#8 ← bitmap_plot::x#3 +Coalesced [309] bitmap_line::y#28 ← bitmap_line::y#2 +Coalesced [310] bitmap_line::e1#9 ← bitmap_line::e1#2 +Coalesced [313] bitmap_line::x#26 ← bitmap_line::x#15 +Coalesced [314] bitmap_line::y#24 ← bitmap_line::y#13 +Coalesced (already) [315] bitmap_line::x#28 ← bitmap_line::x#15 +Coalesced (already) [316] bitmap_line::y#26 ← bitmap_line::y#13 +Coalesced [317] bitmap_line::e1#7 ← bitmap_line::e1#6 +Coalesced (already) [318] bitmap_line::y#29 ← bitmap_line::y#15 +Coalesced [319] bitmap_line::e1#10 ← bitmap_line::e1#1 +Coalesced [322] bitmap_plot::y#6 ← bitmap_plot::y#0 +Coalesced [323] bitmap_plot::x#6 ← bitmap_plot::x#0 +Coalesced [344] spline_8segB::p_x#4 ← spline_8segB::p_x#0 +Coalesced [345] spline_8segB::p_y#4 ← spline_8segB::p_y#0 +Coalesced [346] spline_8segB::i_x#3 ← spline_8segB::i_x#0 +Coalesced [347] spline_8segB::i_y#3 ← spline_8segB::i_y#0 +Coalesced [369] spline_8segB::p_x#5 ← spline_8segB::p_x#1 +Coalesced [370] spline_8segB::p_y#5 ← spline_8segB::p_y#1 +Coalesced [371] spline_8segB::n#3 ← spline_8segB::n#1 +Coalesced [372] spline_8segB::i_x#4 ← spline_8segB::i_x#1 +Coalesced [373] spline_8segB::i_y#4 ← spline_8segB::i_y#1 +Coalesced [376] bitmap_plot_spline_8seg::current_x#3 ← bitmap_plot_spline_8seg::current_x#0 +Coalesced [377] bitmap_plot_spline_8seg::current_y#3 ← bitmap_plot_spline_8seg::current_y#0 +Coalesced [382] bitmap_line::x#20 ← bitmap_line::x1#1 +Coalesced [383] bitmap_line::y#20 ← bitmap_line::y1#1 +Coalesced [392] bitmap_plot_spline_8seg::n#4 ← bitmap_plot_spline_8seg::n#1 +Coalesced [393] bitmap_plot_spline_8seg::current_x#4 ← bitmap_plot_spline_8seg::current_x#1 +Coalesced [394] bitmap_plot_spline_8seg::current_y#4 ← bitmap_plot_spline_8seg::current_y#1 +Coalesced [405] mulf16s::m#7 ← mulf16s::m#1 +Coalesced [411] mulf16s::m#10 ← mulf16s::m#2 +Coalesced [415] mulf16s::m#9 ← mulf16s::m#5 +Coalesced [416] mulf16s::m#8 ← mulf16s::m#0 +Coalesced [421] abs_u16::return#9 ← abs_u16::w#2 +Coalesced [425] abs_u16::return#8 ← abs_u16::return#2 Coalesced down to 49 phi equivalence classes Culled Empty Block (label) main::@13 Culled Empty Block (label) main::vicSelectGfxBank1_toDd001_@return @@ -3824,9 +3829,9 @@ show_letter::@1: scope:[show_letter] from show_letter show_letter::@9 [80] (signed word) show_letter::current_x#4 ← phi( show_letter/(signed word) 0 show_letter::@9/(signed word) show_letter::current_x#11 ) [80] (byte) show_letter::i#10 ← phi( show_letter/(byte) 0 show_letter::@9/(byte) show_letter::i#1 ) [81] (byte~) show_letter::$21 ← (byte) show_letter::i#10 << (byte) 3 - [82] (byte~) show_letter::$16 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 - [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$16) - [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$16) + [82] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 + [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$17) + [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) [85] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 [86] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 [87] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1 @@ -3841,410 +3846,408 @@ show_letter::@6: scope:[show_letter] from show_letter::@1 [94] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0 [95] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 [96] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 - [97] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 - [98] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) - [99] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) - [100] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 - [101] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 - [102] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 - [103] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 - [104] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 - [105] call rotate - [106] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 - [107] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 + [97] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) + [98] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) + [99] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 + [100] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 + [101] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 + [102] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 + [103] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 + [104] call rotate + [105] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 + [106] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 to:show_letter::@7 show_letter::@7: scope:[show_letter] from show_letter::@6 - [108] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 - [109] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 - [110] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 - [111] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 - [112] (byte~) show_letter::$18 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 - [113] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$18) - [114] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 + [107] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 + [108] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 + [109] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 + [110] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 + [111] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$17) + [112] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 to:show_letter::@4 show_letter::@4: scope:[show_letter] from show_letter::@7 - [115] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 + [113] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 to:show_letter::@5 show_letter::@5: scope:[show_letter] from show_letter::@4 - [116] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 - [117] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 - [118] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 - [119] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 - [120] call bitmap_line + [114] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 + [115] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 + [116] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 + [117] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 + [118] call bitmap_line to:show_letter::@3 show_letter::@3: scope:[show_letter] from show_letter::@5 show_letter::@7 show_letter::@8 - [121] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 - [122] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 + [119] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 + [120] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 to:show_letter::@return show_letter::@return: scope:[show_letter] from show_letter::@3 - [123] return + [121] return to:@return show_letter::@9: scope:[show_letter] from show_letter::@3 - [124] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 - [125] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 + [122] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 + [123] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 to:show_letter::@1 show_letter::@2: scope:[show_letter] from show_letter::@4 - [126] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 - [127] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 - [128] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 - [129] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 - [130] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 - [131] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 - [132] call spline_8segB + [124] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 + [125] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 + [126] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 + [127] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 + [128] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 + [129] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 + [130] call spline_8segB to:show_letter::@8 show_letter::@8: scope:[show_letter] from show_letter::@2 - [133] phi() - [134] call bitmap_plot_spline_8seg + [131] phi() + [132] call bitmap_plot_spline_8seg to:show_letter::@3 (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) memset: scope:[memset] from bitmap_clear bitmap_clear::@1 - [135] (byte) memset::c#4 ← phi( bitmap_clear/(const byte) bitmap_clear::col#0 bitmap_clear::@1/(byte) 0 ) - [135] (void*) memset::str#3 ← phi( bitmap_clear/(void*)(const nomodify byte*) BITMAP_SCREEN bitmap_clear::@1/(void*)(const nomodify byte*) BITMAP_GRAPHICS ) - [135] (word) memset::num#2 ← phi( bitmap_clear/(word) $3e8 bitmap_clear::@1/(word) $1f40 ) - [136] if((word) memset::num#2<=(byte) 0) goto memset::@return + [133] (byte) memset::c#4 ← phi( bitmap_clear/(const byte) bitmap_clear::col#0 bitmap_clear::@1/(byte) 0 ) + [133] (void*) memset::str#3 ← phi( bitmap_clear/(void*)(const nomodify byte*) BITMAP_SCREEN bitmap_clear::@1/(void*)(const nomodify byte*) BITMAP_GRAPHICS ) + [133] (word) memset::num#2 ← phi( bitmap_clear/(word) $3e8 bitmap_clear::@1/(word) $1f40 ) + [134] if((word) memset::num#2<=(byte) 0) goto memset::@return to:memset::@1 memset::@1: scope:[memset] from memset - [137] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 - [138] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 + [135] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 + [136] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 to:memset::@2 memset::@2: scope:[memset] from memset::@1 memset::@3 - [139] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) - [140] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 + [137] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) + [138] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 to:memset::@return memset::@return: scope:[memset] from memset memset::@2 - [141] return + [139] return to:@return memset::@3: scope:[memset] from memset::@2 - [142] *((byte*) memset::dst#2) ← (byte) memset::c#4 - [143] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + [140] *((byte*) memset::dst#2) ← (byte) memset::c#4 + [141] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 to:memset::@2 (struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle) rotate: scope:[rotate] from show_letter::@1 show_letter::@6 - [144] (signed word) rotate::vector_y#2 ← phi( show_letter::@1/(signed word) rotate::vector_y#0 show_letter::@6/(signed word) rotate::vector_y#1 ) - [144] (signed word) rotate::vector_x#2 ← phi( show_letter::@1/(signed word) rotate::vector_x#0 show_letter::@6/(signed word) rotate::vector_x#1 ) - [144] (byte) rotate::angle#2 ← phi( show_letter::@1/(byte) rotate::angle#0 show_letter::@6/(byte) rotate::angle#1 ) - [145] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) - [146] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 - [147] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 - [148] call mulf16s - [149] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 + [142] (signed word) rotate::vector_y#2 ← phi( show_letter::@1/(signed word) rotate::vector_y#0 show_letter::@6/(signed word) rotate::vector_y#1 ) + [142] (signed word) rotate::vector_x#2 ← phi( show_letter::@1/(signed word) rotate::vector_x#0 show_letter::@6/(signed word) rotate::vector_x#1 ) + [142] (byte) rotate::angle#2 ← phi( show_letter::@1/(byte) rotate::angle#0 show_letter::@6/(byte) rotate::angle#1 ) + [143] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) + [144] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 + [145] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 + [146] call mulf16s + [147] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 to:rotate::@1 rotate::@1: scope:[rotate] from rotate - [150] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 - [151] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 - [152] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 - [153] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 - [154] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 - [155] call mulf16s - [156] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 + [148] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 + [149] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 + [150] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 + [151] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 + [152] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 + [153] call mulf16s + [154] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 to:rotate::@2 rotate::@2: scope:[rotate] from rotate::@1 - [157] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 - [158] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 - [159] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 - [160] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) - [161] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 - [162] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 - [163] call mulf16s - [164] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 + [155] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 + [156] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 + [157] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 + [158] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) + [159] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 + [160] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 + [161] call mulf16s + [162] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 to:rotate::@3 rotate::@3: scope:[rotate] from rotate::@2 - [165] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 - [166] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 - [167] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 - [168] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 - [169] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 - [170] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 - [171] call mulf16s - [172] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 + [163] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 + [164] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 + [165] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 + [166] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 + [167] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 + [168] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 + [169] call mulf16s + [170] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 to:rotate::@4 rotate::@4: scope:[rotate] from rotate::@3 - [173] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 - [174] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 - [175] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 - [176] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 - [177] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 - [178] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 - [179] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 - [180] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 + [171] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 + [172] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 + [173] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 + [174] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 + [175] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 + [176] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 + [177] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 + [178] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 to:rotate::@return rotate::@return: scope:[rotate] from rotate::@4 - [181] return + [179] return to:@return (void()) bitmap_line((word) bitmap_line::x1 , (word) bitmap_line::y1 , (word) bitmap_line::x2 , (word) bitmap_line::y2) bitmap_line: scope:[bitmap_line] from bitmap_plot_spline_8seg::@1 show_letter::@5 - [182] (word) bitmap_line::y2#11 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y2#13 show_letter::@5/(word) bitmap_line::y2#0 ) - [182] (word) bitmap_line::x2#10 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x2#13 show_letter::@5/(word) bitmap_line::x2#0 ) - [182] (word) bitmap_line::y#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y1#1 show_letter::@5/(word) bitmap_line::y1#0 ) - [182] (word) bitmap_line::x#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x1#1 show_letter::@5/(word) bitmap_line::x1#0 ) - [183] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 - [184] call abs_u16 - [185] (word) abs_u16::return#0 ← (word) abs_u16::return#4 + [180] (word) bitmap_line::y2#11 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y2#13 show_letter::@5/(word) bitmap_line::y2#0 ) + [180] (word) bitmap_line::x2#10 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x2#13 show_letter::@5/(word) bitmap_line::x2#0 ) + [180] (word) bitmap_line::y#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::y1#1 show_letter::@5/(word) bitmap_line::y1#0 ) + [180] (word) bitmap_line::x#0 ← phi( bitmap_plot_spline_8seg::@1/(word) bitmap_line::x1#1 show_letter::@5/(word) bitmap_line::x1#0 ) + [181] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 + [182] call abs_u16 + [183] (word) abs_u16::return#0 ← (word) abs_u16::return#4 to:bitmap_line::@12 bitmap_line::@12: scope:[bitmap_line] from bitmap_line - [186] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 - [187] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 - [188] call abs_u16 - [189] (word) abs_u16::return#1 ← (word) abs_u16::return#4 + [184] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 + [185] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 + [186] call abs_u16 + [187] (word) abs_u16::return#1 ← (word) abs_u16::return#4 to:bitmap_line::@13 bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@12 - [190] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 - [191] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 + [188] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 + [189] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 to:bitmap_line::@18 bitmap_line::@18: scope:[bitmap_line] from bitmap_line::@13 - [192] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 + [190] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 to:bitmap_line::@1 bitmap_line::@1: scope:[bitmap_line] from bitmap_line::@13 bitmap_line::@18 - [193] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 - [194] call sgn_u16 - [195] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 + [191] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 + [192] call sgn_u16 + [193] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 to:bitmap_line::@14 bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@1 - [196] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 - [197] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 - [198] call sgn_u16 - [199] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 + [194] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 + [195] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 + [196] call sgn_u16 + [197] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 to:bitmap_line::@15 bitmap_line::@15: scope:[bitmap_line] from bitmap_line::@14 - [200] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 - [201] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 + [198] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 + [199] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 to:bitmap_line::@5 bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@15 - [202] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 + [200] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 to:bitmap_line::@6 bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5 bitmap_line::@7 - [203] (word) bitmap_line::e#3 ← phi( bitmap_line::@5/(word) bitmap_line::e#0 bitmap_line::@7/(word) bitmap_line::e#6 ) - [203] (word) bitmap_line::y#4 ← phi( bitmap_line::@5/(word) bitmap_line::y#0 bitmap_line::@7/(word) bitmap_line::y#1 ) - [203] (word) bitmap_line::x#13 ← phi( bitmap_line::@5/(word) bitmap_line::x#0 bitmap_line::@7/(word) bitmap_line::x#12 ) - [204] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 - [205] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 - [206] call bitmap_plot + [201] (word) bitmap_line::e#3 ← phi( bitmap_line::@5/(word) bitmap_line::e#0 bitmap_line::@7/(word) bitmap_line::e#6 ) + [201] (word) bitmap_line::y#4 ← phi( bitmap_line::@5/(word) bitmap_line::y#0 bitmap_line::@7/(word) bitmap_line::y#1 ) + [201] (word) bitmap_line::x#13 ← phi( bitmap_line::@5/(word) bitmap_line::x#0 bitmap_line::@7/(word) bitmap_line::x#12 ) + [202] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 + [203] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 + [204] call bitmap_plot to:bitmap_line::@16 bitmap_line::@16: scope:[bitmap_line] from bitmap_line::@6 - [207] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 - [208] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 - [209] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 + [205] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 + [206] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 + [207] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 to:bitmap_line::@8 bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@16 - [210] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 - [211] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 + [208] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 + [209] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 to:bitmap_line::@7 bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@16 bitmap_line::@8 - [212] (word) bitmap_line::e#6 ← phi( bitmap_line::@16/(word) bitmap_line::e#1 bitmap_line::@8/(word) bitmap_line::e#2 ) - [212] (word) bitmap_line::x#12 ← phi( bitmap_line::@16/(word) bitmap_line::x#13 bitmap_line::@8/(word) bitmap_line::x#1 ) - [213] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 + [210] (word) bitmap_line::e#6 ← phi( bitmap_line::@16/(word) bitmap_line::e#1 bitmap_line::@8/(word) bitmap_line::e#2 ) + [210] (word) bitmap_line::x#12 ← phi( bitmap_line::@16/(word) bitmap_line::x#13 bitmap_line::@8/(word) bitmap_line::x#1 ) + [211] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 to:bitmap_line::@3 bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@7 - [214] (word) bitmap_line::y#7 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@7/(word) bitmap_line::y#1 ) - [214] (word) bitmap_line::x#6 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@7/(word) bitmap_line::x#12 ) - [215] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 - [216] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 - [217] call bitmap_plot + [212] (word) bitmap_line::y#7 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@7/(word) bitmap_line::y#1 ) + [212] (word) bitmap_line::x#6 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@7/(word) bitmap_line::x#12 ) + [213] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 + [214] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 + [215] call bitmap_plot to:bitmap_line::@return bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@3 bitmap_line::@4 - [218] return + [216] return to:@return bitmap_line::@2: scope:[bitmap_line] from bitmap_line::@15 - [219] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 + [217] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 to:bitmap_line::@9 bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@2 - [220] (word) bitmap_line::e1#3 ← phi( bitmap_line::@10/(word) bitmap_line::e1#6 bitmap_line::@2/(word) bitmap_line::e1#0 ) - [220] (word) bitmap_line::y#15 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@2/(word) bitmap_line::y#0 ) - [220] (word) bitmap_line::x#7 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@2/(word) bitmap_line::x#0 ) - [221] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 - [222] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 - [223] call bitmap_plot + [218] (word) bitmap_line::e1#3 ← phi( bitmap_line::@10/(word) bitmap_line::e1#6 bitmap_line::@2/(word) bitmap_line::e1#0 ) + [218] (word) bitmap_line::y#15 ← phi( bitmap_line::@10/(word) bitmap_line::y#13 bitmap_line::@2/(word) bitmap_line::y#0 ) + [218] (word) bitmap_line::x#7 ← phi( bitmap_line::@10/(word) bitmap_line::x#15 bitmap_line::@2/(word) bitmap_line::x#0 ) + [219] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 + [220] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 + [221] call bitmap_plot to:bitmap_line::@17 bitmap_line::@17: scope:[bitmap_line] from bitmap_line::@9 - [224] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 - [225] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 - [226] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 + [222] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 + [223] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 + [224] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 to:bitmap_line::@11 bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@17 - [227] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 - [228] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 + [225] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 + [226] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 to:bitmap_line::@10 bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@11 bitmap_line::@17 - [229] (word) bitmap_line::e1#6 ← phi( bitmap_line::@11/(word) bitmap_line::e1#2 bitmap_line::@17/(word) bitmap_line::e1#1 ) - [229] (word) bitmap_line::y#13 ← phi( bitmap_line::@11/(word) bitmap_line::y#2 bitmap_line::@17/(word) bitmap_line::y#15 ) - [230] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 + [227] (word) bitmap_line::e1#6 ← phi( bitmap_line::@11/(word) bitmap_line::e1#2 bitmap_line::@17/(word) bitmap_line::e1#1 ) + [227] (word) bitmap_line::y#13 ← phi( bitmap_line::@11/(word) bitmap_line::y#2 bitmap_line::@17/(word) bitmap_line::y#15 ) + [228] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 to:bitmap_line::@3 bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@18 - [231] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 - [232] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 - [233] call bitmap_plot + [229] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 + [230] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 + [231] call bitmap_plot to:bitmap_line::@return (void()) spline_8segB((signed word) spline_8segB::p0_x , (signed word) spline_8segB::p0_y , (signed word) spline_8segB::p1_x , (signed word) spline_8segB::p1_y , (signed word) spline_8segB::p2_x , (signed word) spline_8segB::p2_y) spline_8segB: scope:[spline_8segB] from show_letter::@2 - [234] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 - [235] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 - [236] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 - [237] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 - [238] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 - [239] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 - [240] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 - [241] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 - [242] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 - [243] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 - [244] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 - [245] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 - [246] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 - [247] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 - [248] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 - [249] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 - [250] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 - [251] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 + [232] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 + [233] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 + [234] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 + [235] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 + [236] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 + [237] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 + [238] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 + [239] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 + [240] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 + [241] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 + [242] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 + [243] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 + [244] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 + [245] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 + [246] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 + [247] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 + [248] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 + [249] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 to:spline_8segB::@1 spline_8segB::@1: scope:[spline_8segB] from spline_8segB spline_8segB::@1 - [252] (signed word) spline_8segB::i_y#2 ← phi( spline_8segB/(signed word) spline_8segB::i_y#0 spline_8segB::@1/(signed word) spline_8segB::i_y#1 ) - [252] (signed word) spline_8segB::i_x#2 ← phi( spline_8segB/(signed word) spline_8segB::i_x#0 spline_8segB::@1/(signed word) spline_8segB::i_x#1 ) - [252] (byte) spline_8segB::n#2 ← phi( spline_8segB/(byte) 0 spline_8segB::@1/(byte) spline_8segB::n#1 ) - [252] (signed word) spline_8segB::p_y#2 ← phi( spline_8segB/(signed word) spline_8segB::p_y#0 spline_8segB::@1/(signed word) spline_8segB::p_y#1 ) - [252] (signed word) spline_8segB::p_x#2 ← phi( spline_8segB/(signed word) spline_8segB::p_x#0 spline_8segB::@1/(signed word) spline_8segB::p_x#1 ) - [253] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 - [254] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 - [255] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 - [256] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 - [257] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 - [258] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 - [259] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 - [260] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 - [261] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 - [262] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 - [263] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 - [264] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 - [265] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 + [250] (signed word) spline_8segB::i_y#2 ← phi( spline_8segB/(signed word) spline_8segB::i_y#0 spline_8segB::@1/(signed word) spline_8segB::i_y#1 ) + [250] (signed word) spline_8segB::i_x#2 ← phi( spline_8segB/(signed word) spline_8segB::i_x#0 spline_8segB::@1/(signed word) spline_8segB::i_x#1 ) + [250] (byte) spline_8segB::n#2 ← phi( spline_8segB/(byte) 0 spline_8segB::@1/(byte) spline_8segB::n#1 ) + [250] (signed word) spline_8segB::p_y#2 ← phi( spline_8segB/(signed word) spline_8segB::p_y#0 spline_8segB::@1/(signed word) spline_8segB::p_y#1 ) + [250] (signed word) spline_8segB::p_x#2 ← phi( spline_8segB/(signed word) spline_8segB::p_x#0 spline_8segB::@1/(signed word) spline_8segB::p_x#1 ) + [251] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 + [252] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 + [253] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 + [254] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 + [255] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 + [256] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 + [257] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 + [258] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 + [259] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 + [260] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 + [261] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 + [262] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 + [263] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 to:spline_8segB::@2 spline_8segB::@2: scope:[spline_8segB] from spline_8segB::@1 - [266] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 - [267] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 - [268] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 - [269] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 - [270] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 - [271] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 + [264] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 + [265] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 + [266] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 + [267] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 + [268] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 + [269] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 to:spline_8segB::@return spline_8segB::@return: scope:[spline_8segB] from spline_8segB::@2 - [272] return + [270] return to:@return (void()) bitmap_plot_spline_8seg() bitmap_plot_spline_8seg: scope:[bitmap_plot_spline_8seg] from show_letter::@8 - [273] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) - [274] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) + [271] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) + [272] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) to:bitmap_plot_spline_8seg::@1 bitmap_plot_spline_8seg::@1: scope:[bitmap_plot_spline_8seg] from bitmap_plot_spline_8seg bitmap_plot_spline_8seg::@2 - [275] (signed word) bitmap_plot_spline_8seg::current_y#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_y#1 ) - [275] (signed word) bitmap_plot_spline_8seg::current_x#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_x#1 ) - [275] (byte) bitmap_plot_spline_8seg::n#2 ← phi( bitmap_plot_spline_8seg/(byte) 1 bitmap_plot_spline_8seg::@2/(byte) bitmap_plot_spline_8seg::n#1 ) - [276] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 - [277] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 - [278] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 - [279] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) - [280] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) - [281] call bitmap_line + [273] (signed word) bitmap_plot_spline_8seg::current_y#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_y#1 ) + [273] (signed word) bitmap_plot_spline_8seg::current_x#2 ← phi( bitmap_plot_spline_8seg/(signed word) bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::@2/(signed word) bitmap_plot_spline_8seg::current_x#1 ) + [273] (byte) bitmap_plot_spline_8seg::n#2 ← phi( bitmap_plot_spline_8seg/(byte) 1 bitmap_plot_spline_8seg::@2/(byte) bitmap_plot_spline_8seg::n#1 ) + [274] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 + [275] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 + [276] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 + [277] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) + [278] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) + [279] call bitmap_line to:bitmap_plot_spline_8seg::@2 bitmap_plot_spline_8seg::@2: scope:[bitmap_plot_spline_8seg] from bitmap_plot_spline_8seg::@1 - [282] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) - [283] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) - [284] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 - [285] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 + [280] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) + [281] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) + [282] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 + [283] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 to:bitmap_plot_spline_8seg::@return bitmap_plot_spline_8seg::@return: scope:[bitmap_plot_spline_8seg] from bitmap_plot_spline_8seg::@2 - [286] return + [284] return to:@return (signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b) mulf16s: scope:[mulf16s] from rotate rotate::@1 rotate::@2 rotate::@3 - [287] (signed word) mulf16s::b#4 ← phi( rotate/(signed word) mulf16s::b#0 rotate::@1/(signed word) mulf16s::b#1 rotate::@2/(signed word) mulf16s::b#2 rotate::@3/(signed word) mulf16s::b#3 ) - [287] (signed word) mulf16s::a#4 ← phi( rotate/(signed word) mulf16s::a#0 rotate::@1/(signed word) mulf16s::a#1 rotate::@2/(signed word) mulf16s::a#2 rotate::@3/(signed word) mulf16s::a#3 ) - [288] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 - [289] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 - [290] call mulf16u - [291] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 + [285] (signed word) mulf16s::b#4 ← phi( rotate/(signed word) mulf16s::b#0 rotate::@1/(signed word) mulf16s::b#1 rotate::@2/(signed word) mulf16s::b#2 rotate::@3/(signed word) mulf16s::b#3 ) + [285] (signed word) mulf16s::a#4 ← phi( rotate/(signed word) mulf16s::a#0 rotate::@1/(signed word) mulf16s::a#1 rotate::@2/(signed word) mulf16s::a#2 rotate::@3/(signed word) mulf16s::a#3 ) + [286] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 + [287] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 + [288] call mulf16u + [289] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 to:mulf16s::@5 mulf16s::@5: scope:[mulf16s] from mulf16s - [292] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 - [293] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 + [290] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 + [291] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 to:mulf16s::@3 mulf16s::@3: scope:[mulf16s] from mulf16s::@5 - [294] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 - [295] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 - [296] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 + [292] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 + [293] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 + [294] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 to:mulf16s::@1 mulf16s::@1: scope:[mulf16s] from mulf16s::@3 mulf16s::@5 - [297] (dword) mulf16s::m#5 ← phi( mulf16s::@3/(dword) mulf16s::m#1 mulf16s::@5/(dword) mulf16s::m#0 ) - [298] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 + [295] (dword) mulf16s::m#5 ← phi( mulf16s::@3/(dword) mulf16s::m#1 mulf16s::@5/(dword) mulf16s::m#0 ) + [296] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 to:mulf16s::@4 mulf16s::@4: scope:[mulf16s] from mulf16s::@1 - [299] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 - [300] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 - [301] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 + [297] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 + [298] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 + [299] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 to:mulf16s::@2 mulf16s::@2: scope:[mulf16s] from mulf16s::@1 mulf16s::@4 - [302] (dword) mulf16s::m#4 ← phi( mulf16s::@1/(dword) mulf16s::m#5 mulf16s::@4/(dword) mulf16s::m#2 ) - [303] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 + [300] (dword) mulf16s::m#4 ← phi( mulf16s::@1/(dword) mulf16s::m#5 mulf16s::@4/(dword) mulf16s::m#2 ) + [301] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 to:mulf16s::@return mulf16s::@return: scope:[mulf16s] from mulf16s::@2 - [304] return + [302] return to:@return (word()) abs_u16((word) abs_u16::w) abs_u16: scope:[abs_u16] from bitmap_line bitmap_line::@12 - [305] (word) abs_u16::w#2 ← phi( bitmap_line/(word) abs_u16::w#0 bitmap_line::@12/(word) abs_u16::w#1 ) - [306] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 - [307] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 - [308] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 + [303] (word) abs_u16::w#2 ← phi( bitmap_line/(word) abs_u16::w#0 bitmap_line::@12/(word) abs_u16::w#1 ) + [304] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 + [305] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 + [306] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 to:abs_u16::@return abs_u16::@1: scope:[abs_u16] from abs_u16 - [309] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 + [307] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 to:abs_u16::@return abs_u16::@return: scope:[abs_u16] from abs_u16 abs_u16::@1 - [310] (word) abs_u16::return#4 ← phi( abs_u16::@1/(word) abs_u16::return#2 abs_u16/(word) abs_u16::w#2 ) - [311] return + [308] (word) abs_u16::return#4 ← phi( abs_u16::@1/(word) abs_u16::return#2 abs_u16/(word) abs_u16::w#2 ) + [309] return to:@return (word()) sgn_u16((word) sgn_u16::w) sgn_u16: scope:[sgn_u16] from bitmap_line::@1 bitmap_line::@14 - [312] (word) sgn_u16::w#2 ← phi( bitmap_line::@1/(word) sgn_u16::w#0 bitmap_line::@14/(word) sgn_u16::w#1 ) - [313] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 - [314] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 - [315] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 + [310] (word) sgn_u16::w#2 ← phi( bitmap_line::@1/(word) sgn_u16::w#0 bitmap_line::@14/(word) sgn_u16::w#1 ) + [311] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 + [312] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 + [313] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 to:sgn_u16::@return sgn_u16::@1: scope:[sgn_u16] from sgn_u16 - [316] phi() + [314] phi() to:sgn_u16::@return sgn_u16::@return: scope:[sgn_u16] from sgn_u16 sgn_u16::@1 - [317] (word) sgn_u16::return#4 ← phi( sgn_u16::@1/(byte) -1 sgn_u16/(byte) 1 ) - [318] return + [315] (word) sgn_u16::return#4 ← phi( sgn_u16::@1/(byte) -1 sgn_u16/(byte) 1 ) + [316] return to:@return (void()) bitmap_plot((word) bitmap_plot::x , (byte) bitmap_plot::y) bitmap_plot: scope:[bitmap_plot] from bitmap_line::@3 bitmap_line::@4 bitmap_line::@6 bitmap_line::@9 - [319] (word) bitmap_plot::x#4 ← phi( bitmap_line::@3/(word) bitmap_plot::x#2 bitmap_line::@4/(word) bitmap_plot::x#0 bitmap_line::@6/(word) bitmap_plot::x#1 bitmap_line::@9/(word) bitmap_plot::x#3 ) - [319] (byte) bitmap_plot::y#4 ← phi( bitmap_line::@3/(byte) bitmap_plot::y#2 bitmap_line::@4/(byte) bitmap_plot::y#0 bitmap_line::@6/(byte) bitmap_plot::y#1 bitmap_line::@9/(byte) bitmap_plot::y#3 ) - [320] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) - [321] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 - [322] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 - [323] (byte~) bitmap_plot::$1 ← < (word) bitmap_plot::x#4 - [324] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) + [317] (word) bitmap_plot::x#4 ← phi( bitmap_line::@3/(word) bitmap_plot::x#2 bitmap_line::@4/(word) bitmap_plot::x#0 bitmap_line::@6/(word) bitmap_plot::x#1 bitmap_line::@9/(word) bitmap_plot::x#3 ) + [317] (byte) bitmap_plot::y#4 ← phi( bitmap_line::@3/(byte) bitmap_plot::y#2 bitmap_line::@4/(byte) bitmap_plot::y#0 bitmap_line::@6/(byte) bitmap_plot::y#1 bitmap_line::@9/(byte) bitmap_plot::y#3 ) + [318] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) + [319] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 + [320] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 + [321] (byte~) bitmap_plot::$1 ← < (word) bitmap_plot::x#4 + [322] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot - [325] return + [323] return to:@return (dword()) mulf16u((word) mulf16u::a , (word) mulf16u::b) mulf16u: scope:[mulf16u] from mulf16s - [326] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 - [327] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 + [324] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 + [325] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !: } - [329] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) + [327] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) to:mulf16u::@return mulf16u::@return: scope:[mulf16u] from mulf16u - [330] return + [328] return to:@return null depth in calling loop Loop head: bitmap_plot_spline_8seg::@1 tails: bitmap_plot_spline_8seg::@2 blocks: bitmap_plot_spline_8seg::@2 bitmap_plot_spline_8seg::@1 in scope bitmap_line @@ -4619,23 +4622,21 @@ VARIABLE REGISTER WEIGHTS (word) sgn_u16::w#1 2.000000002E9 (word) sgn_u16::w#2 1.2000000003E10 (void()) show_letter((byte) show_letter::angle) -(byte~) show_letter::$16 15001.5 -(byte~) show_letter::$17 15001.5 -(byte~) show_letter::$18 20002.0 -(byte~) show_letter::$21 1290.4516129032259 +(byte~) show_letter::$17 2069.1724137931037 +(byte~) show_letter::$21 20002.0 (byte) show_letter::angle -(byte) show_letter::angle#0 357.375 +(byte) show_letter::angle#0 370.6111111111111 (signed word) show_letter::current_x -(signed word) show_letter::current_x#10 810.8918918918919 +(signed word) show_letter::current_x#10 857.2285714285714 (signed word) show_letter::current_x#11 10001.0 -(signed word) show_letter::current_x#4 555.6111111111111 +(signed word) show_letter::current_x#4 588.2941176470588 (signed word) show_letter::current_y -(signed word) show_letter::current_y#10 810.8918918918919 +(signed word) show_letter::current_y#10 857.2285714285714 (signed word) show_letter::current_y#11 20002.0 -(signed word) show_letter::current_y#4 526.3684210526316 +(signed word) show_letter::current_y#4 555.6111111111111 (byte) show_letter::i (byte) show_letter::i#1 7500.75 -(byte) show_letter::i#10 1200.1200000000001 +(byte) show_letter::i#10 833.4166666666666 (struct SplineVector16) show_letter::segment_to (signed word) show_letter::segment_to_x (signed word) show_letter::segment_to_y @@ -4643,9 +4644,9 @@ VARIABLE REGISTER WEIGHTS (byte) show_letter::segment_type#0 15001.5 (struct SplineVector16) show_letter::segment_via (signed word) show_letter::segment_via_x -(signed word) show_letter::segment_via_x#0 2500.25 +(signed word) show_letter::segment_via_x#0 2857.4285714285716 (signed word) show_letter::segment_via_y -(signed word) show_letter::segment_via_y#0 2500.25 +(signed word) show_letter::segment_via_y#0 2857.4285714285716 (signed word) show_letter::to_x (signed word) show_letter::to_x#0 10001.0 (signed word) show_letter::to_x#1 10001.0 @@ -4784,7 +4785,7 @@ Added variable bitmap_init::$4 to live range equivalence class [ bitmap_init::$4 Added variable bitmap_init::$5 to live range equivalence class [ bitmap_init::$5 ] Added variable bitmap_init::$6 to live range equivalence class [ bitmap_init::$6 ] Added variable show_letter::$21 to live range equivalence class [ show_letter::$21 ] -Added variable show_letter::$16 to live range equivalence class [ show_letter::$16 ] +Added variable show_letter::$17 to live range equivalence class [ show_letter::$17 ] Added variable show_letter::to_x#0 to live range equivalence class [ show_letter::to_x#0 ] Added variable show_letter::to_y#0 to live range equivalence class [ show_letter::to_y#0 ] Added variable show_letter::to_x#1 to live range equivalence class [ show_letter::to_x#1 ] @@ -4795,7 +4796,6 @@ Added variable show_letter::to_x#2 to live range equivalence class [ show_letter Added variable show_letter::to_y#2 to live range equivalence class [ show_letter::to_y#2 ] Added variable show_letter::current_x#10 to live range equivalence class [ show_letter::current_x#10 ] Added variable show_letter::current_y#10 to live range equivalence class [ show_letter::current_y#10 ] -Added variable show_letter::$17 to live range equivalence class [ show_letter::$17 ] Added variable show_letter::via_x#0 to live range equivalence class [ show_letter::via_x#0 ] Added variable show_letter::via_y#0 to live range equivalence class [ show_letter::via_y#0 ] Added variable show_letter::via_x#1 to live range equivalence class [ show_letter::via_x#1 ] @@ -4806,7 +4806,6 @@ Added variable show_letter::via_x#2 to live range equivalence class [ show_lette Added variable show_letter::via_y#2 to live range equivalence class [ show_letter::via_y#2 ] Added variable show_letter::segment_via_x#0 to live range equivalence class [ show_letter::segment_via_x#0 ] Added variable show_letter::segment_via_y#0 to live range equivalence class [ show_letter::segment_via_y#0 ] -Added variable show_letter::$18 to live range equivalence class [ show_letter::$18 ] Added variable show_letter::segment_type#0 to live range equivalence class [ show_letter::segment_type#0 ] Added variable spline_8segB::p0_x#0 to live range equivalence class [ spline_8segB::p0_x#0 ] Added variable spline_8segB::p0_y#0 to live range equivalence class [ spline_8segB::p0_y#0 ] @@ -4945,7 +4944,7 @@ Complete equivalence classes [ bitmap_init::$5 ] [ bitmap_init::$6 ] [ show_letter::$21 ] -[ show_letter::$16 ] +[ show_letter::$17 ] [ show_letter::to_x#0 ] [ show_letter::to_y#0 ] [ show_letter::to_x#1 ] @@ -4956,7 +4955,6 @@ Complete equivalence classes [ show_letter::to_y#2 ] [ show_letter::current_x#10 ] [ show_letter::current_y#10 ] -[ show_letter::$17 ] [ show_letter::via_x#0 ] [ show_letter::via_y#0 ] [ show_letter::via_x#1 ] @@ -4967,7 +4965,6 @@ Complete equivalence classes [ show_letter::via_y#2 ] [ show_letter::segment_via_x#0 ] [ show_letter::segment_via_y#0 ] -[ show_letter::$18 ] [ show_letter::segment_type#0 ] [ spline_8segB::p0_x#0 ] [ spline_8segB::p0_y#0 ] @@ -5105,7 +5102,7 @@ Allocated zp[1]:88 [ bitmap_init::$4 ] Allocated zp[1]:89 [ bitmap_init::$5 ] Allocated zp[1]:90 [ bitmap_init::$6 ] Allocated zp[1]:91 [ show_letter::$21 ] -Allocated zp[1]:92 [ show_letter::$16 ] +Allocated zp[1]:92 [ show_letter::$17 ] Allocated zp[2]:93 [ show_letter::to_x#0 ] Allocated zp[2]:95 [ show_letter::to_y#0 ] Allocated zp[2]:97 [ show_letter::to_x#1 ] @@ -5116,99 +5113,97 @@ Allocated zp[2]:105 [ show_letter::to_x#2 ] Allocated zp[2]:107 [ show_letter::to_y#2 ] Allocated zp[2]:109 [ show_letter::current_x#10 ] Allocated zp[2]:111 [ show_letter::current_y#10 ] -Allocated zp[1]:113 [ show_letter::$17 ] -Allocated zp[2]:114 [ show_letter::via_x#0 ] -Allocated zp[2]:116 [ show_letter::via_y#0 ] -Allocated zp[2]:118 [ show_letter::via_x#1 ] -Allocated zp[2]:120 [ show_letter::via_y#1 ] -Allocated zp[2]:122 [ rotate::return_x#1 ] -Allocated zp[2]:124 [ rotate::return_y#1 ] -Allocated zp[2]:126 [ show_letter::via_x#2 ] -Allocated zp[2]:128 [ show_letter::via_y#2 ] -Allocated zp[2]:130 [ show_letter::segment_via_x#0 ] -Allocated zp[2]:132 [ show_letter::segment_via_y#0 ] -Allocated zp[1]:134 [ show_letter::$18 ] -Allocated zp[1]:135 [ show_letter::segment_type#0 ] -Allocated zp[2]:136 [ spline_8segB::p0_x#0 ] -Allocated zp[2]:138 [ spline_8segB::p0_y#0 ] -Allocated zp[2]:140 [ spline_8segB::p1_x#0 ] -Allocated zp[2]:142 [ spline_8segB::p1_y#0 ] -Allocated zp[2]:144 [ spline_8segB::p2_x#0 ] -Allocated zp[2]:146 [ spline_8segB::p2_y#0 ] -Allocated zp[2]:148 [ memset::end#0 ] -Allocated zp[2]:150 [ rotate::cos_a#0 ] -Allocated zp[4]:152 [ mulf16s::return#2 ] -Allocated zp[4]:156 [ rotate::$0 ] -Allocated zp[2]:160 [ rotate::$10 ] -Allocated zp[2]:162 [ rotate::xr#0 ] -Allocated zp[4]:164 [ mulf16s::return#3 ] -Allocated zp[4]:168 [ rotate::$2 ] -Allocated zp[2]:172 [ rotate::$11 ] -Allocated zp[2]:174 [ rotate::yr#0 ] -Allocated zp[2]:176 [ rotate::sin_a#0 ] -Allocated zp[4]:178 [ mulf16s::return#4 ] -Allocated zp[4]:182 [ rotate::$4 ] -Allocated zp[2]:186 [ rotate::$12 ] -Allocated zp[2]:188 [ rotate::$5 ] -Allocated zp[2]:190 [ rotate::xr#1 ] -Allocated zp[4]:192 [ mulf16s::return#10 ] -Allocated zp[4]:196 [ rotate::$6 ] -Allocated zp[2]:200 [ rotate::$13 ] -Allocated zp[2]:202 [ rotate::$7 ] -Allocated zp[2]:204 [ rotate::yr#1 ] -Allocated zp[1]:206 [ rotate::$8 ] -Allocated zp[1]:207 [ rotate::$9 ] -Allocated zp[2]:208 [ rotate::return_x#2 ] -Allocated zp[2]:210 [ rotate::return_y#2 ] -Allocated zp[2]:212 [ abs_u16::return#0 ] -Allocated zp[2]:214 [ bitmap_line::dx#0 ] -Allocated zp[2]:216 [ abs_u16::return#1 ] -Allocated zp[2]:218 [ bitmap_line::dy#0 ] -Allocated zp[2]:220 [ sgn_u16::return#0 ] -Allocated zp[2]:222 [ bitmap_line::sx#0 ] -Allocated zp[2]:224 [ sgn_u16::return#1 ] -Allocated zp[2]:226 [ bitmap_line::sy#0 ] -Allocated zp[2]:228 [ spline_8segB::$0 ] -Allocated zp[2]:230 [ spline_8segB::$1 ] -Allocated zp[2]:232 [ spline_8segB::a_x#0 ] -Allocated zp[2]:234 [ spline_8segB::$3 ] -Allocated zp[2]:236 [ spline_8segB::$4 ] -Allocated zp[2]:238 [ spline_8segB::a_y#0 ] -Allocated zp[2]:240 [ spline_8segB::$6 ] -Allocated zp[2]:242 [ spline_8segB::b_x#0 ] -Allocated zp[2]:244 [ spline_8segB::$8 ] -Allocated zp[2]:246 [ spline_8segB::b_y#0 ] -Allocated zp[2]:248 [ spline_8segB::$10 ] -Allocated zp[2]:250 [ spline_8segB::$12 ] -Allocated zp[2]:252 [ spline_8segB::j_x#0 ] -Allocated zp[2]:254 [ spline_8segB::j_y#0 ] -Allocated zp[2]:256 [ spline_8segB::$22 ] -Allocated zp[2]:258 [ spline_8segB::$23 ] -Allocated zp[2]:260 [ spline_8segB::$24 ] -Allocated zp[2]:262 [ spline_8segB::$25 ] -Allocated zp[1]:264 [ spline_8segB::$31 ] -Allocated zp[2]:265 [ spline_8segB::$18 ] -Allocated zp[2]:267 [ spline_8segB::$19 ] -Allocated zp[2]:269 [ spline_8segB::$20 ] -Allocated zp[2]:271 [ spline_8segB::$21 ] -Allocated zp[1]:273 [ bitmap_plot_spline_8seg::$4 ] -Allocated zp[2]:274 [ mulf16u::a#0 ] -Allocated zp[2]:276 [ mulf16u::b#0 ] -Allocated zp[4]:278 [ mulf16u::return#2 ] -Allocated zp[2]:282 [ mulf16s::$6 ] -Allocated zp[2]:284 [ mulf16s::$11 ] -Allocated zp[2]:286 [ mulf16s::$9 ] -Allocated zp[2]:288 [ mulf16s::$12 ] -Allocated zp[4]:290 [ mulf16s::return#0 ] -Allocated zp[1]:294 [ abs_u16::$0 ] -Allocated zp[1]:295 [ abs_u16::$1 ] -Allocated zp[1]:296 [ sgn_u16::$0 ] -Allocated zp[1]:297 [ sgn_u16::$1 ] -Allocated zp[2]:298 [ bitmap_plot::plotter#0 ] -Allocated zp[2]:300 [ bitmap_plot::$0 ] -Allocated zp[2]:302 [ bitmap_plot::plotter#1 ] -Allocated zp[1]:304 [ bitmap_plot::$1 ] -Allocated zp[4]:305 [ mulf16u::return#0 ] +Allocated zp[2]:113 [ show_letter::via_x#0 ] +Allocated zp[2]:115 [ show_letter::via_y#0 ] +Allocated zp[2]:117 [ show_letter::via_x#1 ] +Allocated zp[2]:119 [ show_letter::via_y#1 ] +Allocated zp[2]:121 [ rotate::return_x#1 ] +Allocated zp[2]:123 [ rotate::return_y#1 ] +Allocated zp[2]:125 [ show_letter::via_x#2 ] +Allocated zp[2]:127 [ show_letter::via_y#2 ] +Allocated zp[2]:129 [ show_letter::segment_via_x#0 ] +Allocated zp[2]:131 [ show_letter::segment_via_y#0 ] +Allocated zp[1]:133 [ show_letter::segment_type#0 ] +Allocated zp[2]:134 [ spline_8segB::p0_x#0 ] +Allocated zp[2]:136 [ spline_8segB::p0_y#0 ] +Allocated zp[2]:138 [ spline_8segB::p1_x#0 ] +Allocated zp[2]:140 [ spline_8segB::p1_y#0 ] +Allocated zp[2]:142 [ spline_8segB::p2_x#0 ] +Allocated zp[2]:144 [ spline_8segB::p2_y#0 ] +Allocated zp[2]:146 [ memset::end#0 ] +Allocated zp[2]:148 [ rotate::cos_a#0 ] +Allocated zp[4]:150 [ mulf16s::return#2 ] +Allocated zp[4]:154 [ rotate::$0 ] +Allocated zp[2]:158 [ rotate::$10 ] +Allocated zp[2]:160 [ rotate::xr#0 ] +Allocated zp[4]:162 [ mulf16s::return#3 ] +Allocated zp[4]:166 [ rotate::$2 ] +Allocated zp[2]:170 [ rotate::$11 ] +Allocated zp[2]:172 [ rotate::yr#0 ] +Allocated zp[2]:174 [ rotate::sin_a#0 ] +Allocated zp[4]:176 [ mulf16s::return#4 ] +Allocated zp[4]:180 [ rotate::$4 ] +Allocated zp[2]:184 [ rotate::$12 ] +Allocated zp[2]:186 [ rotate::$5 ] +Allocated zp[2]:188 [ rotate::xr#1 ] +Allocated zp[4]:190 [ mulf16s::return#10 ] +Allocated zp[4]:194 [ rotate::$6 ] +Allocated zp[2]:198 [ rotate::$13 ] +Allocated zp[2]:200 [ rotate::$7 ] +Allocated zp[2]:202 [ rotate::yr#1 ] +Allocated zp[1]:204 [ rotate::$8 ] +Allocated zp[1]:205 [ rotate::$9 ] +Allocated zp[2]:206 [ rotate::return_x#2 ] +Allocated zp[2]:208 [ rotate::return_y#2 ] +Allocated zp[2]:210 [ abs_u16::return#0 ] +Allocated zp[2]:212 [ bitmap_line::dx#0 ] +Allocated zp[2]:214 [ abs_u16::return#1 ] +Allocated zp[2]:216 [ bitmap_line::dy#0 ] +Allocated zp[2]:218 [ sgn_u16::return#0 ] +Allocated zp[2]:220 [ bitmap_line::sx#0 ] +Allocated zp[2]:222 [ sgn_u16::return#1 ] +Allocated zp[2]:224 [ bitmap_line::sy#0 ] +Allocated zp[2]:226 [ spline_8segB::$0 ] +Allocated zp[2]:228 [ spline_8segB::$1 ] +Allocated zp[2]:230 [ spline_8segB::a_x#0 ] +Allocated zp[2]:232 [ spline_8segB::$3 ] +Allocated zp[2]:234 [ spline_8segB::$4 ] +Allocated zp[2]:236 [ spline_8segB::a_y#0 ] +Allocated zp[2]:238 [ spline_8segB::$6 ] +Allocated zp[2]:240 [ spline_8segB::b_x#0 ] +Allocated zp[2]:242 [ spline_8segB::$8 ] +Allocated zp[2]:244 [ spline_8segB::b_y#0 ] +Allocated zp[2]:246 [ spline_8segB::$10 ] +Allocated zp[2]:248 [ spline_8segB::$12 ] +Allocated zp[2]:250 [ spline_8segB::j_x#0 ] +Allocated zp[2]:252 [ spline_8segB::j_y#0 ] +Allocated zp[2]:254 [ spline_8segB::$22 ] +Allocated zp[2]:256 [ spline_8segB::$23 ] +Allocated zp[2]:258 [ spline_8segB::$24 ] +Allocated zp[2]:260 [ spline_8segB::$25 ] +Allocated zp[1]:262 [ spline_8segB::$31 ] +Allocated zp[2]:263 [ spline_8segB::$18 ] +Allocated zp[2]:265 [ spline_8segB::$19 ] +Allocated zp[2]:267 [ spline_8segB::$20 ] +Allocated zp[2]:269 [ spline_8segB::$21 ] +Allocated zp[1]:271 [ bitmap_plot_spline_8seg::$4 ] +Allocated zp[2]:272 [ mulf16u::a#0 ] +Allocated zp[2]:274 [ mulf16u::b#0 ] +Allocated zp[4]:276 [ mulf16u::return#2 ] +Allocated zp[2]:280 [ mulf16s::$6 ] +Allocated zp[2]:282 [ mulf16s::$11 ] +Allocated zp[2]:284 [ mulf16s::$9 ] +Allocated zp[2]:286 [ mulf16s::$12 ] +Allocated zp[4]:288 [ mulf16s::return#0 ] +Allocated zp[1]:292 [ abs_u16::$0 ] +Allocated zp[1]:293 [ abs_u16::$1 ] +Allocated zp[1]:294 [ sgn_u16::$0 ] +Allocated zp[1]:295 [ sgn_u16::$1 ] +Allocated zp[2]:296 [ bitmap_plot::plotter#0 ] +Allocated zp[2]:298 [ bitmap_plot::$0 ] +Allocated zp[2]:300 [ bitmap_plot::plotter#1 ] +Allocated zp[1]:302 [ bitmap_plot::$1 ] +Allocated zp[4]:303 [ mulf16u::return#0 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -5736,17 +5731,17 @@ bitmap_init: { bitmap_clear: { .const col = WHITE<<4 // [75] call memset - // [135] phi from bitmap_clear to memset [phi:bitmap_clear->memset] + // [133] phi from bitmap_clear to memset [phi:bitmap_clear->memset] memset_from_bitmap_clear: - // [135] phi (byte) memset::c#4 = (const byte) bitmap_clear::col#0 [phi:bitmap_clear->memset#0] -- vbuz1=vbuc1 + // [133] phi (byte) memset::c#4 = (const byte) bitmap_clear::col#0 [phi:bitmap_clear->memset#0] -- vbuz1=vbuc1 lda #col sta.z memset.c - // [135] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_SCREEN [phi:bitmap_clear->memset#1] -- pvoz1=pvoc1 + // [133] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_SCREEN [phi:bitmap_clear->memset#1] -- pvoz1=pvoc1 lda #BITMAP_SCREEN sta.z memset.str+1 - // [135] phi (word) memset::num#2 = (word) $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1 + // [133] phi (word) memset::num#2 = (word) $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1 lda #<$3e8 sta.z memset.num lda #>$3e8 @@ -5758,17 +5753,17 @@ bitmap_clear: { // bitmap_clear::@1 __b1: // [77] call memset - // [135] phi from bitmap_clear::@1 to memset [phi:bitmap_clear::@1->memset] + // [133] phi from bitmap_clear::@1 to memset [phi:bitmap_clear::@1->memset] memset_from___b1: - // [135] phi (byte) memset::c#4 = (byte) 0 [phi:bitmap_clear::@1->memset#0] -- vbuz1=vbuc1 + // [133] phi (byte) memset::c#4 = (byte) 0 [phi:bitmap_clear::@1->memset#0] -- vbuz1=vbuc1 lda #0 sta.z memset.c - // [135] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_GRAPHICS [phi:bitmap_clear::@1->memset#1] -- pvoz1=pvoc1 + // [133] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_GRAPHICS [phi:bitmap_clear::@1->memset#1] -- pvoz1=pvoc1 lda #BITMAP_GRAPHICS sta.z memset.str+1 - // [135] phi (word) memset::num#2 = (word) $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1 + // [133] phi (word) memset::num#2 = (word) $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1 lda #<$1f40 sta.z memset.num lda #>$1f40 @@ -5783,9 +5778,7 @@ bitmap_clear: { // show_letter // show_letter(byte zp($53) angle) show_letter: { - .label __16 = $5c - .label __17 = $71 - .label __18 = $86 + .label __17 = $5c .label angle = $53 .label to_x = $5d .label to_y = $5f @@ -5793,15 +5786,15 @@ show_letter: { .label to_y_1 = $63 .label to_x_2 = $69 .label to_y_2 = $6b - .label via_x = $72 - .label via_y = $74 - .label via_x_1 = $76 - .label via_y_1 = $78 - .label via_x_2 = $7e - .label via_y_2 = $80 - .label segment_type = $87 - .label segment_via_x = $82 - .label segment_via_y = $84 + .label via_x = $71 + .label via_y = $73 + .label via_x_1 = $75 + .label via_y_1 = $77 + .label via_x_2 = $7d + .label via_y_2 = $7f + .label segment_type = $85 + .label segment_via_x = $81 + .label segment_via_y = $83 .label i = $17 .label current_x = $18 .label current_y = $1a @@ -5832,19 +5825,19 @@ show_letter: { asl asl sta.z __21 - // [82] (byte~) show_letter::$16 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuz1=vbuz2_plus_vbuz3 + // [82] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuz1=vbuz2_plus_vbuz3 lda.z __21 clc adc.z i - sta.z __16 - // [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$16) -- vwsz1=pwsc1_derefidx_vbuz2 - ldy.z __16 + sta.z __17 + // [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + ldy.z __17 lda letter_c+OFFSET_STRUCT_SEGMENT_TO,y sta.z to_x lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,y sta.z to_x+1 - // [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$16) -- vwsz1=pwsc1_derefidx_vbuz2 - ldy.z __16 + // [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + ldy.z __17 lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z to_y lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y @@ -5879,11 +5872,11 @@ show_letter: { lda.z angle sta.z rotate.angle // [90] call rotate - // [144] phi from show_letter::@1 to rotate [phi:show_letter::@1->rotate] + // [142] phi from show_letter::@1 to rotate [phi:show_letter::@1->rotate] rotate_from___b1: - // [144] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#0 [phi:show_letter::@1->rotate#0] -- register_copy - // [144] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#0 [phi:show_letter::@1->rotate#1] -- register_copy - // [144] phi (byte) rotate::angle#2 = (byte) rotate::angle#0 [phi:show_letter::@1->rotate#2] -- register_copy + // [142] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#0 [phi:show_letter::@1->rotate#0] -- register_copy + // [142] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#0 [phi:show_letter::@1->rotate#1] -- register_copy + // [142] phi (byte) rotate::angle#2 = (byte) rotate::angle#0 [phi:show_letter::@1->rotate#2] -- register_copy jsr rotate // [91] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 -- vwsz1=vwsz2 lda.z rotate.return_x_2 @@ -5924,24 +5917,19 @@ show_letter: { lda.z to_y_2+1 adc #>$64 sta.z current_y_1+1 - // [97] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __21 - clc - adc.z i - sta.z __17 - // [98] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + // [97] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 ldy.z __17 lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,y sta.z via_x lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,y sta.z via_x+1 - // [99] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + // [98] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 ldy.z __17 lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z via_y lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z via_y+1 - // [100] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 -- vwsz1=vwsz2_minus_vbsc1 + // [99] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 -- vwsz1=vwsz2_minus_vbsc1 lda.z via_x sec sbc #$32 @@ -5949,7 +5937,7 @@ show_letter: { lda.z via_x+1 sbc #>$32 sta.z via_x_1+1 - // [101] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 -- vwsz1=vwsz2_minus_vwsc1 + // [100] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 -- vwsz1=vwsz2_minus_vwsc1 lda.z via_y sec sbc #<$96 @@ -5957,32 +5945,32 @@ show_letter: { lda.z via_y+1 sbc #>$96 sta.z via_y_1+1 - // [102] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 -- vwsz1=vwsz2 + // [101] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 -- vwsz1=vwsz2 lda.z via_x_1 sta.z rotate.vector_x lda.z via_x_1+1 sta.z rotate.vector_x+1 - // [103] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 -- vwsz1=vwsz2 + // [102] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 -- vwsz1=vwsz2 lda.z via_y_1 sta.z rotate.vector_y lda.z via_y_1+1 sta.z rotate.vector_y+1 - // [104] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 -- vbuz1=vbuz2 + // [103] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 -- vbuz1=vbuz2 lda.z angle sta.z rotate.angle - // [105] call rotate - // [144] phi from show_letter::@6 to rotate [phi:show_letter::@6->rotate] + // [104] call rotate + // [142] phi from show_letter::@6 to rotate [phi:show_letter::@6->rotate] rotate_from___b6: - // [144] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#1 [phi:show_letter::@6->rotate#0] -- register_copy - // [144] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#1 [phi:show_letter::@6->rotate#1] -- register_copy - // [144] phi (byte) rotate::angle#2 = (byte) rotate::angle#1 [phi:show_letter::@6->rotate#2] -- register_copy + // [142] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#1 [phi:show_letter::@6->rotate#0] -- register_copy + // [142] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#1 [phi:show_letter::@6->rotate#1] -- register_copy + // [142] phi (byte) rotate::angle#2 = (byte) rotate::angle#1 [phi:show_letter::@6->rotate#2] -- register_copy jsr rotate - // [106] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 -- vwsz1=vwsz2 + // [105] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 -- vwsz1=vwsz2 lda.z rotate.return_x_2 sta.z rotate.return_x_1 lda.z rotate.return_x_2+1 sta.z rotate.return_x_1+1 - // [107] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 -- vwsz1=vwsz2 + // [106] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 -- vwsz1=vwsz2 lda.z rotate.return_y_2 sta.z rotate.return_y_1 lda.z rotate.return_y_2+1 @@ -5990,17 +5978,17 @@ show_letter: { jmp __b7 // show_letter::@7 __b7: - // [108] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 -- vwsz1=vwsz2 + // [107] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 -- vwsz1=vwsz2 lda.z rotate.return_x_1 sta.z via_x_2 lda.z rotate.return_x_1+1 sta.z via_x_2+1 - // [109] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 -- vwsz1=vwsz2 + // [108] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 -- vwsz1=vwsz2 lda.z rotate.return_y_1 sta.z via_y_2 lda.z rotate.return_y_1+1 sta.z via_y_2+1 - // [110] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 + // [109] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 lda.z via_x_2 clc adc #<$64 @@ -6008,7 +5996,7 @@ show_letter: { lda.z via_x_2+1 adc #>$64 sta.z segment_via_x+1 - // [111] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 + // [110] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 -- vwsz1=vwsz2_plus_vbsc1 lda.z via_y_2 clc adc #<$64 @@ -6016,79 +6004,74 @@ show_letter: { lda.z via_y_2+1 adc #>$64 sta.z segment_via_y+1 - // [112] (byte~) show_letter::$18 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __21 - clc - adc.z i - sta.z __18 - // [113] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$18) -- vbuz1=pbuc1_derefidx_vbuz2 - ldy.z __18 + // [111] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$17) -- vbuz1=pbuc1_derefidx_vbuz2 + ldy.z __17 lda letter_c,y sta.z segment_type - // [114] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 -- vbuz1_eq_vbuc1_then_la1 + // [112] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 -- vbuz1_eq_vbuc1_then_la1 lda #MOVE_TO cmp.z segment_type beq __b3 jmp __b4 // show_letter::@4 __b4: - // [115] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 -- vbuz1_eq_vbuc1_then_la1 + // [113] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 -- vbuz1_eq_vbuc1_then_la1 lda #SPLINE_TO cmp.z segment_type beq __b2 jmp __b5 // show_letter::@5 __b5: - // [116] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 -- vwuz1=vwuz2 + // [114] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 -- vwuz1=vwuz2 lda.z current_x sta.z bitmap_line.x1 lda.z current_x+1 sta.z bitmap_line.x1+1 - // [117] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 -- vwuz1=vwuz2 + // [115] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 -- vwuz1=vwuz2 lda.z current_y sta.z bitmap_line.y1 lda.z current_y+1 sta.z bitmap_line.y1+1 - // [118] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 -- vwuz1=vwuz2 + // [116] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 -- vwuz1=vwuz2 lda.z current_x_1 sta.z bitmap_line.x2 lda.z current_x_1+1 sta.z bitmap_line.x2+1 - // [119] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 -- vwuz1=vwuz2 + // [117] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 -- vwuz1=vwuz2 lda.z current_y_1 sta.z bitmap_line.y2 lda.z current_y_1+1 sta.z bitmap_line.y2+1 - // [120] call bitmap_line - // [182] phi from show_letter::@5 to bitmap_line [phi:show_letter::@5->bitmap_line] + // [118] call bitmap_line + // [180] phi from show_letter::@5 to bitmap_line [phi:show_letter::@5->bitmap_line] bitmap_line_from___b5: - // [182] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#0 [phi:show_letter::@5->bitmap_line#0] -- register_copy - // [182] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#0 [phi:show_letter::@5->bitmap_line#1] -- register_copy - // [182] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#0 [phi:show_letter::@5->bitmap_line#2] -- register_copy - // [182] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#0 [phi:show_letter::@5->bitmap_line#3] -- register_copy + // [180] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#0 [phi:show_letter::@5->bitmap_line#0] -- register_copy + // [180] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#0 [phi:show_letter::@5->bitmap_line#1] -- register_copy + // [180] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#0 [phi:show_letter::@5->bitmap_line#2] -- register_copy + // [180] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#0 [phi:show_letter::@5->bitmap_line#3] -- register_copy jsr bitmap_line jmp __b3 // show_letter::@3 __b3: - // [121] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 -- vbuz1=_inc_vbuz1 + // [119] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 -- vbuz1=_inc_vbuz1 inc.z i - // [122] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 -- vbuz1_neq_vbuc1_then_la1 + // [120] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 -- vbuz1_neq_vbuc1_then_la1 lda #$16 cmp.z i bne __b9 jmp __breturn // show_letter::@return __breturn: - // [123] return + // [121] return rts // show_letter::@9 __b9: - // [124] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 + // [122] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 lda.z current_x_1 sta.z current_x lda.z current_x_1+1 sta.z current_x+1 - // [125] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 + // [123] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 lda.z current_y_1 sta.z current_y lda.z current_y_1+1 @@ -6101,44 +6084,44 @@ show_letter: { jmp __b1 // show_letter::@2 __b2: - // [126] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 -- vwsz1=vwsz2 + // [124] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 -- vwsz1=vwsz2 lda.z current_x sta.z spline_8segB.p0_x lda.z current_x+1 sta.z spline_8segB.p0_x+1 - // [127] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 -- vwsz1=vwsz2 + // [125] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 -- vwsz1=vwsz2 lda.z current_y sta.z spline_8segB.p0_y lda.z current_y+1 sta.z spline_8segB.p0_y+1 - // [128] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 -- vwsz1=vwsz2 + // [126] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 -- vwsz1=vwsz2 lda.z segment_via_x sta.z spline_8segB.p1_x lda.z segment_via_x+1 sta.z spline_8segB.p1_x+1 - // [129] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 -- vwsz1=vwsz2 + // [127] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 -- vwsz1=vwsz2 lda.z segment_via_y sta.z spline_8segB.p1_y lda.z segment_via_y+1 sta.z spline_8segB.p1_y+1 - // [130] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 + // [128] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 lda.z current_x_1 sta.z spline_8segB.p2_x lda.z current_x_1+1 sta.z spline_8segB.p2_x+1 - // [131] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 + // [129] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 lda.z current_y_1 sta.z spline_8segB.p2_y lda.z current_y_1+1 sta.z spline_8segB.p2_y+1 - // [132] call spline_8segB + // [130] call spline_8segB jsr spline_8segB - // [133] phi from show_letter::@2 to show_letter::@8 [phi:show_letter::@2->show_letter::@8] + // [131] phi from show_letter::@2 to show_letter::@8 [phi:show_letter::@2->show_letter::@8] __b8_from___b2: jmp __b8 // show_letter::@8 __b8: - // [134] call bitmap_plot_spline_8seg + // [132] call bitmap_plot_spline_8seg jsr bitmap_plot_spline_8seg jmp __b3 } @@ -6146,12 +6129,12 @@ show_letter: { // Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str. // memset(void* zp($1e) str, byte zp($20) c, word zp($1c) num) memset: { - .label end = $94 + .label end = $92 .label dst = $21 .label num = $1c .label str = $1e .label c = $20 - // [136] if((word) memset::num#2<=(byte) 0) goto memset::@return -- vwuz1_le_0_then_la1 + // [134] if((word) memset::num#2<=(byte) 0) goto memset::@return -- vwuz1_le_0_then_la1 lda.z num bne !+ lda.z num+1 @@ -6160,7 +6143,7 @@ memset: { jmp __b1 // memset::@1 __b1: - // [137] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 -- pbuz1=pbuz2_plus_vwuz3 + // [135] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 -- pbuz1=pbuz2_plus_vwuz3 lda.z str clc adc.z num @@ -6168,19 +6151,19 @@ memset: { lda.z str+1 adc.z num+1 sta.z end+1 - // [138] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 -- pbuz1=pbuz2 + // [136] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 -- pbuz1=pbuz2 lda.z str sta.z dst lda.z str+1 sta.z dst+1 - // [139] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] + // [137] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] __b2_from___b1: __b2_from___b3: - // [139] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy + // [137] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy jmp __b2 // memset::@2 __b2: - // [140] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 + // [138] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 lda.z dst+1 cmp.z end+1 bne __b3 @@ -6190,15 +6173,15 @@ memset: { jmp __breturn // memset::@return __breturn: - // [141] return + // [139] return rts // memset::@3 __b3: - // [142] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuz2 + // [140] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuz2 lda.z c ldy #0 sta (dst),y - // [143] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [141] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 @@ -6209,34 +6192,34 @@ memset: { // 2D-rotate a vector by an angle // rotate(signed word zp($24) vector_x, signed word zp($26) vector_y, byte zp($23) angle) rotate: { - .label __0 = $9c - .label __2 = $a8 - .label __4 = $b6 - .label __5 = $bc - .label __6 = $c4 - .label __7 = $ca - .label __8 = $ce - .label __9 = $cf - .label __10 = $a0 - .label __11 = $ac - .label __12 = $ba - .label __13 = $c8 + .label __0 = $9a + .label __2 = $a6 + .label __4 = $b4 + .label __5 = $ba + .label __6 = $c2 + .label __7 = $c8 + .label __8 = $cc + .label __9 = $cd + .label __10 = $9e + .label __11 = $aa + .label __12 = $b8 + .label __13 = $c6 .label vector_x = $24 .label vector_y = $26 .label angle = $23 .label return_x = $65 .label return_y = $67 - .label return_x_1 = $7a - .label return_y_1 = $7c - .label cos_a = $96 - .label xr = $a2 - .label yr = $ae - .label sin_a = $b0 - .label xr_1 = $be - .label yr_1 = $cc - .label return_x_2 = $d0 - .label return_y_2 = $d2 - // [145] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuz2 + .label return_x_1 = $79 + .label return_y_1 = $7b + .label cos_a = $94 + .label xr = $a0 + .label yr = $ac + .label sin_a = $ae + .label xr_1 = $bc + .label yr_1 = $ca + .label return_x_2 = $ce + .label return_y_2 = $d0 + // [143] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuz2 ldy.z angle lda COS,y sta.z cos_a @@ -6245,23 +6228,23 @@ rotate: { lda #0 !: sta.z cos_a+1 - // [146] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 -- vwsz1=vwsz2 + // [144] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 -- vwsz1=vwsz2 lda.z cos_a sta.z mulf16s.a lda.z cos_a+1 sta.z mulf16s.a+1 - // [147] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 + // [145] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 lda.z vector_x sta.z mulf16s.b lda.z vector_x+1 sta.z mulf16s.b+1 - // [148] call mulf16s - // [287] phi from rotate to mulf16s [phi:rotate->mulf16s] + // [146] call mulf16s + // [285] phi from rotate to mulf16s [phi:rotate->mulf16s] mulf16s_from_rotate: - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#0 [phi:rotate->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#0 [phi:rotate->mulf16s#1] -- register_copy + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#0 [phi:rotate->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#0 [phi:rotate->mulf16s#1] -- register_copy jsr mulf16s - // [149] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 + // [147] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 lda.z mulf16s.return sta.z mulf16s.return_1 lda.z mulf16s.return+1 @@ -6273,7 +6256,7 @@ rotate: { jmp __b1 // rotate::@1 __b1: - // [150] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 -- vdsz1=vdsz2 + // [148] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 -- vdsz1=vdsz2 lda.z mulf16s.return_1 sta.z __0 lda.z mulf16s.return_1+1 @@ -6282,35 +6265,35 @@ rotate: { sta.z __0+2 lda.z mulf16s.return_1+3 sta.z __0+3 - // [151] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 -- vwsz1=_sword_vdsz2 + // [149] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 -- vwsz1=_sword_vdsz2 lda.z __0 sta.z __10 lda.z __0+1 sta.z __10+1 - // [152] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [150] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z __10 asl sta.z xr lda.z __10+1 rol sta.z xr+1 - // [153] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 -- vwsz1=vwsz2 + // [151] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 -- vwsz1=vwsz2 lda.z cos_a sta.z mulf16s.a lda.z cos_a+1 sta.z mulf16s.a+1 - // [154] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 + // [152] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 lda.z vector_y sta.z mulf16s.b lda.z vector_y+1 sta.z mulf16s.b+1 - // [155] call mulf16s - // [287] phi from rotate::@1 to mulf16s [phi:rotate::@1->mulf16s] + // [153] call mulf16s + // [285] phi from rotate::@1 to mulf16s [phi:rotate::@1->mulf16s] mulf16s_from___b1: - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#1 [phi:rotate::@1->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#1 [phi:rotate::@1->mulf16s#1] -- register_copy + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#1 [phi:rotate::@1->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#1 [phi:rotate::@1->mulf16s#1] -- register_copy jsr mulf16s - // [156] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 + // [154] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 lda.z mulf16s.return sta.z mulf16s.return_2 lda.z mulf16s.return+1 @@ -6322,7 +6305,7 @@ rotate: { jmp __b2 // rotate::@2 __b2: - // [157] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 -- vdsz1=vdsz2 + // [155] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 -- vdsz1=vdsz2 lda.z mulf16s.return_2 sta.z __2 lda.z mulf16s.return_2+1 @@ -6331,19 +6314,19 @@ rotate: { sta.z __2+2 lda.z mulf16s.return_2+3 sta.z __2+3 - // [158] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 -- vwsz1=_sword_vdsz2 + // [156] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 -- vwsz1=_sword_vdsz2 lda.z __2 sta.z __11 lda.z __2+1 sta.z __11+1 - // [159] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [157] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z __11 asl sta.z yr lda.z __11+1 rol sta.z yr+1 - // [160] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuz2 + // [158] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuz2 // signed fixed[8.8] ldy.z angle lda SIN,y @@ -6353,23 +6336,23 @@ rotate: { lda #0 !: sta.z sin_a+1 - // [161] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 -- vwsz1=vwsz2 + // [159] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 -- vwsz1=vwsz2 lda.z sin_a sta.z mulf16s.a lda.z sin_a+1 sta.z mulf16s.a+1 - // [162] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 + // [160] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 lda.z vector_y sta.z mulf16s.b lda.z vector_y+1 sta.z mulf16s.b+1 - // [163] call mulf16s - // [287] phi from rotate::@2 to mulf16s [phi:rotate::@2->mulf16s] + // [161] call mulf16s + // [285] phi from rotate::@2 to mulf16s [phi:rotate::@2->mulf16s] mulf16s_from___b2: - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#2 [phi:rotate::@2->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#2 [phi:rotate::@2->mulf16s#1] -- register_copy + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#2 [phi:rotate::@2->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#2 [phi:rotate::@2->mulf16s#1] -- register_copy jsr mulf16s - // [164] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 + // [162] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 lda.z mulf16s.return sta.z mulf16s.return_3 lda.z mulf16s.return+1 @@ -6381,7 +6364,7 @@ rotate: { jmp __b3 // rotate::@3 __b3: - // [165] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 -- vdsz1=vdsz2 + // [163] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 -- vdsz1=vdsz2 lda.z mulf16s.return_3 sta.z __4 lda.z mulf16s.return_3+1 @@ -6390,19 +6373,19 @@ rotate: { sta.z __4+2 lda.z mulf16s.return_3+3 sta.z __4+3 - // [166] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 -- vwsz1=_sword_vdsz2 + // [164] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 -- vwsz1=_sword_vdsz2 lda.z __4 sta.z __12 lda.z __4+1 sta.z __12+1 - // [167] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [165] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z __12 asl sta.z __5 lda.z __12+1 rol sta.z __5+1 - // [168] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 -- vwsz1=vwsz2_minus_vwsz3 + // [166] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 -- vwsz1=vwsz2_minus_vwsz3 // signed fixed[0.7] lda.z xr sec @@ -6411,23 +6394,23 @@ rotate: { lda.z xr+1 sbc.z __5+1 sta.z xr_1+1 - // [169] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 -- vwsz1=vwsz2 + // [167] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 -- vwsz1=vwsz2 lda.z sin_a sta.z mulf16s.a lda.z sin_a+1 sta.z mulf16s.a+1 - // [170] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 + // [168] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 lda.z vector_x sta.z mulf16s.b lda.z vector_x+1 sta.z mulf16s.b+1 - // [171] call mulf16s - // [287] phi from rotate::@3 to mulf16s [phi:rotate::@3->mulf16s] + // [169] call mulf16s + // [285] phi from rotate::@3 to mulf16s [phi:rotate::@3->mulf16s] mulf16s_from___b3: - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#3 [phi:rotate::@3->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#3 [phi:rotate::@3->mulf16s#1] -- register_copy + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#3 [phi:rotate::@3->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#3 [phi:rotate::@3->mulf16s#1] -- register_copy jsr mulf16s - // [172] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 + // [170] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 -- vdsz1=vdsz2 lda.z mulf16s.return sta.z mulf16s.return_4 lda.z mulf16s.return+1 @@ -6439,7 +6422,7 @@ rotate: { jmp __b4 // rotate::@4 __b4: - // [173] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 -- vdsz1=vdsz2 + // [171] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 -- vdsz1=vdsz2 lda.z mulf16s.return_4 sta.z __6 lda.z mulf16s.return_4+1 @@ -6448,19 +6431,19 @@ rotate: { sta.z __6+2 lda.z mulf16s.return_4+3 sta.z __6+3 - // [174] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 -- vwsz1=_sword_vdsz2 + // [172] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 -- vwsz1=_sword_vdsz2 lda.z __6 sta.z __13 lda.z __6+1 sta.z __13+1 - // [175] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [173] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z __13 asl sta.z __7 lda.z __13+1 rol sta.z __7+1 - // [176] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 -- vwsz1=vwsz2_plus_vwsz3 + // [174] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 -- vwsz1=vwsz2_plus_vwsz3 // signed fixed[8.8] lda.z yr clc @@ -6469,13 +6452,13 @@ rotate: { lda.z yr+1 adc.z __7+1 sta.z yr_1+1 - // [177] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 -- vbuz1=_hi_vwsz2 + // [175] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 -- vbuz1=_hi_vwsz2 lda.z xr_1+1 sta.z __8 - // [178] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 -- vbuz1=_hi_vwsz2 + // [176] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 -- vbuz1=_hi_vwsz2 lda.z yr_1+1 sta.z __9 - // [179] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 -- vwsz1=_sword_vbsz2 + // [177] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 -- vwsz1=_sword_vbsz2 lda.z __8 sta.z return_x_2 ora #$7f @@ -6483,7 +6466,7 @@ rotate: { lda #0 !: sta.z return_x_2+1 - // [180] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 -- vwsz1=_sword_vbsz2 + // [178] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 -- vwsz1=_sword_vbsz2 lda.z __9 sta.z return_y_2 ora #$7f @@ -6494,7 +6477,7 @@ rotate: { jmp __breturn // rotate::@return __breturn: - // [181] return + // [179] return rts } // bitmap_line @@ -6503,17 +6486,17 @@ rotate: { bitmap_line: { .label x = $2e .label y = $30 - .label dx = $d6 - .label dy = $da - .label sx = $de - .label sy = $e2 + .label dx = $d4 + .label dy = $d8 + .label sx = $dc + .label sy = $e0 .label e1 = $32 .label e = $2c .label x1 = $2e .label y1 = $30 .label x2 = $28 .label y2 = $2a - // [183] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 + // [181] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z x2 sec sbc.z x @@ -6521,12 +6504,12 @@ bitmap_line: { lda.z x2+1 sbc.z x+1 sta.z abs_u16.w+1 - // [184] call abs_u16 - // [305] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16] + // [182] call abs_u16 + // [303] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16] abs_u16_from_bitmap_line: - // [305] phi (word) abs_u16::w#2 = (word) abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy + // [303] phi (word) abs_u16::w#2 = (word) abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy jsr abs_u16 - // [185] (word) abs_u16::return#0 ← (word) abs_u16::return#4 -- vwuz1=vwuz2 + // [183] (word) abs_u16::return#0 ← (word) abs_u16::return#4 -- vwuz1=vwuz2 lda.z abs_u16.return_2 sta.z abs_u16.return lda.z abs_u16.return_2+1 @@ -6534,12 +6517,12 @@ bitmap_line: { jmp __b12 // bitmap_line::@12 __b12: - // [186] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 -- vwuz1=vwuz2 + // [184] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 -- vwuz1=vwuz2 lda.z abs_u16.return sta.z dx lda.z abs_u16.return+1 sta.z dx+1 - // [187] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 + // [185] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z y2 sec sbc.z y @@ -6547,12 +6530,12 @@ bitmap_line: { lda.z y2+1 sbc.z y+1 sta.z abs_u16.w+1 - // [188] call abs_u16 - // [305] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16] + // [186] call abs_u16 + // [303] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16] abs_u16_from___b12: - // [305] phi (word) abs_u16::w#2 = (word) abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy + // [303] phi (word) abs_u16::w#2 = (word) abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy jsr abs_u16 - // [189] (word) abs_u16::return#1 ← (word) abs_u16::return#4 -- vwuz1=vwuz2 + // [187] (word) abs_u16::return#1 ← (word) abs_u16::return#4 -- vwuz1=vwuz2 lda.z abs_u16.return_2 sta.z abs_u16.return_1 lda.z abs_u16.return_2+1 @@ -6560,12 +6543,12 @@ bitmap_line: { jmp __b13 // bitmap_line::@13 __b13: - // [190] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 -- vwuz1=vwuz2 + // [188] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 -- vwuz1=vwuz2 lda.z abs_u16.return_1 sta.z dy lda.z abs_u16.return_1+1 sta.z dy+1 - // [191] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 -- vwuz1_neq_0_then_la1 + // [189] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 -- vwuz1_neq_0_then_la1 lda.z dx bne __b1 lda.z dx+1 @@ -6573,7 +6556,7 @@ bitmap_line: { jmp __b18 // bitmap_line::@18 __b18: - // [192] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 -- vwuz1_eq_0_then_la1 + // [190] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 -- vwuz1_eq_0_then_la1 lda.z dy bne !+ lda.z dy+1 @@ -6582,7 +6565,7 @@ bitmap_line: { jmp __b1 // bitmap_line::@1 __b1: - // [193] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 + // [191] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z x2 sec sbc.z x @@ -6590,12 +6573,12 @@ bitmap_line: { lda.z x2+1 sbc.z x+1 sta.z sgn_u16.w+1 - // [194] call sgn_u16 - // [312] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16] + // [192] call sgn_u16 + // [310] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16] sgn_u16_from___b1: - // [312] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy + // [310] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy jsr sgn_u16 - // [195] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 -- vwuz1=vwuz2 + // [193] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 -- vwuz1=vwuz2 lda.z sgn_u16.return_2 sta.z sgn_u16.return lda.z sgn_u16.return_2+1 @@ -6603,12 +6586,12 @@ bitmap_line: { jmp __b14 // bitmap_line::@14 __b14: - // [196] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 -- vwuz1=vwuz2 + // [194] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 -- vwuz1=vwuz2 lda.z sgn_u16.return sta.z sx lda.z sgn_u16.return+1 sta.z sx+1 - // [197] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 + // [195] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z y2 sec sbc.z y @@ -6616,12 +6599,12 @@ bitmap_line: { lda.z y2+1 sbc.z y+1 sta.z sgn_u16.w+1 - // [198] call sgn_u16 - // [312] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16] + // [196] call sgn_u16 + // [310] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16] sgn_u16_from___b14: - // [312] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy + // [310] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy jsr sgn_u16 - // [199] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 -- vwuz1=vwuz2 + // [197] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 -- vwuz1=vwuz2 lda.z sgn_u16.return_2 sta.z sgn_u16.return_1 lda.z sgn_u16.return_2+1 @@ -6629,12 +6612,12 @@ bitmap_line: { jmp __b15 // bitmap_line::@15 __b15: - // [200] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 -- vwuz1=vwuz2 + // [198] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 -- vwuz1=vwuz2 lda.z sgn_u16.return_1 sta.z sy lda.z sgn_u16.return_1+1 sta.z sy+1 - // [201] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 -- vwuz1_gt_vwuz2_then_la1 + // [199] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 -- vwuz1_gt_vwuz2_then_la1 lda.z dy+1 cmp.z dx+1 bcc __b2 @@ -6646,40 +6629,40 @@ bitmap_line: { jmp __b5 // bitmap_line::@5 __b5: - // [202] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 + // [200] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 lda.z dx+1 lsr sta.z e+1 lda.z dx ror sta.z e - // [203] phi from bitmap_line::@5 bitmap_line::@7 to bitmap_line::@6 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6] + // [201] phi from bitmap_line::@5 bitmap_line::@7 to bitmap_line::@6 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6] __b6_from___b5: __b6_from___b7: - // [203] phi (word) bitmap_line::e#3 = (word) bitmap_line::e#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#0] -- register_copy - // [203] phi (word) bitmap_line::y#4 = (word) bitmap_line::y#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#1] -- register_copy - // [203] phi (word) bitmap_line::x#13 = (word) bitmap_line::x#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#2] -- register_copy + // [201] phi (word) bitmap_line::e#3 = (word) bitmap_line::e#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#0] -- register_copy + // [201] phi (word) bitmap_line::y#4 = (word) bitmap_line::y#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#1] -- register_copy + // [201] phi (word) bitmap_line::x#13 = (word) bitmap_line::x#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#2] -- register_copy jmp __b6 // bitmap_line::@6 __b6: - // [204] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 -- vwuz1=vwuz2 + // [202] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 -- vwuz1=vwuz2 lda.z x sta.z bitmap_plot.x lda.z x+1 sta.z bitmap_plot.x+1 - // [205] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 -- vbuz1=_byte_vwuz2 + // [203] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 -- vbuz1=_byte_vwuz2 lda.z y sta.z bitmap_plot.y - // [206] call bitmap_plot - // [319] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot] + // [204] call bitmap_plot + // [317] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot] bitmap_plot_from___b6: - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b16 // bitmap_line::@16 __b16: - // [207] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 + // [205] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z y clc adc.z sy @@ -6687,7 +6670,7 @@ bitmap_line: { lda.z y+1 adc.z sy+1 sta.z y+1 - // [208] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 -- vwuz1=vwuz1_plus_vwuz2 + // [206] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z e clc adc.z dx @@ -6695,7 +6678,7 @@ bitmap_line: { lda.z e+1 adc.z dx+1 sta.z e+1 - // [209] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 -- vwuz1_ge_vwuz2_then_la1 + // [207] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 -- vwuz1_ge_vwuz2_then_la1 lda.z e+1 cmp.z dy+1 bne !+ @@ -6707,7 +6690,7 @@ bitmap_line: { jmp __b8 // bitmap_line::@8 __b8: - // [210] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 + // [208] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z x clc adc.z sx @@ -6715,7 +6698,7 @@ bitmap_line: { lda.z x+1 adc.z sx+1 sta.z x+1 - // [211] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 -- vwuz1=vwuz1_minus_vwuz2 + // [209] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 -- vwuz1=vwuz1_minus_vwuz2 lda.z e sec sbc.z dy @@ -6723,84 +6706,84 @@ bitmap_line: { lda.z e+1 sbc.z dy+1 sta.z e+1 - // [212] phi from bitmap_line::@16 bitmap_line::@8 to bitmap_line::@7 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7] + // [210] phi from bitmap_line::@16 bitmap_line::@8 to bitmap_line::@7 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7] __b7_from___b16: __b7_from___b8: - // [212] phi (word) bitmap_line::e#6 = (word) bitmap_line::e#1 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#0] -- register_copy - // [212] phi (word) bitmap_line::x#12 = (word) bitmap_line::x#13 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#1] -- register_copy + // [210] phi (word) bitmap_line::e#6 = (word) bitmap_line::e#1 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#0] -- register_copy + // [210] phi (word) bitmap_line::x#12 = (word) bitmap_line::x#13 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#1] -- register_copy jmp __b7 // bitmap_line::@7 __b7: - // [213] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 -- vwuz1_neq_vwuz2_then_la1 + // [211] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 -- vwuz1_neq_vwuz2_then_la1 lda.z y+1 cmp.z y2+1 bne __b6_from___b7 lda.z y cmp.z y2 bne __b6_from___b7 - // [214] phi from bitmap_line::@10 bitmap_line::@7 to bitmap_line::@3 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3] + // [212] phi from bitmap_line::@10 bitmap_line::@7 to bitmap_line::@3 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3] __b3_from___b10: __b3_from___b7: - // [214] phi (word) bitmap_line::y#7 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#0] -- register_copy - // [214] phi (word) bitmap_line::x#6 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#1] -- register_copy + // [212] phi (word) bitmap_line::y#7 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#0] -- register_copy + // [212] phi (word) bitmap_line::x#6 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#1] -- register_copy jmp __b3 // bitmap_line::@3 __b3: - // [215] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 -- vwuz1=vwuz2 + // [213] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 -- vwuz1=vwuz2 lda.z x sta.z bitmap_plot.x lda.z x+1 sta.z bitmap_plot.x+1 - // [216] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 -- vbuz1=_byte_vwuz2 + // [214] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 -- vbuz1=_byte_vwuz2 lda.z y sta.z bitmap_plot.y - // [217] call bitmap_plot - // [319] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot] + // [215] call bitmap_plot + // [317] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot] bitmap_plot_from___b3: - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __breturn // bitmap_line::@return __breturn: - // [218] return + // [216] return rts // bitmap_line::@2 __b2: - // [219] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 + // [217] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 lda.z dy+1 lsr sta.z e1+1 lda.z dy ror sta.z e1 - // [220] phi from bitmap_line::@10 bitmap_line::@2 to bitmap_line::@9 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9] + // [218] phi from bitmap_line::@10 bitmap_line::@2 to bitmap_line::@9 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9] __b9_from___b10: __b9_from___b2: - // [220] phi (word) bitmap_line::e1#3 = (word) bitmap_line::e1#6 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#0] -- register_copy - // [220] phi (word) bitmap_line::y#15 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#1] -- register_copy - // [220] phi (word) bitmap_line::x#7 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#2] -- register_copy + // [218] phi (word) bitmap_line::e1#3 = (word) bitmap_line::e1#6 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#0] -- register_copy + // [218] phi (word) bitmap_line::y#15 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#1] -- register_copy + // [218] phi (word) bitmap_line::x#7 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#2] -- register_copy jmp __b9 // bitmap_line::@9 __b9: - // [221] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 -- vwuz1=vwuz2 + // [219] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 -- vwuz1=vwuz2 lda.z x sta.z bitmap_plot.x lda.z x+1 sta.z bitmap_plot.x+1 - // [222] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 -- vbuz1=_byte_vwuz2 + // [220] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 -- vbuz1=_byte_vwuz2 lda.z y sta.z bitmap_plot.y - // [223] call bitmap_plot - // [319] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot] + // [221] call bitmap_plot + // [317] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot] bitmap_plot_from___b9: - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b17 // bitmap_line::@17 __b17: - // [224] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 + // [222] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z x clc adc.z sx @@ -6808,7 +6791,7 @@ bitmap_line: { lda.z x+1 adc.z sx+1 sta.z x+1 - // [225] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 -- vwuz1=vwuz1_plus_vwuz2 + // [223] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z e1 clc adc.z dy @@ -6816,7 +6799,7 @@ bitmap_line: { lda.z e1+1 adc.z dy+1 sta.z e1+1 - // [226] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 -- vwuz1_ge_vwuz2_then_la1 + // [224] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 -- vwuz1_ge_vwuz2_then_la1 lda.z e1+1 cmp.z dx+1 bne !+ @@ -6828,7 +6811,7 @@ bitmap_line: { jmp __b11 // bitmap_line::@11 __b11: - // [227] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 + // [225] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z y clc adc.z sy @@ -6836,7 +6819,7 @@ bitmap_line: { lda.z y+1 adc.z sy+1 sta.z y+1 - // [228] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 -- vwuz1=vwuz1_minus_vwuz2 + // [226] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 -- vwuz1=vwuz1_minus_vwuz2 lda.z e1 sec sbc.z dx @@ -6844,15 +6827,15 @@ bitmap_line: { lda.z e1+1 sbc.z dx+1 sta.z e1+1 - // [229] phi from bitmap_line::@11 bitmap_line::@17 to bitmap_line::@10 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10] + // [227] phi from bitmap_line::@11 bitmap_line::@17 to bitmap_line::@10 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10] __b10_from___b11: __b10_from___b17: - // [229] phi (word) bitmap_line::e1#6 = (word) bitmap_line::e1#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#0] -- register_copy - // [229] phi (word) bitmap_line::y#13 = (word) bitmap_line::y#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#1] -- register_copy + // [227] phi (word) bitmap_line::e1#6 = (word) bitmap_line::e1#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#0] -- register_copy + // [227] phi (word) bitmap_line::y#13 = (word) bitmap_line::y#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#1] -- register_copy jmp __b10 // bitmap_line::@10 __b10: - // [230] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 -- vwuz1_neq_vwuz2_then_la1 + // [228] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 -- vwuz1_neq_vwuz2_then_la1 lda.z x+1 cmp.z x2+1 bne __b9_from___b10 @@ -6862,19 +6845,19 @@ bitmap_line: { jmp __b3_from___b10 // bitmap_line::@4 __b4: - // [231] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 -- vwuz1=vwuz2 + // [229] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 -- vwuz1=vwuz2 lda.z x sta.z bitmap_plot.x lda.z x+1 sta.z bitmap_plot.x+1 - // [232] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 -- vbuz1=_byte_vwuz2 + // [230] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 -- vbuz1=_byte_vwuz2 lda.z y sta.z bitmap_plot.y - // [233] call bitmap_plot - // [319] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot] + // [231] call bitmap_plot + // [317] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot] bitmap_plot_from___b4: - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __breturn } @@ -6884,50 +6867,50 @@ bitmap_line: { // Point values must be within [-200 ; 1ff] for the calculation to not overflow. // A quadratic spline is a curve defined by 3 points: P0, P1 and P2. // The curve connects P0 to P2 through a smooth curve that moves towards P1, but does usually not touch it. -// spline_8segB(signed word zp($88) p0_x, signed word zp($8a) p0_y, signed word zp($8c) p1_x, signed word zp($8e) p1_y, signed word zp($90) p2_x, signed word zp($92) p2_y) +// spline_8segB(signed word zp($86) p0_x, signed word zp($88) p0_y, signed word zp($8a) p1_x, signed word zp($8c) p1_y, signed word zp($8e) p2_x, signed word zp($90) p2_y) spline_8segB: { - .label __0 = $e4 - .label __1 = $e6 - .label __3 = $ea - .label __4 = $ec - .label __6 = $f0 - .label __8 = $f4 - .label __10 = $f8 - .label __12 = $fa - .label __18 = $109 - .label __19 = $10b - .label __20 = $10d - .label __21 = $10f - .label __22 = $100 - .label __23 = $102 - .label __24 = $104 - .label __25 = $106 - .label __31 = $108 - .label a_x = $e8 - .label a_y = $ee - .label b_x = $f2 - .label b_y = $f6 + .label __0 = $e2 + .label __1 = $e4 + .label __3 = $e8 + .label __4 = $ea + .label __6 = $ee + .label __8 = $f2 + .label __10 = $f6 + .label __12 = $f8 + .label __18 = $107 + .label __19 = $109 + .label __20 = $10b + .label __21 = $10d + .label __22 = $fe + .label __23 = $100 + .label __24 = $102 + .label __25 = $104 + .label __31 = $106 + .label a_x = $e6 + .label a_y = $ec + .label b_x = $f0 + .label b_y = $f4 .label i_x = $39 .label i_y = $3b - .label j_x = $fc - .label j_y = $fe + .label j_x = $fa + .label j_y = $fc .label p_x = $34 .label p_y = $36 .label n = $38 - .label p0_x = $88 - .label p0_y = $8a - .label p1_x = $8c - .label p1_y = $8e - .label p2_x = $90 - .label p2_y = $92 - // [234] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 + .label p0_x = $86 + .label p0_y = $88 + .label p1_x = $8a + .label p1_y = $8c + .label p2_x = $8e + .label p2_y = $90 + // [232] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z p1_x asl sta.z __0 lda.z p1_x+1 rol sta.z __0+1 - // [235] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 -- vwsz1=vwsz2_minus_vwsz3 + // [233] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 -- vwsz1=vwsz2_minus_vwsz3 lda.z p2_x sec sbc.z __0 @@ -6935,7 +6918,7 @@ spline_8segB: { lda.z p2_x+1 sbc.z __0+1 sta.z __1+1 - // [236] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz2_plus_vwsz3 + // [234] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz2_plus_vwsz3 lda.z __1 clc adc.z p0_x @@ -6943,14 +6926,14 @@ spline_8segB: { lda.z __1+1 adc.z p0_x+1 sta.z a_x+1 - // [237] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [235] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z p1_y asl sta.z __3 lda.z p1_y+1 rol sta.z __3+1 - // [238] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 -- vwsz1=vwsz2_minus_vwsz3 + // [236] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 -- vwsz1=vwsz2_minus_vwsz3 lda.z p2_y sec sbc.z __3 @@ -6958,7 +6941,7 @@ spline_8segB: { lda.z p2_y+1 sbc.z __3+1 sta.z __4+1 - // [239] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz2_plus_vwsz3 + // [237] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz2_plus_vwsz3 lda.z __4 clc adc.z p0_y @@ -6966,7 +6949,7 @@ spline_8segB: { lda.z __4+1 adc.z p0_y+1 sta.z a_y+1 - // [240] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz2_minus_vwsz3 + // [238] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz2_minus_vwsz3 lda.z p1_x sec sbc.z p0_x @@ -6974,14 +6957,14 @@ spline_8segB: { lda.z p1_x+1 sbc.z p0_x+1 sta.z __6+1 - // [241] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [239] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z __6 asl sta.z b_x lda.z __6+1 rol sta.z b_x+1 - // [242] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz2_minus_vwsz3 + // [240] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz2_minus_vwsz3 lda.z p1_y sec sbc.z p0_y @@ -6989,14 +6972,14 @@ spline_8segB: { lda.z p1_y+1 sbc.z p0_y+1 sta.z __8+1 - // [243] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [241] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z __8 asl sta.z b_y lda.z __8+1 rol sta.z b_y+1 - // [244] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 -- vwsz1=vwsz2_rol_3 + // [242] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 -- vwsz1=vwsz2_rol_3 lda.z b_x asl sta.z __10 @@ -7007,7 +6990,7 @@ spline_8segB: { rol.z __10+1 asl.z __10 rol.z __10+1 - // [245] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 -- vwsz1=vwsz2_plus_vwsz3 + // [243] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 -- vwsz1=vwsz2_plus_vwsz3 lda.z a_x clc adc.z __10 @@ -7015,7 +6998,7 @@ spline_8segB: { lda.z a_x+1 adc.z __10+1 sta.z i_x+1 - // [246] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 -- vwsz1=vwsz2_rol_3 + // [244] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 -- vwsz1=vwsz2_rol_3 lda.z b_y asl sta.z __12 @@ -7026,7 +7009,7 @@ spline_8segB: { rol.z __12+1 asl.z __12 rol.z __12+1 - // [247] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 -- vwsz1=vwsz2_plus_vwsz3 + // [245] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 -- vwsz1=vwsz2_plus_vwsz3 lda.z a_y clc adc.z __12 @@ -7034,21 +7017,21 @@ spline_8segB: { lda.z a_y+1 adc.z __12+1 sta.z i_y+1 - // [248] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [246] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z a_x asl sta.z j_x lda.z a_x+1 rol sta.z j_x+1 - // [249] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [247] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z a_y asl sta.z j_y lda.z a_y+1 rol sta.z j_y+1 - // [250] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 -- vwsz1=vwsz2_rol_6 + // [248] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 -- vwsz1=vwsz2_rol_6 lda.z p0_x asl sta.z p_x @@ -7065,7 +7048,7 @@ spline_8segB: { rol.z p_x+1 asl.z p_x rol.z p_x+1 - // [251] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 -- vwsz1=vwsz2_rol_6 + // [249] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 -- vwsz1=vwsz2_rol_6 lda.z p0_y asl sta.z p_y @@ -7082,27 +7065,27 @@ spline_8segB: { rol.z p_y+1 asl.z p_y rol.z p_y+1 - // [252] phi from spline_8segB to spline_8segB::@1 [phi:spline_8segB->spline_8segB::@1] + // [250] phi from spline_8segB to spline_8segB::@1 [phi:spline_8segB->spline_8segB::@1] __b1_from_spline_8segB: - // [252] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#0 [phi:spline_8segB->spline_8segB::@1#0] -- register_copy - // [252] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#0 [phi:spline_8segB->spline_8segB::@1#1] -- register_copy - // [252] phi (byte) spline_8segB::n#2 = (byte) 0 [phi:spline_8segB->spline_8segB::@1#2] -- vbuz1=vbuc1 + // [250] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#0 [phi:spline_8segB->spline_8segB::@1#0] -- register_copy + // [250] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#0 [phi:spline_8segB->spline_8segB::@1#1] -- register_copy + // [250] phi (byte) spline_8segB::n#2 = (byte) 0 [phi:spline_8segB->spline_8segB::@1#2] -- vbuz1=vbuc1 lda #0 sta.z n - // [252] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#0 [phi:spline_8segB->spline_8segB::@1#3] -- register_copy - // [252] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#0 [phi:spline_8segB->spline_8segB::@1#4] -- register_copy + // [250] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#0 [phi:spline_8segB->spline_8segB::@1#3] -- register_copy + // [250] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#0 [phi:spline_8segB->spline_8segB::@1#4] -- register_copy jmp __b1 - // [252] phi from spline_8segB::@1 to spline_8segB::@1 [phi:spline_8segB::@1->spline_8segB::@1] + // [250] phi from spline_8segB::@1 to spline_8segB::@1 [phi:spline_8segB::@1->spline_8segB::@1] __b1_from___b1: - // [252] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#1 [phi:spline_8segB::@1->spline_8segB::@1#0] -- register_copy - // [252] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#1 [phi:spline_8segB::@1->spline_8segB::@1#1] -- register_copy - // [252] phi (byte) spline_8segB::n#2 = (byte) spline_8segB::n#1 [phi:spline_8segB::@1->spline_8segB::@1#2] -- register_copy - // [252] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#1 [phi:spline_8segB::@1->spline_8segB::@1#3] -- register_copy - // [252] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#1 [phi:spline_8segB::@1->spline_8segB::@1#4] -- register_copy + // [250] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#1 [phi:spline_8segB::@1->spline_8segB::@1#0] -- register_copy + // [250] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#1 [phi:spline_8segB::@1->spline_8segB::@1#1] -- register_copy + // [250] phi (byte) spline_8segB::n#2 = (byte) spline_8segB::n#1 [phi:spline_8segB::@1->spline_8segB::@1#2] -- register_copy + // [250] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#1 [phi:spline_8segB::@1->spline_8segB::@1#3] -- register_copy + // [250] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#1 [phi:spline_8segB::@1->spline_8segB::@1#4] -- register_copy jmp __b1 // spline_8segB::@1 __b1: - // [253] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 + // [251] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 lda.z p_x clc adc #<$20 @@ -7110,7 +7093,7 @@ spline_8segB: { lda.z p_x+1 adc #>$20 sta.z __22+1 - // [254] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 -- vwsz1=vwsz2_ror_6 + // [252] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 -- vwsz1=vwsz2_ror_6 lda.z __22 sta.z $ff lda.z __22+1 @@ -7127,7 +7110,7 @@ spline_8segB: { rol.z $ff rol.z __23 rol.z __23+1 - // [255] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 + // [253] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 lda.z p_y clc adc #<$20 @@ -7135,7 +7118,7 @@ spline_8segB: { lda.z p_y+1 adc #>$20 sta.z __24+1 - // [256] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 -- vwsz1=vwsz2_ror_6 + // [254] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 -- vwsz1=vwsz2_ror_6 lda.z __24 sta.z $ff lda.z __24+1 @@ -7152,24 +7135,24 @@ spline_8segB: { rol.z $ff rol.z __25 rol.z __25+1 - // [257] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 + // [255] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 lda.z n asl asl sta.z __31 - // [258] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 -- pwsc1_derefidx_vbuz1=vwsz2 + // [256] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 -- pwsc1_derefidx_vbuz1=vwsz2 ldy.z __31 lda.z __23 sta SPLINE_8SEG,y lda.z __23+1 sta SPLINE_8SEG+1,y - // [259] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 -- pwsc1_derefidx_vbuz1=vwsz2 + // [257] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 -- pwsc1_derefidx_vbuz1=vwsz2 ldy.z __31 lda.z __25 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y lda.z __25+1 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y - // [260] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 -- vwsz1=vwsz1_plus_vwsz2 + // [258] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 -- vwsz1=vwsz1_plus_vwsz2 lda.z p_x clc adc.z i_x @@ -7177,7 +7160,7 @@ spline_8segB: { lda.z p_x+1 adc.z i_x+1 sta.z p_x+1 - // [261] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 -- vwsz1=vwsz1_plus_vwsz2 + // [259] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 -- vwsz1=vwsz1_plus_vwsz2 lda.z p_y clc adc.z i_y @@ -7185,7 +7168,7 @@ spline_8segB: { lda.z p_y+1 adc.z i_y+1 sta.z p_y+1 - // [262] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 -- vwsz1=vwsz1_plus_vwsz2 + // [260] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z i_x clc adc.z j_x @@ -7193,7 +7176,7 @@ spline_8segB: { lda.z i_x+1 adc.z j_x+1 sta.z i_x+1 - // [263] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 -- vwsz1=vwsz1_plus_vwsz2 + // [261] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z i_y clc adc.z j_y @@ -7201,16 +7184,16 @@ spline_8segB: { lda.z i_y+1 adc.z j_y+1 sta.z i_y+1 - // [264] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 -- vbuz1=_inc_vbuz1 + // [262] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 -- vbuz1=_inc_vbuz1 inc.z n - // [265] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 -- vbuz1_neq_vbuc1_then_la1 + // [263] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z n bne __b1_from___b1 jmp __b2 // spline_8segB::@2 __b2: - // [266] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 + // [264] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 lda.z p_x clc adc #<$20 @@ -7218,7 +7201,7 @@ spline_8segB: { lda.z p_x+1 adc #>$20 sta.z __18+1 - // [267] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 -- vwsz1=vwsz2_ror_6 + // [265] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 -- vwsz1=vwsz2_ror_6 lda.z __18 sta.z $ff lda.z __18+1 @@ -7235,7 +7218,7 @@ spline_8segB: { rol.z $ff rol.z __19 rol.z __19+1 - // [268] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 + // [266] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 lda.z p_y clc adc #<$20 @@ -7243,7 +7226,7 @@ spline_8segB: { lda.z p_y+1 adc #>$20 sta.z __20+1 - // [269] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 -- vwsz1=vwsz2_ror_6 + // [267] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 -- vwsz1=vwsz2_ror_6 lda.z __20 sta.z $ff lda.z __20+1 @@ -7260,12 +7243,12 @@ spline_8segB: { rol.z $ff rol.z __21 rol.z __21+1 - // [270] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 -- _deref_pwsc1=vwsz1 + // [268] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 -- _deref_pwsc1=vwsz1 lda.z __19 sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16 lda.z __19+1 sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16+1 - // [271] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 -- _deref_pwsc1=vwsz1 + // [269] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 -- _deref_pwsc1=vwsz1 lda.z __21 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16 lda.z __21+1 @@ -7273,102 +7256,102 @@ spline_8segB: { jmp __breturn // spline_8segB::@return __breturn: - // [272] return + // [270] return rts } // bitmap_plot_spline_8seg // Plot the spline in the SPLINE_8SEG array bitmap_plot_spline_8seg: { - .label __4 = $111 + .label __4 = $10f .label current_x = $3e .label current_y = $40 .label n = $3d - // [273] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) -- vwsz1=_deref_pwsc1 + // [271] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) -- vwsz1=_deref_pwsc1 lda SPLINE_8SEG sta.z current_x lda SPLINE_8SEG+1 sta.z current_x+1 - // [274] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) -- vwsz1=_deref_pwsc1 + // [272] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) -- vwsz1=_deref_pwsc1 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y sta.z current_y lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1 sta.z current_y+1 - // [275] phi from bitmap_plot_spline_8seg to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1] + // [273] phi from bitmap_plot_spline_8seg to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1] __b1_from_bitmap_plot_spline_8seg: - // [275] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#0] -- register_copy - // [275] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#1] -- register_copy - // [275] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) 1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#2] -- vbuz1=vbuc1 + // [273] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#0] -- register_copy + // [273] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#1] -- register_copy + // [273] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) 1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#2] -- vbuz1=vbuc1 lda #1 sta.z n jmp __b1 - // [275] phi from bitmap_plot_spline_8seg::@2 to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1] + // [273] phi from bitmap_plot_spline_8seg::@2 to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1] __b1_from___b2: - // [275] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#0] -- register_copy - // [275] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#1] -- register_copy - // [275] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#2] -- register_copy + // [273] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#0] -- register_copy + // [273] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#1] -- register_copy + // [273] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#2] -- register_copy jmp __b1 // bitmap_plot_spline_8seg::@1 __b1: - // [276] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 + // [274] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 lda.z n asl asl sta.z __4 - // [277] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 -- vwuz1=vwuz2 + // [275] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 -- vwuz1=vwuz2 lda.z current_x sta.z bitmap_line.x1 lda.z current_x+1 sta.z bitmap_line.x1+1 - // [278] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 -- vwuz1=vwuz2 + // [276] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 -- vwuz1=vwuz2 lda.z current_y sta.z bitmap_line.y1 lda.z current_y+1 sta.z bitmap_line.y1+1 - // [279] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 + // [277] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 ldy.z __4 lda SPLINE_8SEG,y sta.z bitmap_line.x2 lda SPLINE_8SEG+1,y sta.z bitmap_line.x2+1 - // [280] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 + // [278] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 ldy.z __4 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z bitmap_line.y2 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z bitmap_line.y2+1 - // [281] call bitmap_line - // [182] phi from bitmap_plot_spline_8seg::@1 to bitmap_line [phi:bitmap_plot_spline_8seg::@1->bitmap_line] + // [279] call bitmap_line + // [180] phi from bitmap_plot_spline_8seg::@1 to bitmap_line [phi:bitmap_plot_spline_8seg::@1->bitmap_line] bitmap_line_from___b1: - // [182] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#0] -- register_copy - // [182] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#1] -- register_copy - // [182] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#2] -- register_copy - // [182] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#3] -- register_copy + // [180] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#0] -- register_copy + // [180] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#1] -- register_copy + // [180] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#2] -- register_copy + // [180] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#3] -- register_copy jsr bitmap_line jmp __b2 // bitmap_plot_spline_8seg::@2 __b2: - // [282] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 + // [280] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 ldy.z __4 lda SPLINE_8SEG,y sta.z current_x lda SPLINE_8SEG+1,y sta.z current_x+1 - // [283] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 + // [281] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 ldy.z __4 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z current_y lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z current_y+1 - // [284] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 -- vbuz1=_inc_vbuz1 + // [282] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 -- vbuz1=_inc_vbuz1 inc.z n - // [285] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 -- vbuz1_neq_vbuc1_then_la1 + // [283] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 -- vbuz1_neq_vbuc1_then_la1 lda #9 cmp.z n bne __b1_from___b2 jmp __breturn // bitmap_plot_spline_8seg::@return __breturn: - // [286] return + // [284] return rts } // mulf16s @@ -7376,31 +7359,31 @@ bitmap_plot_spline_8seg: { // Fixes offsets introduced by using unsigned multiplication // mulf16s(signed word zp($42) a, signed word zp($44) b) mulf16s: { - .label __6 = $11a - .label __9 = $11e - .label __11 = $11c - .label __12 = $120 + .label __6 = $118 + .label __9 = $11c + .label __11 = $11a + .label __12 = $11e .label m = $46 - .label return = $122 + .label return = $120 .label a = $42 .label b = $44 - .label return_1 = $98 - .label return_2 = $a4 - .label return_3 = $b2 - .label return_4 = $c0 - // [288] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2 + .label return_1 = $96 + .label return_2 = $a2 + .label return_3 = $b0 + .label return_4 = $be + // [286] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2 lda.z a sta.z mulf16u.a lda.z a+1 sta.z mulf16u.a+1 - // [289] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2 + // [287] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2 lda.z b sta.z mulf16u.b lda.z b+1 sta.z mulf16u.b+1 - // [290] call mulf16u + // [288] call mulf16u jsr mulf16u - // [291] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 -- vduz1=vduz2 + // [289] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 -- vduz1=vduz2 lda.z mulf16u.return sta.z mulf16u.return_1 lda.z mulf16u.return+1 @@ -7412,7 +7395,7 @@ mulf16s: { jmp __b5 // mulf16s::@5 __b5: - // [292] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 -- vduz1=vduz2 + // [290] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 -- vduz1=vduz2 lda.z mulf16u.return_1 sta.z m lda.z mulf16u.return_1+1 @@ -7421,18 +7404,18 @@ mulf16s: { sta.z m+2 lda.z mulf16u.return_1+3 sta.z m+3 - // [293] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 -- vwsz1_ge_0_then_la1 + // [291] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 -- vwsz1_ge_0_then_la1 lda.z a+1 bpl __b1_from___b5 jmp __b3 // mulf16s::@3 __b3: - // [294] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 -- vwuz1=_hi_vduz2 + // [292] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 -- vwuz1=_hi_vduz2 lda.z m+2 sta.z __6 lda.z m+3 sta.z __6+1 - // [295] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2_minus_vwuz3 + // [293] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2_minus_vwuz3 lda.z __6 sec sbc.z b @@ -7440,30 +7423,30 @@ mulf16s: { lda.z __6+1 sbc.z b+1 sta.z __11+1 - // [296] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 -- vduz1=vduz1_sethi_vwuz2 + // [294] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 -- vduz1=vduz1_sethi_vwuz2 lda.z __11 sta.z m+2 lda.z __11+1 sta.z m+3 - // [297] phi from mulf16s::@3 mulf16s::@5 to mulf16s::@1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1] + // [295] phi from mulf16s::@3 mulf16s::@5 to mulf16s::@1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1] __b1_from___b3: __b1_from___b5: - // [297] phi (dword) mulf16s::m#5 = (dword) mulf16s::m#1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1#0] -- register_copy + // [295] phi (dword) mulf16s::m#5 = (dword) mulf16s::m#1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1#0] -- register_copy jmp __b1 // mulf16s::@1 __b1: - // [298] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 -- vwsz1_ge_0_then_la1 + // [296] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 -- vwsz1_ge_0_then_la1 lda.z b+1 bpl __b2_from___b1 jmp __b4 // mulf16s::@4 __b4: - // [299] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 -- vwuz1=_hi_vduz2 + // [297] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 -- vwuz1=_hi_vduz2 lda.z m+2 sta.z __9 lda.z m+3 sta.z __9+1 - // [300] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2_minus_vwuz3 + // [298] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2_minus_vwuz3 lda.z __9 sec sbc.z a @@ -7471,19 +7454,19 @@ mulf16s: { lda.z __9+1 sbc.z a+1 sta.z __12+1 - // [301] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 -- vduz1=vduz1_sethi_vwuz2 + // [299] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 -- vduz1=vduz1_sethi_vwuz2 lda.z __12 sta.z m+2 lda.z __12+1 sta.z m+3 - // [302] phi from mulf16s::@1 mulf16s::@4 to mulf16s::@2 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2] + // [300] phi from mulf16s::@1 mulf16s::@4 to mulf16s::@2 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2] __b2_from___b1: __b2_from___b4: - // [302] phi (dword) mulf16s::m#4 = (dword) mulf16s::m#5 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2#0] -- register_copy + // [300] phi (dword) mulf16s::m#4 = (dword) mulf16s::m#5 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2#0] -- register_copy jmp __b2 // mulf16s::@2 __b2: - // [303] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 -- vdsz1=vdsz2 + // [301] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 -- vdsz1=vdsz2 lda.z m sta.z return lda.z m+1 @@ -7495,38 +7478,38 @@ mulf16s: { jmp __breturn // mulf16s::@return __breturn: - // [304] return + // [302] return rts } // abs_u16 // Get the absolute value of a 16-bit unsigned number treated as a signed number. // abs_u16(word zp($4a) w) abs_u16: { - .label __0 = $126 - .label __1 = $127 + .label __0 = $124 + .label __1 = $125 .label w = $4a - .label return = $d4 - .label return_1 = $d8 + .label return = $d2 + .label return_1 = $d6 .label return_2 = $4a - // [306] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 -- vbuz1=_hi_vwuz2 + // [304] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 -- vbuz1=_hi_vwuz2 lda.z w+1 sta.z __0 - // [307] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 + // [305] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 lda #$80 and.z __0 sta.z __1 - // [308] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 -- vbuc1_neq_vbuz1_then_la1 + // [306] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 -- vbuc1_neq_vbuz1_then_la1 lda #0 cmp.z __1 bne __b1 - // [310] phi from abs_u16 abs_u16::@1 to abs_u16::@return [phi:abs_u16/abs_u16::@1->abs_u16::@return] + // [308] phi from abs_u16 abs_u16::@1 to abs_u16::@return [phi:abs_u16/abs_u16::@1->abs_u16::@return] __breturn_from_abs_u16: __breturn_from___b1: - // [310] phi (word) abs_u16::return#4 = (word) abs_u16::w#2 [phi:abs_u16/abs_u16::@1->abs_u16::@return#0] -- register_copy + // [308] phi (word) abs_u16::return#4 = (word) abs_u16::w#2 [phi:abs_u16/abs_u16::@1->abs_u16::@return#0] -- register_copy jmp __breturn // abs_u16::@1 __b1: - // [309] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 -- vwuz1=_neg_vwuz1 + // [307] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 -- vwuz1=_neg_vwuz1 sec lda #0 sbc.z return_2 @@ -7537,7 +7520,7 @@ abs_u16: { jmp __breturn_from___b1 // abs_u16::@return __breturn: - // [311] return + // [309] return rts } // sgn_u16 @@ -7545,39 +7528,39 @@ abs_u16: { // Returns unsigned -1 if the number is // sgn_u16(word zp($4c) w) sgn_u16: { - .label __0 = $128 - .label __1 = $129 + .label __0 = $126 + .label __1 = $127 .label w = $4c - .label return = $dc - .label return_1 = $e0 + .label return = $da + .label return_1 = $de .label return_2 = $4e - // [313] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 -- vbuz1=_hi_vwuz2 + // [311] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 -- vbuz1=_hi_vwuz2 lda.z w+1 sta.z __0 - // [314] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 + // [312] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 -- vbuz1=vbuz2_band_vbuc1 lda #$80 and.z __0 sta.z __1 - // [315] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 -- vbuc1_neq_vbuz1_then_la1 + // [313] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 -- vbuc1_neq_vbuz1_then_la1 lda #0 cmp.z __1 bne __b1_from_sgn_u16 - // [317] phi from sgn_u16 to sgn_u16::@return [phi:sgn_u16->sgn_u16::@return] + // [315] phi from sgn_u16 to sgn_u16::@return [phi:sgn_u16->sgn_u16::@return] __breturn_from_sgn_u16: - // [317] phi (word) sgn_u16::return#4 = (byte) 1 [phi:sgn_u16->sgn_u16::@return#0] -- vwuz1=vbuc1 + // [315] phi (word) sgn_u16::return#4 = (byte) 1 [phi:sgn_u16->sgn_u16::@return#0] -- vwuz1=vbuc1 lda #<1 sta.z return_2 lda #>1 sta.z return_2+1 jmp __breturn - // [316] phi from sgn_u16 to sgn_u16::@1 [phi:sgn_u16->sgn_u16::@1] + // [314] phi from sgn_u16 to sgn_u16::@1 [phi:sgn_u16->sgn_u16::@1] __b1_from_sgn_u16: jmp __b1 // sgn_u16::@1 __b1: - // [317] phi from sgn_u16::@1 to sgn_u16::@return [phi:sgn_u16::@1->sgn_u16::@return] + // [315] phi from sgn_u16::@1 to sgn_u16::@return [phi:sgn_u16::@1->sgn_u16::@return] __breturn_from___b1: - // [317] phi (word) sgn_u16::return#4 = (byte) -1 [phi:sgn_u16::@1->sgn_u16::@return#0] -- vwuz1=vbuc1 + // [315] phi (word) sgn_u16::return#4 = (byte) -1 [phi:sgn_u16::@1->sgn_u16::@return#0] -- vwuz1=vbuc1 lda #<-1 sta.z return_2 lda #>-1 @@ -7585,33 +7568,33 @@ sgn_u16: { jmp __breturn // sgn_u16::@return __breturn: - // [318] return + // [316] return rts } // bitmap_plot // Plot a single dot in the bitmap // bitmap_plot(word zp($51) x, byte zp($50) y) bitmap_plot: { - .label __0 = $12c - .label __1 = $130 - .label plotter = $12a - .label plotter_1 = $12e + .label __0 = $12a + .label __1 = $12e + .label plotter = $128 + .label plotter_1 = $12c .label x = $51 .label y = $50 - // [320] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + // [318] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy.z y lda bitmap_plot_yhi,y sta.z plotter+1 lda bitmap_plot_ylo,y sta.z plotter - // [321] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 -- vwuz1=vwuz2_band_vwuc1 + // [319] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 -- vwuz1=vwuz2_band_vwuc1 lda.z x and #<$fff8 sta.z __0 lda.z x+1 and #>$fff8 sta.z __0+1 - // [322] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 -- pbuz1=pbuz2_plus_vwuz3 + // [320] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 -- pbuz1=pbuz2_plus_vwuz3 lda.z plotter clc adc.z __0 @@ -7619,10 +7602,10 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter_1+1 - // [323] (byte~) bitmap_plot::$1 ← < (word) bitmap_plot::x#4 -- vbuz1=_lo_vwuz2 + // [321] (byte~) bitmap_plot::$1 ← < (word) bitmap_plot::x#4 -- vbuz1=_lo_vwuz2 lda.z x sta.z __1 - // [324] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuz2 + // [322] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuz2 ldy #0 lda (plotter_1),y ldy.z __1 @@ -7632,27 +7615,27 @@ bitmap_plot: { jmp __breturn // bitmap_plot::@return __breturn: - // [325] return + // [323] return rts } // mulf16u // Fast multiply two unsigned ints to a double unsigned int result // Done in assembler to utilize fast addition A+X -// mulf16u(word zp($112) a, word zp($114) b) +// mulf16u(word zp($110) a, word zp($112) b) mulf16u: { .label memA = $f8 .label memB = $fa .label memR = $fc - .label return = $131 - .label a = $112 - .label b = $114 - .label return_1 = $116 - // [326] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 -- _deref_pwuc1=vwuz1 + .label return = $12f + .label a = $110 + .label b = $112 + .label return_1 = $114 + // [324] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 -- _deref_pwuc1=vwuz1 lda.z a sta memA lda.z a+1 sta memA+1 - // [327] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 -- _deref_pwuc1=vwuz1 + // [325] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 -- _deref_pwuc1=vwuz1 lda.z b sta memB lda.z b+1 @@ -7750,7 +7733,7 @@ mulf16u: { bcc !+ inc memR+3 !: - // [329] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) -- vduz1=_deref_pduc1 + // [327] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) -- vduz1=_deref_pduc1 lda memR sta.z return lda memR+1 @@ -7762,7 +7745,7 @@ mulf16u: { jmp __breturn // mulf16u::@return __breturn: - // [330] return + // [328] return rts } // File Data @@ -7874,204 +7857,200 @@ Removing always clobbered register reg byte a as potential for zp[1]:20 [ bitmap Statement [81] (byte~) show_letter::$21 ← (byte) show_letter::i#10 << (byte) 3 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:83 [ show_letter::angle#0 ] Removing always clobbered register reg byte a as potential for zp[1]:23 [ show_letter::i#10 show_letter::i#1 ] -Statement [82] (byte~) show_letter::$16 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::$16 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::$16 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:91 [ show_letter::$21 ] -Statement [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$16) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::$16 show_letter::to_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::$16 show_letter::to_x#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:92 [ show_letter::$16 ] -Statement [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$16) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#0 show_letter::to_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#0 show_letter::to_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [85] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#0 show_letter::to_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#0 show_letter::to_x#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [86] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#1 show_letter::to_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#1 show_letter::to_y#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [87] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#1 rotate::vector_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#1 rotate::vector_x#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [88] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#0 rotate::vector_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#0 rotate::vector_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [91] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#0 rotate::return_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#0 rotate::return_y#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [92] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#0 rotate::return_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#0 rotate::return_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [93] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_y#0 show_letter::to_x#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_y#0 show_letter::to_x#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [94] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#2 show_letter::to_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#2 show_letter::to_y#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [95] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#2 show_letter::current_x#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#2 show_letter::current_x#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [96] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [97] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::$17 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::$17 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [98] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::$17 show_letter::via_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::$17 show_letter::via_x#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:113 [ show_letter::$17 ] -Statement [99] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [100] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [101] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [102] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [103] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [106] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [107] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [108] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [109] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [110] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [111] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [112] (byte~) show_letter::$18 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$18 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$18 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [116] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a -Statement [117] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a -Statement [118] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a -Statement [119] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a -Statement [124] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [125] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [126] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [127] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [128] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [129] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [130] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [131] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [136] if((word) memset::num#2<=(byte) 0) goto memset::@return [ memset::num#2 memset::str#3 memset::c#4 ] ( bitmap_clear:5::memset:75 [ memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:5::memset:77 [ memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] { } ) always clobbers reg byte a +Statement [82] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:92 [ show_letter::$17 ] +Statement [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#0 show_letter::to_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#0 show_letter::to_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [85] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#0 show_letter::to_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#0 show_letter::to_x#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [86] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#1 show_letter::to_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#1 show_letter::to_y#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [87] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#1 rotate::vector_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#1 rotate::vector_x#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [88] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#0 rotate::vector_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#0 rotate::vector_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [91] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#0 rotate::return_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#0 rotate::return_y#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [92] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#0 rotate::return_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#0 rotate::return_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [93] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_y#0 show_letter::to_x#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_y#0 show_letter::to_x#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [94] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#2 show_letter::to_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#2 show_letter::to_y#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [95] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#2 show_letter::current_x#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#2 show_letter::current_x#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [96] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [97] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [98] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [99] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [100] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [101] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [102] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [105] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [106] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [107] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [108] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [109] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [110] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [114] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a +Statement [115] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a +Statement [116] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a +Statement [117] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a +Statement [122] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [123] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [124] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [125] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [126] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [127] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [128] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [129] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [134] if((word) memset::num#2<=(byte) 0) goto memset::@return [ memset::num#2 memset::str#3 memset::c#4 ] ( bitmap_clear:5::memset:75 [ memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:5::memset:77 [ memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:32 [ memset::c#4 ] -Statement [137] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 [ memset::str#3 memset::c#4 memset::end#0 ] ( bitmap_clear:5::memset:75 [ memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:5::memset:77 [ memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] { } ) always clobbers reg byte a -Statement [138] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a -Statement [140] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a -Statement [142] *((byte*) memset::dst#2) ← (byte) memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y +Statement [135] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 [ memset::str#3 memset::c#4 memset::end#0 ] ( bitmap_clear:5::memset:75 [ memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:5::memset:77 [ memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] { } ) always clobbers reg byte a +Statement [136] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a +Statement [138] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a +Statement [140] *((byte*) memset::dst#2) ← (byte) memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:32 [ memset::c#4 ] Removing always clobbered register reg byte y as potential for zp[1]:2 [ main::angle#2 main::angle#1 ] -Statement [145] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a +Statement [143] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:35 [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ] -Statement [146] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a -Statement [147] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a -Statement [149] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a -Statement [150] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [151] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [152] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [153] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [154] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [156] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [157] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [158] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [159] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [160] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [161] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [162] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [164] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [165] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [166] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [167] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [168] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 [ rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [169] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [170] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 [ rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [172] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 [ rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [173] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 [ rotate::yr#0 rotate::xr#1 rotate::$6 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 rotate::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [174] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 [ rotate::yr#0 rotate::xr#1 rotate::$13 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 rotate::$13 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$13 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [175] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 [ rotate::yr#0 rotate::xr#1 rotate::$7 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 rotate::$7 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$7 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [176] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 [ rotate::xr#1 rotate::yr#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::xr#1 rotate::yr#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::xr#1 rotate::yr#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [179] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 [ rotate::return_x#2 rotate::$9 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#2 rotate::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:207 [ rotate::$9 ] -Statement [180] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 [ rotate::return_x#2 rotate::return_y#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#2 rotate::return_y#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::return_y#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [183] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [144] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a +Statement [145] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a +Statement [147] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a +Statement [148] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [149] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [150] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [151] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [152] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [154] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [155] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [156] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [157] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [158] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [159] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [160] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [162] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [163] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [164] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [165] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [166] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 [ rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [167] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [168] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 [ rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [170] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 [ rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [171] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 [ rotate::yr#0 rotate::xr#1 rotate::$6 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 rotate::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [172] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 [ rotate::yr#0 rotate::xr#1 rotate::$13 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 rotate::$13 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$13 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [173] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 [ rotate::yr#0 rotate::xr#1 rotate::$7 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 rotate::$7 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$7 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [174] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 [ rotate::xr#1 rotate::yr#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::xr#1 rotate::yr#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::xr#1 rotate::yr#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [177] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 [ rotate::return_x#2 rotate::$9 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#2 rotate::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:205 [ rotate::$9 ] +Statement [178] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 [ rotate::return_x#2 rotate::return_y#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#2 rotate::return_y#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::return_y#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [181] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] -Removing always clobbered register reg byte a as potential for zp[1]:273 [ bitmap_plot_spline_8seg::$4 ] -Statement [185] (word) abs_u16::return#0 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [186] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [187] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [189] (word) abs_u16::return#1 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [190] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [191] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [192] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [193] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [195] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [196] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [197] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [199] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [200] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [201] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [202] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [204] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } ) always clobbers reg byte a -Statement [205] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } ) always clobbers reg byte a -Statement [207] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [208] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [209] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [210] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [211] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [213] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [215] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 [ bitmap_line::y#7 bitmap_plot::x#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y#7 bitmap_plot::x#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y#7 bitmap_plot::x#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } ) always clobbers reg byte a -Statement [216] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 [ bitmap_plot::x#2 bitmap_plot::y#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#2 bitmap_plot::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#2 bitmap_plot::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } ) always clobbers reg byte a -Statement [219] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [221] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } ) always clobbers reg byte a -Statement [222] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } ) always clobbers reg byte a -Statement [224] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [225] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [226] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [227] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [228] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [230] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [231] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 [ bitmap_line::y#0 bitmap_plot::x#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y#0 bitmap_plot::x#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y#0 bitmap_plot::x#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [232] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 [ bitmap_plot::x#0 bitmap_plot::y#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#0 bitmap_plot::y#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#0 bitmap_plot::y#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [234] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [235] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [236] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [237] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [238] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [239] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [240] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [241] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [242] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [243] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [244] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [245] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [246] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [247] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [248] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [249] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [250] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 [ spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [251] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 [ spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [253] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:271 [ bitmap_plot_spline_8seg::$4 ] +Statement [183] (word) abs_u16::return#0 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [184] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [185] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [187] (word) abs_u16::return#1 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [188] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [189] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [190] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [191] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [193] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [194] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [195] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [197] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [198] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [199] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [200] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [202] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } ) always clobbers reg byte a +Statement [203] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } ) always clobbers reg byte a +Statement [205] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [206] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [207] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [208] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [209] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [211] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [213] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 [ bitmap_line::y#7 bitmap_plot::x#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y#7 bitmap_plot::x#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y#7 bitmap_plot::x#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } ) always clobbers reg byte a +Statement [214] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 [ bitmap_plot::x#2 bitmap_plot::y#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#2 bitmap_plot::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#2 bitmap_plot::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } ) always clobbers reg byte a +Statement [217] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [219] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } ) always clobbers reg byte a +Statement [220] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } ) always clobbers reg byte a +Statement [222] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [223] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [224] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [225] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [226] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [228] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [229] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 [ bitmap_line::y#0 bitmap_plot::x#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y#0 bitmap_plot::x#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y#0 bitmap_plot::x#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [230] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 [ bitmap_plot::x#0 bitmap_plot::y#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#0 bitmap_plot::y#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#0 bitmap_plot::y#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [232] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [233] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [234] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [235] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [236] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [237] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [238] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [239] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [240] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [241] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [242] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [243] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [244] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [245] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [246] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [247] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [248] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 [ spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [249] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 [ spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [251] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:56 [ spline_8segB::n#2 spline_8segB::n#1 ] -Statement [254] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [255] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [256] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [257] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [258] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:264 [ spline_8segB::$31 ] -Statement [259] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [260] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [261] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [262] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [263] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [266] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 [ spline_8segB::p_y#1 spline_8segB::$18 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$18 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [267] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 [ spline_8segB::p_y#1 spline_8segB::$19 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$19 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [268] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 [ spline_8segB::$19 spline_8segB::$20 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$20 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [269] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 [ spline_8segB::$19 spline_8segB::$21 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$21 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [270] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 [ spline_8segB::$21 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$21 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [271] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 [ ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [273] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) [ bitmap_plot_spline_8seg::current_x#0 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [274] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) [ bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [276] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [277] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 [ bitmap_line::x1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [278] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [279] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [280] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [282] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [283] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [288] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a -Statement [289] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a -Statement [291] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 [ mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a -Statement [292] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [293] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [294] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [295] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [296] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [298] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 [ mulf16s::a#4 mulf16s::m#5 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [299] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 [ mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [300] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 [ mulf16s::m#5 mulf16s::$12 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [301] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 [ mulf16s::m#2 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [303] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 [ mulf16s::return#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [309] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 [ abs_u16::return#2 ] ( show_letter:16::bitmap_line:120::abs_u16:184 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::abs_u16:184 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_line:120::abs_u16:188 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::abs_u16:188 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [320] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( show_letter:16::bitmap_line:120::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:120::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:120::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:120::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [321] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 [ bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] ( show_letter:16::bitmap_line:120::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:120::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:120::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:120::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [322] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 [ bitmap_plot::x#4 bitmap_plot::plotter#1 ] ( show_letter:16::bitmap_line:120::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:120::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:120::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:120::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [324] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) [ ] ( show_letter:16::bitmap_line:120::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:120::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:120::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:120::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a reg byte y +Statement [252] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [253] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [254] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [255] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [256] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:262 [ spline_8segB::$31 ] +Statement [257] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [258] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [259] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [260] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [261] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [264] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 [ spline_8segB::p_y#1 spline_8segB::$18 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$18 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [265] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 [ spline_8segB::p_y#1 spline_8segB::$19 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$19 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [266] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 [ spline_8segB::$19 spline_8segB::$20 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$20 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [267] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 [ spline_8segB::$19 spline_8segB::$21 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$21 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [268] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 [ spline_8segB::$21 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$21 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [269] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 [ ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [271] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) [ bitmap_plot_spline_8seg::current_x#0 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [272] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) [ bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [274] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [275] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 [ bitmap_line::x1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [276] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [277] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [278] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [280] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [281] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [286] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [287] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [289] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 [ mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [290] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [291] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [292] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [293] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [294] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [296] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 [ mulf16s::a#4 mulf16s::m#5 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [297] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 [ mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [298] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 [ mulf16s::m#5 mulf16s::$12 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [299] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 [ mulf16s::m#2 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [301] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 [ mulf16s::return#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [307] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 [ abs_u16::return#2 ] ( show_letter:16::bitmap_line:118::abs_u16:182 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::abs_u16:182 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_line:118::abs_u16:186 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::abs_u16:186 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [318] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( show_letter:16::bitmap_line:118::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:118::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:118::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:118::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [319] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 [ bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] ( show_letter:16::bitmap_line:118::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:118::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:118::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:118::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [320] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 [ bitmap_plot::x#4 bitmap_plot::plotter#1 ] ( show_letter:16::bitmap_line:118::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:118::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:118::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:118::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [322] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) [ ] ( show_letter:16::bitmap_line:118::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:118::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:118::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:118::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:83 [ show_letter::angle#0 ] Removing always clobbered register reg byte y as potential for zp[1]:23 [ show_letter::i#10 show_letter::i#1 ] Removing always clobbered register reg byte y as potential for zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] -Removing always clobbered register reg byte y as potential for zp[1]:273 [ bitmap_plot_spline_8seg::$4 ] -Statement [326] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 [ mulf16u::b#0 ] ( show_letter:16::rotate:90::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a -Statement [327] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 [ ] ( show_letter:16::rotate:90::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Removing always clobbered register reg byte y as potential for zp[1]:271 [ bitmap_plot_spline_8seg::$4 ] +Statement [324] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 [ mulf16u::b#0 ] ( show_letter:16::rotate:90::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [325] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 [ ] ( show_letter:16::rotate:90::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a Statement asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !: } always clobbers reg byte a reg byte x Removing always clobbered register reg byte x as potential for zp[1]:2 [ main::angle#2 main::angle#1 ] Removing always clobbered register reg byte x as potential for zp[1]:83 [ show_letter::angle#0 ] Removing always clobbered register reg byte x as potential for zp[1]:23 [ show_letter::i#10 show_letter::i#1 ] -Removing always clobbered register reg byte x as potential for zp[1]:91 [ show_letter::$21 ] +Removing always clobbered register reg byte x as potential for zp[1]:92 [ show_letter::$17 ] Removing always clobbered register reg byte x as potential for zp[1]:35 [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ] -Statement [329] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) [ mulf16u::return#0 ] ( show_letter:16::rotate:90::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [327] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) [ mulf16u::return#0 ] ( show_letter:16::rotate:90::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a Statement [6] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2+(const byte) OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) ← (byte) 3 [ ] ( [ ] { } ) always clobbers reg byte a Statement [8] *((byte*)(const nomodify struct MOS6526_CIA*) CIA2) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0 [ ] ( [ ] { } ) always clobbers reg byte a Statement [10] *((const nomodify byte*) D018) ← (const byte) main::toD0181_return#0 [ ] ( [ ] { } ) always clobbers reg byte a @@ -8094,184 +8073,182 @@ Statement [50] (word) mulf_init::sqr#1 ← (word) mulf_init::sqr#3 + (byte) mulf Statement [62] (byte~) bitmap_init::$7 ← (byte) bitmap_init::y#2 & (byte) 7 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$7 ] ( bitmap_init:3 [ bitmap_init::y#2 bitmap_init::yoffs#2 bitmap_init::$7 ] { } ) always clobbers reg byte a Statement [69] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] ( bitmap_init:3 [ bitmap_init::y#2 bitmap_init::yoffs#1 ] { } ) always clobbers reg byte a Statement [81] (byte~) show_letter::$21 ← (byte) show_letter::i#10 << (byte) 3 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [82] (byte~) show_letter::$16 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::$16 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::$16 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$16) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::$16 show_letter::to_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::$16 show_letter::to_x#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$16) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#0 show_letter::to_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#0 show_letter::to_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [85] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#0 show_letter::to_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#0 show_letter::to_x#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [86] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#1 show_letter::to_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#1 show_letter::to_y#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [87] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#1 rotate::vector_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#1 rotate::vector_x#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [88] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#0 rotate::vector_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#0 rotate::vector_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [91] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#0 rotate::return_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#0 rotate::return_y#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [92] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#0 rotate::return_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#0 rotate::return_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [93] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_y#0 show_letter::to_x#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_y#0 show_letter::to_x#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [94] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#2 show_letter::to_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_x#2 show_letter::to_y#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [95] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#2 show_letter::current_x#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::to_y#2 show_letter::current_x#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [96] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [97] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::$17 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::$17 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [98] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::$17 show_letter::via_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::$17 show_letter::via_x#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [99] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [100] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [101] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [102] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [103] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [106] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [107] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [108] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [109] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [110] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [111] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [112] (byte~) show_letter::$18 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$18 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 show_letter::$18 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [116] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a -Statement [117] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a -Statement [118] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a -Statement [119] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a -Statement [122] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#10 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [124] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [125] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [126] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [127] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [128] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [129] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [130] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [131] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [136] if((word) memset::num#2<=(byte) 0) goto memset::@return [ memset::num#2 memset::str#3 memset::c#4 ] ( bitmap_clear:5::memset:75 [ memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:5::memset:77 [ memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] { } ) always clobbers reg byte a -Statement [137] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 [ memset::str#3 memset::c#4 memset::end#0 ] ( bitmap_clear:5::memset:75 [ memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:5::memset:77 [ memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] { } ) always clobbers reg byte a -Statement [138] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a -Statement [140] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a -Statement [142] *((byte*) memset::dst#2) ← (byte) memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y -Statement [145] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a -Statement [146] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a -Statement [147] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a -Statement [149] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a -Statement [150] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [151] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [152] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [153] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [154] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [156] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a -Statement [157] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [158] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [159] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [160] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [161] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [162] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [164] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a -Statement [165] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [166] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [167] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [168] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 [ rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [169] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [170] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 [ rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [172] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 [ rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [173] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 [ rotate::yr#0 rotate::xr#1 rotate::$6 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 rotate::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [174] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 [ rotate::yr#0 rotate::xr#1 rotate::$13 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 rotate::$13 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$13 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [175] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 [ rotate::yr#0 rotate::xr#1 rotate::$7 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 rotate::$7 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$7 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [176] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 [ rotate::xr#1 rotate::yr#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::xr#1 rotate::yr#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::xr#1 rotate::yr#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [179] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 [ rotate::return_x#2 rotate::$9 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#2 rotate::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [180] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 [ rotate::return_x#2 rotate::return_y#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::return_x#2 rotate::return_y#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:105 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::return_y#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a -Statement [183] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [185] (word) abs_u16::return#0 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [186] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [187] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [189] (word) abs_u16::return#1 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [190] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [191] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [192] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [193] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [195] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [196] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [197] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [199] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a -Statement [200] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [201] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [202] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [204] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } ) always clobbers reg byte a -Statement [205] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } ) always clobbers reg byte a -Statement [207] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [208] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [209] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [210] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [211] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [213] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [215] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 [ bitmap_line::y#7 bitmap_plot::x#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y#7 bitmap_plot::x#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y#7 bitmap_plot::x#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } ) always clobbers reg byte a -Statement [216] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 [ bitmap_plot::x#2 bitmap_plot::y#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#2 bitmap_plot::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#2 bitmap_plot::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } ) always clobbers reg byte a -Statement [219] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [221] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } ) always clobbers reg byte a -Statement [222] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } ) always clobbers reg byte a -Statement [224] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [225] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [226] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [227] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [228] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [230] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [231] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 [ bitmap_line::y#0 bitmap_plot::x#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y#0 bitmap_plot::x#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y#0 bitmap_plot::x#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [232] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 [ bitmap_plot::x#0 bitmap_plot::y#0 ] ( show_letter:16::bitmap_line:120 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#0 bitmap_plot::y#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#0 bitmap_plot::y#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [234] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [235] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [236] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [237] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [238] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [239] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [240] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [241] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [242] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [243] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [244] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [245] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [246] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [247] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [248] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [249] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [250] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 [ spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [251] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 [ spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [253] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [254] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [255] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [256] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [257] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [258] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [259] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [260] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [261] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [262] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [263] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [266] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 [ spline_8segB::p_y#1 spline_8segB::$18 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$18 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [267] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 [ spline_8segB::p_y#1 spline_8segB::$19 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$19 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [268] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 [ spline_8segB::$19 spline_8segB::$20 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$20 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [269] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 [ spline_8segB::$19 spline_8segB::$21 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$21 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [270] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 [ spline_8segB::$21 ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$21 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [271] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 [ ] ( show_letter:16::spline_8segB:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a -Statement [273] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) [ bitmap_plot_spline_8seg::current_x#0 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [274] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) [ bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [276] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [277] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 [ bitmap_line::x1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [278] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [279] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [280] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a -Statement [282] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [283] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] ( show_letter:16::bitmap_plot_spline_8seg:134 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a -Statement [288] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a -Statement [289] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a -Statement [291] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 [ mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a -Statement [292] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [293] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [294] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [295] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [296] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [298] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 [ mulf16s::a#4 mulf16s::m#5 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [299] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 [ mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [300] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 [ mulf16s::m#5 mulf16s::$12 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [301] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 [ mulf16s::m#2 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [303] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 [ mulf16s::return#0 ] ( show_letter:16::rotate:90::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:105::mulf16s:148 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:105::mulf16s:155 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:105::mulf16s:163 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:105::mulf16s:171 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a -Statement [309] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 [ abs_u16::return#2 ] ( show_letter:16::bitmap_line:120::abs_u16:184 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::abs_u16:184 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_line:120::abs_u16:188 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::abs_u16:188 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a -Statement [320] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( show_letter:16::bitmap_line:120::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:120::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:120::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:120::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [321] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 [ bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] ( show_letter:16::bitmap_line:120::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:120::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:120::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:120::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [322] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 [ bitmap_plot::x#4 bitmap_plot::plotter#1 ] ( show_letter:16::bitmap_line:120::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:120::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:120::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:120::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a -Statement [324] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) [ ] ( show_letter:16::bitmap_line:120::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:206 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:120::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:217 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:120::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:223 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:120::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:134::bitmap_line:281::bitmap_plot:233 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a reg byte y -Statement [326] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 [ mulf16u::b#0 ] ( show_letter:16::rotate:90::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a -Statement [327] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 [ ] ( show_letter:16::rotate:90::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [82] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#0 show_letter::to_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#0 show_letter::to_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [85] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#0 show_letter::to_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#0 show_letter::to_x#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [86] (signed word) show_letter::to_y#1 ← (signed word) show_letter::to_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#1 show_letter::to_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#1 show_letter::to_y#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [87] (signed word) rotate::vector_x#0 ← (signed word) show_letter::to_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#1 rotate::vector_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#1 rotate::vector_x#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [88] (signed word) rotate::vector_y#0 ← (signed word) show_letter::to_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#0 rotate::vector_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#0 rotate::vector_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [91] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#0 rotate::return_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#0 rotate::return_y#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [92] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#0 rotate::return_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#0 rotate::return_y#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [93] (signed word) show_letter::to_x#2 ← (signed word) rotate::return_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_y#0 show_letter::to_x#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_y#0 show_letter::to_x#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [94] (signed word) show_letter::to_y#2 ← (signed word) rotate::return_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#2 show_letter::to_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_x#2 show_letter::to_y#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [95] (signed word) show_letter::current_x#10 ← (signed word) show_letter::to_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#2 show_letter::current_x#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::to_y#2 show_letter::current_x#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [96] (signed word) show_letter::current_y#10 ← (signed word) show_letter::to_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [97] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [98] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#0 show_letter::via_y#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [99] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#0 show_letter::via_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [100] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#1 show_letter::via_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [101] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#1 rotate::vector_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [102] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#1 rotate::vector_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [105] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_y#2 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [106] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#1 rotate::return_y#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [107] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_y#1 show_letter::via_x#2 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [108] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_x#2 show_letter::via_y#2 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [109] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::via_y#2 show_letter::segment_via_x#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [110] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [114] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a +Statement [115] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a +Statement [116] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a +Statement [117] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#0 bitmap_line::y1#0 bitmap_line::x2#0 bitmap_line::y2#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } ) always clobbers reg byte a +Statement [120] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#10 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [122] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [123] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#1 show_letter::current_x#11 show_letter::current_y#11 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [124] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_y#4 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [125] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_x#0 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [126] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 show_letter::segment_via_y#0 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [127] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [128] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [129] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 [ show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] ( show_letter:16 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [134] if((word) memset::num#2<=(byte) 0) goto memset::@return [ memset::num#2 memset::str#3 memset::c#4 ] ( bitmap_clear:5::memset:75 [ memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:5::memset:77 [ memset::num#2 memset::str#3 memset::c#4 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::num#2 memset::str#3 memset::c#4 ] { } ) always clobbers reg byte a +Statement [135] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 [ memset::str#3 memset::c#4 memset::end#0 ] ( bitmap_clear:5::memset:75 [ memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:5::memset:77 [ memset::str#3 memset::c#4 memset::end#0 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::str#3 memset::c#4 memset::end#0 ] { } ) always clobbers reg byte a +Statement [136] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#4 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#4 ] { } ) always clobbers reg byte a +Statement [138] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a +Statement [140] *((byte*) memset::dst#2) ← (byte) memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( bitmap_clear:5::memset:75 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:75 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:5::memset:77 [ memset::c#4 memset::end#0 memset::dst#2 ] { } bitmap_clear:14::memset:77 [ main::angle#2 memset::c#4 memset::end#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y +Statement [143] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a +Statement [144] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a +Statement [145] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#0 mulf16s::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a +Statement [147] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } ) always clobbers reg byte a +Statement [148] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [149] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::$10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [150] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 rotate::xr#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [151] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [152] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#1 mulf16s::b#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [154] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } ) always clobbers reg byte a +Statement [155] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [156] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [157] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 [ rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [158] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [159] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [160] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#2 mulf16s::b#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [162] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } ) always clobbers reg byte a +Statement [163] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [164] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [165] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 [ rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 rotate::$5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [166] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 [ rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::sin_a#0 rotate::xr#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [167] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 [ rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::yr#0 rotate::xr#1 mulf16s::a#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [168] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 [ rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#3 mulf16s::b#3 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [170] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 [ rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#10 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [171] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 [ rotate::yr#0 rotate::xr#1 rotate::$6 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 rotate::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [172] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 [ rotate::yr#0 rotate::xr#1 rotate::$13 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 rotate::$13 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$13 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [173] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 [ rotate::yr#0 rotate::xr#1 rotate::$7 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 rotate::$7 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 rotate::$7 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [174] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 [ rotate::xr#1 rotate::yr#1 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::xr#1 rotate::yr#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::xr#1 rotate::yr#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [177] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 [ rotate::return_x#2 rotate::$9 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#2 rotate::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [178] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 [ rotate::return_x#2 rotate::return_y#2 ] ( show_letter:16::rotate:90 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::return_x#2 rotate::return_y#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } } show_letter:16::rotate:104 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::return_x#2 rotate::return_y#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } } ) always clobbers reg byte a +Statement [181] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [183] (word) abs_u16::return#0 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [184] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [185] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [187] (word) abs_u16::return#1 ← (word) abs_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [188] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [189] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [190] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [191] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::w#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [193] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 sgn_u16::return#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#0 = sgn_u16::w#2 } { sgn_u16::return#0 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [194] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [195] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::w#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [197] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 sgn_u16::return#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { sgn_u16::w#1 = sgn_u16::w#2 } { sgn_u16::return#1 = sgn_u16::return#4 } } ) always clobbers reg byte a +Statement [198] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [199] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [200] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [202] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } ) always clobbers reg byte a +Statement [203] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#1 bitmap_plot::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } ) always clobbers reg byte a +Statement [205] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::e#3 bitmap_line::y#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [206] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [207] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#1 bitmap_line::e#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [208] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::e#1 bitmap_line::x#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [209] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::y#1 bitmap_line::x#1 bitmap_line::e#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [211] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 [ bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#12 bitmap_line::y#1 bitmap_line::e#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [213] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 [ bitmap_line::y#7 bitmap_plot::x#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y#7 bitmap_plot::x#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y#7 bitmap_plot::x#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } ) always clobbers reg byte a +Statement [214] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 [ bitmap_plot::x#2 bitmap_plot::y#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#2 bitmap_plot::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#2 bitmap_plot::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } ) always clobbers reg byte a +Statement [217] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 [ bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::e1#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [219] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } ) always clobbers reg byte a +Statement [220] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#3 bitmap_plot::y#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } ) always clobbers reg byte a +Statement [222] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [223] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [224] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#15 bitmap_line::e1#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [225] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::e1#1 bitmap_line::y#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [226] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#2 bitmap_line::e1#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [228] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 [ bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#15 bitmap_line::y#13 bitmap_line::e1#6 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [229] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 [ bitmap_line::y#0 bitmap_plot::x#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y#0 bitmap_plot::x#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y#0 bitmap_plot::x#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [230] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 [ bitmap_plot::x#0 bitmap_plot::y#0 ] ( show_letter:16::bitmap_line:118 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#0 bitmap_plot::y#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#0 bitmap_plot::y#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [232] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_x#0 spline_8segB::p2_y#0 spline_8segB::$0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [233] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::$1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [234] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [235] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::p2_y#0 spline_8segB::a_x#0 spline_8segB::$3 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [236] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::$4 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [237] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_x#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [238] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::$6 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [239] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::p1_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [240] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::$8 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [241] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_x#0 spline_8segB::b_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [242] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::$10 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [243] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::b_y#0 spline_8segB::i_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [244] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::$12 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [245] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_x#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [246] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::a_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [247] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 [ spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_x#0 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [248] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 [ spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p0_y#0 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [249] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 [ spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::i_x#0 spline_8segB::i_y#0 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#0 spline_8segB::p_y#0 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [251] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$22 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [252] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [253] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$24 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [254] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [255] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$23 spline_8segB::$25 spline_8segB::$31 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [256] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::$25 spline_8segB::$31 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [257] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_x#2 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [258] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::p_y#2 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [259] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_x#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [260] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::i_y#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [261] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 [ spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::j_x#0 spline_8segB::j_y#0 spline_8segB::n#2 spline_8segB::p_x#1 spline_8segB::p_y#1 spline_8segB::i_x#1 spline_8segB::i_y#1 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [264] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 [ spline_8segB::p_y#1 spline_8segB::$18 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$18 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [265] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 [ spline_8segB::p_y#1 spline_8segB::$19 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::p_y#1 spline_8segB::$19 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [266] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 [ spline_8segB::$19 spline_8segB::$20 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$20 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [267] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 [ spline_8segB::$19 spline_8segB::$21 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$19 spline_8segB::$21 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [268] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 [ spline_8segB::$21 ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 spline_8segB::$21 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [269] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 [ ] ( show_letter:16::spline_8segB:130 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { spline_8segB::p0_x#0 = show_letter::current_x#4 } { spline_8segB::p0_y#0 = show_letter::current_y#4 } { spline_8segB::p1_x#0 = show_letter::segment_via_x#0 } { spline_8segB::p1_y#0 = show_letter::segment_via_y#0 } { spline_8segB::p2_x#0 = show_letter::current_x#10 } { spline_8segB::p2_y#0 = show_letter::current_y#10 } } ) always clobbers reg byte a +Statement [271] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) [ bitmap_plot_spline_8seg::current_x#0 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [272] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) [ bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_y#0 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [274] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [275] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 [ bitmap_line::x1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [276] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [277] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [278] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x1#1 bitmap_line::y1#1 bitmap_line::x2#13 bitmap_line::y2#13 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } } ) always clobbers reg byte a +Statement [280] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$4 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [281] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] ( show_letter:16::bitmap_plot_spline_8seg:132 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::current_x#1 bitmap_plot_spline_8seg::current_y#1 ] { { show_letter::angle#0 = main::angle#2 } } ) always clobbers reg byte a +Statement [286] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [287] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::a#0 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [289] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 [ mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [290] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [291] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [292] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$6 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [293] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#0 mulf16s::$11 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [294] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 [ mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16s::m#1 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [296] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 [ mulf16s::a#4 mulf16s::m#5 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [297] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 [ mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::m#5 mulf16s::$9 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [298] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 [ mulf16s::m#5 mulf16s::$12 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#5 mulf16s::$12 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [299] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 [ mulf16s::m#2 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::m#2 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [301] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 [ mulf16s::return#0 ] ( show_letter:16::rotate:90::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:104::mulf16s:146 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } } show_letter:16::rotate:90::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:104::mulf16s:153 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } } show_letter:16::rotate:90::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:104::mulf16s:161 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } } show_letter:16::rotate:90::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } show_letter:16::rotate:104::mulf16s:169 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } } ) always clobbers reg byte a +Statement [307] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 [ abs_u16::return#2 ] ( show_letter:16::bitmap_line:118::abs_u16:182 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::abs_u16:182 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#0 = abs_u16::w#2 } { abs_u16::return#0 = abs_u16::return#4 } } show_letter:16::bitmap_line:118::abs_u16:186 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::abs_u16:186 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x#0 bitmap_line::y#0 bitmap_line::x2#10 bitmap_line::y2#11 bitmap_line::dx#0 abs_u16::return#2 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { abs_u16::w#1 = abs_u16::w#2 } { abs_u16::return#1 = abs_u16::return#4 } } ) always clobbers reg byte a +Statement [318] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [ bitmap_plot::x#4 bitmap_plot::plotter#0 ] ( show_letter:16::bitmap_line:118::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:118::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:118::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:118::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [319] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 [ bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] ( show_letter:16::bitmap_line:118::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:118::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:118::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:118::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#0 bitmap_plot::$0 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [320] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 [ bitmap_plot::x#4 bitmap_plot::plotter#1 ] ( show_letter:16::bitmap_line:118::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:118::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:118::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:118::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_plot::x#4 bitmap_plot::plotter#1 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a +Statement [322] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) [ ] ( show_letter:16::bitmap_line:118::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:204 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::y2#11 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#13 bitmap_line::y#4 bitmap_line::e#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#1 = bitmap_plot::y#4 } { bitmap_plot::x#1 = bitmap_plot::x#4 bitmap_line::x#13 } } show_letter:16::bitmap_line:118::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:215 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#2 = bitmap_plot::y#4 } { bitmap_plot::x#2 = bitmap_plot::x#4 bitmap_line::x#6 } } show_letter:16::bitmap_line:118::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#0 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:221 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 bitmap_line::x2#10 bitmap_line::dx#0 bitmap_line::dy#0 bitmap_line::sx#0 bitmap_line::sy#0 bitmap_line::x#7 bitmap_line::y#15 bitmap_line::e1#3 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::x#0 = bitmap_line::x1#1 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#3 = bitmap_plot::y#4 } { bitmap_plot::x#3 = bitmap_plot::x#4 bitmap_line::x#7 } } show_letter:16::bitmap_line:118::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#0 } { bitmap_line::x2#0 = bitmap_line::x2#10 } { bitmap_line::y2#0 = bitmap_line::y2#11 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#0 } } show_letter:16::bitmap_plot_spline_8seg:132::bitmap_line:279::bitmap_plot:231 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#10 show_letter::current_y#10 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::$4 ] { { show_letter::angle#0 = main::angle#2 } { bitmap_line::y#0 = bitmap_line::y1#1 } { bitmap_line::x2#10 = bitmap_line::x2#13 } { bitmap_line::y2#11 = bitmap_line::y2#13 } { bitmap_plot::y#0 = bitmap_plot::y#4 } { bitmap_plot::x#0 = bitmap_plot::x#4 bitmap_line::x#0 bitmap_line::x1#1 } } ) always clobbers reg byte a reg byte y +Statement [324] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 [ mulf16u::b#0 ] ( show_letter:16::rotate:90::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::b#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [325] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 [ ] ( show_letter:16::rotate:90::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a Statement asm { ldamemA stasm1a+1 stasm3a+1 stasm5a+1 stasm7a+1 eor#$ff stasm2a+1 stasm4a+1 stasm6a+1 stasm8a+1 ldamemA+1 stasm1b+1 stasm3b+1 stasm5b+1 stasm7b+1 eor#$ff stasm2b+1 stasm4b+1 stasm6b+1 stasm8b+1 ldxmemB sec sm1a: ldamulf_sqr1_lo,x sm2a: sbcmulf_sqr2_lo,x stamemR+0 sm3a: ldamulf_sqr1_hi,x sm4a: sbcmulf_sqr2_hi,x sta_AA+1 sec sm1b: ldamulf_sqr1_lo,x sm2b: sbcmulf_sqr2_lo,x sta_cc+1 sm3b: ldamulf_sqr1_hi,x sm4b: sbcmulf_sqr2_hi,x sta_CC+1 ldxmemB+1 sec sm5a: ldamulf_sqr1_lo,x sm6a: sbcmulf_sqr2_lo,x sta_bb+1 sm7a: ldamulf_sqr1_hi,x sm8a: sbcmulf_sqr2_hi,x sta_BB+1 sec sm5b: ldamulf_sqr1_lo,x sm6b: sbcmulf_sqr2_lo,x sta_dd+1 sm7b: ldamulf_sqr1_hi,x sm8b: sbcmulf_sqr2_hi,x stamemR+3 clc _AA: lda#0 _bb: adc#0 stamemR+1 _BB: lda#0 _CC: adc#0 stamemR+2 bcc!+ incmemR+3 clc !: _cc: lda#0 adcmemR+1 stamemR+1 _dd: lda#0 adcmemR+2 stamemR+2 bcc!+ incmemR+3 !: } always clobbers reg byte a reg byte x -Statement [329] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) [ mulf16u::return#0 ] ( show_letter:16::rotate:90::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:148::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:155::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:163::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:105::mulf16s:171::mulf16u:290 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$21 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a +Statement [327] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) [ mulf16u::return#0 ] ( show_letter:16::rotate:90::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:146::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::cos_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#0 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#0 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#2 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:153::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::angle#2 rotate::vector_x#2 rotate::vector_y#2 rotate::xr#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#1 = mulf16s::a#4 rotate::cos_a#0 } { mulf16s::b#1 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#3 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#0 = rotate::vector_x#2 show_letter::to_x#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#0 show_letter::to_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:161::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::vector_x#2 rotate::xr#0 rotate::yr#0 rotate::sin_a#0 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_x#1 = rotate::vector_x#2 show_letter::via_x#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#2 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#2 = mulf16s::b#4 rotate::vector_y#2 rotate::vector_y#1 show_letter::via_y#1 } { mulf16s::return#0 = mulf16s::return#4 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:90::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#0 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#0 = rotate::vector_y#2 show_letter::to_y#1 } { rotate::return_x#0 = rotate::return_x#2 } { rotate::return_y#0 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#0 show_letter::to_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } show_letter:16::rotate:104::mulf16s:169::mulf16u:288 [ main::angle#2 show_letter::angle#0 show_letter::i#10 show_letter::current_x#4 show_letter::current_y#4 show_letter::$17 show_letter::current_x#10 show_letter::current_y#10 rotate::yr#0 rotate::xr#1 mulf16s::a#4 mulf16s::b#4 mulf16u::return#0 ] { { rotate::angle#1 = rotate::angle#2 show_letter::angle#0 main::angle#2 } { rotate::vector_y#1 = rotate::vector_y#2 show_letter::via_y#1 } { rotate::return_x#1 = rotate::return_x#2 } { rotate::return_y#1 = rotate::return_y#2 } { mulf16s::a#3 = mulf16s::a#4 rotate::sin_a#0 } { mulf16s::b#3 = mulf16s::b#4 rotate::vector_x#2 rotate::vector_x#1 show_letter::via_x#1 } { mulf16s::return#0 = mulf16s::return#10 } { mulf16u::return#0 = mulf16u::return#2 } } ) always clobbers reg byte a Potential registers zp[1]:2 [ main::angle#2 main::angle#1 ] : zp[1]:2 , Potential registers zp[1]:3 [ main::w#4 main::w#1 ] : zp[1]:3 , reg byte x , reg byte y , Potential registers zp[2]:4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] : zp[2]:4 , @@ -8327,8 +8304,8 @@ Potential registers zp[1]:87 [ bitmap_init::$7 ] : zp[1]:87 , reg byte a , reg b Potential registers zp[1]:88 [ bitmap_init::$4 ] : zp[1]:88 , reg byte a , reg byte x , reg byte y , reg byte alu , Potential registers zp[1]:89 [ bitmap_init::$5 ] : zp[1]:89 , reg byte a , reg byte x , reg byte y , Potential registers zp[1]:90 [ bitmap_init::$6 ] : zp[1]:90 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:91 [ show_letter::$21 ] : zp[1]:91 , reg byte y , -Potential registers zp[1]:92 [ show_letter::$16 ] : zp[1]:92 , reg byte x , reg byte y , +Potential registers zp[1]:91 [ show_letter::$21 ] : zp[1]:91 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:92 [ show_letter::$17 ] : zp[1]:92 , reg byte y , Potential registers zp[2]:93 [ show_letter::to_x#0 ] : zp[2]:93 , Potential registers zp[2]:95 [ show_letter::to_y#0 ] : zp[2]:95 , Potential registers zp[2]:97 [ show_letter::to_x#1 ] : zp[2]:97 , @@ -8339,112 +8316,110 @@ Potential registers zp[2]:105 [ show_letter::to_x#2 ] : zp[2]:105 , Potential registers zp[2]:107 [ show_letter::to_y#2 ] : zp[2]:107 , Potential registers zp[2]:109 [ show_letter::current_x#10 ] : zp[2]:109 , Potential registers zp[2]:111 [ show_letter::current_y#10 ] : zp[2]:111 , -Potential registers zp[1]:113 [ show_letter::$17 ] : zp[1]:113 , reg byte x , reg byte y , -Potential registers zp[2]:114 [ show_letter::via_x#0 ] : zp[2]:114 , -Potential registers zp[2]:116 [ show_letter::via_y#0 ] : zp[2]:116 , -Potential registers zp[2]:118 [ show_letter::via_x#1 ] : zp[2]:118 , -Potential registers zp[2]:120 [ show_letter::via_y#1 ] : zp[2]:120 , -Potential registers zp[2]:122 [ rotate::return_x#1 ] : zp[2]:122 , -Potential registers zp[2]:124 [ rotate::return_y#1 ] : zp[2]:124 , -Potential registers zp[2]:126 [ show_letter::via_x#2 ] : zp[2]:126 , -Potential registers zp[2]:128 [ show_letter::via_y#2 ] : zp[2]:128 , -Potential registers zp[2]:130 [ show_letter::segment_via_x#0 ] : zp[2]:130 , -Potential registers zp[2]:132 [ show_letter::segment_via_y#0 ] : zp[2]:132 , -Potential registers zp[1]:134 [ show_letter::$18 ] : zp[1]:134 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:135 [ show_letter::segment_type#0 ] : zp[1]:135 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:136 [ spline_8segB::p0_x#0 ] : zp[2]:136 , -Potential registers zp[2]:138 [ spline_8segB::p0_y#0 ] : zp[2]:138 , -Potential registers zp[2]:140 [ spline_8segB::p1_x#0 ] : zp[2]:140 , -Potential registers zp[2]:142 [ spline_8segB::p1_y#0 ] : zp[2]:142 , -Potential registers zp[2]:144 [ spline_8segB::p2_x#0 ] : zp[2]:144 , -Potential registers zp[2]:146 [ spline_8segB::p2_y#0 ] : zp[2]:146 , -Potential registers zp[2]:148 [ memset::end#0 ] : zp[2]:148 , -Potential registers zp[2]:150 [ rotate::cos_a#0 ] : zp[2]:150 , -Potential registers zp[4]:152 [ mulf16s::return#2 ] : zp[4]:152 , -Potential registers zp[4]:156 [ rotate::$0 ] : zp[4]:156 , -Potential registers zp[2]:160 [ rotate::$10 ] : zp[2]:160 , -Potential registers zp[2]:162 [ rotate::xr#0 ] : zp[2]:162 , -Potential registers zp[4]:164 [ mulf16s::return#3 ] : zp[4]:164 , -Potential registers zp[4]:168 [ rotate::$2 ] : zp[4]:168 , -Potential registers zp[2]:172 [ rotate::$11 ] : zp[2]:172 , -Potential registers zp[2]:174 [ rotate::yr#0 ] : zp[2]:174 , -Potential registers zp[2]:176 [ rotate::sin_a#0 ] : zp[2]:176 , -Potential registers zp[4]:178 [ mulf16s::return#4 ] : zp[4]:178 , -Potential registers zp[4]:182 [ rotate::$4 ] : zp[4]:182 , -Potential registers zp[2]:186 [ rotate::$12 ] : zp[2]:186 , -Potential registers zp[2]:188 [ rotate::$5 ] : zp[2]:188 , -Potential registers zp[2]:190 [ rotate::xr#1 ] : zp[2]:190 , -Potential registers zp[4]:192 [ mulf16s::return#10 ] : zp[4]:192 , -Potential registers zp[4]:196 [ rotate::$6 ] : zp[4]:196 , -Potential registers zp[2]:200 [ rotate::$13 ] : zp[2]:200 , -Potential registers zp[2]:202 [ rotate::$7 ] : zp[2]:202 , -Potential registers zp[2]:204 [ rotate::yr#1 ] : zp[2]:204 , -Potential registers zp[1]:206 [ rotate::$8 ] : zp[1]:206 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:207 [ rotate::$9 ] : zp[1]:207 , reg byte x , reg byte y , -Potential registers zp[2]:208 [ rotate::return_x#2 ] : zp[2]:208 , -Potential registers zp[2]:210 [ rotate::return_y#2 ] : zp[2]:210 , -Potential registers zp[2]:212 [ abs_u16::return#0 ] : zp[2]:212 , -Potential registers zp[2]:214 [ bitmap_line::dx#0 ] : zp[2]:214 , -Potential registers zp[2]:216 [ abs_u16::return#1 ] : zp[2]:216 , -Potential registers zp[2]:218 [ bitmap_line::dy#0 ] : zp[2]:218 , -Potential registers zp[2]:220 [ sgn_u16::return#0 ] : zp[2]:220 , -Potential registers zp[2]:222 [ bitmap_line::sx#0 ] : zp[2]:222 , -Potential registers zp[2]:224 [ sgn_u16::return#1 ] : zp[2]:224 , -Potential registers zp[2]:226 [ bitmap_line::sy#0 ] : zp[2]:226 , -Potential registers zp[2]:228 [ spline_8segB::$0 ] : zp[2]:228 , -Potential registers zp[2]:230 [ spline_8segB::$1 ] : zp[2]:230 , -Potential registers zp[2]:232 [ spline_8segB::a_x#0 ] : zp[2]:232 , -Potential registers zp[2]:234 [ spline_8segB::$3 ] : zp[2]:234 , -Potential registers zp[2]:236 [ spline_8segB::$4 ] : zp[2]:236 , -Potential registers zp[2]:238 [ spline_8segB::a_y#0 ] : zp[2]:238 , -Potential registers zp[2]:240 [ spline_8segB::$6 ] : zp[2]:240 , -Potential registers zp[2]:242 [ spline_8segB::b_x#0 ] : zp[2]:242 , -Potential registers zp[2]:244 [ spline_8segB::$8 ] : zp[2]:244 , -Potential registers zp[2]:246 [ spline_8segB::b_y#0 ] : zp[2]:246 , -Potential registers zp[2]:248 [ spline_8segB::$10 ] : zp[2]:248 , -Potential registers zp[2]:250 [ spline_8segB::$12 ] : zp[2]:250 , -Potential registers zp[2]:252 [ spline_8segB::j_x#0 ] : zp[2]:252 , -Potential registers zp[2]:254 [ spline_8segB::j_y#0 ] : zp[2]:254 , -Potential registers zp[2]:256 [ spline_8segB::$22 ] : zp[2]:256 , -Potential registers zp[2]:258 [ spline_8segB::$23 ] : zp[2]:258 , -Potential registers zp[2]:260 [ spline_8segB::$24 ] : zp[2]:260 , -Potential registers zp[2]:262 [ spline_8segB::$25 ] : zp[2]:262 , -Potential registers zp[1]:264 [ spline_8segB::$31 ] : zp[1]:264 , reg byte x , reg byte y , -Potential registers zp[2]:265 [ spline_8segB::$18 ] : zp[2]:265 , -Potential registers zp[2]:267 [ spline_8segB::$19 ] : zp[2]:267 , -Potential registers zp[2]:269 [ spline_8segB::$20 ] : zp[2]:269 , -Potential registers zp[2]:271 [ spline_8segB::$21 ] : zp[2]:271 , -Potential registers zp[1]:273 [ bitmap_plot_spline_8seg::$4 ] : zp[1]:273 , reg byte x , -Potential registers zp[2]:274 [ mulf16u::a#0 ] : zp[2]:274 , -Potential registers zp[2]:276 [ mulf16u::b#0 ] : zp[2]:276 , -Potential registers zp[4]:278 [ mulf16u::return#2 ] : zp[4]:278 , -Potential registers zp[2]:282 [ mulf16s::$6 ] : zp[2]:282 , -Potential registers zp[2]:284 [ mulf16s::$11 ] : zp[2]:284 , -Potential registers zp[2]:286 [ mulf16s::$9 ] : zp[2]:286 , -Potential registers zp[2]:288 [ mulf16s::$12 ] : zp[2]:288 , -Potential registers zp[4]:290 [ mulf16s::return#0 ] : zp[4]:290 , -Potential registers zp[1]:294 [ abs_u16::$0 ] : zp[1]:294 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:295 [ abs_u16::$1 ] : zp[1]:295 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:296 [ sgn_u16::$0 ] : zp[1]:296 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:297 [ sgn_u16::$1 ] : zp[1]:297 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:298 [ bitmap_plot::plotter#0 ] : zp[2]:298 , -Potential registers zp[2]:300 [ bitmap_plot::$0 ] : zp[2]:300 , -Potential registers zp[2]:302 [ bitmap_plot::plotter#1 ] : zp[2]:302 , -Potential registers zp[1]:304 [ bitmap_plot::$1 ] : zp[1]:304 , reg byte a , reg byte x , reg byte y , -Potential registers zp[4]:305 [ mulf16u::return#0 ] : zp[4]:305 , +Potential registers zp[2]:113 [ show_letter::via_x#0 ] : zp[2]:113 , +Potential registers zp[2]:115 [ show_letter::via_y#0 ] : zp[2]:115 , +Potential registers zp[2]:117 [ show_letter::via_x#1 ] : zp[2]:117 , +Potential registers zp[2]:119 [ show_letter::via_y#1 ] : zp[2]:119 , +Potential registers zp[2]:121 [ rotate::return_x#1 ] : zp[2]:121 , +Potential registers zp[2]:123 [ rotate::return_y#1 ] : zp[2]:123 , +Potential registers zp[2]:125 [ show_letter::via_x#2 ] : zp[2]:125 , +Potential registers zp[2]:127 [ show_letter::via_y#2 ] : zp[2]:127 , +Potential registers zp[2]:129 [ show_letter::segment_via_x#0 ] : zp[2]:129 , +Potential registers zp[2]:131 [ show_letter::segment_via_y#0 ] : zp[2]:131 , +Potential registers zp[1]:133 [ show_letter::segment_type#0 ] : zp[1]:133 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:134 [ spline_8segB::p0_x#0 ] : zp[2]:134 , +Potential registers zp[2]:136 [ spline_8segB::p0_y#0 ] : zp[2]:136 , +Potential registers zp[2]:138 [ spline_8segB::p1_x#0 ] : zp[2]:138 , +Potential registers zp[2]:140 [ spline_8segB::p1_y#0 ] : zp[2]:140 , +Potential registers zp[2]:142 [ spline_8segB::p2_x#0 ] : zp[2]:142 , +Potential registers zp[2]:144 [ spline_8segB::p2_y#0 ] : zp[2]:144 , +Potential registers zp[2]:146 [ memset::end#0 ] : zp[2]:146 , +Potential registers zp[2]:148 [ rotate::cos_a#0 ] : zp[2]:148 , +Potential registers zp[4]:150 [ mulf16s::return#2 ] : zp[4]:150 , +Potential registers zp[4]:154 [ rotate::$0 ] : zp[4]:154 , +Potential registers zp[2]:158 [ rotate::$10 ] : zp[2]:158 , +Potential registers zp[2]:160 [ rotate::xr#0 ] : zp[2]:160 , +Potential registers zp[4]:162 [ mulf16s::return#3 ] : zp[4]:162 , +Potential registers zp[4]:166 [ rotate::$2 ] : zp[4]:166 , +Potential registers zp[2]:170 [ rotate::$11 ] : zp[2]:170 , +Potential registers zp[2]:172 [ rotate::yr#0 ] : zp[2]:172 , +Potential registers zp[2]:174 [ rotate::sin_a#0 ] : zp[2]:174 , +Potential registers zp[4]:176 [ mulf16s::return#4 ] : zp[4]:176 , +Potential registers zp[4]:180 [ rotate::$4 ] : zp[4]:180 , +Potential registers zp[2]:184 [ rotate::$12 ] : zp[2]:184 , +Potential registers zp[2]:186 [ rotate::$5 ] : zp[2]:186 , +Potential registers zp[2]:188 [ rotate::xr#1 ] : zp[2]:188 , +Potential registers zp[4]:190 [ mulf16s::return#10 ] : zp[4]:190 , +Potential registers zp[4]:194 [ rotate::$6 ] : zp[4]:194 , +Potential registers zp[2]:198 [ rotate::$13 ] : zp[2]:198 , +Potential registers zp[2]:200 [ rotate::$7 ] : zp[2]:200 , +Potential registers zp[2]:202 [ rotate::yr#1 ] : zp[2]:202 , +Potential registers zp[1]:204 [ rotate::$8 ] : zp[1]:204 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:205 [ rotate::$9 ] : zp[1]:205 , reg byte x , reg byte y , +Potential registers zp[2]:206 [ rotate::return_x#2 ] : zp[2]:206 , +Potential registers zp[2]:208 [ rotate::return_y#2 ] : zp[2]:208 , +Potential registers zp[2]:210 [ abs_u16::return#0 ] : zp[2]:210 , +Potential registers zp[2]:212 [ bitmap_line::dx#0 ] : zp[2]:212 , +Potential registers zp[2]:214 [ abs_u16::return#1 ] : zp[2]:214 , +Potential registers zp[2]:216 [ bitmap_line::dy#0 ] : zp[2]:216 , +Potential registers zp[2]:218 [ sgn_u16::return#0 ] : zp[2]:218 , +Potential registers zp[2]:220 [ bitmap_line::sx#0 ] : zp[2]:220 , +Potential registers zp[2]:222 [ sgn_u16::return#1 ] : zp[2]:222 , +Potential registers zp[2]:224 [ bitmap_line::sy#0 ] : zp[2]:224 , +Potential registers zp[2]:226 [ spline_8segB::$0 ] : zp[2]:226 , +Potential registers zp[2]:228 [ spline_8segB::$1 ] : zp[2]:228 , +Potential registers zp[2]:230 [ spline_8segB::a_x#0 ] : zp[2]:230 , +Potential registers zp[2]:232 [ spline_8segB::$3 ] : zp[2]:232 , +Potential registers zp[2]:234 [ spline_8segB::$4 ] : zp[2]:234 , +Potential registers zp[2]:236 [ spline_8segB::a_y#0 ] : zp[2]:236 , +Potential registers zp[2]:238 [ spline_8segB::$6 ] : zp[2]:238 , +Potential registers zp[2]:240 [ spline_8segB::b_x#0 ] : zp[2]:240 , +Potential registers zp[2]:242 [ spline_8segB::$8 ] : zp[2]:242 , +Potential registers zp[2]:244 [ spline_8segB::b_y#0 ] : zp[2]:244 , +Potential registers zp[2]:246 [ spline_8segB::$10 ] : zp[2]:246 , +Potential registers zp[2]:248 [ spline_8segB::$12 ] : zp[2]:248 , +Potential registers zp[2]:250 [ spline_8segB::j_x#0 ] : zp[2]:250 , +Potential registers zp[2]:252 [ spline_8segB::j_y#0 ] : zp[2]:252 , +Potential registers zp[2]:254 [ spline_8segB::$22 ] : zp[2]:254 , +Potential registers zp[2]:256 [ spline_8segB::$23 ] : zp[2]:256 , +Potential registers zp[2]:258 [ spline_8segB::$24 ] : zp[2]:258 , +Potential registers zp[2]:260 [ spline_8segB::$25 ] : zp[2]:260 , +Potential registers zp[1]:262 [ spline_8segB::$31 ] : zp[1]:262 , reg byte x , reg byte y , +Potential registers zp[2]:263 [ spline_8segB::$18 ] : zp[2]:263 , +Potential registers zp[2]:265 [ spline_8segB::$19 ] : zp[2]:265 , +Potential registers zp[2]:267 [ spline_8segB::$20 ] : zp[2]:267 , +Potential registers zp[2]:269 [ spline_8segB::$21 ] : zp[2]:269 , +Potential registers zp[1]:271 [ bitmap_plot_spline_8seg::$4 ] : zp[1]:271 , reg byte x , +Potential registers zp[2]:272 [ mulf16u::a#0 ] : zp[2]:272 , +Potential registers zp[2]:274 [ mulf16u::b#0 ] : zp[2]:274 , +Potential registers zp[4]:276 [ mulf16u::return#2 ] : zp[4]:276 , +Potential registers zp[2]:280 [ mulf16s::$6 ] : zp[2]:280 , +Potential registers zp[2]:282 [ mulf16s::$11 ] : zp[2]:282 , +Potential registers zp[2]:284 [ mulf16s::$9 ] : zp[2]:284 , +Potential registers zp[2]:286 [ mulf16s::$12 ] : zp[2]:286 , +Potential registers zp[4]:288 [ mulf16s::return#0 ] : zp[4]:288 , +Potential registers zp[1]:292 [ abs_u16::$0 ] : zp[1]:292 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:293 [ abs_u16::$1 ] : zp[1]:293 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:294 [ sgn_u16::$0 ] : zp[1]:294 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:295 [ sgn_u16::$1 ] : zp[1]:295 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:296 [ bitmap_plot::plotter#0 ] : zp[2]:296 , +Potential registers zp[2]:298 [ bitmap_plot::$0 ] : zp[2]:298 , +Potential registers zp[2]:300 [ bitmap_plot::plotter#1 ] : zp[2]:300 , +Potential registers zp[1]:302 [ bitmap_plot::$1 ] : zp[1]:302 , reg byte a , reg byte x , reg byte y , +Potential registers zp[4]:303 [ mulf16u::return#0 ] : zp[4]:303 , REGISTER UPLIFT SCOPES -Uplift Scope [bitmap_plot] 26,006,000,000,014: zp[1]:80 [ bitmap_plot::y#4 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 bitmap_plot::y#3 ] 20,000,000,000,002: zp[2]:300 [ bitmap_plot::$0 ] 20,000,000,000,002: zp[1]:304 [ bitmap_plot::$1 ] 15,000,000,000,001.5: zp[2]:302 [ bitmap_plot::plotter#1 ] 7,502,500,000,005.5: zp[2]:81 [ bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 ] 5,000,000,000,000.5: zp[2]:298 [ bitmap_plot::plotter#0 ] -Uplift Scope [bitmap_line] 6,894,531,823,645.97: zp[2]:46 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ] 5,500,637,791,788.03: zp[2]:48 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] 5,235,533,333,340.77: zp[2]:44 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] 5,235,533,333,340.77: zp[2]:50 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] 83,444,444,444.64: zp[2]:218 [ bitmap_line::dy#0 ] 76,961,538,461.65: zp[2]:226 [ bitmap_line::sy#0 ] 75,100,000,000.18: zp[2]:214 [ bitmap_line::dx#0 ] 66,700,000,000.1: zp[2]:222 [ bitmap_line::sx#0 ] 31,515,645,316.66: zp[2]:42 [ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ] 31,415,635,314.66: zp[2]:40 [ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] -Uplift Scope [abs_u16] 37,500,000,008.25: zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] 20,000,000,002: zp[1]:294 [ abs_u16::$0 ] 20,000,000,002: zp[1]:295 [ abs_u16::$1 ] 2,000,000,002: zp[2]:212 [ abs_u16::return#0 ] 2,000,000,002: zp[2]:216 [ abs_u16::return#1 ] -Uplift Scope [sgn_u16] 20,000,000,002: zp[1]:296 [ sgn_u16::$0 ] 20,000,000,002: zp[1]:297 [ sgn_u16::$1 ] 16,000,000,007: zp[2]:76 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] 2,000,000,002: zp[2]:220 [ sgn_u16::return#0 ] 2,000,000,002: zp[2]:224 [ sgn_u16::return#1 ] 500,000,000.5: zp[2]:78 [ sgn_u16::return#4 ] -Uplift Scope [spline_8segB] 200,000,002: zp[2]:256 [ spline_8segB::$22 ] 200,000,002: zp[2]:260 [ spline_8segB::$24 ] 175,000,001.75: zp[1]:56 [ spline_8segB::n#2 spline_8segB::n#1 ] 150,000,001.5: zp[1]:264 [ spline_8segB::$31 ] 93,988,486.28: zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] 80,038,572.61: zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] 70,962,502: zp[2]:52 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] 66,666,667.33: zp[2]:262 [ spline_8segB::$25 ] 62,130,161.6: zp[2]:54 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] 50,000,000.5: zp[2]:258 [ spline_8segB::$23 ] 5,888,235.41: zp[2]:254 [ spline_8segB::j_y#0 ] 5,561,111.22: zp[2]:252 [ spline_8segB::j_x#0 ] 200,002: zp[2]:228 [ spline_8segB::$0 ] 200,002: zp[2]:230 [ spline_8segB::$1 ] 200,002: zp[2]:234 [ spline_8segB::$3 ] 200,002: zp[2]:236 [ spline_8segB::$4 ] 200,002: zp[2]:240 [ spline_8segB::$6 ] 200,002: zp[2]:244 [ spline_8segB::$8 ] 200,002: zp[2]:248 [ spline_8segB::$10 ] 200,002: zp[2]:250 [ spline_8segB::$12 ] 200,002: zp[2]:265 [ spline_8segB::$18 ] 200,002: zp[2]:269 [ spline_8segB::$20 ] 100,001: zp[2]:271 [ spline_8segB::$21 ] 66,667.33: zp[2]:242 [ spline_8segB::b_x#0 ] 66,667.33: zp[2]:246 [ spline_8segB::b_y#0 ] 66,667.33: zp[2]:267 [ spline_8segB::$19 ] 36,667.33: zp[2]:144 [ spline_8segB::p2_x#0 ] 30,000.3: zp[2]:238 [ spline_8segB::a_y#0 ] 25,000.25: zp[2]:232 [ spline_8segB::a_x#0 ] 22,000.4: zp[2]:146 [ spline_8segB::p2_y#0 ] 21,000.3: zp[2]:140 [ spline_8segB::p1_x#0 ] 19,091.18: zp[2]:142 [ spline_8segB::p1_y#0 ] 14,091.09: zp[2]:136 [ spline_8segB::p0_x#0 ] 14,091.09: zp[2]:138 [ spline_8segB::p0_y#0 ] -Uplift Scope [bitmap_plot_spline_8seg] 183,333,335.17: zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] 100,233,336.67: zp[2]:64 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] 100,150,002.5: zp[2]:62 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] 42,857,143.29: zp[1]:273 [ bitmap_plot_spline_8seg::$4 ] -Uplift Scope [mulf16s] 8,250,008.25: zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] 2,000,002: zp[2]:282 [ mulf16s::$6 ] 2,000,002: zp[2]:284 [ mulf16s::$11 ] 2,000,002: zp[2]:286 [ mulf16s::$9 ] 2,000,002: zp[2]:288 [ mulf16s::$12 ] 927,281.18: zp[2]:68 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] 507,696.69: zp[2]:66 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] 233,334.17: zp[4]:290 [ mulf16s::return#0 ] 200,002: zp[4]:152 [ mulf16s::return#2 ] 200,002: zp[4]:164 [ mulf16s::return#3 ] 200,002: zp[4]:178 [ mulf16s::return#4 ] 200,002: zp[4]:192 [ mulf16s::return#10 ] -Uplift Scope [mulf16u] 5,500,001: zp[2]:274 [ mulf16u::a#0 ] 5,500,001: zp[2]:276 [ mulf16u::b#0 ] 3,666,667.33: zp[4]:305 [ mulf16u::return#0 ] 2,000,002: zp[4]:278 [ mulf16u::return#2 ] -Uplift Scope [rotate] 200,002: zp[2]:160 [ rotate::$10 ] 200,002: zp[2]:172 [ rotate::$11 ] 200,002: zp[2]:186 [ rotate::$12 ] 200,002: zp[2]:188 [ rotate::$5 ] 200,002: zp[2]:200 [ rotate::$13 ] 200,002: zp[2]:202 [ rotate::$7 ] 100,001: zp[4]:156 [ rotate::$0 ] 100,001: zp[4]:168 [ rotate::$2 ] 100,001: zp[4]:182 [ rotate::$4 ] 100,001: zp[4]:196 [ rotate::$6 ] 100,001: zp[2]:204 [ rotate::yr#1 ] 50,000.5: zp[1]:206 [ rotate::$8 ] 50,000.5: zp[1]:207 [ rotate::$9 ] 41,254.12: zp[1]:35 [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ] 37,500.38: zp[2]:150 [ rotate::cos_a#0 ] 33,333.67: zp[2]:176 [ rotate::sin_a#0 ] 32,224.44: zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ] 24,000.6: zp[2]:208 [ rotate::return_x#2 ] 22,222.44: zp[2]:190 [ rotate::xr#1 ] 21,796.36: zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ] 20,000.5: zp[2]:210 [ rotate::return_y#2 ] 12,500.12: zp[2]:162 [ rotate::xr#0 ] 11,764.82: zp[2]:174 [ rotate::yr#0 ] 10,001: zp[2]:101 [ rotate::return_x#0 ] 10,001: zp[2]:103 [ rotate::return_y#0 ] 10,001: zp[2]:122 [ rotate::return_x#1 ] 10,001: zp[2]:124 [ rotate::return_y#1 ] -Uplift Scope [memset] 335,672.33: zp[2]:33 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 16,833.67: zp[2]:148 [ memset::end#0 ] 12,500.12: zp[1]:32 [ memset::c#4 ] 1,001: zp[2]:28 [ memset::num#2 ] 0: zp[2]:30 [ memset::str#3 ] -Uplift Scope [show_letter] 20,528.37: zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 ] 20,002: zp[1]:134 [ show_letter::$18 ] 15,001.5: zp[1]:92 [ show_letter::$16 ] 15,001.5: zp[1]:113 [ show_letter::$17 ] 15,001.5: zp[1]:135 [ show_letter::segment_type#0 ] 10,556.61: zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 ] 10,001: zp[2]:93 [ show_letter::to_x#0 ] 10,001: zp[2]:95 [ show_letter::to_y#0 ] 10,001: zp[2]:97 [ show_letter::to_x#1 ] 10,001: zp[2]:99 [ show_letter::to_y#1 ] 10,001: zp[2]:105 [ show_letter::to_x#2 ] 10,001: zp[2]:107 [ show_letter::to_y#2 ] 10,001: zp[2]:114 [ show_letter::via_x#0 ] 10,001: zp[2]:116 [ show_letter::via_y#0 ] 10,001: zp[2]:118 [ show_letter::via_x#1 ] 10,001: zp[2]:120 [ show_letter::via_y#1 ] 10,001: zp[2]:126 [ show_letter::via_x#2 ] 10,001: zp[2]:128 [ show_letter::via_y#2 ] 8,700.87: zp[1]:23 [ show_letter::i#10 show_letter::i#1 ] 2,500.25: zp[2]:130 [ show_letter::segment_via_x#0 ] 2,500.25: zp[2]:132 [ show_letter::segment_via_y#0 ] 1,290.45: zp[1]:91 [ show_letter::$21 ] 810.89: zp[2]:109 [ show_letter::current_x#10 ] 810.89: zp[2]:111 [ show_letter::current_y#10 ] 357.38: zp[1]:83 [ show_letter::angle#0 ] +Uplift Scope [bitmap_plot] 26,006,000,000,014: zp[1]:80 [ bitmap_plot::y#4 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 bitmap_plot::y#3 ] 20,000,000,000,002: zp[2]:298 [ bitmap_plot::$0 ] 20,000,000,000,002: zp[1]:302 [ bitmap_plot::$1 ] 15,000,000,000,001.5: zp[2]:300 [ bitmap_plot::plotter#1 ] 7,502,500,000,005.5: zp[2]:81 [ bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 ] 5,000,000,000,000.5: zp[2]:296 [ bitmap_plot::plotter#0 ] +Uplift Scope [bitmap_line] 6,894,531,823,645.97: zp[2]:46 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ] 5,500,637,791,788.03: zp[2]:48 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] 5,235,533,333,340.77: zp[2]:44 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] 5,235,533,333,340.77: zp[2]:50 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] 83,444,444,444.64: zp[2]:216 [ bitmap_line::dy#0 ] 76,961,538,461.65: zp[2]:224 [ bitmap_line::sy#0 ] 75,100,000,000.18: zp[2]:212 [ bitmap_line::dx#0 ] 66,700,000,000.1: zp[2]:220 [ bitmap_line::sx#0 ] 31,515,645,316.66: zp[2]:42 [ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ] 31,415,635,314.66: zp[2]:40 [ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] +Uplift Scope [abs_u16] 37,500,000,008.25: zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] 20,000,000,002: zp[1]:292 [ abs_u16::$0 ] 20,000,000,002: zp[1]:293 [ abs_u16::$1 ] 2,000,000,002: zp[2]:210 [ abs_u16::return#0 ] 2,000,000,002: zp[2]:214 [ abs_u16::return#1 ] +Uplift Scope [sgn_u16] 20,000,000,002: zp[1]:294 [ sgn_u16::$0 ] 20,000,000,002: zp[1]:295 [ sgn_u16::$1 ] 16,000,000,007: zp[2]:76 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] 2,000,000,002: zp[2]:218 [ sgn_u16::return#0 ] 2,000,000,002: zp[2]:222 [ sgn_u16::return#1 ] 500,000,000.5: zp[2]:78 [ sgn_u16::return#4 ] +Uplift Scope [spline_8segB] 200,000,002: zp[2]:254 [ spline_8segB::$22 ] 200,000,002: zp[2]:258 [ spline_8segB::$24 ] 175,000,001.75: zp[1]:56 [ spline_8segB::n#2 spline_8segB::n#1 ] 150,000,001.5: zp[1]:262 [ spline_8segB::$31 ] 93,988,486.28: zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] 80,038,572.61: zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] 70,962,502: zp[2]:52 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] 66,666,667.33: zp[2]:260 [ spline_8segB::$25 ] 62,130,161.6: zp[2]:54 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] 50,000,000.5: zp[2]:256 [ spline_8segB::$23 ] 5,888,235.41: zp[2]:252 [ spline_8segB::j_y#0 ] 5,561,111.22: zp[2]:250 [ spline_8segB::j_x#0 ] 200,002: zp[2]:226 [ spline_8segB::$0 ] 200,002: zp[2]:228 [ spline_8segB::$1 ] 200,002: zp[2]:232 [ spline_8segB::$3 ] 200,002: zp[2]:234 [ spline_8segB::$4 ] 200,002: zp[2]:238 [ spline_8segB::$6 ] 200,002: zp[2]:242 [ spline_8segB::$8 ] 200,002: zp[2]:246 [ spline_8segB::$10 ] 200,002: zp[2]:248 [ spline_8segB::$12 ] 200,002: zp[2]:263 [ spline_8segB::$18 ] 200,002: zp[2]:267 [ spline_8segB::$20 ] 100,001: zp[2]:269 [ spline_8segB::$21 ] 66,667.33: zp[2]:240 [ spline_8segB::b_x#0 ] 66,667.33: zp[2]:244 [ spline_8segB::b_y#0 ] 66,667.33: zp[2]:265 [ spline_8segB::$19 ] 36,667.33: zp[2]:142 [ spline_8segB::p2_x#0 ] 30,000.3: zp[2]:236 [ spline_8segB::a_y#0 ] 25,000.25: zp[2]:230 [ spline_8segB::a_x#0 ] 22,000.4: zp[2]:144 [ spline_8segB::p2_y#0 ] 21,000.3: zp[2]:138 [ spline_8segB::p1_x#0 ] 19,091.18: zp[2]:140 [ spline_8segB::p1_y#0 ] 14,091.09: zp[2]:134 [ spline_8segB::p0_x#0 ] 14,091.09: zp[2]:136 [ spline_8segB::p0_y#0 ] +Uplift Scope [bitmap_plot_spline_8seg] 183,333,335.17: zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] 100,233,336.67: zp[2]:64 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] 100,150,002.5: zp[2]:62 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] 42,857,143.29: zp[1]:271 [ bitmap_plot_spline_8seg::$4 ] +Uplift Scope [mulf16s] 8,250,008.25: zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] 2,000,002: zp[2]:280 [ mulf16s::$6 ] 2,000,002: zp[2]:282 [ mulf16s::$11 ] 2,000,002: zp[2]:284 [ mulf16s::$9 ] 2,000,002: zp[2]:286 [ mulf16s::$12 ] 927,281.18: zp[2]:68 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] 507,696.69: zp[2]:66 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] 233,334.17: zp[4]:288 [ mulf16s::return#0 ] 200,002: zp[4]:150 [ mulf16s::return#2 ] 200,002: zp[4]:162 [ mulf16s::return#3 ] 200,002: zp[4]:176 [ mulf16s::return#4 ] 200,002: zp[4]:190 [ mulf16s::return#10 ] +Uplift Scope [mulf16u] 5,500,001: zp[2]:272 [ mulf16u::a#0 ] 5,500,001: zp[2]:274 [ mulf16u::b#0 ] 3,666,667.33: zp[4]:303 [ mulf16u::return#0 ] 2,000,002: zp[4]:276 [ mulf16u::return#2 ] +Uplift Scope [rotate] 200,002: zp[2]:158 [ rotate::$10 ] 200,002: zp[2]:170 [ rotate::$11 ] 200,002: zp[2]:184 [ rotate::$12 ] 200,002: zp[2]:186 [ rotate::$5 ] 200,002: zp[2]:198 [ rotate::$13 ] 200,002: zp[2]:200 [ rotate::$7 ] 100,001: zp[4]:154 [ rotate::$0 ] 100,001: zp[4]:166 [ rotate::$2 ] 100,001: zp[4]:180 [ rotate::$4 ] 100,001: zp[4]:194 [ rotate::$6 ] 100,001: zp[2]:202 [ rotate::yr#1 ] 50,000.5: zp[1]:204 [ rotate::$8 ] 50,000.5: zp[1]:205 [ rotate::$9 ] 41,254.12: zp[1]:35 [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ] 37,500.38: zp[2]:148 [ rotate::cos_a#0 ] 33,333.67: zp[2]:174 [ rotate::sin_a#0 ] 32,224.44: zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ] 24,000.6: zp[2]:206 [ rotate::return_x#2 ] 22,222.44: zp[2]:188 [ rotate::xr#1 ] 21,796.36: zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ] 20,000.5: zp[2]:208 [ rotate::return_y#2 ] 12,500.12: zp[2]:160 [ rotate::xr#0 ] 11,764.82: zp[2]:172 [ rotate::yr#0 ] 10,001: zp[2]:101 [ rotate::return_x#0 ] 10,001: zp[2]:103 [ rotate::return_y#0 ] 10,001: zp[2]:121 [ rotate::return_x#1 ] 10,001: zp[2]:123 [ rotate::return_y#1 ] +Uplift Scope [memset] 335,672.33: zp[2]:33 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 16,833.67: zp[2]:146 [ memset::end#0 ] 12,500.12: zp[1]:32 [ memset::c#4 ] 1,001: zp[2]:28 [ memset::num#2 ] 0: zp[2]:30 [ memset::str#3 ] +Uplift Scope [show_letter] 20,557.61: zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 ] 20,002: zp[1]:91 [ show_letter::$21 ] 15,001.5: zp[1]:133 [ show_letter::segment_type#0 ] 10,589.29: zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 ] 10,001: zp[2]:93 [ show_letter::to_x#0 ] 10,001: zp[2]:95 [ show_letter::to_y#0 ] 10,001: zp[2]:97 [ show_letter::to_x#1 ] 10,001: zp[2]:99 [ show_letter::to_y#1 ] 10,001: zp[2]:105 [ show_letter::to_x#2 ] 10,001: zp[2]:107 [ show_letter::to_y#2 ] 10,001: zp[2]:113 [ show_letter::via_x#0 ] 10,001: zp[2]:115 [ show_letter::via_y#0 ] 10,001: zp[2]:117 [ show_letter::via_x#1 ] 10,001: zp[2]:119 [ show_letter::via_y#1 ] 10,001: zp[2]:125 [ show_letter::via_x#2 ] 10,001: zp[2]:127 [ show_letter::via_y#2 ] 8,334.17: zp[1]:23 [ show_letter::i#10 show_letter::i#1 ] 2,857.43: zp[2]:129 [ show_letter::segment_via_x#0 ] 2,857.43: zp[2]:131 [ show_letter::segment_via_y#0 ] 2,069.17: zp[1]:92 [ show_letter::$17 ] 857.23: zp[2]:109 [ show_letter::current_x#10 ] 857.23: zp[2]:111 [ show_letter::current_y#10 ] 370.61: zp[1]:83 [ show_letter::angle#0 ] Uplift Scope [mulf_init] 437.67: zp[2]:16 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] 246.89: zp[2]:10 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] 230.86: zp[2]:4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] 212.1: zp[1]:9 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] 202: zp[1]:84 [ mulf_init::$1 ] 202: zp[1]:85 [ mulf_init::$4 ] 202: zp[1]:86 [ mulf_init::$5 ] 141.4: zp[1]:12 [ mulf_init::x_255#2 mulf_init::x_255#1 ] 138.88: zp[1]:15 [ mulf_init::dir#2 mulf_init::dir#4 ] 124.31: zp[1]:6 [ mulf_init::c#2 mulf_init::c#1 ] 109.42: zp[2]:13 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] 92.58: zp[2]:7 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] Uplift Scope [bitmap_init] 366.12: zp[2]:21 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] 319.83: zp[1]:18 [ bitmap_init::bits#3 bitmap_init::bits#4 bitmap_init::bits#1 ] 202: zp[1]:19 [ bitmap_init::x#2 bitmap_init::x#1 ] 202: zp[1]:20 [ bitmap_init::y#2 bitmap_init::y#1 ] 202: zp[1]:88 [ bitmap_init::$4 ] 202: zp[1]:89 [ bitmap_init::$5 ] 202: zp[1]:90 [ bitmap_init::$6 ] 50.5: zp[1]:87 [ bitmap_init::$7 ] Uplift Scope [main] 886.17: zp[1]:3 [ main::w#4 main::w#1 ] 25.3: zp[1]:2 [ main::angle#2 main::angle#1 ] @@ -8459,137 +8434,136 @@ Uplift Scope [Segment] Uplift Scope [Segment::SegmentType] Uplift Scope [] -Uplifting [bitmap_plot] best 830850 combination reg byte a [ bitmap_plot::y#4 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 bitmap_plot::y#3 ] zp[2]:300 [ bitmap_plot::$0 ] reg byte x [ bitmap_plot::$1 ] zp[2]:302 [ bitmap_plot::plotter#1 ] zp[2]:81 [ bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 ] zp[2]:298 [ bitmap_plot::plotter#0 ] -Uplifting [bitmap_line] best 830850 combination zp[2]:46 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ] zp[2]:48 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] zp[2]:44 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] zp[2]:50 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] zp[2]:218 [ bitmap_line::dy#0 ] zp[2]:226 [ bitmap_line::sy#0 ] zp[2]:214 [ bitmap_line::dx#0 ] zp[2]:222 [ bitmap_line::sx#0 ] zp[2]:42 [ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ] zp[2]:40 [ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] -Uplifting [abs_u16] best 830838 combination zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] reg byte a [ abs_u16::$0 ] reg byte a [ abs_u16::$1 ] zp[2]:212 [ abs_u16::return#0 ] zp[2]:216 [ abs_u16::return#1 ] -Uplifting [sgn_u16] best 830826 combination reg byte a [ sgn_u16::$0 ] reg byte a [ sgn_u16::$1 ] zp[2]:76 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] zp[2]:220 [ sgn_u16::return#0 ] zp[2]:224 [ sgn_u16::return#1 ] zp[2]:78 [ sgn_u16::return#4 ] -Uplifting [spline_8segB] best 813826 combination zp[2]:256 [ spline_8segB::$22 ] zp[2]:260 [ spline_8segB::$24 ] reg byte y [ spline_8segB::n#2 spline_8segB::n#1 ] reg byte x [ spline_8segB::$31 ] zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] zp[2]:52 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] zp[2]:262 [ spline_8segB::$25 ] zp[2]:54 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] zp[2]:258 [ spline_8segB::$23 ] zp[2]:254 [ spline_8segB::j_y#0 ] zp[2]:252 [ spline_8segB::j_x#0 ] zp[2]:228 [ spline_8segB::$0 ] zp[2]:230 [ spline_8segB::$1 ] zp[2]:234 [ spline_8segB::$3 ] zp[2]:236 [ spline_8segB::$4 ] zp[2]:240 [ spline_8segB::$6 ] zp[2]:244 [ spline_8segB::$8 ] zp[2]:248 [ spline_8segB::$10 ] zp[2]:250 [ spline_8segB::$12 ] zp[2]:265 [ spline_8segB::$18 ] zp[2]:269 [ spline_8segB::$20 ] zp[2]:271 [ spline_8segB::$21 ] zp[2]:242 [ spline_8segB::b_x#0 ] zp[2]:246 [ spline_8segB::b_y#0 ] zp[2]:267 [ spline_8segB::$19 ] zp[2]:144 [ spline_8segB::p2_x#0 ] zp[2]:238 [ spline_8segB::a_y#0 ] zp[2]:232 [ spline_8segB::a_x#0 ] zp[2]:146 [ spline_8segB::p2_y#0 ] zp[2]:140 [ spline_8segB::p1_x#0 ] zp[2]:142 [ spline_8segB::p1_y#0 ] zp[2]:136 [ spline_8segB::p0_x#0 ] zp[2]:138 [ spline_8segB::p0_y#0 ] -Uplifting [bitmap_plot_spline_8seg] best 813826 combination zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] zp[2]:64 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] zp[2]:62 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] zp[1]:273 [ bitmap_plot_spline_8seg::$4 ] -Uplifting [mulf16s] best 813826 combination zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] zp[2]:282 [ mulf16s::$6 ] zp[2]:284 [ mulf16s::$11 ] zp[2]:286 [ mulf16s::$9 ] zp[2]:288 [ mulf16s::$12 ] zp[2]:68 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] zp[2]:66 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] zp[4]:290 [ mulf16s::return#0 ] zp[4]:152 [ mulf16s::return#2 ] zp[4]:164 [ mulf16s::return#3 ] zp[4]:178 [ mulf16s::return#4 ] zp[4]:192 [ mulf16s::return#10 ] -Uplifting [mulf16u] best 813826 combination zp[2]:274 [ mulf16u::a#0 ] zp[2]:276 [ mulf16u::b#0 ] zp[4]:305 [ mulf16u::return#0 ] zp[4]:278 [ mulf16u::return#2 ] -Uplifting [rotate] best 813210 combination zp[2]:160 [ rotate::$10 ] zp[2]:172 [ rotate::$11 ] zp[2]:186 [ rotate::$12 ] zp[2]:188 [ rotate::$5 ] zp[2]:200 [ rotate::$13 ] zp[2]:202 [ rotate::$7 ] zp[4]:156 [ rotate::$0 ] zp[4]:168 [ rotate::$2 ] zp[4]:182 [ rotate::$4 ] zp[4]:196 [ rotate::$6 ] zp[2]:204 [ rotate::yr#1 ] reg byte a [ rotate::$8 ] reg byte x [ rotate::$9 ] reg byte y [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ] zp[2]:150 [ rotate::cos_a#0 ] zp[2]:176 [ rotate::sin_a#0 ] zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ] zp[2]:208 [ rotate::return_x#2 ] zp[2]:190 [ rotate::xr#1 ] zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ] zp[2]:210 [ rotate::return_y#2 ] zp[2]:162 [ rotate::xr#0 ] zp[2]:174 [ rotate::yr#0 ] zp[2]:101 [ rotate::return_x#0 ] zp[2]:103 [ rotate::return_y#0 ] zp[2]:122 [ rotate::return_x#1 ] zp[2]:124 [ rotate::return_y#1 ] -Uplifting [memset] best 813104 combination zp[2]:33 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:148 [ memset::end#0 ] reg byte x [ memset::c#4 ] zp[2]:28 [ memset::num#2 ] zp[2]:30 [ memset::str#3 ] -Uplifting [show_letter] best 810404 combination zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 ] reg byte a [ show_letter::$18 ] reg byte x [ show_letter::$16 ] reg byte x [ show_letter::$17 ] reg byte a [ show_letter::segment_type#0 ] zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 ] zp[2]:93 [ show_letter::to_x#0 ] zp[2]:95 [ show_letter::to_y#0 ] zp[2]:97 [ show_letter::to_x#1 ] zp[2]:99 [ show_letter::to_y#1 ] zp[2]:105 [ show_letter::to_x#2 ] zp[2]:107 [ show_letter::to_y#2 ] zp[2]:114 [ show_letter::via_x#0 ] zp[2]:116 [ show_letter::via_y#0 ] zp[2]:118 [ show_letter::via_x#1 ] zp[2]:120 [ show_letter::via_y#1 ] zp[2]:126 [ show_letter::via_x#2 ] zp[2]:128 [ show_letter::via_y#2 ] zp[1]:23 [ show_letter::i#10 show_letter::i#1 ] zp[2]:130 [ show_letter::segment_via_x#0 ] zp[2]:132 [ show_letter::segment_via_y#0 ] zp[1]:91 [ show_letter::$21 ] zp[2]:109 [ show_letter::current_x#10 ] zp[2]:111 [ show_letter::current_y#10 ] zp[1]:83 [ show_letter::angle#0 ] -Limited combination testing to 100 combinations of 288 possible. -Uplifting [mulf_init] best 810154 combination zp[2]:16 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] zp[2]:10 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp[2]:4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] reg byte x [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$1 ] reg byte a [ mulf_init::$4 ] reg byte a [ mulf_init::$5 ] zp[1]:12 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp[1]:15 [ mulf_init::dir#2 mulf_init::dir#4 ] zp[1]:6 [ mulf_init::c#2 mulf_init::c#1 ] zp[2]:13 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp[2]:7 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] +Uplifting [bitmap_plot] best 828650 combination reg byte a [ bitmap_plot::y#4 bitmap_plot::y#2 bitmap_plot::y#0 bitmap_plot::y#1 bitmap_plot::y#3 ] zp[2]:298 [ bitmap_plot::$0 ] reg byte x [ bitmap_plot::$1 ] zp[2]:300 [ bitmap_plot::plotter#1 ] zp[2]:81 [ bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 ] zp[2]:296 [ bitmap_plot::plotter#0 ] +Uplifting [bitmap_line] best 828650 combination zp[2]:46 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ] zp[2]:48 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] zp[2]:44 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] zp[2]:50 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] zp[2]:216 [ bitmap_line::dy#0 ] zp[2]:224 [ bitmap_line::sy#0 ] zp[2]:212 [ bitmap_line::dx#0 ] zp[2]:220 [ bitmap_line::sx#0 ] zp[2]:42 [ bitmap_line::y2#11 bitmap_line::y2#13 bitmap_line::y2#0 ] zp[2]:40 [ bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] +Uplifting [abs_u16] best 828638 combination zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] reg byte a [ abs_u16::$0 ] reg byte a [ abs_u16::$1 ] zp[2]:210 [ abs_u16::return#0 ] zp[2]:214 [ abs_u16::return#1 ] +Uplifting [sgn_u16] best 828626 combination reg byte a [ sgn_u16::$0 ] reg byte a [ sgn_u16::$1 ] zp[2]:76 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] zp[2]:218 [ sgn_u16::return#0 ] zp[2]:222 [ sgn_u16::return#1 ] zp[2]:78 [ sgn_u16::return#4 ] +Uplifting [spline_8segB] best 811626 combination zp[2]:254 [ spline_8segB::$22 ] zp[2]:258 [ spline_8segB::$24 ] reg byte y [ spline_8segB::n#2 spline_8segB::n#1 ] reg byte x [ spline_8segB::$31 ] zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] zp[2]:52 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] zp[2]:260 [ spline_8segB::$25 ] zp[2]:54 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] zp[2]:256 [ spline_8segB::$23 ] zp[2]:252 [ spline_8segB::j_y#0 ] zp[2]:250 [ spline_8segB::j_x#0 ] zp[2]:226 [ spline_8segB::$0 ] zp[2]:228 [ spline_8segB::$1 ] zp[2]:232 [ spline_8segB::$3 ] zp[2]:234 [ spline_8segB::$4 ] zp[2]:238 [ spline_8segB::$6 ] zp[2]:242 [ spline_8segB::$8 ] zp[2]:246 [ spline_8segB::$10 ] zp[2]:248 [ spline_8segB::$12 ] zp[2]:263 [ spline_8segB::$18 ] zp[2]:267 [ spline_8segB::$20 ] zp[2]:269 [ spline_8segB::$21 ] zp[2]:240 [ spline_8segB::b_x#0 ] zp[2]:244 [ spline_8segB::b_y#0 ] zp[2]:265 [ spline_8segB::$19 ] zp[2]:142 [ spline_8segB::p2_x#0 ] zp[2]:236 [ spline_8segB::a_y#0 ] zp[2]:230 [ spline_8segB::a_x#0 ] zp[2]:144 [ spline_8segB::p2_y#0 ] zp[2]:138 [ spline_8segB::p1_x#0 ] zp[2]:140 [ spline_8segB::p1_y#0 ] zp[2]:134 [ spline_8segB::p0_x#0 ] zp[2]:136 [ spline_8segB::p0_y#0 ] +Uplifting [bitmap_plot_spline_8seg] best 811626 combination zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] zp[2]:64 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] zp[2]:62 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] zp[1]:271 [ bitmap_plot_spline_8seg::$4 ] +Uplifting [mulf16s] best 811626 combination zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] zp[2]:280 [ mulf16s::$6 ] zp[2]:282 [ mulf16s::$11 ] zp[2]:284 [ mulf16s::$9 ] zp[2]:286 [ mulf16s::$12 ] zp[2]:68 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] zp[2]:66 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] zp[4]:288 [ mulf16s::return#0 ] zp[4]:150 [ mulf16s::return#2 ] zp[4]:162 [ mulf16s::return#3 ] zp[4]:176 [ mulf16s::return#4 ] zp[4]:190 [ mulf16s::return#10 ] +Uplifting [mulf16u] best 811626 combination zp[2]:272 [ mulf16u::a#0 ] zp[2]:274 [ mulf16u::b#0 ] zp[4]:303 [ mulf16u::return#0 ] zp[4]:276 [ mulf16u::return#2 ] +Uplifting [rotate] best 811010 combination zp[2]:158 [ rotate::$10 ] zp[2]:170 [ rotate::$11 ] zp[2]:184 [ rotate::$12 ] zp[2]:186 [ rotate::$5 ] zp[2]:198 [ rotate::$13 ] zp[2]:200 [ rotate::$7 ] zp[4]:154 [ rotate::$0 ] zp[4]:166 [ rotate::$2 ] zp[4]:180 [ rotate::$4 ] zp[4]:194 [ rotate::$6 ] zp[2]:202 [ rotate::yr#1 ] reg byte a [ rotate::$8 ] reg byte x [ rotate::$9 ] reg byte y [ rotate::angle#2 rotate::angle#0 rotate::angle#1 ] zp[2]:148 [ rotate::cos_a#0 ] zp[2]:174 [ rotate::sin_a#0 ] zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ] zp[2]:206 [ rotate::return_x#2 ] zp[2]:188 [ rotate::xr#1 ] zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ] zp[2]:208 [ rotate::return_y#2 ] zp[2]:160 [ rotate::xr#0 ] zp[2]:172 [ rotate::yr#0 ] zp[2]:101 [ rotate::return_x#0 ] zp[2]:103 [ rotate::return_y#0 ] zp[2]:121 [ rotate::return_x#1 ] zp[2]:123 [ rotate::return_y#1 ] +Uplifting [memset] best 810904 combination zp[2]:33 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:146 [ memset::end#0 ] reg byte x [ memset::c#4 ] zp[2]:28 [ memset::num#2 ] zp[2]:30 [ memset::str#3 ] +Uplifting [show_letter] best 809404 combination zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 ] reg byte a [ show_letter::$21 ] reg byte a [ show_letter::segment_type#0 ] zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 ] zp[2]:93 [ show_letter::to_x#0 ] zp[2]:95 [ show_letter::to_y#0 ] zp[2]:97 [ show_letter::to_x#1 ] zp[2]:99 [ show_letter::to_y#1 ] zp[2]:105 [ show_letter::to_x#2 ] zp[2]:107 [ show_letter::to_y#2 ] zp[2]:113 [ show_letter::via_x#0 ] zp[2]:115 [ show_letter::via_y#0 ] zp[2]:117 [ show_letter::via_x#1 ] zp[2]:119 [ show_letter::via_y#1 ] zp[2]:125 [ show_letter::via_x#2 ] zp[2]:127 [ show_letter::via_y#2 ] zp[1]:23 [ show_letter::i#10 show_letter::i#1 ] zp[2]:129 [ show_letter::segment_via_x#0 ] zp[2]:131 [ show_letter::segment_via_y#0 ] zp[1]:92 [ show_letter::$17 ] zp[2]:109 [ show_letter::current_x#10 ] zp[2]:111 [ show_letter::current_y#10 ] zp[1]:83 [ show_letter::angle#0 ] +Uplifting [mulf_init] best 809154 combination zp[2]:16 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] zp[2]:10 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] zp[2]:4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] reg byte x [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] reg byte a [ mulf_init::$1 ] reg byte a [ mulf_init::$4 ] reg byte a [ mulf_init::$5 ] zp[1]:12 [ mulf_init::x_255#2 mulf_init::x_255#1 ] zp[1]:15 [ mulf_init::dir#2 mulf_init::dir#4 ] zp[1]:6 [ mulf_init::c#2 mulf_init::c#1 ] zp[2]:13 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] zp[2]:7 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] Limited combination testing to 100 combinations of 1024 possible. -Uplifting [bitmap_init] best 809644 combination zp[2]:21 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte a [ 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::$4 ] zp[1]:89 [ bitmap_init::$5 ] zp[1]:90 [ bitmap_init::$6 ] zp[1]:87 [ bitmap_init::$7 ] +Uplifting [bitmap_init] best 808644 combination zp[2]:21 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] reg byte a [ 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::$4 ] zp[1]:89 [ bitmap_init::$5 ] zp[1]:90 [ bitmap_init::$6 ] zp[1]:87 [ bitmap_init::$7 ] Limited combination testing to 100 combinations of 15360 possible. -Uplifting [main] best 806044 combination reg byte x [ main::w#4 main::w#1 ] zp[1]:2 [ main::angle#2 main::angle#1 ] -Uplifting [SplineVector16] best 806044 combination -Uplifting [SplineVector32] best 806044 combination -Uplifting [bitmap_clear] best 806044 combination -Uplifting [MOS6526_CIA] best 806044 combination -Uplifting [MOS6569_VICII] best 806044 combination -Uplifting [MOS6581_SID] best 806044 combination -Uplifting [RADIX] best 806044 combination -Uplifting [Segment] best 806044 combination -Uplifting [Segment::SegmentType] best 806044 combination -Uplifting [] best 806044 combination +Uplifting [main] best 805044 combination reg byte x [ main::w#4 main::w#1 ] zp[1]:2 [ main::angle#2 main::angle#1 ] +Uplifting [SplineVector16] best 805044 combination +Uplifting [SplineVector32] best 805044 combination +Uplifting [bitmap_clear] best 805044 combination +Uplifting [MOS6526_CIA] best 805044 combination +Uplifting [MOS6569_VICII] best 805044 combination +Uplifting [MOS6581_SID] best 805044 combination +Uplifting [RADIX] best 805044 combination +Uplifting [Segment] best 805044 combination +Uplifting [Segment::SegmentType] best 805044 combination +Uplifting [] best 805044 combination Attempting to uplift remaining variables inzp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] -Uplifting [bitmap_plot_spline_8seg] best 806044 combination zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] -Attempting to uplift remaining variables inzp[1]:273 [ bitmap_plot_spline_8seg::$4 ] -Uplifting [bitmap_plot_spline_8seg] best 806044 combination zp[1]:273 [ bitmap_plot_spline_8seg::$4 ] +Uplifting [bitmap_plot_spline_8seg] best 805044 combination zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] +Attempting to uplift remaining variables inzp[1]:271 [ bitmap_plot_spline_8seg::$4 ] +Uplifting [bitmap_plot_spline_8seg] best 805044 combination zp[1]:271 [ bitmap_plot_spline_8seg::$4 ] Attempting to uplift remaining variables inzp[1]:23 [ show_letter::i#10 show_letter::i#1 ] -Uplifting [show_letter] best 806044 combination zp[1]:23 [ show_letter::i#10 show_letter::i#1 ] -Attempting to uplift remaining variables inzp[1]:91 [ show_letter::$21 ] -Uplifting [show_letter] best 806044 combination zp[1]:91 [ show_letter::$21 ] +Uplifting [show_letter] best 805044 combination zp[1]:23 [ show_letter::i#10 show_letter::i#1 ] +Attempting to uplift remaining variables inzp[1]:92 [ show_letter::$17 ] +Uplifting [show_letter] best 805044 combination zp[1]:92 [ show_letter::$17 ] Attempting to uplift remaining variables inzp[1]:83 [ show_letter::angle#0 ] -Uplifting [show_letter] best 806044 combination zp[1]:83 [ show_letter::angle#0 ] +Uplifting [show_letter] best 805044 combination zp[1]:83 [ show_letter::angle#0 ] Attempting to uplift remaining variables inzp[1]:89 [ bitmap_init::$5 ] -Uplifting [bitmap_init] best 805984 combination reg byte a [ bitmap_init::$5 ] +Uplifting [bitmap_init] best 804984 combination reg byte a [ bitmap_init::$5 ] Attempting to uplift remaining variables inzp[1]:90 [ bitmap_init::$6 ] -Uplifting [bitmap_init] best 805924 combination reg byte a [ bitmap_init::$6 ] +Uplifting [bitmap_init] best 804924 combination reg byte a [ bitmap_init::$6 ] Attempting to uplift remaining variables inzp[1]:12 [ mulf_init::x_255#2 mulf_init::x_255#1 ] -Uplifting [mulf_init] best 805784 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ] +Uplifting [mulf_init] best 804784 combination reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ] Attempting to uplift remaining variables inzp[1]:15 [ mulf_init::dir#2 mulf_init::dir#4 ] -Uplifting [mulf_init] best 805784 combination zp[1]:15 [ mulf_init::dir#2 mulf_init::dir#4 ] +Uplifting [mulf_init] best 804784 combination zp[1]:15 [ mulf_init::dir#2 mulf_init::dir#4 ] Attempting to uplift remaining variables inzp[1]:6 [ mulf_init::c#2 mulf_init::c#1 ] -Uplifting [mulf_init] best 805784 combination zp[1]:6 [ mulf_init::c#2 mulf_init::c#1 ] +Uplifting [mulf_init] best 804784 combination zp[1]:6 [ mulf_init::c#2 mulf_init::c#1 ] Attempting to uplift remaining variables inzp[1]:87 [ bitmap_init::$7 ] -Uplifting [bitmap_init] best 805784 combination zp[1]:87 [ bitmap_init::$7 ] +Uplifting [bitmap_init] best 804784 combination zp[1]:87 [ bitmap_init::$7 ] Attempting to uplift remaining variables inzp[1]:2 [ main::angle#2 main::angle#1 ] -Uplifting [main] best 805784 combination zp[1]:2 [ main::angle#2 main::angle#1 ] +Uplifting [main] best 804784 combination zp[1]:2 [ main::angle#2 main::angle#1 ] Coalescing zero page register [ zp[2]:46 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 ] ] with [ zp[2]:81 [ bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 ] ] - score: 4 -Coalescing zero page register [ zp[2]:66 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] ] with [ zp[2]:150 [ rotate::cos_a#0 ] ] - score: 2 -Coalescing zero page register [ zp[2]:66 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 rotate::cos_a#0 ] ] with [ zp[2]:176 [ rotate::sin_a#0 ] ] - score: 2 +Coalescing zero page register [ zp[2]:66 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 ] ] with [ zp[2]:148 [ rotate::cos_a#0 ] ] - score: 2 +Coalescing zero page register [ zp[2]:66 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 rotate::cos_a#0 ] ] with [ zp[2]:174 [ rotate::sin_a#0 ] ] - score: 2 Coalescing zero page register [ zp[1]:2 [ main::angle#2 main::angle#1 ] ] with [ zp[1]:83 [ show_letter::angle#0 ] ] - score: 1 Coalescing zero page register [ zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 ] ] with [ zp[2]:46 [ bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 ] ] - score: 1 -Coalescing zero page register [ zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 ] ] with [ zp[2]:136 [ spline_8segB::p0_x#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 ] ] with [ zp[2]:134 [ spline_8segB::p0_x#0 ] ] - score: 1 Coalescing zero page register [ zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 ] ] with [ zp[2]:48 [ bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] ] - score: 1 -Coalescing zero page register [ zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] ] with [ zp[2]:138 [ spline_8segB::p0_y#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:28 [ memset::num#2 ] ] with [ zp[2]:148 [ memset::end#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 ] ] with [ zp[2]:136 [ spline_8segB::p0_y#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:28 [ memset::num#2 ] ] with [ zp[2]:146 [ memset::end#0 ] ] - score: 1 Coalescing zero page register [ zp[2]:30 [ memset::str#3 ] ] with [ zp[2]:33 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] - score: 1 Coalescing zero page register [ zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 ] ] with [ zp[2]:97 [ show_letter::to_x#1 ] ] - score: 1 -Coalescing zero page register [ zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 ] ] with [ zp[2]:118 [ show_letter::via_x#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 ] ] with [ zp[2]:117 [ show_letter::via_x#1 ] ] - score: 1 Coalescing zero page register [ zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 ] ] with [ zp[2]:99 [ show_letter::to_y#1 ] ] - score: 1 -Coalescing zero page register [ zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 ] ] with [ zp[2]:120 [ show_letter::via_y#1 ] ] - score: 1 -Coalescing zero page register [ zp[2]:52 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] ] with [ zp[2]:265 [ spline_8segB::$18 ] ] - score: 1 -Coalescing zero page register [ zp[2]:54 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] ] with [ zp[2]:269 [ spline_8segB::$20 ] ] - score: 1 -Coalescing zero page register [ zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] ] with [ zp[2]:248 [ spline_8segB::$10 ] ] - score: 1 -Coalescing zero page register [ zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] ] with [ zp[2]:250 [ spline_8segB::$12 ] ] - score: 1 -Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] ] with [ zp[4]:278 [ mulf16u::return#2 ] ] - score: 1 -Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 ] ] with [ zp[4]:290 [ mulf16s::return#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] ] with [ zp[2]:212 [ abs_u16::return#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 ] ] with [ zp[2]:216 [ abs_u16::return#1 ] ] - score: 1 -Coalescing zero page register [ zp[2]:78 [ sgn_u16::return#4 ] ] with [ zp[2]:220 [ sgn_u16::return#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:78 [ sgn_u16::return#4 sgn_u16::return#0 ] ] with [ zp[2]:224 [ sgn_u16::return#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 ] ] with [ zp[2]:119 [ show_letter::via_y#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:52 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 ] ] with [ zp[2]:263 [ spline_8segB::$18 ] ] - score: 1 +Coalescing zero page register [ zp[2]:54 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 ] ] with [ zp[2]:267 [ spline_8segB::$20 ] ] - score: 1 +Coalescing zero page register [ zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 ] ] with [ zp[2]:246 [ spline_8segB::$10 ] ] - score: 1 +Coalescing zero page register [ zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 ] ] with [ zp[2]:248 [ spline_8segB::$12 ] ] - score: 1 +Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 ] ] with [ zp[4]:276 [ mulf16u::return#2 ] ] - score: 1 +Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 ] ] with [ zp[4]:288 [ mulf16s::return#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 ] ] with [ zp[2]:210 [ abs_u16::return#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 ] ] with [ zp[2]:214 [ abs_u16::return#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:78 [ sgn_u16::return#4 ] ] with [ zp[2]:218 [ sgn_u16::return#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:78 [ sgn_u16::return#4 sgn_u16::return#0 ] ] with [ zp[2]:222 [ sgn_u16::return#1 ] ] - score: 1 Coalescing zero page register [ zp[2]:101 [ rotate::return_x#0 ] ] with [ zp[2]:105 [ show_letter::to_x#2 ] ] - score: 1 -Coalescing zero page register [ zp[2]:101 [ rotate::return_x#0 show_letter::to_x#2 ] ] with [ zp[2]:208 [ rotate::return_x#2 ] ] - score: 1 +Coalescing zero page register [ zp[2]:101 [ rotate::return_x#0 show_letter::to_x#2 ] ] with [ zp[2]:206 [ rotate::return_x#2 ] ] - score: 1 Coalescing zero page register [ zp[2]:103 [ rotate::return_y#0 ] ] with [ zp[2]:107 [ show_letter::to_y#2 ] ] - score: 1 -Coalescing zero page register [ zp[2]:103 [ rotate::return_y#0 show_letter::to_y#2 ] ] with [ zp[2]:210 [ rotate::return_y#2 ] ] - score: 1 -Coalescing zero page register [ zp[2]:109 [ show_letter::current_x#10 ] ] with [ zp[2]:144 [ spline_8segB::p2_x#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:111 [ show_letter::current_y#10 ] ] with [ zp[2]:146 [ spline_8segB::p2_y#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:122 [ rotate::return_x#1 ] ] with [ zp[2]:126 [ show_letter::via_x#2 ] ] - score: 1 -Coalescing zero page register [ zp[2]:124 [ rotate::return_y#1 ] ] with [ zp[2]:128 [ show_letter::via_y#2 ] ] - score: 1 -Coalescing zero page register [ zp[2]:130 [ show_letter::segment_via_x#0 ] ] with [ zp[2]:140 [ spline_8segB::p1_x#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:132 [ show_letter::segment_via_y#0 ] ] with [ zp[2]:142 [ spline_8segB::p1_y#0 ] ] - score: 1 -Coalescing zero page register [ zp[4]:152 [ mulf16s::return#2 ] ] with [ zp[4]:156 [ rotate::$0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:160 [ rotate::$10 ] ] with [ zp[2]:162 [ rotate::xr#0 ] ] - score: 1 -Coalescing zero page register [ zp[4]:164 [ mulf16s::return#3 ] ] with [ zp[4]:168 [ rotate::$2 ] ] - score: 1 -Coalescing zero page register [ zp[2]:172 [ rotate::$11 ] ] with [ zp[2]:174 [ rotate::yr#0 ] ] - score: 1 -Coalescing zero page register [ zp[4]:178 [ mulf16s::return#4 ] ] with [ zp[4]:182 [ rotate::$4 ] ] - score: 1 -Coalescing zero page register [ zp[2]:186 [ rotate::$12 ] ] with [ zp[2]:188 [ rotate::$5 ] ] - score: 1 -Coalescing zero page register [ zp[4]:192 [ mulf16s::return#10 ] ] with [ zp[4]:196 [ rotate::$6 ] ] - score: 1 -Coalescing zero page register [ zp[2]:200 [ rotate::$13 ] ] with [ zp[2]:202 [ rotate::$7 ] ] - score: 1 -Coalescing zero page register [ zp[2]:228 [ spline_8segB::$0 ] ] with [ zp[2]:230 [ spline_8segB::$1 ] ] - score: 1 -Coalescing zero page register [ zp[2]:232 [ spline_8segB::a_x#0 ] ] with [ zp[2]:252 [ spline_8segB::j_x#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:234 [ spline_8segB::$3 ] ] with [ zp[2]:236 [ spline_8segB::$4 ] ] - score: 1 -Coalescing zero page register [ zp[2]:238 [ spline_8segB::a_y#0 ] ] with [ zp[2]:254 [ spline_8segB::j_y#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:240 [ spline_8segB::$6 ] ] with [ zp[2]:242 [ spline_8segB::b_x#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:244 [ spline_8segB::$8 ] ] with [ zp[2]:246 [ spline_8segB::b_y#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:256 [ spline_8segB::$22 ] ] with [ zp[2]:258 [ spline_8segB::$23 ] ] - score: 1 -Coalescing zero page register [ zp[2]:260 [ spline_8segB::$24 ] ] with [ zp[2]:262 [ spline_8segB::$25 ] ] - score: 1 -Coalescing zero page register [ zp[2]:282 [ mulf16s::$6 ] ] with [ zp[2]:284 [ mulf16s::$11 ] ] - score: 1 -Coalescing zero page register [ zp[2]:286 [ mulf16s::$9 ] ] with [ zp[2]:288 [ mulf16s::$12 ] ] - score: 1 -Coalescing zero page register [ zp[2]:298 [ bitmap_plot::plotter#0 ] ] with [ zp[2]:302 [ bitmap_plot::plotter#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:103 [ rotate::return_y#0 show_letter::to_y#2 ] ] with [ zp[2]:208 [ rotate::return_y#2 ] ] - score: 1 +Coalescing zero page register [ zp[2]:109 [ show_letter::current_x#10 ] ] with [ zp[2]:142 [ spline_8segB::p2_x#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:111 [ show_letter::current_y#10 ] ] with [ zp[2]:144 [ spline_8segB::p2_y#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:121 [ rotate::return_x#1 ] ] with [ zp[2]:125 [ show_letter::via_x#2 ] ] - score: 1 +Coalescing zero page register [ zp[2]:123 [ rotate::return_y#1 ] ] with [ zp[2]:127 [ show_letter::via_y#2 ] ] - score: 1 +Coalescing zero page register [ zp[2]:129 [ show_letter::segment_via_x#0 ] ] with [ zp[2]:138 [ spline_8segB::p1_x#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:131 [ show_letter::segment_via_y#0 ] ] with [ zp[2]:140 [ spline_8segB::p1_y#0 ] ] - score: 1 +Coalescing zero page register [ zp[4]:150 [ mulf16s::return#2 ] ] with [ zp[4]:154 [ rotate::$0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:158 [ rotate::$10 ] ] with [ zp[2]:160 [ rotate::xr#0 ] ] - score: 1 +Coalescing zero page register [ zp[4]:162 [ mulf16s::return#3 ] ] with [ zp[4]:166 [ rotate::$2 ] ] - score: 1 +Coalescing zero page register [ zp[2]:170 [ rotate::$11 ] ] with [ zp[2]:172 [ rotate::yr#0 ] ] - score: 1 +Coalescing zero page register [ zp[4]:176 [ mulf16s::return#4 ] ] with [ zp[4]:180 [ rotate::$4 ] ] - score: 1 +Coalescing zero page register [ zp[2]:184 [ rotate::$12 ] ] with [ zp[2]:186 [ rotate::$5 ] ] - score: 1 +Coalescing zero page register [ zp[4]:190 [ mulf16s::return#10 ] ] with [ zp[4]:194 [ rotate::$6 ] ] - score: 1 +Coalescing zero page register [ zp[2]:198 [ rotate::$13 ] ] with [ zp[2]:200 [ rotate::$7 ] ] - score: 1 +Coalescing zero page register [ zp[2]:226 [ spline_8segB::$0 ] ] with [ zp[2]:228 [ spline_8segB::$1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:230 [ spline_8segB::a_x#0 ] ] with [ zp[2]:250 [ spline_8segB::j_x#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:232 [ spline_8segB::$3 ] ] with [ zp[2]:234 [ spline_8segB::$4 ] ] - score: 1 +Coalescing zero page register [ zp[2]:236 [ spline_8segB::a_y#0 ] ] with [ zp[2]:252 [ spline_8segB::j_y#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:238 [ spline_8segB::$6 ] ] with [ zp[2]:240 [ spline_8segB::b_x#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:242 [ spline_8segB::$8 ] ] with [ zp[2]:244 [ spline_8segB::b_y#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:254 [ spline_8segB::$22 ] ] with [ zp[2]:256 [ spline_8segB::$23 ] ] - score: 1 +Coalescing zero page register [ zp[2]:258 [ spline_8segB::$24 ] ] with [ zp[2]:260 [ spline_8segB::$25 ] ] - score: 1 +Coalescing zero page register [ zp[2]:280 [ mulf16s::$6 ] ] with [ zp[2]:282 [ mulf16s::$11 ] ] - score: 1 +Coalescing zero page register [ zp[2]:284 [ mulf16s::$9 ] ] with [ zp[2]:286 [ mulf16s::$12 ] ] - score: 1 +Coalescing zero page register [ zp[2]:296 [ bitmap_plot::plotter#0 ] ] with [ zp[2]:300 [ bitmap_plot::plotter#1 ] ] - score: 1 Coalescing zero page register [ zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 spline_8segB::p0_x#0 ] ] with [ zp[2]:52 [ spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 ] ] - score: 1 Coalescing zero page register [ zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 spline_8segB::p0_x#0 spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 ] ] with [ zp[2]:62 [ bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] ] - score: 1 Coalescing zero page register [ zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 ] ] with [ zp[2]:54 [ spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 ] ] - score: 1 Coalescing zero page register [ zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 ] ] with [ zp[2]:64 [ bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] ] - score: 1 Coalescing zero page register [ zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 show_letter::via_x#1 ] ] with [ zp[2]:93 [ show_letter::to_x#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 show_letter::via_x#1 show_letter::to_x#0 ] ] with [ zp[2]:114 [ show_letter::via_x#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 show_letter::via_x#1 show_letter::to_x#0 ] ] with [ zp[2]:113 [ show_letter::via_x#0 ] ] - score: 1 Coalescing zero page register [ zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 show_letter::via_y#1 ] ] with [ zp[2]:95 [ show_letter::to_y#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 show_letter::via_y#1 show_letter::to_y#0 ] ] with [ zp[2]:116 [ show_letter::via_y#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 ] ] with [ zp[2]:240 [ spline_8segB::$6 spline_8segB::b_x#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 ] ] with [ zp[2]:244 [ spline_8segB::$8 spline_8segB::b_y#0 ] ] - score: 1 -Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 ] ] with [ zp[4]:152 [ mulf16s::return#2 rotate::$0 ] ] - score: 1 -Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$0 ] ] with [ zp[4]:164 [ mulf16s::return#3 rotate::$2 ] ] - score: 1 -Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$0 mulf16s::return#3 rotate::$2 ] ] with [ zp[4]:178 [ mulf16s::return#4 rotate::$4 ] ] - score: 1 -Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$0 mulf16s::return#3 rotate::$2 mulf16s::return#4 rotate::$4 ] ] with [ zp[4]:192 [ mulf16s::return#10 rotate::$6 ] ] - score: 1 -Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$0 mulf16s::return#3 rotate::$2 mulf16s::return#4 rotate::$4 mulf16s::return#10 rotate::$6 ] ] with [ zp[4]:305 [ mulf16u::return#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 ] ] with [ zp[2]:218 [ bitmap_line::dy#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:78 [ sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 ] ] with [ zp[2]:226 [ bitmap_line::sy#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:101 [ rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 ] ] with [ zp[2]:122 [ rotate::return_x#1 show_letter::via_x#2 ] ] - score: 1 -Coalescing zero page register [ zp[2]:103 [ rotate::return_y#0 show_letter::to_y#2 rotate::return_y#2 ] ] with [ zp[2]:124 [ rotate::return_y#1 show_letter::via_y#2 ] ] - score: 1 -Coalescing zero page register [ zp[2]:160 [ rotate::$10 rotate::xr#0 ] ] with [ zp[2]:190 [ rotate::xr#1 ] ] - score: 1 -Coalescing zero page register [ zp[2]:172 [ rotate::$11 rotate::yr#0 ] ] with [ zp[2]:204 [ rotate::yr#1 ] ] - score: 1 -Coalescing zero page register [ zp[2]:228 [ spline_8segB::$0 spline_8segB::$1 ] ] with [ zp[2]:232 [ spline_8segB::a_x#0 spline_8segB::j_x#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:234 [ spline_8segB::$3 spline_8segB::$4 ] ] with [ zp[2]:238 [ spline_8segB::a_y#0 spline_8segB::j_y#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 spline_8segB::p0_x#0 spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] ] with [ zp[2]:267 [ spline_8segB::$19 ] ] - score: 1 -Coalescing zero page register [ zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] ] with [ zp[2]:271 [ spline_8segB::$21 ] ] - score: 1 -Coalescing zero page register [ zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 ] ] with [ zp[2]:130 [ show_letter::segment_via_x#0 spline_8segB::p1_x#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 spline_8segB::$8 spline_8segB::b_y#0 ] ] with [ zp[2]:132 [ show_letter::segment_via_y#0 spline_8segB::p1_y#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 show_letter::via_y#1 show_letter::to_y#0 ] ] with [ zp[2]:115 [ show_letter::via_y#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 ] ] with [ zp[2]:238 [ spline_8segB::$6 spline_8segB::b_x#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 ] ] with [ zp[2]:242 [ spline_8segB::$8 spline_8segB::b_y#0 ] ] - score: 1 +Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 ] ] with [ zp[4]:150 [ mulf16s::return#2 rotate::$0 ] ] - score: 1 +Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$0 ] ] with [ zp[4]:162 [ mulf16s::return#3 rotate::$2 ] ] - score: 1 +Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$0 mulf16s::return#3 rotate::$2 ] ] with [ zp[4]:176 [ mulf16s::return#4 rotate::$4 ] ] - score: 1 +Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$0 mulf16s::return#3 rotate::$2 mulf16s::return#4 rotate::$4 ] ] with [ zp[4]:190 [ mulf16s::return#10 rotate::$6 ] ] - score: 1 +Coalescing zero page register [ zp[4]:70 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$0 mulf16s::return#3 rotate::$2 mulf16s::return#4 rotate::$4 mulf16s::return#10 rotate::$6 ] ] with [ zp[4]:303 [ mulf16u::return#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 ] ] with [ zp[2]:216 [ bitmap_line::dy#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:78 [ sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 ] ] with [ zp[2]:224 [ bitmap_line::sy#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:101 [ rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 ] ] with [ zp[2]:121 [ rotate::return_x#1 show_letter::via_x#2 ] ] - score: 1 +Coalescing zero page register [ zp[2]:103 [ rotate::return_y#0 show_letter::to_y#2 rotate::return_y#2 ] ] with [ zp[2]:123 [ rotate::return_y#1 show_letter::via_y#2 ] ] - score: 1 +Coalescing zero page register [ zp[2]:158 [ rotate::$10 rotate::xr#0 ] ] with [ zp[2]:188 [ rotate::xr#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:170 [ rotate::$11 rotate::yr#0 ] ] with [ zp[2]:202 [ rotate::yr#1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:226 [ spline_8segB::$0 spline_8segB::$1 ] ] with [ zp[2]:230 [ spline_8segB::a_x#0 spline_8segB::j_x#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:232 [ spline_8segB::$3 spline_8segB::$4 ] ] with [ zp[2]:236 [ spline_8segB::a_y#0 spline_8segB::j_y#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:24 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 spline_8segB::p0_x#0 spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 ] ] with [ zp[2]:265 [ spline_8segB::$19 ] ] - score: 1 +Coalescing zero page register [ zp[2]:26 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 ] ] with [ zp[2]:269 [ spline_8segB::$21 ] ] - score: 1 +Coalescing zero page register [ zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 ] ] with [ zp[2]:129 [ show_letter::segment_via_x#0 spline_8segB::p1_x#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 spline_8segB::$8 spline_8segB::b_y#0 ] ] with [ zp[2]:131 [ show_letter::segment_via_y#0 spline_8segB::p1_y#0 ] ] - score: 1 Coalescing zero page register [ zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 show_letter::segment_via_x#0 spline_8segB::p1_x#0 ] ] with [ zp[2]:101 [ rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 rotate::return_x#1 show_letter::via_x#2 ] ] - score: 1 Coalescing zero page register [ zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spline_8segB::i_y#1 spline_8segB::$12 spline_8segB::$8 spline_8segB::b_y#0 show_letter::segment_via_y#0 spline_8segB::p1_y#0 ] ] with [ zp[2]:103 [ rotate::return_y#0 show_letter::to_y#2 rotate::return_y#2 rotate::return_y#1 show_letter::via_y#2 ] ] - score: 1 Coalescing zero page register [ zp[2]:21 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 ] ] with [ zp[2]:4 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] ] @@ -8603,22 +8577,22 @@ Coalescing zero page register [ zp[2]:59 [ spline_8segB::i_y#2 spline_8segB::i_y Coalescing zero page register [ zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 ] ] with [ zp[1]:15 [ mulf_init::dir#2 mulf_init::dir#4 ] ] Coalescing zero page register [ zp[2]:66 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 rotate::cos_a#0 rotate::sin_a#0 ] ] with [ zp[2]:44 [ bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] ] Coalescing zero page register [ zp[2]:68 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 ] ] with [ zp[2]:50 [ bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] ] -Coalescing zero page register [ zp[1]:91 [ show_letter::$21 ] ] with [ zp[1]:87 [ bitmap_init::$7 ] ] -Coalescing zero page register [ zp[2]:160 [ rotate::$10 rotate::xr#0 rotate::xr#1 ] ] with [ zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 bitmap_line::dy#0 ] ] -Coalescing zero page register [ zp[2]:172 [ rotate::$11 rotate::yr#0 rotate::yr#1 ] ] with [ zp[2]:76 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] ] -Coalescing zero page register [ zp[2]:186 [ rotate::$12 rotate::$5 ] ] with [ zp[2]:78 [ sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 bitmap_line::sy#0 ] ] -Coalescing zero page register [ zp[2]:214 [ bitmap_line::dx#0 ] ] with [ zp[2]:200 [ rotate::$13 rotate::$7 ] ] -Coalescing zero page register [ zp[2]:228 [ spline_8segB::$0 spline_8segB::$1 spline_8segB::a_x#0 spline_8segB::j_x#0 ] ] with [ zp[2]:222 [ bitmap_line::sx#0 ] ] -Coalescing zero page register [ zp[2]:274 [ mulf16u::a#0 ] ] with [ zp[2]:234 [ spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 ] ] -Coalescing zero page register [ zp[2]:276 [ mulf16u::b#0 ] ] with [ zp[2]:256 [ spline_8segB::$22 spline_8segB::$23 ] ] -Coalescing zero page register [ zp[2]:282 [ mulf16s::$6 mulf16s::$11 ] ] with [ zp[2]:260 [ spline_8segB::$24 spline_8segB::$25 ] ] -Coalescing zero page register [ zp[2]:298 [ bitmap_plot::plotter#0 bitmap_plot::plotter#1 ] ] with [ zp[2]:286 [ mulf16s::$9 mulf16s::$12 ] ] +Coalescing zero page register [ zp[1]:92 [ show_letter::$17 ] ] with [ zp[1]:87 [ bitmap_init::$7 ] ] +Coalescing zero page register [ zp[2]:158 [ rotate::$10 rotate::xr#0 rotate::xr#1 ] ] with [ zp[2]:74 [ abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 bitmap_line::dy#0 ] ] +Coalescing zero page register [ zp[2]:170 [ rotate::$11 rotate::yr#0 rotate::yr#1 ] ] with [ zp[2]:76 [ sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] ] +Coalescing zero page register [ zp[2]:184 [ rotate::$12 rotate::$5 ] ] with [ zp[2]:78 [ sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 bitmap_line::sy#0 ] ] +Coalescing zero page register [ zp[2]:212 [ bitmap_line::dx#0 ] ] with [ zp[2]:198 [ rotate::$13 rotate::$7 ] ] +Coalescing zero page register [ zp[2]:226 [ spline_8segB::$0 spline_8segB::$1 spline_8segB::a_x#0 spline_8segB::j_x#0 ] ] with [ zp[2]:220 [ bitmap_line::sx#0 ] ] +Coalescing zero page register [ zp[2]:272 [ mulf16u::a#0 ] ] with [ zp[2]:232 [ spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 ] ] +Coalescing zero page register [ zp[2]:274 [ mulf16u::b#0 ] ] with [ zp[2]:254 [ spline_8segB::$22 spline_8segB::$23 ] ] +Coalescing zero page register [ zp[2]:280 [ mulf16s::$6 mulf16s::$11 ] ] with [ zp[2]:258 [ spline_8segB::$24 spline_8segB::$25 ] ] +Coalescing zero page register [ zp[2]:296 [ bitmap_plot::plotter#0 bitmap_plot::plotter#1 ] ] with [ zp[2]:284 [ mulf16s::$9 mulf16s::$12 ] ] Coalescing zero page register [ zp[2]:36 [ rotate::vector_x#2 rotate::vector_x#0 rotate::vector_x#1 show_letter::to_x#1 show_letter::via_x#1 show_letter::to_x#0 show_letter::via_x#0 ] ] with [ zp[2]:21 [ bitmap_init::yoffs#2 bitmap_init::yoffs#4 bitmap_init::yoffs#1 mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] ] Coalescing zero page register [ zp[2]:38 [ rotate::vector_y#2 rotate::vector_y#0 rotate::vector_y#1 show_letter::to_y#1 show_letter::via_y#1 show_letter::to_y#0 show_letter::via_y#0 ] ] with [ zp[2]:28 [ memset::num#2 memset::end#0 mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] ] Coalescing zero page register [ zp[2]:57 [ spline_8segB::i_x#2 spline_8segB::i_x#0 spline_8segB::i_x#1 spline_8segB::$10 spline_8segB::$6 spline_8segB::b_x#0 show_letter::segment_via_x#0 spline_8segB::p1_x#0 rotate::return_x#0 show_letter::to_x#2 rotate::return_x#2 rotate::return_x#1 show_letter::via_x#2 bitmap_line::x2#10 bitmap_line::x2#13 bitmap_line::x2#0 ] ] with [ zp[2]:30 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] ] -Coalescing zero page register [ zp[1]:91 [ show_letter::$21 bitmap_init::$7 ] ] with [ zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 mulf_init::dir#2 mulf_init::dir#4 ] ] -Coalescing zero page register [ zp[2]:298 [ bitmap_plot::plotter#0 bitmap_plot::plotter#1 mulf16s::$9 mulf16s::$12 ] ] with [ zp[2]:274 [ mulf16u::a#0 spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 ] ] -Coalescing zero page register [ zp[2]:300 [ bitmap_plot::$0 ] ] with [ zp[2]:172 [ rotate::$11 rotate::yr#0 rotate::yr#1 sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] ] +Coalescing zero page register [ zp[1]:92 [ show_letter::$17 bitmap_init::$7 ] ] with [ zp[1]:61 [ bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 mulf_init::dir#2 mulf_init::dir#4 ] ] +Coalescing zero page register [ zp[2]:296 [ bitmap_plot::plotter#0 bitmap_plot::plotter#1 mulf16s::$9 mulf16s::$12 ] ] with [ zp[2]:272 [ mulf16u::a#0 spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 ] ] +Coalescing zero page register [ zp[2]:298 [ bitmap_plot::$0 ] ] with [ zp[2]:170 [ rotate::$11 rotate::yr#0 rotate::yr#1 sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] ] Allocated (was zp[1]:23) zp[1]:3 [ show_letter::i#10 show_letter::i#1 mulf_init::c#2 mulf_init::c#1 ] Allocated (was zp[2]:24) zp[2]:4 [ show_letter::current_x#4 show_letter::current_x#11 bitmap_line::x#7 bitmap_line::x#6 bitmap_line::x#15 bitmap_line::x#13 bitmap_line::x#0 bitmap_line::x1#1 bitmap_line::x1#0 bitmap_line::x#12 bitmap_line::x#1 bitmap_plot::x#4 bitmap_plot::x#2 bitmap_plot::x#0 bitmap_plot::x#1 bitmap_plot::x#3 spline_8segB::p0_x#0 spline_8segB::p_x#2 spline_8segB::p_x#0 spline_8segB::p_x#1 spline_8segB::$18 bitmap_plot_spline_8seg::current_x#2 bitmap_plot_spline_8seg::current_x#0 bitmap_plot_spline_8seg::current_x#1 spline_8segB::$19 mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ] Allocated (was zp[2]:26) zp[2]:6 [ show_letter::current_y#4 show_letter::current_y#11 bitmap_line::y#15 bitmap_line::y#7 bitmap_line::y#13 bitmap_line::y#4 bitmap_line::y#0 bitmap_line::y1#1 bitmap_line::y1#0 bitmap_line::y#1 bitmap_line::y#2 spline_8segB::p0_y#0 spline_8segB::p_y#2 spline_8segB::p_y#0 spline_8segB::p_y#1 spline_8segB::$20 bitmap_plot_spline_8seg::current_y#2 bitmap_plot_spline_8seg::current_y#0 bitmap_plot_spline_8seg::current_y#1 spline_8segB::$21 mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] @@ -8629,18 +8603,18 @@ Allocated (was zp[2]:59) zp[2]:14 [ spline_8segB::i_y#2 spline_8segB::i_y#0 spli Allocated (was zp[2]:66) zp[2]:16 [ mulf16s::a#4 mulf16s::a#0 mulf16s::a#1 mulf16s::a#2 mulf16s::a#3 rotate::cos_a#0 rotate::sin_a#0 bitmap_line::e#3 bitmap_line::e#0 bitmap_line::e#6 bitmap_line::e#1 bitmap_line::e#2 ] Allocated (was zp[2]:68) zp[2]:18 [ mulf16s::b#4 mulf16s::b#0 mulf16s::b#1 mulf16s::b#2 mulf16s::b#3 bitmap_line::e1#3 bitmap_line::e1#6 bitmap_line::e1#0 bitmap_line::e1#2 bitmap_line::e1#1 ] Allocated (was zp[4]:70) zp[4]:20 [ mulf16s::m#4 mulf16s::m#5 mulf16s::m#1 mulf16s::m#0 mulf16s::m#2 mulf16u::return#2 mulf16s::return#0 mulf16s::return#2 rotate::$0 mulf16s::return#3 rotate::$2 mulf16s::return#4 rotate::$4 mulf16s::return#10 rotate::$6 mulf16u::return#0 ] -Allocated (was zp[1]:91) zp[1]:24 [ show_letter::$21 bitmap_init::$7 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 mulf_init::dir#2 mulf_init::dir#4 ] +Allocated (was zp[1]:92) zp[1]:24 [ show_letter::$17 bitmap_init::$7 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 mulf_init::dir#2 mulf_init::dir#4 ] Allocated (was zp[2]:109) zp[2]:25 [ show_letter::current_x#10 spline_8segB::p2_x#0 ] Allocated (was zp[2]:111) zp[2]:27 [ show_letter::current_y#10 spline_8segB::p2_y#0 ] -Allocated (was zp[2]:160) zp[2]:29 [ rotate::$10 rotate::xr#0 rotate::xr#1 abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 bitmap_line::dy#0 ] -Allocated (was zp[2]:186) zp[2]:31 [ rotate::$12 rotate::$5 sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 bitmap_line::sy#0 ] -Allocated (was zp[2]:214) zp[2]:33 [ bitmap_line::dx#0 rotate::$13 rotate::$7 ] -Allocated (was zp[2]:228) zp[2]:35 [ spline_8segB::$0 spline_8segB::$1 spline_8segB::a_x#0 spline_8segB::j_x#0 bitmap_line::sx#0 ] -Allocated (was zp[1]:273) zp[1]:37 [ bitmap_plot_spline_8seg::$4 ] -Allocated (was zp[2]:276) zp[2]:38 [ mulf16u::b#0 spline_8segB::$22 spline_8segB::$23 ] -Allocated (was zp[2]:282) zp[2]:40 [ mulf16s::$6 mulf16s::$11 spline_8segB::$24 spline_8segB::$25 ] -Allocated (was zp[2]:298) zp[2]:42 [ bitmap_plot::plotter#0 bitmap_plot::plotter#1 mulf16s::$9 mulf16s::$12 mulf16u::a#0 spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 ] -Allocated (was zp[2]:300) zp[2]:44 [ bitmap_plot::$0 rotate::$11 rotate::yr#0 rotate::yr#1 sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] +Allocated (was zp[2]:158) zp[2]:29 [ rotate::$10 rotate::xr#0 rotate::xr#1 abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 bitmap_line::dy#0 ] +Allocated (was zp[2]:184) zp[2]:31 [ rotate::$12 rotate::$5 sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 bitmap_line::sy#0 ] +Allocated (was zp[2]:212) zp[2]:33 [ bitmap_line::dx#0 rotate::$13 rotate::$7 ] +Allocated (was zp[2]:226) zp[2]:35 [ spline_8segB::$0 spline_8segB::$1 spline_8segB::a_x#0 spline_8segB::j_x#0 bitmap_line::sx#0 ] +Allocated (was zp[1]:271) zp[1]:37 [ bitmap_plot_spline_8seg::$4 ] +Allocated (was zp[2]:274) zp[2]:38 [ mulf16u::b#0 spline_8segB::$22 spline_8segB::$23 ] +Allocated (was zp[2]:280) zp[2]:40 [ mulf16s::$6 mulf16s::$11 spline_8segB::$24 spline_8segB::$25 ] +Allocated (was zp[2]:296) zp[2]:42 [ bitmap_plot::plotter#0 bitmap_plot::plotter#1 mulf16s::$9 mulf16s::$12 mulf16u::a#0 spline_8segB::$3 spline_8segB::$4 spline_8segB::a_y#0 spline_8segB::j_y#0 ] +Allocated (was zp[2]:298) zp[2]:44 [ bitmap_plot::$0 rotate::$11 rotate::yr#0 rotate::yr#1 sgn_u16::w#2 sgn_u16::w#0 sgn_u16::w#1 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -9119,16 +9093,16 @@ bitmap_init: { bitmap_clear: { .const col = WHITE<<4 // [75] call memset - // [135] phi from bitmap_clear to memset [phi:bitmap_clear->memset] + // [133] phi from bitmap_clear to memset [phi:bitmap_clear->memset] memset_from_bitmap_clear: - // [135] phi (byte) memset::c#4 = (const byte) bitmap_clear::col#0 [phi:bitmap_clear->memset#0] -- vbuxx=vbuc1 + // [133] phi (byte) memset::c#4 = (const byte) bitmap_clear::col#0 [phi:bitmap_clear->memset#0] -- vbuxx=vbuc1 ldx #col - // [135] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_SCREEN [phi:bitmap_clear->memset#1] -- pvoz1=pvoc1 + // [133] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_SCREEN [phi:bitmap_clear->memset#1] -- pvoz1=pvoc1 lda #BITMAP_SCREEN sta.z memset.str+1 - // [135] phi (word) memset::num#2 = (word) $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1 + // [133] phi (word) memset::num#2 = (word) $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1 lda #<$3e8 sta.z memset.num lda #>$3e8 @@ -9140,16 +9114,16 @@ bitmap_clear: { // bitmap_clear::@1 __b1: // [77] call memset - // [135] phi from bitmap_clear::@1 to memset [phi:bitmap_clear::@1->memset] + // [133] phi from bitmap_clear::@1 to memset [phi:bitmap_clear::@1->memset] memset_from___b1: - // [135] phi (byte) memset::c#4 = (byte) 0 [phi:bitmap_clear::@1->memset#0] -- vbuxx=vbuc1 + // [133] phi (byte) memset::c#4 = (byte) 0 [phi:bitmap_clear::@1->memset#0] -- vbuxx=vbuc1 ldx #0 - // [135] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_GRAPHICS [phi:bitmap_clear::@1->memset#1] -- pvoz1=pvoc1 + // [133] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_GRAPHICS [phi:bitmap_clear::@1->memset#1] -- pvoz1=pvoc1 lda #BITMAP_GRAPHICS sta.z memset.str+1 - // [135] phi (word) memset::num#2 = (word) $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1 + // [133] phi (word) memset::num#2 = (word) $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1 lda #<$1f40 sta.z memset.num lda #>$1f40 @@ -9164,6 +9138,7 @@ bitmap_clear: { // show_letter // show_letter(byte zp(2) angle) show_letter: { + .label __17 = $18 .label angle = 2 .label to_x = 8 .label to_y = $a @@ -9180,7 +9155,6 @@ show_letter: { .label current_y = 6 .label current_x_1 = $19 .label current_y_1 = $1b - .label __21 = $18 // [80] phi from show_letter to show_letter::@1 [phi:show_letter->show_letter::@1] __b1_from_show_letter: // [80] phi (signed word) show_letter::current_y#4 = (signed word) 0 [phi:show_letter->show_letter::@1#0] -- vwsz1=vwsc1 @@ -9199,26 +9173,26 @@ show_letter: { jmp __b1 // show_letter::@1 __b1: - // [81] (byte~) show_letter::$21 ← (byte) show_letter::i#10 << (byte) 3 -- vbuz1=vbuz2_rol_3 + // [81] (byte~) show_letter::$21 ← (byte) show_letter::i#10 << (byte) 3 -- vbuaa=vbuz1_rol_3 lda.z i asl asl asl - sta.z __21 - // [82] (byte~) show_letter::$16 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuxx=vbuz1_plus_vbuz2 - lda.z __21 + // [82] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuz1=vbuaa_plus_vbuz2 clc adc.z i - tax - // [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$16) -- vwsz1=pwsc1_derefidx_vbuxx - lda letter_c+OFFSET_STRUCT_SEGMENT_TO,x + sta.z __17 + // [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + ldy.z __17 + lda letter_c+OFFSET_STRUCT_SEGMENT_TO,y sta.z to_x - lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,y sta.z to_x+1 - // [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$16) -- vwsz1=pwsc1_derefidx_vbuxx - lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,x + // [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + ldy.z __17 + lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z to_y - lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z to_y+1 // [85] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 lda.z to_x @@ -9241,11 +9215,11 @@ show_letter: { // [89] (byte) rotate::angle#0 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 ldy.z angle // [90] call rotate - // [144] phi from show_letter::@1 to rotate [phi:show_letter::@1->rotate] + // [142] phi from show_letter::@1 to rotate [phi:show_letter::@1->rotate] rotate_from___b1: - // [144] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#0 [phi:show_letter::@1->rotate#0] -- register_copy - // [144] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#0 [phi:show_letter::@1->rotate#1] -- register_copy - // [144] phi (byte) rotate::angle#2 = (byte) rotate::angle#0 [phi:show_letter::@1->rotate#2] -- register_copy + // [142] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#0 [phi:show_letter::@1->rotate#0] -- register_copy + // [142] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#0 [phi:show_letter::@1->rotate#1] -- register_copy + // [142] phi (byte) rotate::angle#2 = (byte) rotate::angle#0 [phi:show_letter::@1->rotate#2] -- register_copy jsr rotate // [91] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 // [92] (signed word) rotate::return_y#0 ← (signed word) rotate::return_y#2 @@ -9270,22 +9244,19 @@ show_letter: { lda.z to_y_1+1 adc #>$64 sta.z current_y_1+1 - // [97] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuxx=vbuz1_plus_vbuz2 - lda.z __21 - clc - adc.z i - tax - // [98] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuxx - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,x + // [97] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + ldy.z __17 + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,y sta.z via_x - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,y sta.z via_x+1 - // [99] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuxx - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,x + // [98] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + ldy.z __17 + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z via_y - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z via_y+1 - // [100] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 + // [99] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 lda.z via_x sec sbc #$32 @@ -9293,7 +9264,7 @@ show_letter: { lda.z via_x+1 sbc #>$32 sta.z via_x+1 - // [101] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 -- vwsz1=vwsz1_minus_vwsc1 + // [100] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 -- vwsz1=vwsz1_minus_vwsc1 lda.z via_y sec sbc #<$96 @@ -9301,25 +9272,25 @@ show_letter: { lda.z via_y+1 sbc #>$96 sta.z via_y+1 - // [102] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 - // [103] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 - // [104] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 + // [101] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 + // [102] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 + // [103] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 ldy.z angle - // [105] call rotate - // [144] phi from show_letter::@6 to rotate [phi:show_letter::@6->rotate] + // [104] call rotate + // [142] phi from show_letter::@6 to rotate [phi:show_letter::@6->rotate] rotate_from___b6: - // [144] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#1 [phi:show_letter::@6->rotate#0] -- register_copy - // [144] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#1 [phi:show_letter::@6->rotate#1] -- register_copy - // [144] phi (byte) rotate::angle#2 = (byte) rotate::angle#1 [phi:show_letter::@6->rotate#2] -- register_copy + // [142] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#1 [phi:show_letter::@6->rotate#0] -- register_copy + // [142] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#1 [phi:show_letter::@6->rotate#1] -- register_copy + // [142] phi (byte) rotate::angle#2 = (byte) rotate::angle#1 [phi:show_letter::@6->rotate#2] -- register_copy jsr rotate - // [106] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 - // [107] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 + // [105] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 + // [106] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 jmp __b7 // show_letter::@7 __b7: - // [108] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 - // [109] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 - // [110] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 + // [107] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 + // [108] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 + // [109] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 lda.z segment_via_x clc adc #<$64 @@ -9327,7 +9298,7 @@ show_letter: { lda.z segment_via_x+1 adc #>$64 sta.z segment_via_x+1 - // [111] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 + // [110] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 lda.z segment_via_y clc adc #<$64 @@ -9335,67 +9306,63 @@ show_letter: { lda.z segment_via_y+1 adc #>$64 sta.z segment_via_y+1 - // [112] (byte~) show_letter::$18 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuaa=vbuz1_plus_vbuz2 - lda.z __21 - clc - adc.z i - // [113] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$18) -- vbuaa=pbuc1_derefidx_vbuaa - tay + // [111] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$17) -- vbuaa=pbuc1_derefidx_vbuz1 + ldy.z __17 lda letter_c,y - // [114] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 -- vbuaa_eq_vbuc1_then_la1 + // [112] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 -- vbuaa_eq_vbuc1_then_la1 cmp #MOVE_TO beq __b3 jmp __b4 // show_letter::@4 __b4: - // [115] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 -- vbuaa_eq_vbuc1_then_la1 + // [113] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #SPLINE_TO beq __b2 jmp __b5 // show_letter::@5 __b5: - // [116] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 - // [117] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 - // [118] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 -- vwuz1=vwuz2 + // [114] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 + // [115] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 + // [116] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 -- vwuz1=vwuz2 lda.z current_x_1 sta.z bitmap_line.x2 lda.z current_x_1+1 sta.z bitmap_line.x2+1 - // [119] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 -- vwuz1=vwuz2 + // [117] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 -- vwuz1=vwuz2 lda.z current_y_1 sta.z bitmap_line.y2 lda.z current_y_1+1 sta.z bitmap_line.y2+1 - // [120] call bitmap_line - // [182] phi from show_letter::@5 to bitmap_line [phi:show_letter::@5->bitmap_line] + // [118] call bitmap_line + // [180] phi from show_letter::@5 to bitmap_line [phi:show_letter::@5->bitmap_line] bitmap_line_from___b5: - // [182] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#0 [phi:show_letter::@5->bitmap_line#0] -- register_copy - // [182] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#0 [phi:show_letter::@5->bitmap_line#1] -- register_copy - // [182] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#0 [phi:show_letter::@5->bitmap_line#2] -- register_copy - // [182] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#0 [phi:show_letter::@5->bitmap_line#3] -- register_copy + // [180] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#0 [phi:show_letter::@5->bitmap_line#0] -- register_copy + // [180] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#0 [phi:show_letter::@5->bitmap_line#1] -- register_copy + // [180] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#0 [phi:show_letter::@5->bitmap_line#2] -- register_copy + // [180] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#0 [phi:show_letter::@5->bitmap_line#3] -- register_copy jsr bitmap_line jmp __b3 // show_letter::@3 __b3: - // [121] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 -- vbuz1=_inc_vbuz1 + // [119] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 -- vbuz1=_inc_vbuz1 inc.z i - // [122] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 -- vbuz1_neq_vbuc1_then_la1 + // [120] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 -- vbuz1_neq_vbuc1_then_la1 lda #$16 cmp.z i bne __b9 jmp __breturn // show_letter::@return __breturn: - // [123] return + // [121] return rts // show_letter::@9 __b9: - // [124] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 + // [122] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 lda.z current_x_1 sta.z current_x lda.z current_x_1+1 sta.z current_x+1 - // [125] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 + // [123] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 lda.z current_y_1 sta.z current_y lda.z current_y_1+1 @@ -9408,20 +9375,20 @@ show_letter: { jmp __b1 // show_letter::@2 __b2: - // [126] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 - // [127] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 - // [128] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 - // [129] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 - // [130] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 - // [131] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 - // [132] call spline_8segB + // [124] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 + // [125] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 + // [126] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 + // [127] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 + // [128] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 + // [129] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 + // [130] call spline_8segB jsr spline_8segB - // [133] phi from show_letter::@2 to show_letter::@8 [phi:show_letter::@2->show_letter::@8] + // [131] phi from show_letter::@2 to show_letter::@8 [phi:show_letter::@2->show_letter::@8] __b8_from___b2: jmp __b8 // show_letter::@8 __b8: - // [134] call bitmap_plot_spline_8seg + // [132] call bitmap_plot_spline_8seg jsr bitmap_plot_spline_8seg jmp __b3 } @@ -9433,7 +9400,7 @@ memset: { .label dst = $c .label num = $a .label str = $c - // [136] if((word) memset::num#2<=(byte) 0) goto memset::@return -- vwuz1_le_0_then_la1 + // [134] if((word) memset::num#2<=(byte) 0) goto memset::@return -- vwuz1_le_0_then_la1 lda.z num bne !+ lda.z num+1 @@ -9442,7 +9409,7 @@ memset: { jmp __b1 // memset::@1 __b1: - // [137] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 -- pbuz1=pbuz2_plus_vwuz1 + // [135] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 -- pbuz1=pbuz2_plus_vwuz1 lda.z end clc adc.z str @@ -9450,15 +9417,15 @@ memset: { lda.z end+1 adc.z str+1 sta.z end+1 - // [138] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 - // [139] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] + // [136] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 + // [137] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] __b2_from___b1: __b2_from___b3: - // [139] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy + // [137] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy jmp __b2 // memset::@2 __b2: - // [140] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 + // [138] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 lda.z dst+1 cmp.z end+1 bne __b3 @@ -9468,15 +9435,15 @@ memset: { jmp __breturn // memset::@return __breturn: - // [141] return + // [139] return rts // memset::@3 __b3: - // [142] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuxx + // [140] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuxx txa ldy #0 sta (dst),y - // [143] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [141] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 @@ -9505,7 +9472,7 @@ rotate: { .label xr = $1d .label yr = $2c .label sin_a = $10 - // [145] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy + // [143] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy lda COS,y sta.z cos_a ora #$7f @@ -9513,57 +9480,57 @@ rotate: { lda #0 !: sta.z cos_a+1 - // [146] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 - // [147] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 + // [144] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 + // [145] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 lda.z vector_x sta.z mulf16s.b lda.z vector_x+1 sta.z mulf16s.b+1 - // [148] call mulf16s - // [287] phi from rotate to mulf16s [phi:rotate->mulf16s] + // [146] call mulf16s + // [285] phi from rotate to mulf16s [phi:rotate->mulf16s] mulf16s_from_rotate: - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#0 [phi:rotate->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#0 [phi:rotate->mulf16s#1] -- register_copy + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#0 [phi:rotate->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#0 [phi:rotate->mulf16s#1] -- register_copy jsr mulf16s - // [149] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 + // [147] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 jmp __b1 // rotate::@1 __b1: - // [150] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 - // [151] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 -- vwsz1=_sword_vdsz2 + // [148] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 + // [149] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 -- vwsz1=_sword_vdsz2 lda.z __0 sta.z __10 lda.z __0+1 sta.z __10+1 - // [152] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [150] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z xr rol.z xr+1 - // [153] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 - // [154] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 + // [151] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 + // [152] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 lda.z vector_y sta.z mulf16s.b lda.z vector_y+1 sta.z mulf16s.b+1 - // [155] call mulf16s - // [287] phi from rotate::@1 to mulf16s [phi:rotate::@1->mulf16s] + // [153] call mulf16s + // [285] phi from rotate::@1 to mulf16s [phi:rotate::@1->mulf16s] mulf16s_from___b1: - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#1 [phi:rotate::@1->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#1 [phi:rotate::@1->mulf16s#1] -- register_copy + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#1 [phi:rotate::@1->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#1 [phi:rotate::@1->mulf16s#1] -- register_copy jsr mulf16s - // [156] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 + // [154] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 jmp __b2 // rotate::@2 __b2: - // [157] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 - // [158] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 -- vwsz1=_sword_vdsz2 + // [155] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 + // [156] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 -- vwsz1=_sword_vdsz2 lda.z __2 sta.z __11 lda.z __2+1 sta.z __11+1 - // [159] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [157] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z yr rol.z yr+1 - // [160] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy + // [158] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy // signed fixed[8.8] lda SIN,y sta.z sin_a @@ -9572,32 +9539,32 @@ rotate: { lda #0 !: sta.z sin_a+1 - // [161] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 - // [162] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 + // [159] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 + // [160] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 lda.z vector_y sta.z mulf16s.b lda.z vector_y+1 sta.z mulf16s.b+1 - // [163] call mulf16s - // [287] phi from rotate::@2 to mulf16s [phi:rotate::@2->mulf16s] + // [161] call mulf16s + // [285] phi from rotate::@2 to mulf16s [phi:rotate::@2->mulf16s] mulf16s_from___b2: - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#2 [phi:rotate::@2->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#2 [phi:rotate::@2->mulf16s#1] -- register_copy + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#2 [phi:rotate::@2->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#2 [phi:rotate::@2->mulf16s#1] -- register_copy jsr mulf16s - // [164] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 + // [162] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 jmp __b3 // rotate::@3 __b3: - // [165] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 - // [166] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 -- vwsz1=_sword_vdsz2 + // [163] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 + // [164] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 -- vwsz1=_sword_vdsz2 lda.z __4 sta.z __12 lda.z __4+1 sta.z __12+1 - // [167] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [165] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z __5 rol.z __5+1 - // [168] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 -- vwsz1=vwsz1_minus_vwsz2 + // [166] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 -- vwsz1=vwsz1_minus_vwsz2 // signed fixed[0.7] lda.z xr sec @@ -9606,32 +9573,32 @@ rotate: { lda.z xr+1 sbc.z __5+1 sta.z xr+1 - // [169] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 - // [170] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 + // [167] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 + // [168] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 lda.z vector_x sta.z mulf16s.b lda.z vector_x+1 sta.z mulf16s.b+1 - // [171] call mulf16s - // [287] phi from rotate::@3 to mulf16s [phi:rotate::@3->mulf16s] + // [169] call mulf16s + // [285] phi from rotate::@3 to mulf16s [phi:rotate::@3->mulf16s] mulf16s_from___b3: - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#3 [phi:rotate::@3->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#3 [phi:rotate::@3->mulf16s#1] -- register_copy + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#3 [phi:rotate::@3->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#3 [phi:rotate::@3->mulf16s#1] -- register_copy jsr mulf16s - // [172] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 + // [170] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 jmp __b4 // rotate::@4 __b4: - // [173] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 - // [174] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 -- vwsz1=_sword_vdsz2 + // [171] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 + // [172] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 -- vwsz1=_sword_vdsz2 lda.z __6 sta.z __13 lda.z __6+1 sta.z __13+1 - // [175] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [173] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z __7 rol.z __7+1 - // [176] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 -- vwsz1=vwsz1_plus_vwsz2 + // [174] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 -- vwsz1=vwsz1_plus_vwsz2 // signed fixed[8.8] lda.z yr clc @@ -9640,18 +9607,18 @@ rotate: { lda.z yr+1 adc.z __7+1 sta.z yr+1 - // [177] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 -- vbuaa=_hi_vwsz1 + // [175] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 -- vbuaa=_hi_vwsz1 lda.z xr+1 - // [178] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 -- vbuxx=_hi_vwsz1 + // [176] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 -- vbuxx=_hi_vwsz1 ldx.z yr+1 - // [179] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 -- vwsz1=_sword_vbsaa + // [177] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 -- vwsz1=_sword_vbsaa sta.z return_x ora #$7f bmi !+ lda #0 !: sta.z return_x+1 - // [180] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 -- vwsz1=_sword_vbsxx + // [178] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 -- vwsz1=_sword_vbsxx txa sta.z return_y ora #$7f @@ -9662,7 +9629,7 @@ rotate: { jmp __breturn // rotate::@return __breturn: - // [181] return + // [179] return rts } // bitmap_line @@ -9681,7 +9648,7 @@ bitmap_line: { .label y1 = 6 .label x2 = $c .label y2 = $e - // [183] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 + // [181] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z x2 sec sbc.z x @@ -9689,21 +9656,21 @@ bitmap_line: { lda.z x2+1 sbc.z x+1 sta.z abs_u16.w+1 - // [184] call abs_u16 - // [305] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16] + // [182] call abs_u16 + // [303] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16] abs_u16_from_bitmap_line: - // [305] phi (word) abs_u16::w#2 = (word) abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy + // [303] phi (word) abs_u16::w#2 = (word) abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy jsr abs_u16 - // [185] (word) abs_u16::return#0 ← (word) abs_u16::return#4 + // [183] (word) abs_u16::return#0 ← (word) abs_u16::return#4 jmp __b12 // bitmap_line::@12 __b12: - // [186] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 -- vwuz1=vwuz2 + // [184] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 -- vwuz1=vwuz2 lda.z abs_u16.return sta.z dx lda.z abs_u16.return+1 sta.z dx+1 - // [187] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 + // [185] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z y2 sec sbc.z y @@ -9711,17 +9678,17 @@ bitmap_line: { lda.z y2+1 sbc.z y+1 sta.z abs_u16.w+1 - // [188] call abs_u16 - // [305] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16] + // [186] call abs_u16 + // [303] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16] abs_u16_from___b12: - // [305] phi (word) abs_u16::w#2 = (word) abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy + // [303] phi (word) abs_u16::w#2 = (word) abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy jsr abs_u16 - // [189] (word) abs_u16::return#1 ← (word) abs_u16::return#4 + // [187] (word) abs_u16::return#1 ← (word) abs_u16::return#4 jmp __b13 // bitmap_line::@13 __b13: - // [190] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 - // [191] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 -- vwuz1_neq_0_then_la1 + // [188] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 + // [189] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 -- vwuz1_neq_0_then_la1 lda.z dx bne __b1 lda.z dx+1 @@ -9729,7 +9696,7 @@ bitmap_line: { jmp __b18 // bitmap_line::@18 __b18: - // [192] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 -- vwuz1_eq_0_then_la1 + // [190] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 -- vwuz1_eq_0_then_la1 lda.z dy bne !+ lda.z dy+1 @@ -9738,7 +9705,7 @@ bitmap_line: { jmp __b1 // bitmap_line::@1 __b1: - // [193] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 + // [191] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z x2 sec sbc.z x @@ -9746,21 +9713,21 @@ bitmap_line: { lda.z x2+1 sbc.z x+1 sta.z sgn_u16.w+1 - // [194] call sgn_u16 - // [312] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16] + // [192] call sgn_u16 + // [310] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16] sgn_u16_from___b1: - // [312] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy + // [310] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy jsr sgn_u16 - // [195] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 + // [193] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 jmp __b14 // bitmap_line::@14 __b14: - // [196] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 -- vwuz1=vwuz2 + // [194] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 -- vwuz1=vwuz2 lda.z sgn_u16.return sta.z sx lda.z sgn_u16.return+1 sta.z sx+1 - // [197] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 + // [195] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z y2 sec sbc.z y @@ -9768,17 +9735,17 @@ bitmap_line: { lda.z y2+1 sbc.z y+1 sta.z sgn_u16.w+1 - // [198] call sgn_u16 - // [312] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16] + // [196] call sgn_u16 + // [310] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16] sgn_u16_from___b14: - // [312] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy + // [310] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy jsr sgn_u16 - // [199] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 + // [197] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 jmp __b15 // bitmap_line::@15 __b15: - // [200] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 - // [201] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 -- vwuz1_gt_vwuz2_then_la1 + // [198] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 + // [199] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 -- vwuz1_gt_vwuz2_then_la1 lda.z dy+1 cmp.z dx+1 bcc __b2 @@ -9790,35 +9757,35 @@ bitmap_line: { jmp __b5 // bitmap_line::@5 __b5: - // [202] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 + // [200] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 lda.z dx+1 lsr sta.z e+1 lda.z dx ror sta.z e - // [203] phi from bitmap_line::@5 bitmap_line::@7 to bitmap_line::@6 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6] + // [201] phi from bitmap_line::@5 bitmap_line::@7 to bitmap_line::@6 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6] __b6_from___b5: __b6_from___b7: - // [203] phi (word) bitmap_line::e#3 = (word) bitmap_line::e#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#0] -- register_copy - // [203] phi (word) bitmap_line::y#4 = (word) bitmap_line::y#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#1] -- register_copy - // [203] phi (word) bitmap_line::x#13 = (word) bitmap_line::x#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#2] -- register_copy + // [201] phi (word) bitmap_line::e#3 = (word) bitmap_line::e#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#0] -- register_copy + // [201] phi (word) bitmap_line::y#4 = (word) bitmap_line::y#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#1] -- register_copy + // [201] phi (word) bitmap_line::x#13 = (word) bitmap_line::x#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#2] -- register_copy jmp __b6 // bitmap_line::@6 __b6: - // [204] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 - // [205] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 -- vbuaa=_byte_vwuz1 + // [202] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 + // [203] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 -- vbuaa=_byte_vwuz1 lda.z y - // [206] call bitmap_plot - // [319] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot] + // [204] call bitmap_plot + // [317] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot] bitmap_plot_from___b6: - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b16 // bitmap_line::@16 __b16: - // [207] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 + // [205] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z y clc adc.z sy @@ -9826,7 +9793,7 @@ bitmap_line: { lda.z y+1 adc.z sy+1 sta.z y+1 - // [208] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 -- vwuz1=vwuz1_plus_vwuz2 + // [206] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z e clc adc.z dx @@ -9834,7 +9801,7 @@ bitmap_line: { lda.z e+1 adc.z dx+1 sta.z e+1 - // [209] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 -- vwuz1_ge_vwuz2_then_la1 + // [207] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 -- vwuz1_ge_vwuz2_then_la1 lda.z e+1 cmp.z dy+1 bne !+ @@ -9846,7 +9813,7 @@ bitmap_line: { jmp __b8 // bitmap_line::@8 __b8: - // [210] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 + // [208] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z x clc adc.z sx @@ -9854,7 +9821,7 @@ bitmap_line: { lda.z x+1 adc.z sx+1 sta.z x+1 - // [211] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 -- vwuz1=vwuz1_minus_vwuz2 + // [209] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 -- vwuz1=vwuz1_minus_vwuz2 lda.z e sec sbc.z dy @@ -9862,74 +9829,74 @@ bitmap_line: { lda.z e+1 sbc.z dy+1 sta.z e+1 - // [212] phi from bitmap_line::@16 bitmap_line::@8 to bitmap_line::@7 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7] + // [210] phi from bitmap_line::@16 bitmap_line::@8 to bitmap_line::@7 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7] __b7_from___b16: __b7_from___b8: - // [212] phi (word) bitmap_line::e#6 = (word) bitmap_line::e#1 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#0] -- register_copy - // [212] phi (word) bitmap_line::x#12 = (word) bitmap_line::x#13 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#1] -- register_copy + // [210] phi (word) bitmap_line::e#6 = (word) bitmap_line::e#1 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#0] -- register_copy + // [210] phi (word) bitmap_line::x#12 = (word) bitmap_line::x#13 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#1] -- register_copy jmp __b7 // bitmap_line::@7 __b7: - // [213] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 -- vwuz1_neq_vwuz2_then_la1 + // [211] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 -- vwuz1_neq_vwuz2_then_la1 lda.z y+1 cmp.z y2+1 bne __b6_from___b7 lda.z y cmp.z y2 bne __b6_from___b7 - // [214] phi from bitmap_line::@10 bitmap_line::@7 to bitmap_line::@3 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3] + // [212] phi from bitmap_line::@10 bitmap_line::@7 to bitmap_line::@3 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3] __b3_from___b10: __b3_from___b7: - // [214] phi (word) bitmap_line::y#7 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#0] -- register_copy - // [214] phi (word) bitmap_line::x#6 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#1] -- register_copy + // [212] phi (word) bitmap_line::y#7 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#0] -- register_copy + // [212] phi (word) bitmap_line::x#6 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#1] -- register_copy jmp __b3 // bitmap_line::@3 __b3: - // [215] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 - // [216] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 -- vbuaa=_byte_vwuz1 + // [213] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 + // [214] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 -- vbuaa=_byte_vwuz1 lda.z y - // [217] call bitmap_plot - // [319] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot] + // [215] call bitmap_plot + // [317] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot] bitmap_plot_from___b3: - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __breturn // bitmap_line::@return __breturn: - // [218] return + // [216] return rts // bitmap_line::@2 __b2: - // [219] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 + // [217] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 lda.z dy+1 lsr sta.z e1+1 lda.z dy ror sta.z e1 - // [220] phi from bitmap_line::@10 bitmap_line::@2 to bitmap_line::@9 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9] + // [218] phi from bitmap_line::@10 bitmap_line::@2 to bitmap_line::@9 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9] __b9_from___b10: __b9_from___b2: - // [220] phi (word) bitmap_line::e1#3 = (word) bitmap_line::e1#6 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#0] -- register_copy - // [220] phi (word) bitmap_line::y#15 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#1] -- register_copy - // [220] phi (word) bitmap_line::x#7 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#2] -- register_copy + // [218] phi (word) bitmap_line::e1#3 = (word) bitmap_line::e1#6 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#0] -- register_copy + // [218] phi (word) bitmap_line::y#15 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#1] -- register_copy + // [218] phi (word) bitmap_line::x#7 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#2] -- register_copy jmp __b9 // bitmap_line::@9 __b9: - // [221] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 - // [222] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 -- vbuaa=_byte_vwuz1 + // [219] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 + // [220] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 -- vbuaa=_byte_vwuz1 lda.z y - // [223] call bitmap_plot - // [319] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot] + // [221] call bitmap_plot + // [317] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot] bitmap_plot_from___b9: - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __b17 // bitmap_line::@17 __b17: - // [224] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 + // [222] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z x clc adc.z sx @@ -9937,7 +9904,7 @@ bitmap_line: { lda.z x+1 adc.z sx+1 sta.z x+1 - // [225] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 -- vwuz1=vwuz1_plus_vwuz2 + // [223] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z e1 clc adc.z dy @@ -9945,7 +9912,7 @@ bitmap_line: { lda.z e1+1 adc.z dy+1 sta.z e1+1 - // [226] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 -- vwuz1_ge_vwuz2_then_la1 + // [224] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 -- vwuz1_ge_vwuz2_then_la1 lda.z e1+1 cmp.z dx+1 bne !+ @@ -9957,7 +9924,7 @@ bitmap_line: { jmp __b11 // bitmap_line::@11 __b11: - // [227] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 + // [225] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z y clc adc.z sy @@ -9965,7 +9932,7 @@ bitmap_line: { lda.z y+1 adc.z sy+1 sta.z y+1 - // [228] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 -- vwuz1=vwuz1_minus_vwuz2 + // [226] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 -- vwuz1=vwuz1_minus_vwuz2 lda.z e1 sec sbc.z dx @@ -9973,15 +9940,15 @@ bitmap_line: { lda.z e1+1 sbc.z dx+1 sta.z e1+1 - // [229] phi from bitmap_line::@11 bitmap_line::@17 to bitmap_line::@10 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10] + // [227] phi from bitmap_line::@11 bitmap_line::@17 to bitmap_line::@10 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10] __b10_from___b11: __b10_from___b17: - // [229] phi (word) bitmap_line::e1#6 = (word) bitmap_line::e1#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#0] -- register_copy - // [229] phi (word) bitmap_line::y#13 = (word) bitmap_line::y#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#1] -- register_copy + // [227] phi (word) bitmap_line::e1#6 = (word) bitmap_line::e1#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#0] -- register_copy + // [227] phi (word) bitmap_line::y#13 = (word) bitmap_line::y#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#1] -- register_copy jmp __b10 // bitmap_line::@10 __b10: - // [230] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 -- vwuz1_neq_vwuz2_then_la1 + // [228] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 -- vwuz1_neq_vwuz2_then_la1 lda.z x+1 cmp.z x2+1 bne __b9_from___b10 @@ -9991,14 +9958,14 @@ bitmap_line: { jmp __b3_from___b10 // bitmap_line::@4 __b4: - // [231] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 - // [232] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 -- vbuaa=_byte_vwuz1 + // [229] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 + // [230] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 -- vbuaa=_byte_vwuz1 lda.z y - // [233] call bitmap_plot - // [319] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot] + // [231] call bitmap_plot + // [317] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot] bitmap_plot_from___b4: - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy jsr bitmap_plot jmp __breturn } @@ -10042,14 +10009,14 @@ spline_8segB: { .label p1_y = $e .label p2_x = $19 .label p2_y = $1b - // [234] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [232] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z p1_x asl sta.z __0 lda.z p1_x+1 rol sta.z __0+1 - // [235] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 -- vwsz1=vwsz2_minus_vwsz1 + // [233] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 -- vwsz1=vwsz2_minus_vwsz1 lda.z p2_x sec sbc.z __1 @@ -10057,7 +10024,7 @@ spline_8segB: { lda.z p2_x+1 sbc.z __1+1 sta.z __1+1 - // [236] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_plus_vwsz2 + // [234] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z a_x clc adc.z p0_x @@ -10065,14 +10032,14 @@ spline_8segB: { lda.z a_x+1 adc.z p0_x+1 sta.z a_x+1 - // [237] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [235] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z p1_y asl sta.z __3 lda.z p1_y+1 rol sta.z __3+1 - // [238] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 -- vwsz1=vwsz2_minus_vwsz1 + // [236] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 -- vwsz1=vwsz2_minus_vwsz1 lda.z p2_y sec sbc.z __4 @@ -10080,7 +10047,7 @@ spline_8segB: { lda.z p2_y+1 sbc.z __4+1 sta.z __4+1 - // [239] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_plus_vwsz2 + // [237] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z a_y clc adc.z p0_y @@ -10088,7 +10055,7 @@ spline_8segB: { lda.z a_y+1 adc.z p0_y+1 sta.z a_y+1 - // [240] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_minus_vwsz2 + // [238] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_minus_vwsz2 lda.z __6 sec sbc.z p0_x @@ -10096,10 +10063,10 @@ spline_8segB: { lda.z __6+1 sbc.z p0_x+1 sta.z __6+1 - // [241] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [239] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z b_x rol.z b_x+1 - // [242] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_minus_vwsz2 + // [240] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_minus_vwsz2 lda.z __8 sec sbc.z p0_y @@ -10107,17 +10074,17 @@ spline_8segB: { lda.z __8+1 sbc.z p0_y+1 sta.z __8+1 - // [243] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [241] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z b_y rol.z b_y+1 - // [244] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 + // [242] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 asl.z __10 rol.z __10+1 asl.z __10 rol.z __10+1 asl.z __10 rol.z __10+1 - // [245] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 -- vwsz1=vwsz2_plus_vwsz1 + // [243] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 -- vwsz1=vwsz2_plus_vwsz1 lda.z i_x clc adc.z a_x @@ -10125,14 +10092,14 @@ spline_8segB: { lda.z i_x+1 adc.z a_x+1 sta.z i_x+1 - // [246] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 + // [244] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 asl.z __12 rol.z __12+1 asl.z __12 rol.z __12+1 asl.z __12 rol.z __12+1 - // [247] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 -- vwsz1=vwsz2_plus_vwsz1 + // [245] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 -- vwsz1=vwsz2_plus_vwsz1 lda.z i_y clc adc.z a_y @@ -10140,13 +10107,13 @@ spline_8segB: { lda.z i_y+1 adc.z a_y+1 sta.z i_y+1 - // [248] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [246] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z j_x rol.z j_x+1 - // [249] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [247] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z j_y rol.z j_y+1 - // [250] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 + // [248] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 lda.z p_x+1 sta.z $ff lda.z p_x @@ -10159,7 +10126,7 @@ spline_8segB: { lsr.z $ff ror.z p_x+1 ror.z p_x - // [251] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 + // [249] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 lda.z p_y+1 sta.z $ff lda.z p_y @@ -10172,26 +10139,26 @@ spline_8segB: { lsr.z $ff ror.z p_y+1 ror.z p_y - // [252] phi from spline_8segB to spline_8segB::@1 [phi:spline_8segB->spline_8segB::@1] + // [250] phi from spline_8segB to spline_8segB::@1 [phi:spline_8segB->spline_8segB::@1] __b1_from_spline_8segB: - // [252] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#0 [phi:spline_8segB->spline_8segB::@1#0] -- register_copy - // [252] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#0 [phi:spline_8segB->spline_8segB::@1#1] -- register_copy - // [252] phi (byte) spline_8segB::n#2 = (byte) 0 [phi:spline_8segB->spline_8segB::@1#2] -- vbuyy=vbuc1 + // [250] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#0 [phi:spline_8segB->spline_8segB::@1#0] -- register_copy + // [250] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#0 [phi:spline_8segB->spline_8segB::@1#1] -- register_copy + // [250] phi (byte) spline_8segB::n#2 = (byte) 0 [phi:spline_8segB->spline_8segB::@1#2] -- vbuyy=vbuc1 ldy #0 - // [252] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#0 [phi:spline_8segB->spline_8segB::@1#3] -- register_copy - // [252] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#0 [phi:spline_8segB->spline_8segB::@1#4] -- register_copy + // [250] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#0 [phi:spline_8segB->spline_8segB::@1#3] -- register_copy + // [250] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#0 [phi:spline_8segB->spline_8segB::@1#4] -- register_copy jmp __b1 - // [252] phi from spline_8segB::@1 to spline_8segB::@1 [phi:spline_8segB::@1->spline_8segB::@1] + // [250] phi from spline_8segB::@1 to spline_8segB::@1 [phi:spline_8segB::@1->spline_8segB::@1] __b1_from___b1: - // [252] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#1 [phi:spline_8segB::@1->spline_8segB::@1#0] -- register_copy - // [252] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#1 [phi:spline_8segB::@1->spline_8segB::@1#1] -- register_copy - // [252] phi (byte) spline_8segB::n#2 = (byte) spline_8segB::n#1 [phi:spline_8segB::@1->spline_8segB::@1#2] -- register_copy - // [252] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#1 [phi:spline_8segB::@1->spline_8segB::@1#3] -- register_copy - // [252] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#1 [phi:spline_8segB::@1->spline_8segB::@1#4] -- register_copy + // [250] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#1 [phi:spline_8segB::@1->spline_8segB::@1#0] -- register_copy + // [250] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#1 [phi:spline_8segB::@1->spline_8segB::@1#1] -- register_copy + // [250] phi (byte) spline_8segB::n#2 = (byte) spline_8segB::n#1 [phi:spline_8segB::@1->spline_8segB::@1#2] -- register_copy + // [250] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#1 [phi:spline_8segB::@1->spline_8segB::@1#3] -- register_copy + // [250] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#1 [phi:spline_8segB::@1->spline_8segB::@1#4] -- register_copy jmp __b1 // spline_8segB::@1 __b1: - // [253] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 + // [251] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 lda.z p_x clc adc #<$20 @@ -10199,7 +10166,7 @@ spline_8segB: { lda.z p_x+1 adc #>$20 sta.z __22+1 - // [254] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 -- vwsz1=vwsz1_ror_6 + // [252] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 -- vwsz1=vwsz1_ror_6 lda.z __23 sta.z $ff lda.z __23+1 @@ -10216,7 +10183,7 @@ spline_8segB: { rol.z $ff rol.z __23 rol.z __23+1 - // [255] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 + // [253] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 lda.z p_y clc adc #<$20 @@ -10224,7 +10191,7 @@ spline_8segB: { lda.z p_y+1 adc #>$20 sta.z __24+1 - // [256] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 -- vwsz1=vwsz1_ror_6 + // [254] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 -- vwsz1=vwsz1_ror_6 lda.z __25 sta.z $ff lda.z __25+1 @@ -10241,22 +10208,22 @@ spline_8segB: { rol.z $ff rol.z __25 rol.z __25+1 - // [257] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 -- vbuxx=vbuyy_rol_2 + // [255] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 -- vbuxx=vbuyy_rol_2 tya asl asl tax - // [258] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 -- pwsc1_derefidx_vbuxx=vwsz1 + // [256] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 -- pwsc1_derefidx_vbuxx=vwsz1 lda.z __23 sta SPLINE_8SEG,x lda.z __23+1 sta SPLINE_8SEG+1,x - // [259] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 -- pwsc1_derefidx_vbuxx=vwsz1 + // [257] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 -- pwsc1_derefidx_vbuxx=vwsz1 lda.z __25 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,x lda.z __25+1 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x - // [260] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 -- vwsz1=vwsz1_plus_vwsz2 + // [258] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 -- vwsz1=vwsz1_plus_vwsz2 lda.z p_x clc adc.z i_x @@ -10264,7 +10231,7 @@ spline_8segB: { lda.z p_x+1 adc.z i_x+1 sta.z p_x+1 - // [261] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 -- vwsz1=vwsz1_plus_vwsz2 + // [259] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 -- vwsz1=vwsz1_plus_vwsz2 lda.z p_y clc adc.z i_y @@ -10272,7 +10239,7 @@ spline_8segB: { lda.z p_y+1 adc.z i_y+1 sta.z p_y+1 - // [262] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 -- vwsz1=vwsz1_plus_vwsz2 + // [260] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z i_x clc adc.z j_x @@ -10280,7 +10247,7 @@ spline_8segB: { lda.z i_x+1 adc.z j_x+1 sta.z i_x+1 - // [263] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 -- vwsz1=vwsz1_plus_vwsz2 + // [261] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z i_y clc adc.z j_y @@ -10288,15 +10255,15 @@ spline_8segB: { lda.z i_y+1 adc.z j_y+1 sta.z i_y+1 - // [264] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 -- vbuyy=_inc_vbuyy + // [262] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 -- vbuyy=_inc_vbuyy iny - // [265] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 -- vbuyy_neq_vbuc1_then_la1 + // [263] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 -- vbuyy_neq_vbuc1_then_la1 cpy #8 bne __b1_from___b1 jmp __b2 // spline_8segB::@2 __b2: - // [266] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 + // [264] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 lda.z __18 clc adc #<$20 @@ -10304,7 +10271,7 @@ spline_8segB: { lda.z __18+1 adc #>$20 sta.z __18+1 - // [267] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 -- vwsz1=vwsz1_ror_6 + // [265] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 -- vwsz1=vwsz1_ror_6 lda.z __19 sta.z $ff lda.z __19+1 @@ -10321,7 +10288,7 @@ spline_8segB: { rol.z $ff rol.z __19 rol.z __19+1 - // [268] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 + // [266] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 lda.z __20 clc adc #<$20 @@ -10329,7 +10296,7 @@ spline_8segB: { lda.z __20+1 adc #>$20 sta.z __20+1 - // [269] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 -- vwsz1=vwsz1_ror_6 + // [267] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 -- vwsz1=vwsz1_ror_6 lda.z __21 sta.z $ff lda.z __21+1 @@ -10346,12 +10313,12 @@ spline_8segB: { rol.z $ff rol.z __21 rol.z __21+1 - // [270] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 -- _deref_pwsc1=vwsz1 + // [268] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 -- _deref_pwsc1=vwsz1 lda.z __19 sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16 lda.z __19+1 sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16+1 - // [271] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 -- _deref_pwsc1=vwsz1 + // [269] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 -- _deref_pwsc1=vwsz1 lda.z __21 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16 lda.z __21+1 @@ -10359,7 +10326,7 @@ spline_8segB: { jmp __breturn // spline_8segB::@return __breturn: - // [272] return + // [270] return rts } // bitmap_plot_spline_8seg @@ -10369,84 +10336,84 @@ bitmap_plot_spline_8seg: { .label current_x = 4 .label current_y = 6 .label n = $18 - // [273] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) -- vwsz1=_deref_pwsc1 + // [271] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) -- vwsz1=_deref_pwsc1 lda SPLINE_8SEG sta.z current_x lda SPLINE_8SEG+1 sta.z current_x+1 - // [274] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) -- vwsz1=_deref_pwsc1 + // [272] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) -- vwsz1=_deref_pwsc1 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y sta.z current_y lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1 sta.z current_y+1 - // [275] phi from bitmap_plot_spline_8seg to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1] + // [273] phi from bitmap_plot_spline_8seg to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1] __b1_from_bitmap_plot_spline_8seg: - // [275] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#0] -- register_copy - // [275] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#1] -- register_copy - // [275] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) 1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#2] -- vbuz1=vbuc1 + // [273] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#0] -- register_copy + // [273] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#1] -- register_copy + // [273] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) 1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#2] -- vbuz1=vbuc1 lda #1 sta.z n jmp __b1 - // [275] phi from bitmap_plot_spline_8seg::@2 to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1] + // [273] phi from bitmap_plot_spline_8seg::@2 to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1] __b1_from___b2: - // [275] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#0] -- register_copy - // [275] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#1] -- register_copy - // [275] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#2] -- register_copy + // [273] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#0] -- register_copy + // [273] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#1] -- register_copy + // [273] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#2] -- register_copy jmp __b1 // bitmap_plot_spline_8seg::@1 __b1: - // [276] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 + // [274] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 lda.z n asl asl sta.z __4 - // [277] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 - // [278] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 - // [279] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 + // [275] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 + // [276] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 + // [277] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 ldy.z __4 lda SPLINE_8SEG,y sta.z bitmap_line.x2 lda SPLINE_8SEG+1,y sta.z bitmap_line.x2+1 - // [280] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 + // [278] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 ldy.z __4 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z bitmap_line.y2 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z bitmap_line.y2+1 - // [281] call bitmap_line - // [182] phi from bitmap_plot_spline_8seg::@1 to bitmap_line [phi:bitmap_plot_spline_8seg::@1->bitmap_line] + // [279] call bitmap_line + // [180] phi from bitmap_plot_spline_8seg::@1 to bitmap_line [phi:bitmap_plot_spline_8seg::@1->bitmap_line] bitmap_line_from___b1: - // [182] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#0] -- register_copy - // [182] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#1] -- register_copy - // [182] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#2] -- register_copy - // [182] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#3] -- register_copy + // [180] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#0] -- register_copy + // [180] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#1] -- register_copy + // [180] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#2] -- register_copy + // [180] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#3] -- register_copy jsr bitmap_line jmp __b2 // bitmap_plot_spline_8seg::@2 __b2: - // [282] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 + // [280] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 ldy.z __4 lda SPLINE_8SEG,y sta.z current_x lda SPLINE_8SEG+1,y sta.z current_x+1 - // [283] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 + // [281] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 ldy.z __4 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z current_y lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z current_y+1 - // [284] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 -- vbuz1=_inc_vbuz1 + // [282] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 -- vbuz1=_inc_vbuz1 inc.z n - // [285] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 -- vbuz1_neq_vbuc1_then_la1 + // [283] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 -- vbuz1_neq_vbuc1_then_la1 lda #9 cmp.z n bne __b1_from___b2 jmp __breturn // bitmap_plot_spline_8seg::@return __breturn: - // [286] return + // [284] return rts } // mulf16s @@ -10462,35 +10429,35 @@ mulf16s: { .label return = $14 .label a = $10 .label b = $12 - // [288] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2 + // [286] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2 lda.z a sta.z mulf16u.a lda.z a+1 sta.z mulf16u.a+1 - // [289] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2 + // [287] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2 lda.z b sta.z mulf16u.b lda.z b+1 sta.z mulf16u.b+1 - // [290] call mulf16u + // [288] call mulf16u jsr mulf16u - // [291] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 + // [289] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 jmp __b5 // mulf16s::@5 __b5: - // [292] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 - // [293] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 -- vwsz1_ge_0_then_la1 + // [290] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 + // [291] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 -- vwsz1_ge_0_then_la1 lda.z a+1 bpl __b1_from___b5 jmp __b3 // mulf16s::@3 __b3: - // [294] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 -- vwuz1=_hi_vduz2 + // [292] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 -- vwuz1=_hi_vduz2 lda.z m+2 sta.z __6 lda.z m+3 sta.z __6+1 - // [295] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz1_minus_vwuz2 + // [293] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz1_minus_vwuz2 lda.z __11 sec sbc.z b @@ -10498,30 +10465,30 @@ mulf16s: { lda.z __11+1 sbc.z b+1 sta.z __11+1 - // [296] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 -- vduz1=vduz1_sethi_vwuz2 + // [294] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 -- vduz1=vduz1_sethi_vwuz2 lda.z __11 sta.z m+2 lda.z __11+1 sta.z m+3 - // [297] phi from mulf16s::@3 mulf16s::@5 to mulf16s::@1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1] + // [295] phi from mulf16s::@3 mulf16s::@5 to mulf16s::@1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1] __b1_from___b3: __b1_from___b5: - // [297] phi (dword) mulf16s::m#5 = (dword) mulf16s::m#1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1#0] -- register_copy + // [295] phi (dword) mulf16s::m#5 = (dword) mulf16s::m#1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1#0] -- register_copy jmp __b1 // mulf16s::@1 __b1: - // [298] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 -- vwsz1_ge_0_then_la1 + // [296] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 -- vwsz1_ge_0_then_la1 lda.z b+1 bpl __b2_from___b1 jmp __b4 // mulf16s::@4 __b4: - // [299] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 -- vwuz1=_hi_vduz2 + // [297] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 -- vwuz1=_hi_vduz2 lda.z m+2 sta.z __9 lda.z m+3 sta.z __9+1 - // [300] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz1_minus_vwuz2 + // [298] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz1_minus_vwuz2 lda.z __12 sec sbc.z a @@ -10529,23 +10496,23 @@ mulf16s: { lda.z __12+1 sbc.z a+1 sta.z __12+1 - // [301] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 -- vduz1=vduz1_sethi_vwuz2 + // [299] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 -- vduz1=vduz1_sethi_vwuz2 lda.z __12 sta.z m+2 lda.z __12+1 sta.z m+3 - // [302] phi from mulf16s::@1 mulf16s::@4 to mulf16s::@2 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2] + // [300] phi from mulf16s::@1 mulf16s::@4 to mulf16s::@2 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2] __b2_from___b1: __b2_from___b4: - // [302] phi (dword) mulf16s::m#4 = (dword) mulf16s::m#5 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2#0] -- register_copy + // [300] phi (dword) mulf16s::m#4 = (dword) mulf16s::m#5 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2#0] -- register_copy jmp __b2 // mulf16s::@2 __b2: - // [303] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 + // [301] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 jmp __breturn // mulf16s::@return __breturn: - // [304] return + // [302] return rts } // abs_u16 @@ -10554,21 +10521,21 @@ mulf16s: { abs_u16: { .label w = $1d .label return = $1d - // [306] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 -- vbuaa=_hi_vwuz1 + // [304] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 -- vbuaa=_hi_vwuz1 lda.z w+1 - // [307] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 + // [305] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 and #$80 - // [308] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 -- vbuc1_neq_vbuaa_then_la1 + // [306] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 -- vbuc1_neq_vbuaa_then_la1 cmp #0 bne __b1 - // [310] phi from abs_u16 abs_u16::@1 to abs_u16::@return [phi:abs_u16/abs_u16::@1->abs_u16::@return] + // [308] phi from abs_u16 abs_u16::@1 to abs_u16::@return [phi:abs_u16/abs_u16::@1->abs_u16::@return] __breturn_from_abs_u16: __breturn_from___b1: - // [310] phi (word) abs_u16::return#4 = (word) abs_u16::w#2 [phi:abs_u16/abs_u16::@1->abs_u16::@return#0] -- register_copy + // [308] phi (word) abs_u16::return#4 = (word) abs_u16::w#2 [phi:abs_u16/abs_u16::@1->abs_u16::@return#0] -- register_copy jmp __breturn // abs_u16::@1 __b1: - // [309] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 -- vwuz1=_neg_vwuz1 + // [307] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 -- vwuz1=_neg_vwuz1 sec lda #0 sbc.z return @@ -10579,7 +10546,7 @@ abs_u16: { jmp __breturn_from___b1 // abs_u16::@return __breturn: - // [311] return + // [309] return rts } // sgn_u16 @@ -10589,29 +10556,29 @@ abs_u16: { sgn_u16: { .label w = $2c .label return = $1f - // [313] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 -- vbuaa=_hi_vwuz1 + // [311] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 -- vbuaa=_hi_vwuz1 lda.z w+1 - // [314] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 + // [312] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 and #$80 - // [315] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 -- vbuc1_neq_vbuaa_then_la1 + // [313] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 -- vbuc1_neq_vbuaa_then_la1 cmp #0 bne __b1_from_sgn_u16 - // [317] phi from sgn_u16 to sgn_u16::@return [phi:sgn_u16->sgn_u16::@return] + // [315] phi from sgn_u16 to sgn_u16::@return [phi:sgn_u16->sgn_u16::@return] __breturn_from_sgn_u16: - // [317] phi (word) sgn_u16::return#4 = (byte) 1 [phi:sgn_u16->sgn_u16::@return#0] -- vwuz1=vbuc1 + // [315] phi (word) sgn_u16::return#4 = (byte) 1 [phi:sgn_u16->sgn_u16::@return#0] -- vwuz1=vbuc1 lda #<1 sta.z return lda #>1 sta.z return+1 jmp __breturn - // [316] phi from sgn_u16 to sgn_u16::@1 [phi:sgn_u16->sgn_u16::@1] + // [314] phi from sgn_u16 to sgn_u16::@1 [phi:sgn_u16->sgn_u16::@1] __b1_from_sgn_u16: jmp __b1 // sgn_u16::@1 __b1: - // [317] phi from sgn_u16::@1 to sgn_u16::@return [phi:sgn_u16::@1->sgn_u16::@return] + // [315] phi from sgn_u16::@1 to sgn_u16::@return [phi:sgn_u16::@1->sgn_u16::@return] __breturn_from___b1: - // [317] phi (word) sgn_u16::return#4 = (byte) -1 [phi:sgn_u16::@1->sgn_u16::@return#0] -- vwuz1=vbuc1 + // [315] phi (word) sgn_u16::return#4 = (byte) -1 [phi:sgn_u16::@1->sgn_u16::@return#0] -- vwuz1=vbuc1 lda #<-1 sta.z return lda #>-1 @@ -10619,7 +10586,7 @@ sgn_u16: { jmp __breturn // sgn_u16::@return __breturn: - // [318] return + // [316] return rts } // bitmap_plot @@ -10629,20 +10596,20 @@ bitmap_plot: { .label __0 = $2c .label plotter = $2a .label x = 4 - // [320] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuaa_word_pbuc2_derefidx_vbuaa + // [318] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuaa_word_pbuc2_derefidx_vbuaa tay lda bitmap_plot_yhi,y sta.z plotter+1 lda bitmap_plot_ylo,y sta.z plotter - // [321] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 -- vwuz1=vwuz2_band_vwuc1 + // [319] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 -- vwuz1=vwuz2_band_vwuc1 lda.z x and #<$fff8 sta.z __0 lda.z x+1 and #>$fff8 sta.z __0+1 - // [322] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 -- pbuz1=pbuz1_plus_vwuz2 + // [320] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 -- pbuz1=pbuz1_plus_vwuz2 lda.z plotter clc adc.z __0 @@ -10650,9 +10617,9 @@ bitmap_plot: { lda.z plotter+1 adc.z __0+1 sta.z plotter+1 - // [323] (byte~) bitmap_plot::$1 ← < (word) bitmap_plot::x#4 -- vbuxx=_lo_vwuz1 + // [321] (byte~) bitmap_plot::$1 ← < (word) bitmap_plot::x#4 -- vbuxx=_lo_vwuz1 ldx.z x - // [324] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx + // [322] *((byte*) bitmap_plot::plotter#1) ← *((byte*) bitmap_plot::plotter#1) | *((const to_nomodify byte*) bitmap_plot_bit + (byte~) bitmap_plot::$1) -- _deref_pbuz1=_deref_pbuz1_bor_pbuc1_derefidx_vbuxx lda bitmap_plot_bit,x ldy #0 ora (plotter),y @@ -10661,7 +10628,7 @@ bitmap_plot: { jmp __breturn // bitmap_plot::@return __breturn: - // [325] return + // [323] return rts } // mulf16u @@ -10675,12 +10642,12 @@ mulf16u: { .label return = $14 .label a = $2a .label b = $26 - // [326] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 -- _deref_pwuc1=vwuz1 + // [324] *((const nomodify word*) mulf16u::memA) ← (word) mulf16u::a#0 -- _deref_pwuc1=vwuz1 lda.z a sta memA lda.z a+1 sta memA+1 - // [327] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 -- _deref_pwuc1=vwuz1 + // [325] *((const nomodify word*) mulf16u::memB) ← (word) mulf16u::b#0 -- _deref_pwuc1=vwuz1 lda.z b sta memB lda.z b+1 @@ -10778,7 +10745,7 @@ mulf16u: { bcc !+ inc memR+3 !: - // [329] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) -- vduz1=_deref_pduc1 + // [327] (dword) mulf16u::return#0 ← *((const nomodify dword*) mulf16u::memR) -- vduz1=_deref_pduc1 lda memR sta.z return lda memR+1 @@ -10790,7 +10757,7 @@ mulf16u: { jmp __breturn // mulf16u::@return __breturn: - // [330] return + // [328] return rts } // File Data @@ -10958,7 +10925,9 @@ Removing instruction lda #>0 Removing instruction lda #<0 Removing instruction lda #>0 Removing instruction lda #0 -Removing instruction lda.z __21 +Replacing instruction ldy.z __17 with TAY +Removing instruction ldy.z __17 +Removing instruction ldy.z __17 Removing instruction lda.z e+1 Removing instruction lda.z e1+1 Replacing instruction ldy.z __4 with TAY @@ -11146,8 +11115,8 @@ Removing instruction __b2: Removing instruction __breturn: Removing instruction __breturn: Succesful ASM optimization Pass5UnusedLabelElimination -Fixing long branch [980] bne __b1 to beq -Fixing long branch [595] beq __b4 to bne +Fixing long branch [974] bne __b1 to beq +Fixing long branch [589] beq __b4 to bne FINAL SYMBOL TABLE (const nomodify byte*) BITMAP_GRAPHICS = (byte*) 24576 @@ -11639,10 +11608,8 @@ FINAL SYMBOL TABLE (word) sgn_u16::w#1 w zp[2]:44 2.000000002E9 (word) sgn_u16::w#2 w zp[2]:44 1.2000000003E10 (void()) show_letter((byte) show_letter::angle) -(byte~) show_letter::$16 reg byte x 15001.5 -(byte~) show_letter::$17 reg byte x 15001.5 -(byte~) show_letter::$18 reg byte a 20002.0 -(byte~) show_letter::$21 zp[1]:24 1290.4516129032259 +(byte~) show_letter::$17 zp[1]:24 2069.1724137931037 +(byte~) show_letter::$21 reg byte a 20002.0 (label) show_letter::@1 (label) show_letter::@2 (label) show_letter::@3 @@ -11654,18 +11621,18 @@ FINAL SYMBOL TABLE (label) show_letter::@9 (label) show_letter::@return (byte) show_letter::angle -(byte) show_letter::angle#0 angle zp[1]:2 357.375 +(byte) show_letter::angle#0 angle zp[1]:2 370.6111111111111 (signed word) show_letter::current_x -(signed word) show_letter::current_x#10 current_x_1 zp[2]:25 810.8918918918919 +(signed word) show_letter::current_x#10 current_x_1 zp[2]:25 857.2285714285714 (signed word) show_letter::current_x#11 current_x zp[2]:4 10001.0 -(signed word) show_letter::current_x#4 current_x zp[2]:4 555.6111111111111 +(signed word) show_letter::current_x#4 current_x zp[2]:4 588.2941176470588 (signed word) show_letter::current_y -(signed word) show_letter::current_y#10 current_y_1 zp[2]:27 810.8918918918919 +(signed word) show_letter::current_y#10 current_y_1 zp[2]:27 857.2285714285714 (signed word) show_letter::current_y#11 current_y zp[2]:6 20002.0 -(signed word) show_letter::current_y#4 current_y zp[2]:6 526.3684210526316 +(signed word) show_letter::current_y#4 current_y zp[2]:6 555.6111111111111 (byte) show_letter::i (byte) show_letter::i#1 i zp[1]:3 7500.75 -(byte) show_letter::i#10 i zp[1]:3 1200.1200000000001 +(byte) show_letter::i#10 i zp[1]:3 833.4166666666666 (struct SplineVector16) show_letter::segment_to (signed word) show_letter::segment_to_x (signed word) show_letter::segment_to_y @@ -11673,9 +11640,9 @@ FINAL SYMBOL TABLE (byte) show_letter::segment_type#0 reg byte a 15001.5 (struct SplineVector16) show_letter::segment_via (signed word) show_letter::segment_via_x -(signed word) show_letter::segment_via_x#0 segment_via_x zp[2]:12 2500.25 +(signed word) show_letter::segment_via_x#0 segment_via_x zp[2]:12 2857.4285714285716 (signed word) show_letter::segment_via_y -(signed word) show_letter::segment_via_y#0 segment_via_y zp[2]:14 2500.25 +(signed word) show_letter::segment_via_y#0 segment_via_y zp[2]:14 2857.4285714285716 (signed word) show_letter::to_x (signed word) show_letter::to_x#0 to_x zp[2]:8 10001.0 (signed word) show_letter::to_x#1 to_x zp[2]:8 10001.0 @@ -11787,12 +11754,10 @@ reg byte a [ mulf_init::$5 ] reg byte a [ bitmap_init::$4 ] reg byte a [ bitmap_init::$5 ] reg byte a [ bitmap_init::$6 ] -zp[1]:24 [ show_letter::$21 bitmap_init::$7 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 mulf_init::dir#2 mulf_init::dir#4 ] -reg byte x [ show_letter::$16 ] +reg byte a [ show_letter::$21 ] +zp[1]:24 [ show_letter::$17 bitmap_init::$7 bitmap_plot_spline_8seg::n#2 bitmap_plot_spline_8seg::n#1 mulf_init::dir#2 mulf_init::dir#4 ] zp[2]:25 [ show_letter::current_x#10 spline_8segB::p2_x#0 ] zp[2]:27 [ show_letter::current_y#10 spline_8segB::p2_y#0 ] -reg byte x [ show_letter::$17 ] -reg byte a [ show_letter::$18 ] reg byte a [ show_letter::segment_type#0 ] zp[2]:29 [ rotate::$10 rotate::xr#0 rotate::xr#1 abs_u16::return#4 abs_u16::return#2 abs_u16::w#2 abs_u16::w#0 abs_u16::w#1 abs_u16::return#0 abs_u16::return#1 bitmap_line::dy#0 ] zp[2]:31 [ rotate::$12 rotate::$5 sgn_u16::return#4 sgn_u16::return#0 sgn_u16::return#1 bitmap_line::sy#0 ] @@ -11814,7 +11779,7 @@ reg byte x [ bitmap_plot::$1 ] FINAL ASSEMBLER -Score: 670254 +Score: 668854 // File Comments // Show a few simple splines using the splines library @@ -12254,15 +12219,15 @@ bitmap_clear: { .const col = WHITE<<4 // memset(bitmap_screen, col, 1000uw) // [75] call memset - // [135] phi from bitmap_clear to memset [phi:bitmap_clear->memset] - // [135] phi (byte) memset::c#4 = (const byte) bitmap_clear::col#0 [phi:bitmap_clear->memset#0] -- vbuxx=vbuc1 + // [133] phi from bitmap_clear to memset [phi:bitmap_clear->memset] + // [133] phi (byte) memset::c#4 = (const byte) bitmap_clear::col#0 [phi:bitmap_clear->memset#0] -- vbuxx=vbuc1 ldx #col - // [135] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_SCREEN [phi:bitmap_clear->memset#1] -- pvoz1=pvoc1 + // [133] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_SCREEN [phi:bitmap_clear->memset#1] -- pvoz1=pvoc1 lda #BITMAP_SCREEN sta.z memset.str+1 - // [135] phi (word) memset::num#2 = (word) $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1 + // [133] phi (word) memset::num#2 = (word) $3e8 [phi:bitmap_clear->memset#2] -- vwuz1=vwuc1 lda #<$3e8 sta.z memset.num lda #>$3e8 @@ -12272,15 +12237,15 @@ bitmap_clear: { // bitmap_clear::@1 // memset(bitmap_gfx, 0, 8000uw) // [77] call memset - // [135] phi from bitmap_clear::@1 to memset [phi:bitmap_clear::@1->memset] - // [135] phi (byte) memset::c#4 = (byte) 0 [phi:bitmap_clear::@1->memset#0] -- vbuxx=vbuc1 + // [133] phi from bitmap_clear::@1 to memset [phi:bitmap_clear::@1->memset] + // [133] phi (byte) memset::c#4 = (byte) 0 [phi:bitmap_clear::@1->memset#0] -- vbuxx=vbuc1 ldx #0 - // [135] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_GRAPHICS [phi:bitmap_clear::@1->memset#1] -- pvoz1=pvoc1 + // [133] phi (void*) memset::str#3 = (void*)(const nomodify byte*) BITMAP_GRAPHICS [phi:bitmap_clear::@1->memset#1] -- pvoz1=pvoc1 lda #BITMAP_GRAPHICS sta.z memset.str+1 - // [135] phi (word) memset::num#2 = (word) $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1 + // [133] phi (word) memset::num#2 = (word) $1f40 [phi:bitmap_clear::@1->memset#2] -- vwuz1=vwuc1 lda #<$1f40 sta.z memset.num lda #>$1f40 @@ -12294,6 +12259,7 @@ bitmap_clear: { // show_letter // show_letter(byte zp(2) angle) show_letter: { + .label __17 = $18 .label angle = 2 .label to_x = 8 .label to_y = $a @@ -12310,7 +12276,6 @@ show_letter: { .label current_y = 6 .label current_x_1 = $19 .label current_y_1 = $1b - .label __21 = $18 // [80] phi from show_letter to show_letter::@1 [phi:show_letter->show_letter::@1] // [80] phi (signed word) show_letter::current_y#4 = (signed word) 0 [phi:show_letter->show_letter::@1#0] -- vwsz1=vwsc1 lda #<0 @@ -12324,25 +12289,25 @@ show_letter: { // show_letter::@1 __b1: // to = letter_c[i].to - // [81] (byte~) show_letter::$21 ← (byte) show_letter::i#10 << (byte) 3 -- vbuz1=vbuz2_rol_3 + // [81] (byte~) show_letter::$21 ← (byte) show_letter::i#10 << (byte) 3 -- vbuaa=vbuz1_rol_3 lda.z i asl asl asl - sta.z __21 - // [82] (byte~) show_letter::$16 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuxx=vbuz1_plus_vbuz2 + // [82] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuz1=vbuaa_plus_vbuz2 clc adc.z i - tax - // [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$16) -- vwsz1=pwsc1_derefidx_vbuxx - lda letter_c+OFFSET_STRUCT_SEGMENT_TO,x + sta.z __17 + // [83] (signed word) show_letter::to_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + tay + lda letter_c+OFFSET_STRUCT_SEGMENT_TO,y sta.z to_x - lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_TO+1,y sta.z to_x+1 - // [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$16) -- vwsz1=pwsc1_derefidx_vbuxx - lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,x + // [84] (signed word) show_letter::to_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_TO+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z to_y - lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_TO+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z to_y+1 // to = { to.x - 50, to.y - 150} // [85] (signed word) show_letter::to_x#1 ← (signed word) show_letter::to_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 @@ -12367,10 +12332,10 @@ show_letter: { // [89] (byte) rotate::angle#0 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 ldy.z angle // [90] call rotate - // [144] phi from show_letter::@1 to rotate [phi:show_letter::@1->rotate] - // [144] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#0 [phi:show_letter::@1->rotate#0] -- register_copy - // [144] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#0 [phi:show_letter::@1->rotate#1] -- register_copy - // [144] phi (byte) rotate::angle#2 = (byte) rotate::angle#0 [phi:show_letter::@1->rotate#2] -- register_copy + // [142] phi from show_letter::@1 to rotate [phi:show_letter::@1->rotate] + // [142] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#0 [phi:show_letter::@1->rotate#0] -- register_copy + // [142] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#0 [phi:show_letter::@1->rotate#1] -- register_copy + // [142] phi (byte) rotate::angle#2 = (byte) rotate::angle#0 [phi:show_letter::@1->rotate#2] -- register_copy jsr rotate // rotate(to, angle) // [91] (signed word) rotate::return_x#0 ← (signed word) rotate::return_x#2 @@ -12397,23 +12362,19 @@ show_letter: { adc #>$64 sta.z current_y_1+1 // via = letter_c[i].via - // [97] (byte~) show_letter::$17 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuxx=vbuz1_plus_vbuz2 - lda.z __21 - clc - adc.z i - tax - // [98] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuxx - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,x + // [97] (signed word) show_letter::via_x#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + ldy.z __17 + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA,y sta.z via_x - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+1,y sta.z via_x+1 - // [99] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuxx - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,x + // [98] (signed word) show_letter::via_y#0 ← *((signed word*)(struct SplineVector16*)(const struct Segment*) letter_c+(const byte) OFFSET_STRUCT_SEGMENT_VIA+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) show_letter::$17) -- vwsz1=pwsc1_derefidx_vbuz2 + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z via_y - lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x + lda letter_c+OFFSET_STRUCT_SEGMENT_VIA+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z via_y+1 // via = { via.x - 50, via.y - 150} - // [100] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 + // [99] (signed word) show_letter::via_x#1 ← (signed word) show_letter::via_x#0 - (signed byte) $32 -- vwsz1=vwsz1_minus_vbsc1 lda.z via_x sec sbc #$32 @@ -12421,7 +12382,7 @@ show_letter: { lda.z via_x+1 sbc #>$32 sta.z via_x+1 - // [101] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 -- vwsz1=vwsz1_minus_vwsc1 + // [100] (signed word) show_letter::via_y#1 ← (signed word) show_letter::via_y#0 - (signed word) $96 -- vwsz1=vwsz1_minus_vwsc1 lda.z via_y sec sbc #<$96 @@ -12430,25 +12391,25 @@ show_letter: { sbc #>$96 sta.z via_y+1 // rotate(via, angle) - // [102] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 - // [103] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 - // [104] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 + // [101] (signed word) rotate::vector_x#1 ← (signed word) show_letter::via_x#1 + // [102] (signed word) rotate::vector_y#1 ← (signed word) show_letter::via_y#1 + // [103] (byte) rotate::angle#1 ← (byte) show_letter::angle#0 -- vbuyy=vbuz1 ldy.z angle - // [105] call rotate - // [144] phi from show_letter::@6 to rotate [phi:show_letter::@6->rotate] - // [144] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#1 [phi:show_letter::@6->rotate#0] -- register_copy - // [144] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#1 [phi:show_letter::@6->rotate#1] -- register_copy - // [144] phi (byte) rotate::angle#2 = (byte) rotate::angle#1 [phi:show_letter::@6->rotate#2] -- register_copy + // [104] call rotate + // [142] phi from show_letter::@6 to rotate [phi:show_letter::@6->rotate] + // [142] phi (signed word) rotate::vector_y#2 = (signed word) rotate::vector_y#1 [phi:show_letter::@6->rotate#0] -- register_copy + // [142] phi (signed word) rotate::vector_x#2 = (signed word) rotate::vector_x#1 [phi:show_letter::@6->rotate#1] -- register_copy + // [142] phi (byte) rotate::angle#2 = (byte) rotate::angle#1 [phi:show_letter::@6->rotate#2] -- register_copy jsr rotate // rotate(via, angle) - // [106] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 - // [107] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 + // [105] (signed word) rotate::return_x#1 ← (signed word) rotate::return_x#2 + // [106] (signed word) rotate::return_y#1 ← (signed word) rotate::return_y#2 // show_letter::@7 // via = rotate(via, angle) - // [108] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 - // [109] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 + // [107] (signed word) show_letter::via_x#2 ← (signed word) rotate::return_x#1 + // [108] (signed word) show_letter::via_y#2 ← (signed word) rotate::return_y#1 // via = { via.x + 100, via.y + 100} - // [110] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 + // [109] (signed word) show_letter::segment_via_x#0 ← (signed word) show_letter::via_x#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 lda.z segment_via_x clc adc #<$64 @@ -12456,7 +12417,7 @@ show_letter: { lda.z segment_via_x+1 adc #>$64 sta.z segment_via_x+1 - // [111] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 + // [110] (signed word) show_letter::segment_via_y#0 ← (signed word) show_letter::via_y#2 + (signed byte) $64 -- vwsz1=vwsz1_plus_vbsc1 lda.z segment_via_y clc adc #<$64 @@ -12465,64 +12426,60 @@ show_letter: { adc #>$64 sta.z segment_via_y+1 // segment = { letter_c[i].type, to, via} - // [112] (byte~) show_letter::$18 ← (byte~) show_letter::$21 + (byte) show_letter::i#10 -- vbuaa=vbuz1_plus_vbuz2 - lda.z __21 - clc - adc.z i - // [113] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$18) -- vbuaa=pbuc1_derefidx_vbuaa - tay + // [111] (byte) show_letter::segment_type#0 ← *((byte*)(const struct Segment*) letter_c + (byte~) show_letter::$17) -- vbuaa=pbuc1_derefidx_vbuz1 + ldy.z __17 lda letter_c,y // if(segment.type==MOVE_TO) - // [114] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 -- vbuaa_eq_vbuc1_then_la1 + // [112] if((byte) show_letter::segment_type#0==(const byte) MOVE_TO) goto show_letter::@3 -- vbuaa_eq_vbuc1_then_la1 cmp #MOVE_TO beq __b3 // show_letter::@4 // if(segment.type==SPLINE_TO) - // [115] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 -- vbuaa_eq_vbuc1_then_la1 + // [113] if((byte) show_letter::segment_type#0==(const byte) SPLINE_TO) goto show_letter::@2 -- vbuaa_eq_vbuc1_then_la1 cmp #SPLINE_TO beq __b2 // show_letter::@5 // bitmap_line((unsigned int)current.x, (unsigned int)current.y, (unsigned int)segment.to.x, (unsigned int)segment.to.y) - // [116] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 - // [117] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 - // [118] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 -- vwuz1=vwuz2 + // [114] (word) bitmap_line::x1#0 ← (word)(signed word) show_letter::current_x#4 + // [115] (word) bitmap_line::y1#0 ← (word)(signed word) show_letter::current_y#4 + // [116] (word) bitmap_line::x2#0 ← (word)(signed word) show_letter::current_x#10 -- vwuz1=vwuz2 lda.z current_x_1 sta.z bitmap_line.x2 lda.z current_x_1+1 sta.z bitmap_line.x2+1 - // [119] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 -- vwuz1=vwuz2 + // [117] (word) bitmap_line::y2#0 ← (word)(signed word) show_letter::current_y#10 -- vwuz1=vwuz2 lda.z current_y_1 sta.z bitmap_line.y2 lda.z current_y_1+1 sta.z bitmap_line.y2+1 - // [120] call bitmap_line - // [182] phi from show_letter::@5 to bitmap_line [phi:show_letter::@5->bitmap_line] - // [182] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#0 [phi:show_letter::@5->bitmap_line#0] -- register_copy - // [182] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#0 [phi:show_letter::@5->bitmap_line#1] -- register_copy - // [182] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#0 [phi:show_letter::@5->bitmap_line#2] -- register_copy - // [182] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#0 [phi:show_letter::@5->bitmap_line#3] -- register_copy + // [118] call bitmap_line + // [180] phi from show_letter::@5 to bitmap_line [phi:show_letter::@5->bitmap_line] + // [180] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#0 [phi:show_letter::@5->bitmap_line#0] -- register_copy + // [180] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#0 [phi:show_letter::@5->bitmap_line#1] -- register_copy + // [180] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#0 [phi:show_letter::@5->bitmap_line#2] -- register_copy + // [180] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#0 [phi:show_letter::@5->bitmap_line#3] -- register_copy jsr bitmap_line // show_letter::@3 __b3: // for( byte i: 0..21) - // [121] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 -- vbuz1=_inc_vbuz1 + // [119] (byte) show_letter::i#1 ← ++ (byte) show_letter::i#10 -- vbuz1=_inc_vbuz1 inc.z i - // [122] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 -- vbuz1_neq_vbuc1_then_la1 + // [120] if((byte) show_letter::i#1!=(byte) $16) goto show_letter::@9 -- vbuz1_neq_vbuc1_then_la1 lda #$16 cmp.z i bne __b9 // show_letter::@return // } - // [123] return + // [121] return rts // show_letter::@9 __b9: - // [124] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 + // [122] (signed word) show_letter::current_x#11 ← (signed word) show_letter::current_x#10 -- vwsz1=vwsz2 lda.z current_x_1 sta.z current_x lda.z current_x_1+1 sta.z current_x+1 - // [125] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 + // [123] (signed word) show_letter::current_y#11 ← (signed word) show_letter::current_y#10 -- vwsz1=vwsz2 lda.z current_y_1 sta.z current_y lda.z current_y_1+1 @@ -12535,18 +12492,18 @@ show_letter: { // show_letter::@2 __b2: // spline_8segB(current, segment.via, segment.to) - // [126] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 - // [127] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 - // [128] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 - // [129] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 - // [130] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 - // [131] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 - // [132] call spline_8segB + // [124] (signed word) spline_8segB::p0_x#0 ← (signed word) show_letter::current_x#4 + // [125] (signed word) spline_8segB::p0_y#0 ← (signed word) show_letter::current_y#4 + // [126] (signed word) spline_8segB::p1_x#0 ← (signed word) show_letter::segment_via_x#0 + // [127] (signed word) spline_8segB::p1_y#0 ← (signed word) show_letter::segment_via_y#0 + // [128] (signed word) spline_8segB::p2_x#0 ← (signed word) show_letter::current_x#10 + // [129] (signed word) spline_8segB::p2_y#0 ← (signed word) show_letter::current_y#10 + // [130] call spline_8segB jsr spline_8segB - // [133] phi from show_letter::@2 to show_letter::@8 [phi:show_letter::@2->show_letter::@8] + // [131] phi from show_letter::@2 to show_letter::@8 [phi:show_letter::@2->show_letter::@8] // show_letter::@8 // bitmap_plot_spline_8seg() - // [134] call bitmap_plot_spline_8seg + // [132] call bitmap_plot_spline_8seg jsr bitmap_plot_spline_8seg jmp __b3 } @@ -12559,7 +12516,7 @@ memset: { .label num = $a .label str = $c // if(num>0) - // [136] if((word) memset::num#2<=(byte) 0) goto memset::@return -- vwuz1_le_0_then_la1 + // [134] if((word) memset::num#2<=(byte) 0) goto memset::@return -- vwuz1_le_0_then_la1 lda.z num bne !+ lda.z num+1 @@ -12567,7 +12524,7 @@ memset: { !: // memset::@1 // end = (char*)str + num - // [137] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 -- pbuz1=pbuz2_plus_vwuz1 + // [135] (byte*) memset::end#0 ← (byte*)(void*) memset::str#3 + (word) memset::num#2 -- pbuz1=pbuz2_plus_vwuz1 lda.z end clc adc.z str @@ -12575,13 +12532,13 @@ memset: { lda.z end+1 adc.z str+1 sta.z end+1 - // [138] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 - // [139] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] - // [139] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy + // [136] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#3 + // [137] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2] + // [137] phi (byte*) memset::dst#2 = (byte*) memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy // memset::@2 __b2: // for(char* dst = str; dst!=end; dst++) - // [140] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 + // [138] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 lda.z dst+1 cmp.z end+1 bne __b3 @@ -12591,17 +12548,17 @@ memset: { // memset::@return __breturn: // } - // [141] return + // [139] return rts // memset::@3 __b3: // *dst = c - // [142] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuxx + // [140] *((byte*) memset::dst#2) ← (byte) memset::c#4 -- _deref_pbuz1=vbuxx txa ldy #0 sta (dst),y // for(char* dst = str; dst!=end; dst++) - // [143] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [141] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 @@ -12631,7 +12588,7 @@ rotate: { .label yr = $2c .label sin_a = $10 // cos_a = (signed int) COS[angle] - // [145] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy + // [143] (signed word) rotate::cos_a#0 ← (signed word)*((const signed byte*) COS + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy lda COS,y sta.z cos_a ora #$7f @@ -12640,59 +12597,59 @@ rotate: { !: sta.z cos_a+1 // mulf16s(cos_a, vector.x) - // [146] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 - // [147] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 + // [144] (signed word) mulf16s::a#0 ← (signed word) rotate::cos_a#0 + // [145] (signed word) mulf16s::b#0 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 lda.z vector_x sta.z mulf16s.b lda.z vector_x+1 sta.z mulf16s.b+1 - // [148] call mulf16s - // [287] phi from rotate to mulf16s [phi:rotate->mulf16s] - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#0 [phi:rotate->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#0 [phi:rotate->mulf16s#1] -- register_copy + // [146] call mulf16s + // [285] phi from rotate to mulf16s [phi:rotate->mulf16s] + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#0 [phi:rotate->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#0 [phi:rotate->mulf16s#1] -- register_copy jsr mulf16s // mulf16s(cos_a, vector.x) - // [149] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 + // [147] (signed dword) mulf16s::return#2 ← (signed dword) mulf16s::return#0 // rotate::@1 - // [150] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 + // [148] (signed dword~) rotate::$0 ← (signed dword) mulf16s::return#2 // (signed int )mulf16s(cos_a, vector.x)*2 - // [151] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 -- vwsz1=_sword_vdsz2 + // [149] (signed word~) rotate::$10 ← (signed word)(signed dword~) rotate::$0 -- vwsz1=_sword_vdsz2 lda.z __0 sta.z __10 lda.z __0+1 sta.z __10+1 // xr = (signed int )mulf16s(cos_a, vector.x)*2 - // [152] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [150] (signed word) rotate::xr#0 ← (signed word~) rotate::$10 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z xr rol.z xr+1 // mulf16s(cos_a, vector.y) - // [153] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 - // [154] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 + // [151] (signed word) mulf16s::a#1 ← (signed word) rotate::cos_a#0 + // [152] (signed word) mulf16s::b#1 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 lda.z vector_y sta.z mulf16s.b lda.z vector_y+1 sta.z mulf16s.b+1 - // [155] call mulf16s - // [287] phi from rotate::@1 to mulf16s [phi:rotate::@1->mulf16s] - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#1 [phi:rotate::@1->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#1 [phi:rotate::@1->mulf16s#1] -- register_copy + // [153] call mulf16s + // [285] phi from rotate::@1 to mulf16s [phi:rotate::@1->mulf16s] + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#1 [phi:rotate::@1->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#1 [phi:rotate::@1->mulf16s#1] -- register_copy jsr mulf16s // mulf16s(cos_a, vector.y) - // [156] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 + // [154] (signed dword) mulf16s::return#3 ← (signed dword) mulf16s::return#0 // rotate::@2 - // [157] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 + // [155] (signed dword~) rotate::$2 ← (signed dword) mulf16s::return#3 // (signed int )mulf16s(cos_a, vector.y)*2 - // [158] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 -- vwsz1=_sword_vdsz2 + // [156] (signed word~) rotate::$11 ← (signed word)(signed dword~) rotate::$2 -- vwsz1=_sword_vdsz2 lda.z __2 sta.z __11 lda.z __2+1 sta.z __11+1 // yr = (signed int )mulf16s(cos_a, vector.y)*2 - // [159] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [157] (signed word) rotate::yr#0 ← (signed word~) rotate::$11 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z yr rol.z yr+1 // sin_a = (signed int) SIN[angle] - // [160] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy + // [158] (signed word) rotate::sin_a#0 ← (signed word)*((const signed byte*) SIN + (byte) rotate::angle#2) -- vwsz1=_sword_pbsc1_derefidx_vbuyy // signed fixed[8.8] lda SIN,y sta.z sin_a @@ -12702,32 +12659,32 @@ rotate: { !: sta.z sin_a+1 // mulf16s(sin_a, vector.y) - // [161] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 - // [162] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 + // [159] (signed word) mulf16s::a#2 ← (signed word) rotate::sin_a#0 + // [160] (signed word) mulf16s::b#2 ← (signed word) rotate::vector_y#2 -- vwsz1=vwsz2 lda.z vector_y sta.z mulf16s.b lda.z vector_y+1 sta.z mulf16s.b+1 - // [163] call mulf16s - // [287] phi from rotate::@2 to mulf16s [phi:rotate::@2->mulf16s] - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#2 [phi:rotate::@2->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#2 [phi:rotate::@2->mulf16s#1] -- register_copy + // [161] call mulf16s + // [285] phi from rotate::@2 to mulf16s [phi:rotate::@2->mulf16s] + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#2 [phi:rotate::@2->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#2 [phi:rotate::@2->mulf16s#1] -- register_copy jsr mulf16s // mulf16s(sin_a, vector.y) - // [164] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 + // [162] (signed dword) mulf16s::return#4 ← (signed dword) mulf16s::return#0 // rotate::@3 - // [165] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 + // [163] (signed dword~) rotate::$4 ← (signed dword) mulf16s::return#4 // (signed int)mulf16s(sin_a, vector.y)*2 - // [166] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 -- vwsz1=_sword_vdsz2 + // [164] (signed word~) rotate::$12 ← (signed word)(signed dword~) rotate::$4 -- vwsz1=_sword_vdsz2 lda.z __4 sta.z __12 lda.z __4+1 sta.z __12+1 - // [167] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [165] (signed word~) rotate::$5 ← (signed word~) rotate::$12 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z __5 rol.z __5+1 // xr -= (signed int)mulf16s(sin_a, vector.y)*2 - // [168] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 -- vwsz1=vwsz1_minus_vwsz2 + // [166] (signed word) rotate::xr#1 ← (signed word) rotate::xr#0 - (signed word~) rotate::$5 -- vwsz1=vwsz1_minus_vwsz2 // signed fixed[0.7] lda.z xr sec @@ -12737,32 +12694,32 @@ rotate: { sbc.z __5+1 sta.z xr+1 // mulf16s(sin_a, vector.x) - // [169] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 - // [170] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 + // [167] (signed word) mulf16s::a#3 ← (signed word) rotate::sin_a#0 + // [168] (signed word) mulf16s::b#3 ← (signed word) rotate::vector_x#2 -- vwsz1=vwsz2 lda.z vector_x sta.z mulf16s.b lda.z vector_x+1 sta.z mulf16s.b+1 - // [171] call mulf16s - // [287] phi from rotate::@3 to mulf16s [phi:rotate::@3->mulf16s] - // [287] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#3 [phi:rotate::@3->mulf16s#0] -- register_copy - // [287] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#3 [phi:rotate::@3->mulf16s#1] -- register_copy + // [169] call mulf16s + // [285] phi from rotate::@3 to mulf16s [phi:rotate::@3->mulf16s] + // [285] phi (signed word) mulf16s::b#4 = (signed word) mulf16s::b#3 [phi:rotate::@3->mulf16s#0] -- register_copy + // [285] phi (signed word) mulf16s::a#4 = (signed word) mulf16s::a#3 [phi:rotate::@3->mulf16s#1] -- register_copy jsr mulf16s // mulf16s(sin_a, vector.x) - // [172] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 + // [170] (signed dword) mulf16s::return#10 ← (signed dword) mulf16s::return#0 // rotate::@4 - // [173] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 + // [171] (signed dword~) rotate::$6 ← (signed dword) mulf16s::return#10 // (signed int)mulf16s(sin_a, vector.x)*2 - // [174] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 -- vwsz1=_sword_vdsz2 + // [172] (signed word~) rotate::$13 ← (signed word)(signed dword~) rotate::$6 -- vwsz1=_sword_vdsz2 lda.z __6 sta.z __13 lda.z __6+1 sta.z __13+1 - // [175] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [173] (signed word~) rotate::$7 ← (signed word~) rotate::$13 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z __7 rol.z __7+1 // yr += (signed int)mulf16s(sin_a, vector.x)*2 - // [176] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 -- vwsz1=vwsz1_plus_vwsz2 + // [174] (signed word) rotate::yr#1 ← (signed word) rotate::yr#0 + (signed word~) rotate::$7 -- vwsz1=vwsz1_plus_vwsz2 // signed fixed[8.8] lda.z yr clc @@ -12772,20 +12729,20 @@ rotate: { adc.z __7+1 sta.z yr+1 // >xr - // [177] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 -- vbuaa=_hi_vwsz1 + // [175] (byte~) rotate::$8 ← > (signed word) rotate::xr#1 -- vbuaa=_hi_vwsz1 lda.z xr+1 // >yr - // [178] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 -- vbuxx=_hi_vwsz1 + // [176] (byte~) rotate::$9 ← > (signed word) rotate::yr#1 -- vbuxx=_hi_vwsz1 ldx.z yr+1 // rotated = { (signed int)(signed char)>xr, (signed int)(signed char)>yr } - // [179] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 -- vwsz1=_sword_vbsaa + // [177] (signed word) rotate::return_x#2 ← (signed word)(signed byte)(byte~) rotate::$8 -- vwsz1=_sword_vbsaa sta.z return_x ora #$7f bmi !+ lda #0 !: sta.z return_x+1 - // [180] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 -- vwsz1=_sword_vbsxx + // [178] (signed word) rotate::return_y#2 ← (signed word)(signed byte)(byte~) rotate::$9 -- vwsz1=_sword_vbsxx txa sta.z return_y ora #$7f @@ -12795,7 +12752,7 @@ rotate: { sta.z return_y+1 // rotate::@return // } - // [181] return + // [179] return rts } // bitmap_line @@ -12815,7 +12772,7 @@ bitmap_line: { .label x2 = $c .label y2 = $e // abs_u16(x2-x1) - // [183] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 + // [181] (word) abs_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z x2 sec sbc.z x @@ -12823,21 +12780,21 @@ bitmap_line: { lda.z x2+1 sbc.z x+1 sta.z abs_u16.w+1 - // [184] call abs_u16 - // [305] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16] - // [305] phi (word) abs_u16::w#2 = (word) abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy + // [182] call abs_u16 + // [303] phi from bitmap_line to abs_u16 [phi:bitmap_line->abs_u16] + // [303] phi (word) abs_u16::w#2 = (word) abs_u16::w#0 [phi:bitmap_line->abs_u16#0] -- register_copy jsr abs_u16 // abs_u16(x2-x1) - // [185] (word) abs_u16::return#0 ← (word) abs_u16::return#4 + // [183] (word) abs_u16::return#0 ← (word) abs_u16::return#4 // bitmap_line::@12 // dx = abs_u16(x2-x1) - // [186] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 -- vwuz1=vwuz2 + // [184] (word) bitmap_line::dx#0 ← (word) abs_u16::return#0 -- vwuz1=vwuz2 lda.z abs_u16.return sta.z dx lda.z abs_u16.return+1 sta.z dx+1 // abs_u16(y2-y1) - // [187] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 + // [185] (word) abs_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z y2 sec sbc.z y @@ -12845,23 +12802,23 @@ bitmap_line: { lda.z y2+1 sbc.z y+1 sta.z abs_u16.w+1 - // [188] call abs_u16 - // [305] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16] - // [305] phi (word) abs_u16::w#2 = (word) abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy + // [186] call abs_u16 + // [303] phi from bitmap_line::@12 to abs_u16 [phi:bitmap_line::@12->abs_u16] + // [303] phi (word) abs_u16::w#2 = (word) abs_u16::w#1 [phi:bitmap_line::@12->abs_u16#0] -- register_copy jsr abs_u16 // abs_u16(y2-y1) - // [189] (word) abs_u16::return#1 ← (word) abs_u16::return#4 + // [187] (word) abs_u16::return#1 ← (word) abs_u16::return#4 // bitmap_line::@13 // dy = abs_u16(y2-y1) - // [190] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 + // [188] (word) bitmap_line::dy#0 ← (word) abs_u16::return#1 // if(dx==0 && dy==0) - // [191] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 -- vwuz1_neq_0_then_la1 + // [189] if((word) bitmap_line::dx#0!=(byte) 0) goto bitmap_line::@1 -- vwuz1_neq_0_then_la1 lda.z dx bne __b1 lda.z dx+1 bne __b1 // bitmap_line::@18 - // [192] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 -- vwuz1_eq_0_then_la1 + // [190] if((word) bitmap_line::dy#0==(byte) 0) goto bitmap_line::@4 -- vwuz1_eq_0_then_la1 lda.z dy bne !+ lda.z dy+1 @@ -12872,7 +12829,7 @@ bitmap_line: { // bitmap_line::@1 __b1: // sgn_u16(x2-x1) - // [193] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 + // [191] (word) sgn_u16::w#0 ← (word) bitmap_line::x2#10 - (word) bitmap_line::x#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z x2 sec sbc.z x @@ -12880,21 +12837,21 @@ bitmap_line: { lda.z x2+1 sbc.z x+1 sta.z sgn_u16.w+1 - // [194] call sgn_u16 - // [312] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16] - // [312] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy + // [192] call sgn_u16 + // [310] phi from bitmap_line::@1 to sgn_u16 [phi:bitmap_line::@1->sgn_u16] + // [310] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#0 [phi:bitmap_line::@1->sgn_u16#0] -- register_copy jsr sgn_u16 // sgn_u16(x2-x1) - // [195] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 + // [193] (word) sgn_u16::return#0 ← (word) sgn_u16::return#4 // bitmap_line::@14 // sx = sgn_u16(x2-x1) - // [196] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 -- vwuz1=vwuz2 + // [194] (word) bitmap_line::sx#0 ← (word) sgn_u16::return#0 -- vwuz1=vwuz2 lda.z sgn_u16.return sta.z sx lda.z sgn_u16.return+1 sta.z sx+1 // sgn_u16(y2-y1) - // [197] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 + // [195] (word) sgn_u16::w#1 ← (word) bitmap_line::y2#11 - (word) bitmap_line::y#0 -- vwuz1=vwuz2_minus_vwuz3 lda.z y2 sec sbc.z y @@ -12902,17 +12859,17 @@ bitmap_line: { lda.z y2+1 sbc.z y+1 sta.z sgn_u16.w+1 - // [198] call sgn_u16 - // [312] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16] - // [312] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy + // [196] call sgn_u16 + // [310] phi from bitmap_line::@14 to sgn_u16 [phi:bitmap_line::@14->sgn_u16] + // [310] phi (word) sgn_u16::w#2 = (word) sgn_u16::w#1 [phi:bitmap_line::@14->sgn_u16#0] -- register_copy jsr sgn_u16 // sgn_u16(y2-y1) - // [199] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 + // [197] (word) sgn_u16::return#1 ← (word) sgn_u16::return#4 // bitmap_line::@15 // sy = sgn_u16(y2-y1) - // [200] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 + // [198] (word) bitmap_line::sy#0 ← (word) sgn_u16::return#1 // if(dx > dy) - // [201] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 -- vwuz1_gt_vwuz2_then_la1 + // [199] if((word) bitmap_line::dx#0>(word) bitmap_line::dy#0) goto bitmap_line::@2 -- vwuz1_gt_vwuz2_then_la1 lda.z dy+1 cmp.z dx+1 bcc __b2 @@ -12923,31 +12880,31 @@ bitmap_line: { !: // bitmap_line::@5 // e = dx/2 - // [202] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 + // [200] (word) bitmap_line::e#0 ← (word) bitmap_line::dx#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 lda.z dx+1 lsr sta.z e+1 lda.z dx ror sta.z e - // [203] phi from bitmap_line::@5 bitmap_line::@7 to bitmap_line::@6 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6] - // [203] phi (word) bitmap_line::e#3 = (word) bitmap_line::e#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#0] -- register_copy - // [203] phi (word) bitmap_line::y#4 = (word) bitmap_line::y#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#1] -- register_copy - // [203] phi (word) bitmap_line::x#13 = (word) bitmap_line::x#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#2] -- register_copy + // [201] phi from bitmap_line::@5 bitmap_line::@7 to bitmap_line::@6 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6] + // [201] phi (word) bitmap_line::e#3 = (word) bitmap_line::e#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#0] -- register_copy + // [201] phi (word) bitmap_line::y#4 = (word) bitmap_line::y#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#1] -- register_copy + // [201] phi (word) bitmap_line::x#13 = (word) bitmap_line::x#0 [phi:bitmap_line::@5/bitmap_line::@7->bitmap_line::@6#2] -- register_copy // bitmap_line::@6 __b6: // bitmap_plot(x,(char)y) - // [204] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 - // [205] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 -- vbuaa=_byte_vwuz1 + // [202] (word) bitmap_plot::x#1 ← (word) bitmap_line::x#13 + // [203] (byte) bitmap_plot::y#1 ← (byte)(word) bitmap_line::y#4 -- vbuaa=_byte_vwuz1 lda.z y - // [206] call bitmap_plot - // [319] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot] - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy + // [204] call bitmap_plot + // [317] phi from bitmap_line::@6 to bitmap_plot [phi:bitmap_line::@6->bitmap_plot] + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#1 [phi:bitmap_line::@6->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#1 [phi:bitmap_line::@6->bitmap_plot#1] -- register_copy jsr bitmap_plot // bitmap_line::@16 // y += sy - // [207] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 + // [205] (word) bitmap_line::y#1 ← (word) bitmap_line::y#4 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z y clc adc.z sy @@ -12956,7 +12913,7 @@ bitmap_line: { adc.z sy+1 sta.z y+1 // e += dx - // [208] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 -- vwuz1=vwuz1_plus_vwuz2 + // [206] (word) bitmap_line::e#1 ← (word) bitmap_line::e#3 + (word) bitmap_line::dx#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z e clc adc.z dx @@ -12965,7 +12922,7 @@ bitmap_line: { adc.z dx+1 sta.z e+1 // if(dy=(word) bitmap_line::e#1) goto bitmap_line::@7 -- vwuz1_ge_vwuz2_then_la1 + // [207] if((word) bitmap_line::dy#0>=(word) bitmap_line::e#1) goto bitmap_line::@7 -- vwuz1_ge_vwuz2_then_la1 cmp.z dy+1 bne !+ lda.z e @@ -12975,7 +12932,7 @@ bitmap_line: { bcc __b7 // bitmap_line::@8 // x += sx - // [210] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 + // [208] (word) bitmap_line::x#1 ← (word) bitmap_line::x#13 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z x clc adc.z sx @@ -12984,7 +12941,7 @@ bitmap_line: { adc.z sx+1 sta.z x+1 // e -= dy - // [211] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 -- vwuz1=vwuz1_minus_vwuz2 + // [209] (word) bitmap_line::e#2 ← (word) bitmap_line::e#1 - (word) bitmap_line::dy#0 -- vwuz1=vwuz1_minus_vwuz2 lda.z e sec sbc.z dy @@ -12992,65 +12949,65 @@ bitmap_line: { lda.z e+1 sbc.z dy+1 sta.z e+1 - // [212] phi from bitmap_line::@16 bitmap_line::@8 to bitmap_line::@7 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7] - // [212] phi (word) bitmap_line::e#6 = (word) bitmap_line::e#1 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#0] -- register_copy - // [212] phi (word) bitmap_line::x#12 = (word) bitmap_line::x#13 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#1] -- register_copy + // [210] phi from bitmap_line::@16 bitmap_line::@8 to bitmap_line::@7 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7] + // [210] phi (word) bitmap_line::e#6 = (word) bitmap_line::e#1 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#0] -- register_copy + // [210] phi (word) bitmap_line::x#12 = (word) bitmap_line::x#13 [phi:bitmap_line::@16/bitmap_line::@8->bitmap_line::@7#1] -- register_copy // bitmap_line::@7 __b7: // while (y != y2) - // [213] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 -- vwuz1_neq_vwuz2_then_la1 + // [211] if((word) bitmap_line::y#1!=(word) bitmap_line::y2#11) goto bitmap_line::@6 -- vwuz1_neq_vwuz2_then_la1 lda.z y+1 cmp.z y2+1 bne __b6 lda.z y cmp.z y2 bne __b6 - // [214] phi from bitmap_line::@10 bitmap_line::@7 to bitmap_line::@3 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3] - // [214] phi (word) bitmap_line::y#7 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#0] -- register_copy - // [214] phi (word) bitmap_line::x#6 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#1] -- register_copy + // [212] phi from bitmap_line::@10 bitmap_line::@7 to bitmap_line::@3 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3] + // [212] phi (word) bitmap_line::y#7 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#0] -- register_copy + // [212] phi (word) bitmap_line::x#6 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@7->bitmap_line::@3#1] -- register_copy // bitmap_line::@3 __b3: // bitmap_plot(x,(char)y) - // [215] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 - // [216] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 -- vbuaa=_byte_vwuz1 + // [213] (word) bitmap_plot::x#2 ← (word) bitmap_line::x#6 + // [214] (byte) bitmap_plot::y#2 ← (byte)(word) bitmap_line::y#7 -- vbuaa=_byte_vwuz1 lda.z y - // [217] call bitmap_plot - // [319] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot] - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy + // [215] call bitmap_plot + // [317] phi from bitmap_line::@3 to bitmap_plot [phi:bitmap_line::@3->bitmap_plot] + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#2 [phi:bitmap_line::@3->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#2 [phi:bitmap_line::@3->bitmap_plot#1] -- register_copy jsr bitmap_plot // bitmap_line::@return // } - // [218] return + // [216] return rts // bitmap_line::@2 __b2: // e = dy/2 - // [219] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 + // [217] (word) bitmap_line::e1#0 ← (word) bitmap_line::dy#0 >> (byte) 1 -- vwuz1=vwuz2_ror_1 lda.z dy+1 lsr sta.z e1+1 lda.z dy ror sta.z e1 - // [220] phi from bitmap_line::@10 bitmap_line::@2 to bitmap_line::@9 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9] - // [220] phi (word) bitmap_line::e1#3 = (word) bitmap_line::e1#6 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#0] -- register_copy - // [220] phi (word) bitmap_line::y#15 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#1] -- register_copy - // [220] phi (word) bitmap_line::x#7 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#2] -- register_copy + // [218] phi from bitmap_line::@10 bitmap_line::@2 to bitmap_line::@9 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9] + // [218] phi (word) bitmap_line::e1#3 = (word) bitmap_line::e1#6 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#0] -- register_copy + // [218] phi (word) bitmap_line::y#15 = (word) bitmap_line::y#13 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#1] -- register_copy + // [218] phi (word) bitmap_line::x#7 = (word) bitmap_line::x#15 [phi:bitmap_line::@10/bitmap_line::@2->bitmap_line::@9#2] -- register_copy // bitmap_line::@9 __b9: // bitmap_plot(x,(char)y) - // [221] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 - // [222] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 -- vbuaa=_byte_vwuz1 + // [219] (word) bitmap_plot::x#3 ← (word) bitmap_line::x#7 + // [220] (byte) bitmap_plot::y#3 ← (byte)(word) bitmap_line::y#15 -- vbuaa=_byte_vwuz1 lda.z y - // [223] call bitmap_plot - // [319] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot] - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy + // [221] call bitmap_plot + // [317] phi from bitmap_line::@9 to bitmap_plot [phi:bitmap_line::@9->bitmap_plot] + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#3 [phi:bitmap_line::@9->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#3 [phi:bitmap_line::@9->bitmap_plot#1] -- register_copy jsr bitmap_plot // bitmap_line::@17 // x += sx - // [224] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 + // [222] (word) bitmap_line::x#15 ← (word) bitmap_line::x#7 + (word) bitmap_line::sx#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z x clc adc.z sx @@ -13059,7 +13016,7 @@ bitmap_line: { adc.z sx+1 sta.z x+1 // e += dy - // [225] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 -- vwuz1=vwuz1_plus_vwuz2 + // [223] (word) bitmap_line::e1#1 ← (word) bitmap_line::e1#3 + (word) bitmap_line::dy#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z e1 clc adc.z dy @@ -13068,7 +13025,7 @@ bitmap_line: { adc.z dy+1 sta.z e1+1 // if(dx < e) - // [226] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 -- vwuz1_ge_vwuz2_then_la1 + // [224] if((word) bitmap_line::dx#0>=(word) bitmap_line::e1#1) goto bitmap_line::@10 -- vwuz1_ge_vwuz2_then_la1 cmp.z dx+1 bne !+ lda.z e1 @@ -13078,7 +13035,7 @@ bitmap_line: { bcc __b10 // bitmap_line::@11 // y += sy - // [227] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 + // [225] (word) bitmap_line::y#2 ← (word) bitmap_line::y#15 + (word) bitmap_line::sy#0 -- vwuz1=vwuz1_plus_vwuz2 lda.z y clc adc.z sy @@ -13087,7 +13044,7 @@ bitmap_line: { adc.z sy+1 sta.z y+1 // e -= dx - // [228] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 -- vwuz1=vwuz1_minus_vwuz2 + // [226] (word) bitmap_line::e1#2 ← (word) bitmap_line::e1#1 - (word) bitmap_line::dx#0 -- vwuz1=vwuz1_minus_vwuz2 lda.z e1 sec sbc.z dx @@ -13095,13 +13052,13 @@ bitmap_line: { lda.z e1+1 sbc.z dx+1 sta.z e1+1 - // [229] phi from bitmap_line::@11 bitmap_line::@17 to bitmap_line::@10 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10] - // [229] phi (word) bitmap_line::e1#6 = (word) bitmap_line::e1#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#0] -- register_copy - // [229] phi (word) bitmap_line::y#13 = (word) bitmap_line::y#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#1] -- register_copy + // [227] phi from bitmap_line::@11 bitmap_line::@17 to bitmap_line::@10 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10] + // [227] phi (word) bitmap_line::e1#6 = (word) bitmap_line::e1#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#0] -- register_copy + // [227] phi (word) bitmap_line::y#13 = (word) bitmap_line::y#2 [phi:bitmap_line::@11/bitmap_line::@17->bitmap_line::@10#1] -- register_copy // bitmap_line::@10 __b10: // while (x != x2) - // [230] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 -- vwuz1_neq_vwuz2_then_la1 + // [228] if((word) bitmap_line::x#15!=(word) bitmap_line::x2#10) goto bitmap_line::@9 -- vwuz1_neq_vwuz2_then_la1 lda.z x+1 cmp.z x2+1 bne __b9 @@ -13112,13 +13069,13 @@ bitmap_line: { // bitmap_line::@4 __b4: // bitmap_plot(x,(char)y) - // [231] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 - // [232] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 -- vbuaa=_byte_vwuz1 + // [229] (word) bitmap_plot::x#0 ← (word) bitmap_line::x#0 + // [230] (byte) bitmap_plot::y#0 ← (byte)(word) bitmap_line::y#0 -- vbuaa=_byte_vwuz1 lda.z y - // [233] call bitmap_plot - // [319] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot] - // [319] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy - // [319] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy + // [231] call bitmap_plot + // [317] phi from bitmap_line::@4 to bitmap_plot [phi:bitmap_line::@4->bitmap_plot] + // [317] phi (word) bitmap_plot::x#4 = (word) bitmap_plot::x#0 [phi:bitmap_line::@4->bitmap_plot#0] -- register_copy + // [317] phi (byte) bitmap_plot::y#4 = (byte) bitmap_plot::y#0 [phi:bitmap_line::@4->bitmap_plot#1] -- register_copy jsr bitmap_plot rts } @@ -13163,7 +13120,7 @@ spline_8segB: { .label p2_x = $19 .label p2_y = $1b // p1.x*2 - // [234] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [232] (signed word~) spline_8segB::$0 ← (signed word) spline_8segB::p1_x#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z p1_x asl sta.z __0 @@ -13171,7 +13128,7 @@ spline_8segB: { rol sta.z __0+1 // p2.x - p1.x*2 - // [235] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 -- vwsz1=vwsz2_minus_vwsz1 + // [233] (signed word~) spline_8segB::$1 ← (signed word) spline_8segB::p2_x#0 - (signed word~) spline_8segB::$0 -- vwsz1=vwsz2_minus_vwsz1 lda.z p2_x sec sbc.z __1 @@ -13180,7 +13137,7 @@ spline_8segB: { sbc.z __1+1 sta.z __1+1 // a = { p2.x - p1.x*2 + p0.x, p2.y - p1.y*2 + p0.y} - // [236] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_plus_vwsz2 + // [234] (signed word) spline_8segB::a_x#0 ← (signed word~) spline_8segB::$1 + (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z a_x clc adc.z p0_x @@ -13189,7 +13146,7 @@ spline_8segB: { adc.z p0_x+1 sta.z a_x+1 // p1.y*2 - // [237] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 + // [235] (signed word~) spline_8segB::$3 ← (signed word) spline_8segB::p1_y#0 << (byte) 1 -- vwsz1=vwsz2_rol_1 lda.z p1_y asl sta.z __3 @@ -13197,7 +13154,7 @@ spline_8segB: { rol sta.z __3+1 // p2.y - p1.y*2 - // [238] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 -- vwsz1=vwsz2_minus_vwsz1 + // [236] (signed word~) spline_8segB::$4 ← (signed word) spline_8segB::p2_y#0 - (signed word~) spline_8segB::$3 -- vwsz1=vwsz2_minus_vwsz1 lda.z p2_y sec sbc.z __4 @@ -13206,7 +13163,7 @@ spline_8segB: { sbc.z __4+1 sta.z __4+1 // a = { p2.x - p1.x*2 + p0.x, p2.y - p1.y*2 + p0.y} - // [239] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_plus_vwsz2 + // [237] (signed word) spline_8segB::a_y#0 ← (signed word~) spline_8segB::$4 + (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z a_y clc adc.z p0_y @@ -13215,7 +13172,7 @@ spline_8segB: { adc.z p0_y+1 sta.z a_y+1 // p1.x - p0.x - // [240] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_minus_vwsz2 + // [238] (signed word~) spline_8segB::$6 ← (signed word) spline_8segB::p1_x#0 - (signed word) spline_8segB::p0_x#0 -- vwsz1=vwsz1_minus_vwsz2 lda.z __6 sec sbc.z p0_x @@ -13224,11 +13181,11 @@ spline_8segB: { sbc.z p0_x+1 sta.z __6+1 // b = { (p1.x - p0.x)*2, (p1.y - p0.y)*2 } - // [241] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [239] (signed word) spline_8segB::b_x#0 ← (signed word~) spline_8segB::$6 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z b_x rol.z b_x+1 // p1.y - p0.y - // [242] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_minus_vwsz2 + // [240] (signed word~) spline_8segB::$8 ← (signed word) spline_8segB::p1_y#0 - (signed word) spline_8segB::p0_y#0 -- vwsz1=vwsz1_minus_vwsz2 lda.z __8 sec sbc.z p0_y @@ -13237,11 +13194,11 @@ spline_8segB: { sbc.z p0_y+1 sta.z __8+1 // b = { (p1.x - p0.x)*2, (p1.y - p0.y)*2 } - // [243] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [241] (signed word) spline_8segB::b_y#0 ← (signed word~) spline_8segB::$8 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z b_y rol.z b_y+1 // b.x*8 - // [244] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 + // [242] (signed word~) spline_8segB::$10 ← (signed word) spline_8segB::b_x#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 asl.z __10 rol.z __10+1 asl.z __10 @@ -13249,7 +13206,7 @@ spline_8segB: { asl.z __10 rol.z __10+1 // i = { a.x + b.x*8, a.y + b.y*8} - // [245] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 -- vwsz1=vwsz2_plus_vwsz1 + // [243] (signed word) spline_8segB::i_x#0 ← (signed word) spline_8segB::a_x#0 + (signed word~) spline_8segB::$10 -- vwsz1=vwsz2_plus_vwsz1 lda.z i_x clc adc.z a_x @@ -13258,7 +13215,7 @@ spline_8segB: { adc.z a_x+1 sta.z i_x+1 // b.y*8 - // [246] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 + // [244] (signed word~) spline_8segB::$12 ← (signed word) spline_8segB::b_y#0 << (byte) 3 -- vwsz1=vwsz1_rol_3 asl.z __12 rol.z __12+1 asl.z __12 @@ -13266,7 +13223,7 @@ spline_8segB: { asl.z __12 rol.z __12+1 // i = { a.x + b.x*8, a.y + b.y*8} - // [247] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 -- vwsz1=vwsz2_plus_vwsz1 + // [245] (signed word) spline_8segB::i_y#0 ← (signed word) spline_8segB::a_y#0 + (signed word~) spline_8segB::$12 -- vwsz1=vwsz2_plus_vwsz1 lda.z i_y clc adc.z a_y @@ -13275,14 +13232,14 @@ spline_8segB: { adc.z a_y+1 sta.z i_y+1 // j = { a.x*2, a.y*2 } - // [248] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [246] (signed word) spline_8segB::j_x#0 ← (signed word) spline_8segB::a_x#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z j_x rol.z j_x+1 - // [249] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 + // [247] (signed word) spline_8segB::j_y#0 ← (signed word) spline_8segB::a_y#0 << (byte) 1 -- vwsz1=vwsz1_rol_1 asl.z j_y rol.z j_y+1 // p = { p0.x*0x40, p0.y*0x40 } - // [250] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 + // [248] (signed word) spline_8segB::p_x#0 ← (signed word) spline_8segB::p0_x#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 lda.z p_x+1 sta.z $ff lda.z p_x @@ -13295,7 +13252,7 @@ spline_8segB: { lsr.z $ff ror.z p_x+1 ror.z p_x - // [251] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 + // [249] (signed word) spline_8segB::p_y#0 ← (signed word) spline_8segB::p0_y#0 << (byte) 6 -- vwsz1=vwsz1_rol_6 lda.z p_y+1 sta.z $ff lda.z p_y @@ -13308,23 +13265,23 @@ spline_8segB: { lsr.z $ff ror.z p_y+1 ror.z p_y - // [252] phi from spline_8segB to spline_8segB::@1 [phi:spline_8segB->spline_8segB::@1] - // [252] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#0 [phi:spline_8segB->spline_8segB::@1#0] -- register_copy - // [252] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#0 [phi:spline_8segB->spline_8segB::@1#1] -- register_copy - // [252] phi (byte) spline_8segB::n#2 = (byte) 0 [phi:spline_8segB->spline_8segB::@1#2] -- vbuyy=vbuc1 + // [250] phi from spline_8segB to spline_8segB::@1 [phi:spline_8segB->spline_8segB::@1] + // [250] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#0 [phi:spline_8segB->spline_8segB::@1#0] -- register_copy + // [250] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#0 [phi:spline_8segB->spline_8segB::@1#1] -- register_copy + // [250] phi (byte) spline_8segB::n#2 = (byte) 0 [phi:spline_8segB->spline_8segB::@1#2] -- vbuyy=vbuc1 tay - // [252] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#0 [phi:spline_8segB->spline_8segB::@1#3] -- register_copy - // [252] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#0 [phi:spline_8segB->spline_8segB::@1#4] -- register_copy - // [252] phi from spline_8segB::@1 to spline_8segB::@1 [phi:spline_8segB::@1->spline_8segB::@1] - // [252] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#1 [phi:spline_8segB::@1->spline_8segB::@1#0] -- register_copy - // [252] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#1 [phi:spline_8segB::@1->spline_8segB::@1#1] -- register_copy - // [252] phi (byte) spline_8segB::n#2 = (byte) spline_8segB::n#1 [phi:spline_8segB::@1->spline_8segB::@1#2] -- register_copy - // [252] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#1 [phi:spline_8segB::@1->spline_8segB::@1#3] -- register_copy - // [252] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#1 [phi:spline_8segB::@1->spline_8segB::@1#4] -- register_copy + // [250] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#0 [phi:spline_8segB->spline_8segB::@1#3] -- register_copy + // [250] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#0 [phi:spline_8segB->spline_8segB::@1#4] -- register_copy + // [250] phi from spline_8segB::@1 to spline_8segB::@1 [phi:spline_8segB::@1->spline_8segB::@1] + // [250] phi (signed word) spline_8segB::i_y#2 = (signed word) spline_8segB::i_y#1 [phi:spline_8segB::@1->spline_8segB::@1#0] -- register_copy + // [250] phi (signed word) spline_8segB::i_x#2 = (signed word) spline_8segB::i_x#1 [phi:spline_8segB::@1->spline_8segB::@1#1] -- register_copy + // [250] phi (byte) spline_8segB::n#2 = (byte) spline_8segB::n#1 [phi:spline_8segB::@1->spline_8segB::@1#2] -- register_copy + // [250] phi (signed word) spline_8segB::p_y#2 = (signed word) spline_8segB::p_y#1 [phi:spline_8segB::@1->spline_8segB::@1#3] -- register_copy + // [250] phi (signed word) spline_8segB::p_x#2 = (signed word) spline_8segB::p_x#1 [phi:spline_8segB::@1->spline_8segB::@1#4] -- register_copy // spline_8segB::@1 __b1: // p.x+0x20 - // [253] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 + // [251] (signed word~) spline_8segB::$22 ← (signed word) spline_8segB::p_x#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 lda.z p_x clc adc #<$20 @@ -13333,7 +13290,7 @@ spline_8segB: { adc #>$20 sta.z __22+1 // (p.x+0x20)/0x40 - // [254] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 -- vwsz1=vwsz1_ror_6 + // [252] (signed word~) spline_8segB::$23 ← (signed word~) spline_8segB::$22 >> (byte) 6 -- vwsz1=vwsz1_ror_6 lda.z __23 sta.z $ff lda.z __23+1 @@ -13351,7 +13308,7 @@ spline_8segB: { rol.z __23 rol.z __23+1 // p.y+0x20 - // [255] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 + // [253] (signed word~) spline_8segB::$24 ← (signed word) spline_8segB::p_y#2 + (signed byte) $20 -- vwsz1=vwsz2_plus_vbsc1 lda.z p_y clc adc #<$20 @@ -13360,7 +13317,7 @@ spline_8segB: { adc #>$20 sta.z __24+1 // (p.y+0x20)/0x40 - // [256] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 -- vwsz1=vwsz1_ror_6 + // [254] (signed word~) spline_8segB::$25 ← (signed word~) spline_8segB::$24 >> (byte) 6 -- vwsz1=vwsz1_ror_6 lda.z __25 sta.z $ff lda.z __25+1 @@ -13378,23 +13335,23 @@ spline_8segB: { rol.z __25 rol.z __25+1 // SPLINE_8SEG[n] = { (p.x+0x20)/0x40, (p.y+0x20)/0x40 } - // [257] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 -- vbuxx=vbuyy_rol_2 + // [255] (byte~) spline_8segB::$31 ← (byte) spline_8segB::n#2 << (byte) 2 -- vbuxx=vbuyy_rol_2 tya asl asl tax - // [258] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 -- pwsc1_derefidx_vbuxx=vwsz1 + // [256] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$23 -- pwsc1_derefidx_vbuxx=vwsz1 lda.z __23 sta SPLINE_8SEG,x lda.z __23+1 sta SPLINE_8SEG+1,x - // [259] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 -- pwsc1_derefidx_vbuxx=vwsz1 + // [257] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) spline_8segB::$31) ← (signed word~) spline_8segB::$25 -- pwsc1_derefidx_vbuxx=vwsz1 lda.z __25 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,x lda.z __25+1 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,x // p = { p.x+i.x, p.y+i.y } - // [260] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 -- vwsz1=vwsz1_plus_vwsz2 + // [258] (signed word) spline_8segB::p_x#1 ← (signed word) spline_8segB::p_x#2 + (signed word) spline_8segB::i_x#2 -- vwsz1=vwsz1_plus_vwsz2 lda.z p_x clc adc.z i_x @@ -13402,7 +13359,7 @@ spline_8segB: { lda.z p_x+1 adc.z i_x+1 sta.z p_x+1 - // [261] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 -- vwsz1=vwsz1_plus_vwsz2 + // [259] (signed word) spline_8segB::p_y#1 ← (signed word) spline_8segB::p_y#2 + (signed word) spline_8segB::i_y#2 -- vwsz1=vwsz1_plus_vwsz2 lda.z p_y clc adc.z i_y @@ -13411,7 +13368,7 @@ spline_8segB: { adc.z i_y+1 sta.z p_y+1 // i = { i.x+j.x, i.y+j.y } - // [262] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 -- vwsz1=vwsz1_plus_vwsz2 + // [260] (signed word) spline_8segB::i_x#1 ← (signed word) spline_8segB::i_x#2 + (signed word) spline_8segB::j_x#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z i_x clc adc.z j_x @@ -13419,7 +13376,7 @@ spline_8segB: { lda.z i_x+1 adc.z j_x+1 sta.z i_x+1 - // [263] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 -- vwsz1=vwsz1_plus_vwsz2 + // [261] (signed word) spline_8segB::i_y#1 ← (signed word) spline_8segB::i_y#2 + (signed word) spline_8segB::j_y#0 -- vwsz1=vwsz1_plus_vwsz2 lda.z i_y clc adc.z j_y @@ -13428,16 +13385,16 @@ spline_8segB: { adc.z j_y+1 sta.z i_y+1 // for( char n: 0..7) - // [264] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 -- vbuyy=_inc_vbuyy + // [262] (byte) spline_8segB::n#1 ← ++ (byte) spline_8segB::n#2 -- vbuyy=_inc_vbuyy iny - // [265] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 -- vbuyy_neq_vbuc1_then_la1 + // [263] if((byte) spline_8segB::n#1!=(byte) 8) goto spline_8segB::@1 -- vbuyy_neq_vbuc1_then_la1 cpy #8 beq !__b1+ jmp __b1 !__b1: // spline_8segB::@2 // p.x+0x20 - // [266] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 + // [264] (signed word~) spline_8segB::$18 ← (signed word) spline_8segB::p_x#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 lda.z __18 clc adc #<$20 @@ -13446,7 +13403,7 @@ spline_8segB: { adc #>$20 sta.z __18+1 // (p.x+0x20)/0x40 - // [267] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 -- vwsz1=vwsz1_ror_6 + // [265] (signed word~) spline_8segB::$19 ← (signed word~) spline_8segB::$18 >> (byte) 6 -- vwsz1=vwsz1_ror_6 lda.z __19 sta.z $ff lda.z __19+1 @@ -13464,7 +13421,7 @@ spline_8segB: { rol.z __19 rol.z __19+1 // p.y+0x20 - // [268] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 + // [266] (signed word~) spline_8segB::$20 ← (signed word) spline_8segB::p_y#1 + (signed byte) $20 -- vwsz1=vwsz1_plus_vbsc1 lda.z __20 clc adc #<$20 @@ -13473,7 +13430,7 @@ spline_8segB: { adc #>$20 sta.z __20+1 // (p.y+0x20)/0x40 - // [269] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 -- vwsz1=vwsz1_ror_6 + // [267] (signed word~) spline_8segB::$21 ← (signed word~) spline_8segB::$20 >> (byte) 6 -- vwsz1=vwsz1_ror_6 lda.z __21 sta.z $ff lda.z __21+1 @@ -13491,19 +13448,19 @@ spline_8segB: { rol.z __21 rol.z __21+1 // SPLINE_8SEG[8] = { (p.x+0x20)/0x40, (p.y+0x20)/0x40 } - // [270] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 -- _deref_pwsc1=vwsz1 + // [268] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$19 -- _deref_pwsc1=vwsz1 lda.z __19 sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16 lda.z __19+1 sta SPLINE_8SEG+8*SIZEOF_STRUCT_SPLINEVECTOR16+1 - // [271] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 -- _deref_pwsc1=vwsz1 + // [269] *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y+(byte) 8*(const byte) SIZEOF_STRUCT_SPLINEVECTOR16) ← (signed word~) spline_8segB::$21 -- _deref_pwsc1=vwsz1 lda.z __21 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16 lda.z __21+1 sta SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+8*SIZEOF_STRUCT_SPLINEVECTOR16+1 // spline_8segB::@return // } - // [272] return + // [270] return rts } // bitmap_plot_spline_8seg @@ -13514,78 +13471,78 @@ bitmap_plot_spline_8seg: { .label current_y = 6 .label n = $18 // current = SPLINE_8SEG[0] - // [273] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) -- vwsz1=_deref_pwsc1 + // [271] (signed word) bitmap_plot_spline_8seg::current_x#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG) -- vwsz1=_deref_pwsc1 lda SPLINE_8SEG sta.z current_x lda SPLINE_8SEG+1 sta.z current_x+1 - // [274] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) -- vwsz1=_deref_pwsc1 + // [272] (signed word) bitmap_plot_spline_8seg::current_y#0 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y) -- vwsz1=_deref_pwsc1 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y sta.z current_y lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1 sta.z current_y+1 - // [275] phi from bitmap_plot_spline_8seg to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1] - // [275] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#0] -- register_copy - // [275] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#1] -- register_copy - // [275] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) 1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#2] -- vbuz1=vbuc1 + // [273] phi from bitmap_plot_spline_8seg to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1] + // [273] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#0] -- register_copy + // [273] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#0 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#1] -- register_copy + // [273] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) 1 [phi:bitmap_plot_spline_8seg->bitmap_plot_spline_8seg::@1#2] -- vbuz1=vbuc1 lda #1 sta.z n - // [275] phi from bitmap_plot_spline_8seg::@2 to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1] - // [275] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#0] -- register_copy - // [275] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#1] -- register_copy - // [275] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#2] -- register_copy + // [273] phi from bitmap_plot_spline_8seg::@2 to bitmap_plot_spline_8seg::@1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1] + // [273] phi (signed word) bitmap_plot_spline_8seg::current_y#2 = (signed word) bitmap_plot_spline_8seg::current_y#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#0] -- register_copy + // [273] phi (signed word) bitmap_plot_spline_8seg::current_x#2 = (signed word) bitmap_plot_spline_8seg::current_x#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#1] -- register_copy + // [273] phi (byte) bitmap_plot_spline_8seg::n#2 = (byte) bitmap_plot_spline_8seg::n#1 [phi:bitmap_plot_spline_8seg::@2->bitmap_plot_spline_8seg::@1#2] -- register_copy // bitmap_plot_spline_8seg::@1 __b1: // bitmap_line((unsigned int)current.x, (unsigned int)current.y, (unsigned int)SPLINE_8SEG[n].x, (unsigned int)SPLINE_8SEG[n].y) - // [276] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 + // [274] (byte~) bitmap_plot_spline_8seg::$4 ← (byte) bitmap_plot_spline_8seg::n#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 lda.z n asl asl sta.z __4 - // [277] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 - // [278] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 - // [279] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 + // [275] (word) bitmap_line::x1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_x#2 + // [276] (word) bitmap_line::y1#1 ← (word)(signed word) bitmap_plot_spline_8seg::current_y#2 + // [277] (word) bitmap_line::x2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 tay lda SPLINE_8SEG,y sta.z bitmap_line.x2 lda SPLINE_8SEG+1,y sta.z bitmap_line.x2+1 - // [280] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 + // [278] (word) bitmap_line::y2#13 ← (word)*((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwuz1=pwuc1_derefidx_vbuz2 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z bitmap_line.y2 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z bitmap_line.y2+1 // bitmap_line((unsigned int)current.x, (unsigned int)current.y, (unsigned int)SPLINE_8SEG[n].x, (unsigned int)SPLINE_8SEG[n].y) - // [281] call bitmap_line - // [182] phi from bitmap_plot_spline_8seg::@1 to bitmap_line [phi:bitmap_plot_spline_8seg::@1->bitmap_line] - // [182] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#0] -- register_copy - // [182] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#1] -- register_copy - // [182] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#2] -- register_copy - // [182] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#3] -- register_copy + // [279] call bitmap_line + // [180] phi from bitmap_plot_spline_8seg::@1 to bitmap_line [phi:bitmap_plot_spline_8seg::@1->bitmap_line] + // [180] phi (word) bitmap_line::y2#11 = (word) bitmap_line::y2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#0] -- register_copy + // [180] phi (word) bitmap_line::x2#10 = (word) bitmap_line::x2#13 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#1] -- register_copy + // [180] phi (word) bitmap_line::y#0 = (word) bitmap_line::y1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#2] -- register_copy + // [180] phi (word) bitmap_line::x#0 = (word) bitmap_line::x1#1 [phi:bitmap_plot_spline_8seg::@1->bitmap_line#3] -- register_copy jsr bitmap_line // bitmap_plot_spline_8seg::@2 // current = SPLINE_8SEG[n] - // [282] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 + // [280] (signed word) bitmap_plot_spline_8seg::current_x#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 ldy.z __4 lda SPLINE_8SEG,y sta.z current_x lda SPLINE_8SEG+1,y sta.z current_x+1 - // [283] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 + // [281] (signed word) bitmap_plot_spline_8seg::current_y#1 ← *((signed word*)(const struct SplineVector16*) SPLINE_8SEG+(const byte) OFFSET_STRUCT_SPLINEVECTOR16_Y + (byte~) bitmap_plot_spline_8seg::$4) -- vwsz1=pwsc1_derefidx_vbuz2 lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y,y sta.z current_y lda SPLINE_8SEG+OFFSET_STRUCT_SPLINEVECTOR16_Y+1,y sta.z current_y+1 // for(char n:1..8) - // [284] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 -- vbuz1=_inc_vbuz1 + // [282] (byte) bitmap_plot_spline_8seg::n#1 ← ++ (byte) bitmap_plot_spline_8seg::n#2 -- vbuz1=_inc_vbuz1 inc.z n - // [285] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 -- vbuz1_neq_vbuc1_then_la1 + // [283] if((byte) bitmap_plot_spline_8seg::n#1!=(byte) 9) goto bitmap_plot_spline_8seg::@1 -- vbuz1_neq_vbuc1_then_la1 lda #9 cmp.z n bne __b1 // bitmap_plot_spline_8seg::@return // } - // [286] return + // [284] return rts } // mulf16s @@ -13602,35 +13559,35 @@ mulf16s: { .label a = $10 .label b = $12 // mulf16u((unsigned int)a, (unsigned int)b) - // [288] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2 + // [286] (word) mulf16u::a#0 ← (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz2 lda.z a sta.z mulf16u.a lda.z a+1 sta.z mulf16u.a+1 - // [289] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2 + // [287] (word) mulf16u::b#0 ← (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz2 lda.z b sta.z mulf16u.b lda.z b+1 sta.z mulf16u.b+1 - // [290] call mulf16u + // [288] call mulf16u jsr mulf16u - // [291] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 + // [289] (dword) mulf16u::return#2 ← (dword) mulf16u::return#0 // mulf16s::@5 // m = mulf16u((unsigned int)a, (unsigned int)b) - // [292] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 + // [290] (dword) mulf16s::m#0 ← (dword) mulf16u::return#2 // if(a<0) - // [293] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 -- vwsz1_ge_0_then_la1 + // [291] if((signed word) mulf16s::a#4>=(signed byte) 0) goto mulf16s::@1 -- vwsz1_ge_0_then_la1 lda.z a+1 bpl __b1 // mulf16s::@3 // >m - // [294] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 -- vwuz1=_hi_vduz2 + // [292] (word~) mulf16s::$6 ← > (dword) mulf16s::m#0 -- vwuz1=_hi_vduz2 lda.z m+2 sta.z __6 lda.z m+3 sta.z __6+1 // >m = (>m)-(unsigned int)b - // [295] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz1_minus_vwuz2 + // [293] (word~) mulf16s::$11 ← (word~) mulf16s::$6 - (word)(signed word) mulf16s::b#4 -- vwuz1=vwuz1_minus_vwuz2 lda.z __11 sec sbc.z b @@ -13638,28 +13595,28 @@ mulf16s: { lda.z __11+1 sbc.z b+1 sta.z __11+1 - // [296] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 -- vduz1=vduz1_sethi_vwuz2 + // [294] (dword) mulf16s::m#1 ← (dword) mulf16s::m#0 hi= (word~) mulf16s::$11 -- vduz1=vduz1_sethi_vwuz2 lda.z __11 sta.z m+2 lda.z __11+1 sta.z m+3 - // [297] phi from mulf16s::@3 mulf16s::@5 to mulf16s::@1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1] - // [297] phi (dword) mulf16s::m#5 = (dword) mulf16s::m#1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1#0] -- register_copy + // [295] phi from mulf16s::@3 mulf16s::@5 to mulf16s::@1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1] + // [295] phi (dword) mulf16s::m#5 = (dword) mulf16s::m#1 [phi:mulf16s::@3/mulf16s::@5->mulf16s::@1#0] -- register_copy // mulf16s::@1 __b1: // if(b<0) - // [298] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 -- vwsz1_ge_0_then_la1 + // [296] if((signed word) mulf16s::b#4>=(signed byte) 0) goto mulf16s::@2 -- vwsz1_ge_0_then_la1 lda.z b+1 bpl __b2 // mulf16s::@4 // >m - // [299] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 -- vwuz1=_hi_vduz2 + // [297] (word~) mulf16s::$9 ← > (dword) mulf16s::m#5 -- vwuz1=_hi_vduz2 lda.z m+2 sta.z __9 lda.z m+3 sta.z __9+1 // >m = (>m)-(unsigned int)a - // [300] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz1_minus_vwuz2 + // [298] (word~) mulf16s::$12 ← (word~) mulf16s::$9 - (word)(signed word) mulf16s::a#4 -- vwuz1=vwuz1_minus_vwuz2 lda.z __12 sec sbc.z a @@ -13667,20 +13624,20 @@ mulf16s: { lda.z __12+1 sbc.z a+1 sta.z __12+1 - // [301] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 -- vduz1=vduz1_sethi_vwuz2 + // [299] (dword) mulf16s::m#2 ← (dword) mulf16s::m#5 hi= (word~) mulf16s::$12 -- vduz1=vduz1_sethi_vwuz2 lda.z __12 sta.z m+2 lda.z __12+1 sta.z m+3 - // [302] phi from mulf16s::@1 mulf16s::@4 to mulf16s::@2 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2] - // [302] phi (dword) mulf16s::m#4 = (dword) mulf16s::m#5 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2#0] -- register_copy + // [300] phi from mulf16s::@1 mulf16s::@4 to mulf16s::@2 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2] + // [300] phi (dword) mulf16s::m#4 = (dword) mulf16s::m#5 [phi:mulf16s::@1/mulf16s::@4->mulf16s::@2#0] -- register_copy // mulf16s::@2 __b2: // return (signed long)m; - // [303] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 + // [301] (signed dword) mulf16s::return#0 ← (signed dword)(dword) mulf16s::m#4 // mulf16s::@return // } - // [304] return + // [302] return rts } // abs_u16 @@ -13690,22 +13647,22 @@ abs_u16: { .label w = $1d .label return = $1d // >w - // [306] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 -- vbuaa=_hi_vwuz1 + // [304] (byte~) abs_u16::$0 ← > (word) abs_u16::w#2 -- vbuaa=_hi_vwuz1 lda.z w+1 // >w&0x80 - // [307] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 + // [305] (byte~) abs_u16::$1 ← (byte~) abs_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 and #$80 // if(>w&0x80) - // [308] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 -- vbuc1_neq_vbuaa_then_la1 + // [306] if((byte) 0!=(byte~) abs_u16::$1) goto abs_u16::@1 -- vbuc1_neq_vbuaa_then_la1 cmp #0 bne __b1 - // [310] phi from abs_u16 abs_u16::@1 to abs_u16::@return [phi:abs_u16/abs_u16::@1->abs_u16::@return] - // [310] phi (word) abs_u16::return#4 = (word) abs_u16::w#2 [phi:abs_u16/abs_u16::@1->abs_u16::@return#0] -- register_copy + // [308] phi from abs_u16 abs_u16::@1 to abs_u16::@return [phi:abs_u16/abs_u16::@1->abs_u16::@return] + // [308] phi (word) abs_u16::return#4 = (word) abs_u16::w#2 [phi:abs_u16/abs_u16::@1->abs_u16::@return#0] -- register_copy rts // abs_u16::@1 __b1: // return -w; - // [309] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 -- vwuz1=_neg_vwuz1 + // [307] (word) abs_u16::return#2 ← - (word) abs_u16::w#2 -- vwuz1=_neg_vwuz1 sec lda #0 sbc.z return @@ -13715,7 +13672,7 @@ abs_u16: { sta.z return+1 // abs_u16::@return // } - // [311] return + // [309] return rts } // sgn_u16 @@ -13726,33 +13683,33 @@ sgn_u16: { .label w = $2c .label return = $1f // >w - // [313] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 -- vbuaa=_hi_vwuz1 + // [311] (byte~) sgn_u16::$0 ← > (word) sgn_u16::w#2 -- vbuaa=_hi_vwuz1 lda.z w+1 // >w&0x80 - // [314] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 + // [312] (byte~) sgn_u16::$1 ← (byte~) sgn_u16::$0 & (byte) $80 -- vbuaa=vbuaa_band_vbuc1 and #$80 // if(>w&0x80) - // [315] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 -- vbuc1_neq_vbuaa_then_la1 + // [313] if((byte) 0!=(byte~) sgn_u16::$1) goto sgn_u16::@1 -- vbuc1_neq_vbuaa_then_la1 cmp #0 bne __b1 - // [317] phi from sgn_u16 to sgn_u16::@return [phi:sgn_u16->sgn_u16::@return] - // [317] phi (word) sgn_u16::return#4 = (byte) 1 [phi:sgn_u16->sgn_u16::@return#0] -- vwuz1=vbuc1 + // [315] phi from sgn_u16 to sgn_u16::@return [phi:sgn_u16->sgn_u16::@return] + // [315] phi (word) sgn_u16::return#4 = (byte) 1 [phi:sgn_u16->sgn_u16::@return#0] -- vwuz1=vbuc1 lda #<1 sta.z return lda #>1 sta.z return+1 rts - // [316] phi from sgn_u16 to sgn_u16::@1 [phi:sgn_u16->sgn_u16::@1] + // [314] phi from sgn_u16 to sgn_u16::@1 [phi:sgn_u16->sgn_u16::@1] // sgn_u16::@1 __b1: - // [317] phi from sgn_u16::@1 to sgn_u16::@return [phi:sgn_u16::@1->sgn_u16::@return] - // [317] phi (word) sgn_u16::return#4 = (byte) -1 [phi:sgn_u16::@1->sgn_u16::@return#0] -- vwuz1=vbuc1 + // [315] phi from sgn_u16::@1 to sgn_u16::@return [phi:sgn_u16::@1->sgn_u16::@return] + // [315] phi (word) sgn_u16::return#4 = (byte) -1 [phi:sgn_u16::@1->sgn_u16::@return#0] -- vwuz1=vbuc1 lda #<-1 sta.z return sta.z return+1 // sgn_u16::@return // } - // [318] return + // [316] return rts } // bitmap_plot @@ -13763,14 +13720,14 @@ bitmap_plot: { .label plotter = $2a .label x = 4 // plotter = (char*) { bitmap_plot_yhi[y], bitmap_plot_ylo[y] } - // [320] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuaa_word_pbuc2_derefidx_vbuaa + // [318] (word) bitmap_plot::plotter#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) -- vwuz1=pbuc1_derefidx_vbuaa_word_pbuc2_derefidx_vbuaa tay lda bitmap_plot_yhi,y sta.z plotter+1 lda bitmap_plot_ylo,y sta.z plotter // x & $fff8 - // [321] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 -- vwuz1=vwuz2_band_vwuc1 + // [319] (word~) bitmap_plot::$0 ← (word) bitmap_plot::x#4 & (word) $fff8 -- vwuz1=vwuz2_band_vwuc1 lda.z x and #<$fff8 sta.z __0 @@ -13778,7 +13735,7 @@ bitmap_plot: { and #>$fff8 sta.z __0+1 // plotter += ( x & $fff8 ) - // [322] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 -- pbuz1=pbuz1_plus_vwuz2 + // [320] (byte*) bitmap_plot::plotter#1 ← (byte*)(word) bitmap_plot::plotter#0 + (word~) bitmap_plot::$0 -- pbuz1=pbuz1_plus_vwuz2 lda.z plotter clc adc.z __0 @@ -13787,17 +13744,17 @@ bitmap_plot: { adc.z __0+1 sta.z plotter+1 // glyph_bits_2x2 // next_2x2_left[l2+1] = >glyph_bits_2x2 sta (next_2x2_left_1),y // (word) font_2x2::glyph_bits_2x2#2 - [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 + [109] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 + [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 [111] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 - [112] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 - [113] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 - [114] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15 - [115] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 - [116] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 - [117] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 - [118] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 + [112] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 + [113] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 + [114] (byte~) font_2x2::$13 ← < (word) font_2x2::glyph_bits_2x2#2 + [115] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$13 + [116] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 + [117] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 + [118] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 + [119] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 + [120] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 to:font_2x2::@7 font_2x2::@7: scope:[font_2x2] from font_2x2::@6 - [119] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 - [120] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 + [121] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 + [122] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 to:font_2x2::@8 font_2x2::@8: scope:[font_2x2] from font_2x2::@6 font_2x2::@7 - [121] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 ) - [121] (byte) font_2x2::l2#9 ← phi( font_2x2::@6/(byte) font_2x2::l2#1 font_2x2::@7/(byte) 0 ) - [121] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 ) - [122] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 - [123] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 + [123] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 ) + [123] (byte) font_2x2::l2#9 ← phi( font_2x2::@6/(byte) font_2x2::l2#1 font_2x2::@7/(byte) 0 ) + [123] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 ) + [124] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 + [125] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 to:font_2x2::@9 font_2x2::@9: scope:[font_2x2] from font_2x2::@8 - [124] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 - [125] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 - [126] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 - [127] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 + [126] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 + [127] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 + [128] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 + [129] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 to:font_2x2::@return font_2x2::@return: scope:[font_2x2] from font_2x2::@9 - [128] return + [130] return to:@return (void()) font_2x2_to_sprites((byte*) font_2x2_to_sprites::font_2x2 , (byte*) font_2x2_to_sprites::sprites , (byte) font_2x2_to_sprites::num_chars) font_2x2_to_sprites: scope:[font_2x2_to_sprites] from main::@9 - [129] phi() + [131] phi() to:font_2x2_to_sprites::@1 font_2x2_to_sprites::@1: scope:[font_2x2_to_sprites] from font_2x2_to_sprites font_2x2_to_sprites::@7 - [130] (byte*) font_2x2_to_sprites::sprite#4 ← phi( font_2x2_to_sprites/(const nomodify byte*) SPRITES font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::sprite#1 ) - [130] (byte*) font_2x2_to_sprites::char_current#2 ← phi( font_2x2_to_sprites/(const byte*) FONT font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::char_current#1 ) - [130] (byte) font_2x2_to_sprites::c#2 ← phi( font_2x2_to_sprites/(byte) 0 font_2x2_to_sprites::@7/(byte) font_2x2_to_sprites::c#1 ) - [131] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2 + [132] (byte*) font_2x2_to_sprites::sprite#4 ← phi( font_2x2_to_sprites/(const nomodify byte*) SPRITES font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::sprite#1 ) + [132] (byte*) font_2x2_to_sprites::char_current#2 ← phi( font_2x2_to_sprites/(const byte*) FONT font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::char_current#1 ) + [132] (byte) font_2x2_to_sprites::c#2 ← phi( font_2x2_to_sprites/(byte) 0 font_2x2_to_sprites::@7/(byte) font_2x2_to_sprites::c#1 ) + [133] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2 to:font_2x2_to_sprites::@return font_2x2_to_sprites::@return: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@1 - [132] return + [134] return to:@return font_2x2_to_sprites::@2: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@1 - [133] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 - [134] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 + [135] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 + [136] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 to:font_2x2_to_sprites::@3 font_2x2_to_sprites::@3: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@2 font_2x2_to_sprites::@5 - [135] (byte*) font_2x2_to_sprites::char_right#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_right#4 ) - [135] (byte) font_2x2_to_sprites::sprite_idx#4 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::sprite_idx#3 ) - [135] (byte*) font_2x2_to_sprites::char_left#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_left#4 ) - [135] (byte) font_2x2_to_sprites::i#2 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::i#1 ) - [136] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 - [137] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) - [138] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 - [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) - [140] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 - [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 - [142] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 - [143] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 + [137] (byte*) font_2x2_to_sprites::char_right#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_right#4 ) + [137] (byte) font_2x2_to_sprites::sprite_idx#4 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::sprite_idx#3 ) + [137] (byte*) font_2x2_to_sprites::char_left#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_left#4 ) + [137] (byte) font_2x2_to_sprites::i#2 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::i#1 ) + [138] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 + [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) + [140] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 + [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) + [142] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 + [143] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 + [144] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 + [145] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 to:font_2x2_to_sprites::@6 font_2x2_to_sprites::@6: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@3 - [144] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 + [146] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 to:font_2x2_to_sprites::@5 font_2x2_to_sprites::@8: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@6 - [145] phi() + [147] phi() to:font_2x2_to_sprites::@5 font_2x2_to_sprites::@5: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@4 font_2x2_to_sprites::@6 font_2x2_to_sprites::@8 - [146] (byte*) font_2x2_to_sprites::char_right#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_right#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 ) - [146] (byte*) font_2x2_to_sprites::char_left#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 ) - [147] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 - [148] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 + [148] (byte*) font_2x2_to_sprites::char_right#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_right#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 ) + [148] (byte*) font_2x2_to_sprites::char_left#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 ) + [149] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 + [150] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 to:font_2x2_to_sprites::@7 font_2x2_to_sprites::@7: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@5 - [149] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 - [150] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 - [151] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2 + [151] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 + [152] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 + [153] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2 to:font_2x2_to_sprites::@1 font_2x2_to_sprites::@4: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@3 - [152] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 - [153] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 + [154] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 + [155] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 to:font_2x2_to_sprites::@5 (void()) plexInit((byte*) plexInit::screen) plexInit: scope:[plexInit] from main::@10 - [154] phi() + [156] phi() to:plexInit::plexSetScreen1 plexInit::plexSetScreen1: scope:[plexInit] from plexInit - [155] phi() + [157] phi() to:plexInit::@1 plexInit::@1: scope:[plexInit] from plexInit::@1 plexInit::plexSetScreen1 - [156] (byte) plexInit::i#2 ← phi( plexInit::@1/(byte) plexInit::i#1 plexInit::plexSetScreen1/(byte) 0 ) - [157] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 - [158] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 - [159] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 + [158] (byte) plexInit::i#2 ← phi( plexInit::@1/(byte) plexInit::i#1 plexInit::plexSetScreen1/(byte) 0 ) + [159] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 + [160] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 + [161] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 to:plexInit::@return plexInit::@return: scope:[plexInit] from plexInit::@1 - [160] return + [162] return to:@return (void()) plex_move() plex_move: scope:[plex_move] from main::@5 main::@7 - [161] (byte*) scroll_text_next#27 ← phi( main::@5/(const byte*) SCROLL_TEXT main::@7/(byte*) scroll_text_next#14 ) - [161] (byte) x_movement_idx#11 ← phi( main::@5/(byte) 0 main::@7/(byte) x_movement_idx#13 ) - [161] (byte) y_sin_idx#11 ← phi( main::@5/(byte) 0 main::@7/(byte) y_sin_idx#13 ) - [162] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 - [163] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 + [163] (byte*) scroll_text_next#27 ← phi( main::@5/(const byte*) SCROLL_TEXT main::@7/(byte*) scroll_text_next#14 ) + [163] (byte) x_movement_idx#11 ← phi( main::@5/(byte) 0 main::@7/(byte) x_movement_idx#13 ) + [163] (byte) y_sin_idx#11 ← phi( main::@5/(byte) 0 main::@7/(byte) y_sin_idx#13 ) + [164] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 + [165] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 to:plex_move::@1 plex_move::@1: scope:[plex_move] from plex_move plex_move::@2 - [164] (byte*) scroll_text_next#12 ← phi( plex_move/(byte*) scroll_text_next#27 plex_move::@2/(byte*) scroll_text_next#14 ) - [164] (byte) plex_move::x_idx#2 ← phi( plex_move/(byte) plex_move::x_idx#0 plex_move::@2/(byte) plex_move::x_idx#1 ) - [164] (byte) plex_move::s#2 ← phi( plex_move/(byte) 0 plex_move::@2/(byte) plex_move::s#1 ) - [164] (byte) plex_move::y_idx#2 ← phi( plex_move/(byte) plex_move::y_idx#0 plex_move::@2/(byte) plex_move::y_idx#1 ) - [165] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) - [166] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 - [167] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 - [168] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) - [169] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 - [170] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 + [166] (byte*) scroll_text_next#12 ← phi( plex_move/(byte*) scroll_text_next#27 plex_move::@2/(byte*) scroll_text_next#14 ) + [166] (byte) plex_move::x_idx#2 ← phi( plex_move/(byte) plex_move::x_idx#0 plex_move::@2/(byte) plex_move::x_idx#1 ) + [166] (byte) plex_move::s#2 ← phi( plex_move/(byte) 0 plex_move::@2/(byte) plex_move::s#1 ) + [166] (byte) plex_move::y_idx#2 ← phi( plex_move/(byte) plex_move::y_idx#0 plex_move::@2/(byte) plex_move::y_idx#1 ) + [167] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) + [168] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 + [169] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 + [170] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) + [171] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 + [172] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 to:plex_move::@4 plex_move::@4: scope:[plex_move] from plex_move::@1 - [171] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 + [173] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 to:plex_move::@3 plex_move::@6: scope:[plex_move] from plex_move::@4 - [172] phi() + [174] phi() to:plex_move::@3 plex_move::@3: scope:[plex_move] from plex_move::@4 plex_move::@6 - [173] (byte*) scroll_text_next#13 ← phi( plex_move::@6/(byte*) scroll_text_next#12 plex_move::@4/(const byte*) SCROLL_TEXT ) - [174] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) - [175] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 - [176] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 + [175] (byte*) scroll_text_next#13 ← phi( plex_move::@6/(byte*) scroll_text_next#12 plex_move::@4/(const byte*) SCROLL_TEXT ) + [176] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) + [177] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 + [178] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 to:plex_move::@2 plex_move::@2: scope:[plex_move] from plex_move::@1 plex_move::@3 - [177] (byte*) scroll_text_next#14 ← phi( plex_move::@1/(byte*) scroll_text_next#12 plex_move::@3/(byte*) scroll_text_next#3 ) - [178] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 - [179] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 - [180] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 + [179] (byte*) scroll_text_next#14 ← phi( plex_move::@1/(byte*) scroll_text_next#12 plex_move::@3/(byte*) scroll_text_next#3 ) + [180] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 + [181] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 + [182] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 to:plex_move::@5 plex_move::@5: scope:[plex_move] from plex_move::@2 - [181] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 - [182] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 + [183] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 + [184] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 to:plex_move::@return plex_move::@return: scope:[plex_move] from plex_move::@5 - [183] return + [185] return to:@return (void()) plexSort() plexSort: scope:[plexSort] from main::@11 main::@13 - [184] phi() + [186] phi() to:plexSort::@1 plexSort::@1: scope:[plexSort] from plexSort plexSort::@2 - [185] (byte) plexSort::m#2 ← phi( plexSort/(byte) 0 plexSort::@2/(byte) plexSort::m#1 ) - [186] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) - [187] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) - [188] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 + [187] (byte) plexSort::m#2 ← phi( plexSort/(byte) 0 plexSort::@2/(byte) plexSort::m#1 ) + [188] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) + [189] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) + [190] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 to:plexSort::@5 plexSort::@5: scope:[plexSort] from plexSort::@1 - [189] (byte) plexSort::s#6 ← (byte) plexSort::m#2 + [191] (byte) plexSort::s#6 ← (byte) plexSort::m#2 to:plexSort::@3 plexSort::@3: scope:[plexSort] from plexSort::@5 plexSort::@7 - [190] (byte) plexSort::s#3 ← phi( plexSort::@7/(byte) plexSort::s#1 plexSort::@5/(byte) plexSort::s#6 ) - [191] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) - [192] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 - [193] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4 + [192] (byte) plexSort::s#3 ← phi( plexSort::@7/(byte) plexSort::s#1 plexSort::@5/(byte) plexSort::s#6 ) + [193] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) + [194] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 + [195] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4 to:plexSort::@7 plexSort::@7: scope:[plexSort] from plexSort::@3 - [194] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 + [196] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 to:plexSort::@4 plexSort::@4: scope:[plexSort] from plexSort::@3 plexSort::@7 - [195] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1 - [196] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 + [197] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1 + [198] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 to:plexSort::@2 plexSort::@2: scope:[plexSort] from plexSort::@1 plexSort::@4 - [197] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2 - [198] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1 + [199] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2 + [200] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1 to:plexSort::@6 plexSort::@6: scope:[plexSort] from plexSort::@2 - [199] (volatile byte) plex_show_idx ← (byte) 0 - [200] (volatile byte) plex_sprite_idx ← (byte) 0 - [201] (volatile byte) plex_sprite_msb ← (byte) 1 + [201] (volatile byte) plex_show_idx ← (byte) 0 + [202] (volatile byte) plex_sprite_idx ← (byte) 0 + [203] (volatile byte) plex_sprite_msb ← (byte) 1 to:plexSort::plexFreePrepare1 plexSort::plexFreePrepare1: scope:[plexSort] from plexSort::@6 - [202] phi() + [204] phi() to:plexSort::plexFreePrepare1_@1 plexSort::plexFreePrepare1_@1: scope:[plexSort] from plexSort::plexFreePrepare1 plexSort::plexFreePrepare1_@1 - [203] (byte) plexSort::plexFreePrepare1_s#2 ← phi( plexSort::plexFreePrepare1/(byte) 0 plexSort::plexFreePrepare1_@1/(byte) plexSort::plexFreePrepare1_s#1 ) - [204] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 - [205] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 - [206] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 + [205] (byte) plexSort::plexFreePrepare1_s#2 ← phi( plexSort::plexFreePrepare1/(byte) 0 plexSort::plexFreePrepare1_@1/(byte) plexSort::plexFreePrepare1_s#1 ) + [206] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 + [207] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 + [208] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 to:plexSort::plexFreePrepare1_@2 plexSort::plexFreePrepare1_@2: scope:[plexSort] from plexSort::plexFreePrepare1_@1 - [207] (volatile byte) plex_free_next ← (byte) 0 + [209] (volatile byte) plex_free_next ← (byte) 0 to:plexSort::@return plexSort::@return: scope:[plexSort] from plexSort::plexFreePrepare1_@2 - [208] return + [210] return to:@return diff --git a/src/test/ref/complex/spritescroller/spritescroller.log b/src/test/ref/complex/spritescroller/spritescroller.log index 63cbaba52..94d7cc2e6 100644 --- a/src/test/ref/complex/spritescroller/spritescroller.log +++ b/src/test/ref/complex/spritescroller/spritescroller.log @@ -2225,8 +2225,6 @@ Identical Phi Values (byte) SPRITE_0#13 (byte) SPRITE_0#0 Successful SSA optimization Pass2IdenticalPhiElimination Identified duplicate assignment right side [69] (byte~) plexShowSprite::$11 ← (byte) plexShowSprite::xpos_idx#0 * (const byte) SIZEOF_WORD Identified duplicate assignment right side [259] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 -Identified duplicate assignment right side [327] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -Identified duplicate assignment right side [332] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 Successful SSA optimization Pass2DuplicateRValueIdentification Simple Condition (bool~) plexInit::$1 [7] if((byte) plexInit::i#1!=rangelast(0,PLEX_COUNT-1)) goto plexInit::@1 Simple Condition (bool~) plexSort::$3 [15] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 @@ -2361,15 +2359,13 @@ Alias candidate removed (volatile)plex_free_next = plexShowSprite::plexFreeAdd1_ Alias candidate removed (volatile)plex_sprite_idx = plexShowSprite::$6 Alias plexShowSprite::$11 = plexShowSprite::$10 Alias font_2x2_to_sprites::$3 = font_2x2_to_sprites::$2 -Alias font_2x2::$12 = font_2x2::$10 -Alias font_2x2::$15 = font_2x2::$13 Successful SSA optimization Pass2AliasElimination Alias candidate removed (volatile)plex_free_next = plexShowSprite::plexFreeAdd1_$2 Alias candidate removed (volatile)plex_sprite_idx = plexShowSprite::$6 Simple Condition (bool~) plexSort::$5 [18] if((byte) plexSort::s#1!=(byte) $ff) goto plexSort::@7 Simple Condition (bool~) plex_irq::$3 [128] if((volatile byte) plex_show_idx<(const nomodify byte) PLEX_COUNT) goto plex_irq::@8 -Simple Condition (bool~) plexSort::$6 [204] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 -Simple Condition (bool~) plex_irq::$5 [205] if((byte) plex_irq::plexFreeNextYpos1_return#0<(byte~) plex_irq::$4) goto plex_irq::@3 +Simple Condition (bool~) plexSort::$6 [206] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 +Simple Condition (bool~) plex_irq::$5 [207] if((byte) plex_irq::plexFreeNextYpos1_return#0<(byte~) plex_irq::$4) goto plex_irq::@3 Successful SSA optimization Pass2ConditionalJumpSimplification Negating conditional jump and destination [18] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4 Negating conditional jump and destination [128] if((volatile byte) plex_show_idx>=(const nomodify byte) PLEX_COUNT) goto plex_irq::@4 @@ -2378,7 +2374,7 @@ Constant right-side identified [63] (word~) main::toD0181_$0 ← (const word) ma Constant right-side identified [66] (byte~) main::toD0181_$3 ← > (word)(const byte*) main::toD0181_gfx#0 Constant right-side identified [151] (byte*) font_2x2_to_sprites::char_left#2 ← (const byte*) font_2x2_to_sprites::font_2x2#0 + (byte) ' '*(byte) 8 Constant right-side identified [152] (byte*) font_2x2_to_sprites::char_right#2 ← (const byte*) font_2x2_to_sprites::font_2x2#0 + (byte) ' '*(byte) 8 -Constant right-side identified [199] (word~) __start::__init1_toSpritePtr1_$0 ← (const word) __start::__init1_toSpritePtr1_$1 / (byte) $40 +Constant right-side identified [201] (word~) __start::__init1_toSpritePtr1_$0 ← (const word) __start::__init1_toSpritePtr1_$1 / (byte) $40 Successful SSA optimization Pass2ConstantRValueConsolidation Constant (const word) main::toD0181_$0 = main::toD0181_$7&$3fff Constant (const byte) main::toD0181_$3 = >(word)main::toD0181_gfx#0 @@ -2554,49 +2550,49 @@ Coalesced [78] main::x#4 ← main::x#1 Not coalescing [108] font_2x2::next_2x2_left#10 ← font_2x2::next_2x2_left#0 Coalesced [109] font_2x2::next_2x2_right#9 ← font_2x2::next_2x2_right#0 Coalesced [112] font_2x2::glyph_bits#6 ← font_2x2::glyph_bits#0 -Coalesced [137] font_2x2::next_2x2_left#13 ← font_2x2::next_2x2_left#1 -Coalesced [138] font_2x2::next_2x2_right#12 ← font_2x2::next_2x2_right#1 -Coalesced [147] font_2x2::next_2x2_left#9 ← font_2x2::next_2x2#1 -Coalesced [148] font_2x2::next_original#12 ← font_2x2::next_original#1 -Coalesced [149] font_2x2::c#12 ← font_2x2::c#1 -Coalesced [150] font_2x2::l#10 ← font_2x2::l#1 -Coalesced [151] font_2x2::next_2x2_left#11 ← font_2x2::next_2x2_left#8 -Coalesced [152] font_2x2::l2#10 ← font_2x2::l2#9 -Coalesced [153] font_2x2::next_2x2_right#10 ← font_2x2::next_2x2_right#8 -Coalesced (already) [154] font_2x2::next_2x2_left#12 ← font_2x2::next_2x2_left#7 -Coalesced [155] font_2x2::l2#11 ← font_2x2::l2#1 -Coalesced (already) [156] font_2x2::next_2x2_right#11 ← font_2x2::next_2x2_right#7 -Coalesced [157] font_2x2::glyph_bits#7 ← font_2x2::glyph_bits#1 -Coalesced [158] font_2x2::glyph_bits_2x2#8 ← font_2x2::glyph_bits_2x2#2 -Coalesced [159] font_2x2::b#6 ← font_2x2::b#1 -Not coalescing [166] font_2x2_to_sprites::char_left#6 ← font_2x2_to_sprites::char_current#2 -Coalesced [167] font_2x2_to_sprites::char_right#6 ← font_2x2_to_sprites::char_right#0 -Coalesced [185] font_2x2_to_sprites::c#10 ← font_2x2_to_sprites::c#1 -Coalesced [186] font_2x2_to_sprites::char_current#10 ← font_2x2_to_sprites::char_current#1 -Coalesced [187] font_2x2_to_sprites::sprite#10 ← font_2x2_to_sprites::sprite#1 -Coalesced [188] font_2x2_to_sprites::i#7 ← font_2x2_to_sprites::i#1 -Coalesced [189] font_2x2_to_sprites::char_left#7 ← font_2x2_to_sprites::char_left#4 -Coalesced [190] font_2x2_to_sprites::sprite_idx#9 ← font_2x2_to_sprites::sprite_idx#3 -Coalesced [191] font_2x2_to_sprites::char_right#7 ← font_2x2_to_sprites::char_right#4 -Coalesced (already) [192] font_2x2_to_sprites::char_left#9 ← font_2x2_to_sprites::char_left#3 -Coalesced (already) [193] font_2x2_to_sprites::char_right#9 ← font_2x2_to_sprites::char_right#3 -Coalesced [196] font_2x2_to_sprites::char_left#8 ← font_2x2_to_sprites::char_left#1 -Coalesced [197] font_2x2_to_sprites::char_right#8 ← font_2x2_to_sprites::char_right#1 -Coalesced [206] plexInit::i#3 ← plexInit::i#1 -Coalesced [210] plex_move::y_idx#7 ← plex_move::y_idx#0 -Coalesced [211] plex_move::x_idx#7 ← plex_move::x_idx#0 -Coalesced [212] scroll_text_next#40 ← scroll_text_next#27 -Coalesced [226] scroll_text_next#43 ← scroll_text_next#3 -Coalesced [234] plex_move::y_idx#8 ← plex_move::y_idx#1 -Coalesced [235] plex_move::s#7 ← plex_move::s#1 -Coalesced [236] plex_move::x_idx#8 ← plex_move::x_idx#1 -Coalesced (already) [237] scroll_text_next#41 ← scroll_text_next#14 -Coalesced [238] scroll_text_next#44 ← scroll_text_next#12 -Coalesced (already) [239] scroll_text_next#42 ← scroll_text_next#12 -Not coalescing [245] plexSort::s#6 ← plexSort::m#2 -Coalesced [265] plexSort::plexFreePrepare1_s#3 ← plexSort::plexFreePrepare1_s#1 -Coalesced [266] plexSort::m#7 ← plexSort::m#1 -Coalesced [267] plexSort::s#5 ← plexSort::s#1 +Coalesced [139] font_2x2::next_2x2_left#13 ← font_2x2::next_2x2_left#1 +Coalesced [140] font_2x2::next_2x2_right#12 ← font_2x2::next_2x2_right#1 +Coalesced [149] font_2x2::next_2x2_left#9 ← font_2x2::next_2x2#1 +Coalesced [150] font_2x2::next_original#12 ← font_2x2::next_original#1 +Coalesced [151] font_2x2::c#12 ← font_2x2::c#1 +Coalesced [152] font_2x2::l#10 ← font_2x2::l#1 +Coalesced [153] font_2x2::next_2x2_left#11 ← font_2x2::next_2x2_left#8 +Coalesced [154] font_2x2::l2#10 ← font_2x2::l2#9 +Coalesced [155] font_2x2::next_2x2_right#10 ← font_2x2::next_2x2_right#8 +Coalesced (already) [156] font_2x2::next_2x2_left#12 ← font_2x2::next_2x2_left#7 +Coalesced [157] font_2x2::l2#11 ← font_2x2::l2#1 +Coalesced (already) [158] font_2x2::next_2x2_right#11 ← font_2x2::next_2x2_right#7 +Coalesced [159] font_2x2::glyph_bits#7 ← font_2x2::glyph_bits#1 +Coalesced [160] font_2x2::glyph_bits_2x2#8 ← font_2x2::glyph_bits_2x2#2 +Coalesced [161] font_2x2::b#6 ← font_2x2::b#1 +Not coalescing [168] font_2x2_to_sprites::char_left#6 ← font_2x2_to_sprites::char_current#2 +Coalesced [169] font_2x2_to_sprites::char_right#6 ← font_2x2_to_sprites::char_right#0 +Coalesced [187] font_2x2_to_sprites::c#10 ← font_2x2_to_sprites::c#1 +Coalesced [188] font_2x2_to_sprites::char_current#10 ← font_2x2_to_sprites::char_current#1 +Coalesced [189] font_2x2_to_sprites::sprite#10 ← font_2x2_to_sprites::sprite#1 +Coalesced [190] font_2x2_to_sprites::i#7 ← font_2x2_to_sprites::i#1 +Coalesced [191] font_2x2_to_sprites::char_left#7 ← font_2x2_to_sprites::char_left#4 +Coalesced [192] font_2x2_to_sprites::sprite_idx#9 ← font_2x2_to_sprites::sprite_idx#3 +Coalesced [193] font_2x2_to_sprites::char_right#7 ← font_2x2_to_sprites::char_right#4 +Coalesced (already) [194] font_2x2_to_sprites::char_left#9 ← font_2x2_to_sprites::char_left#3 +Coalesced (already) [195] font_2x2_to_sprites::char_right#9 ← font_2x2_to_sprites::char_right#3 +Coalesced [198] font_2x2_to_sprites::char_left#8 ← font_2x2_to_sprites::char_left#1 +Coalesced [199] font_2x2_to_sprites::char_right#8 ← font_2x2_to_sprites::char_right#1 +Coalesced [208] plexInit::i#3 ← plexInit::i#1 +Coalesced [212] plex_move::y_idx#7 ← plex_move::y_idx#0 +Coalesced [213] plex_move::x_idx#7 ← plex_move::x_idx#0 +Coalesced [214] scroll_text_next#40 ← scroll_text_next#27 +Coalesced [228] scroll_text_next#43 ← scroll_text_next#3 +Coalesced [236] plex_move::y_idx#8 ← plex_move::y_idx#1 +Coalesced [237] plex_move::s#7 ← plex_move::s#1 +Coalesced [238] plex_move::x_idx#8 ← plex_move::x_idx#1 +Coalesced (already) [239] scroll_text_next#41 ← scroll_text_next#14 +Coalesced [240] scroll_text_next#44 ← scroll_text_next#12 +Coalesced (already) [241] scroll_text_next#42 ← scroll_text_next#12 +Not coalescing [247] plexSort::s#6 ← plexSort::m#2 +Coalesced [267] plexSort::plexFreePrepare1_s#3 ← plexSort::plexFreePrepare1_s#1 +Coalesced [268] plexSort::m#7 ← plexSort::m#1 +Coalesced [269] plexSort::s#5 ← plexSort::s#1 Coalesced down to 32 phi equivalence classes Culled Empty Block (label) __start::__init1_toSpritePtr1_@return Culled Empty Block (label) __start::@2 @@ -2878,203 +2874,205 @@ font_2x2::@5: scope:[font_2x2] from font_2x2::@3 font_2x2::@4 [108] if((byte) font_2x2::b#1!=(byte) 8) goto font_2x2::@3 to:font_2x2::@6 font_2x2::@6: scope:[font_2x2] from font_2x2::@5 - [109] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 - [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 + [109] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 + [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 [111] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 - [112] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 - [113] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 - [114] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15 - [115] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 - [116] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 - [117] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 - [118] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 + [112] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 + [113] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 + [114] (byte~) font_2x2::$13 ← < (word) font_2x2::glyph_bits_2x2#2 + [115] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$13 + [116] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 + [117] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 + [118] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 + [119] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 + [120] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 to:font_2x2::@7 font_2x2::@7: scope:[font_2x2] from font_2x2::@6 - [119] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 - [120] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 + [121] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 + [122] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 to:font_2x2::@8 font_2x2::@8: scope:[font_2x2] from font_2x2::@6 font_2x2::@7 - [121] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 ) - [121] (byte) font_2x2::l2#9 ← phi( font_2x2::@6/(byte) font_2x2::l2#1 font_2x2::@7/(byte) 0 ) - [121] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 ) - [122] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 - [123] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 + [123] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 ) + [123] (byte) font_2x2::l2#9 ← phi( font_2x2::@6/(byte) font_2x2::l2#1 font_2x2::@7/(byte) 0 ) + [123] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 ) + [124] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 + [125] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 to:font_2x2::@9 font_2x2::@9: scope:[font_2x2] from font_2x2::@8 - [124] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 - [125] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 - [126] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 - [127] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 + [126] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 + [127] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 + [128] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 + [129] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 to:font_2x2::@return font_2x2::@return: scope:[font_2x2] from font_2x2::@9 - [128] return + [130] return to:@return (void()) font_2x2_to_sprites((byte*) font_2x2_to_sprites::font_2x2 , (byte*) font_2x2_to_sprites::sprites , (byte) font_2x2_to_sprites::num_chars) font_2x2_to_sprites: scope:[font_2x2_to_sprites] from main::@9 - [129] phi() + [131] phi() to:font_2x2_to_sprites::@1 font_2x2_to_sprites::@1: scope:[font_2x2_to_sprites] from font_2x2_to_sprites font_2x2_to_sprites::@7 - [130] (byte*) font_2x2_to_sprites::sprite#4 ← phi( font_2x2_to_sprites/(const nomodify byte*) SPRITES font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::sprite#1 ) - [130] (byte*) font_2x2_to_sprites::char_current#2 ← phi( font_2x2_to_sprites/(const byte*) FONT font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::char_current#1 ) - [130] (byte) font_2x2_to_sprites::c#2 ← phi( font_2x2_to_sprites/(byte) 0 font_2x2_to_sprites::@7/(byte) font_2x2_to_sprites::c#1 ) - [131] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2 + [132] (byte*) font_2x2_to_sprites::sprite#4 ← phi( font_2x2_to_sprites/(const nomodify byte*) SPRITES font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::sprite#1 ) + [132] (byte*) font_2x2_to_sprites::char_current#2 ← phi( font_2x2_to_sprites/(const byte*) FONT font_2x2_to_sprites::@7/(byte*) font_2x2_to_sprites::char_current#1 ) + [132] (byte) font_2x2_to_sprites::c#2 ← phi( font_2x2_to_sprites/(byte) 0 font_2x2_to_sprites::@7/(byte) font_2x2_to_sprites::c#1 ) + [133] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2 to:font_2x2_to_sprites::@return font_2x2_to_sprites::@return: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@1 - [132] return + [134] return to:@return font_2x2_to_sprites::@2: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@1 - [133] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 - [134] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 + [135] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 + [136] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 to:font_2x2_to_sprites::@3 font_2x2_to_sprites::@3: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@2 font_2x2_to_sprites::@5 - [135] (byte*) font_2x2_to_sprites::char_right#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_right#4 ) - [135] (byte) font_2x2_to_sprites::sprite_idx#4 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::sprite_idx#3 ) - [135] (byte*) font_2x2_to_sprites::char_left#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_left#4 ) - [135] (byte) font_2x2_to_sprites::i#2 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::i#1 ) - [136] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 - [137] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) - [138] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 - [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) - [140] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 - [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 - [142] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 - [143] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 + [137] (byte*) font_2x2_to_sprites::char_right#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_right#4 ) + [137] (byte) font_2x2_to_sprites::sprite_idx#4 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::sprite_idx#3 ) + [137] (byte*) font_2x2_to_sprites::char_left#3 ← phi( font_2x2_to_sprites::@2/(byte*) font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::@5/(byte*) font_2x2_to_sprites::char_left#4 ) + [137] (byte) font_2x2_to_sprites::i#2 ← phi( font_2x2_to_sprites::@2/(byte) 0 font_2x2_to_sprites::@5/(byte) font_2x2_to_sprites::i#1 ) + [138] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 + [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) + [140] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 + [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) + [142] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 + [143] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 + [144] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 + [145] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 to:font_2x2_to_sprites::@6 font_2x2_to_sprites::@6: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@3 - [144] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 + [146] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 to:font_2x2_to_sprites::@5 font_2x2_to_sprites::@8: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@6 - [145] phi() + [147] phi() to:font_2x2_to_sprites::@5 font_2x2_to_sprites::@5: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@4 font_2x2_to_sprites::@6 font_2x2_to_sprites::@8 - [146] (byte*) font_2x2_to_sprites::char_right#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_right#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 ) - [146] (byte*) font_2x2_to_sprites::char_left#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 ) - [147] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 - [148] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 + [148] (byte*) font_2x2_to_sprites::char_right#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_right#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 ) + [148] (byte*) font_2x2_to_sprites::char_left#4 ← phi( font_2x2_to_sprites::@4/(byte*) font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::@8/(byte*) font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::@6/(const byte*) FONT+(byte) ' '*(byte) 8 ) + [149] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 + [150] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 to:font_2x2_to_sprites::@7 font_2x2_to_sprites::@7: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@5 - [149] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 - [150] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 - [151] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2 + [151] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 + [152] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 + [153] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2 to:font_2x2_to_sprites::@1 font_2x2_to_sprites::@4: scope:[font_2x2_to_sprites] from font_2x2_to_sprites::@3 - [152] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 - [153] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 + [154] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 + [155] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 to:font_2x2_to_sprites::@5 (void()) plexInit((byte*) plexInit::screen) plexInit: scope:[plexInit] from main::@10 - [154] phi() + [156] phi() to:plexInit::plexSetScreen1 plexInit::plexSetScreen1: scope:[plexInit] from plexInit - [155] phi() + [157] phi() to:plexInit::@1 plexInit::@1: scope:[plexInit] from plexInit::@1 plexInit::plexSetScreen1 - [156] (byte) plexInit::i#2 ← phi( plexInit::@1/(byte) plexInit::i#1 plexInit::plexSetScreen1/(byte) 0 ) - [157] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 - [158] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 - [159] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 + [158] (byte) plexInit::i#2 ← phi( plexInit::@1/(byte) plexInit::i#1 plexInit::plexSetScreen1/(byte) 0 ) + [159] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 + [160] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 + [161] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 to:plexInit::@return plexInit::@return: scope:[plexInit] from plexInit::@1 - [160] return + [162] return to:@return (void()) plex_move() plex_move: scope:[plex_move] from main::@5 main::@7 - [161] (byte*) scroll_text_next#27 ← phi( main::@5/(const byte*) SCROLL_TEXT main::@7/(byte*) scroll_text_next#14 ) - [161] (byte) x_movement_idx#11 ← phi( main::@5/(byte) 0 main::@7/(byte) x_movement_idx#13 ) - [161] (byte) y_sin_idx#11 ← phi( main::@5/(byte) 0 main::@7/(byte) y_sin_idx#13 ) - [162] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 - [163] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 + [163] (byte*) scroll_text_next#27 ← phi( main::@5/(const byte*) SCROLL_TEXT main::@7/(byte*) scroll_text_next#14 ) + [163] (byte) x_movement_idx#11 ← phi( main::@5/(byte) 0 main::@7/(byte) x_movement_idx#13 ) + [163] (byte) y_sin_idx#11 ← phi( main::@5/(byte) 0 main::@7/(byte) y_sin_idx#13 ) + [164] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 + [165] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 to:plex_move::@1 plex_move::@1: scope:[plex_move] from plex_move plex_move::@2 - [164] (byte*) scroll_text_next#12 ← phi( plex_move/(byte*) scroll_text_next#27 plex_move::@2/(byte*) scroll_text_next#14 ) - [164] (byte) plex_move::x_idx#2 ← phi( plex_move/(byte) plex_move::x_idx#0 plex_move::@2/(byte) plex_move::x_idx#1 ) - [164] (byte) plex_move::s#2 ← phi( plex_move/(byte) 0 plex_move::@2/(byte) plex_move::s#1 ) - [164] (byte) plex_move::y_idx#2 ← phi( plex_move/(byte) plex_move::y_idx#0 plex_move::@2/(byte) plex_move::y_idx#1 ) - [165] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) - [166] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 - [167] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 - [168] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) - [169] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 - [170] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 + [166] (byte*) scroll_text_next#12 ← phi( plex_move/(byte*) scroll_text_next#27 plex_move::@2/(byte*) scroll_text_next#14 ) + [166] (byte) plex_move::x_idx#2 ← phi( plex_move/(byte) plex_move::x_idx#0 plex_move::@2/(byte) plex_move::x_idx#1 ) + [166] (byte) plex_move::s#2 ← phi( plex_move/(byte) 0 plex_move::@2/(byte) plex_move::s#1 ) + [166] (byte) plex_move::y_idx#2 ← phi( plex_move/(byte) plex_move::y_idx#0 plex_move::@2/(byte) plex_move::y_idx#1 ) + [167] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) + [168] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 + [169] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 + [170] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) + [171] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 + [172] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 to:plex_move::@4 plex_move::@4: scope:[plex_move] from plex_move::@1 - [171] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 + [173] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 to:plex_move::@3 plex_move::@6: scope:[plex_move] from plex_move::@4 - [172] phi() + [174] phi() to:plex_move::@3 plex_move::@3: scope:[plex_move] from plex_move::@4 plex_move::@6 - [173] (byte*) scroll_text_next#13 ← phi( plex_move::@6/(byte*) scroll_text_next#12 plex_move::@4/(const byte*) SCROLL_TEXT ) - [174] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) - [175] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 - [176] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 + [175] (byte*) scroll_text_next#13 ← phi( plex_move::@6/(byte*) scroll_text_next#12 plex_move::@4/(const byte*) SCROLL_TEXT ) + [176] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) + [177] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 + [178] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 to:plex_move::@2 plex_move::@2: scope:[plex_move] from plex_move::@1 plex_move::@3 - [177] (byte*) scroll_text_next#14 ← phi( plex_move::@1/(byte*) scroll_text_next#12 plex_move::@3/(byte*) scroll_text_next#3 ) - [178] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 - [179] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 - [180] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 + [179] (byte*) scroll_text_next#14 ← phi( plex_move::@1/(byte*) scroll_text_next#12 plex_move::@3/(byte*) scroll_text_next#3 ) + [180] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 + [181] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 + [182] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 to:plex_move::@5 plex_move::@5: scope:[plex_move] from plex_move::@2 - [181] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 - [182] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 + [183] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 + [184] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 to:plex_move::@return plex_move::@return: scope:[plex_move] from plex_move::@5 - [183] return + [185] return to:@return (void()) plexSort() plexSort: scope:[plexSort] from main::@11 main::@13 - [184] phi() + [186] phi() to:plexSort::@1 plexSort::@1: scope:[plexSort] from plexSort plexSort::@2 - [185] (byte) plexSort::m#2 ← phi( plexSort/(byte) 0 plexSort::@2/(byte) plexSort::m#1 ) - [186] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) - [187] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) - [188] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 + [187] (byte) plexSort::m#2 ← phi( plexSort/(byte) 0 plexSort::@2/(byte) plexSort::m#1 ) + [188] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) + [189] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) + [190] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 to:plexSort::@5 plexSort::@5: scope:[plexSort] from plexSort::@1 - [189] (byte) plexSort::s#6 ← (byte) plexSort::m#2 + [191] (byte) plexSort::s#6 ← (byte) plexSort::m#2 to:plexSort::@3 plexSort::@3: scope:[plexSort] from plexSort::@5 plexSort::@7 - [190] (byte) plexSort::s#3 ← phi( plexSort::@7/(byte) plexSort::s#1 plexSort::@5/(byte) plexSort::s#6 ) - [191] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) - [192] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 - [193] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4 + [192] (byte) plexSort::s#3 ← phi( plexSort::@7/(byte) plexSort::s#1 plexSort::@5/(byte) plexSort::s#6 ) + [193] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) + [194] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 + [195] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4 to:plexSort::@7 plexSort::@7: scope:[plexSort] from plexSort::@3 - [194] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 + [196] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 to:plexSort::@4 plexSort::@4: scope:[plexSort] from plexSort::@3 plexSort::@7 - [195] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1 - [196] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 + [197] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1 + [198] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 to:plexSort::@2 plexSort::@2: scope:[plexSort] from plexSort::@1 plexSort::@4 - [197] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2 - [198] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1 + [199] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2 + [200] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1 to:plexSort::@6 plexSort::@6: scope:[plexSort] from plexSort::@2 - [199] (volatile byte) plex_show_idx ← (byte) 0 - [200] (volatile byte) plex_sprite_idx ← (byte) 0 - [201] (volatile byte) plex_sprite_msb ← (byte) 1 + [201] (volatile byte) plex_show_idx ← (byte) 0 + [202] (volatile byte) plex_sprite_idx ← (byte) 0 + [203] (volatile byte) plex_sprite_msb ← (byte) 1 to:plexSort::plexFreePrepare1 plexSort::plexFreePrepare1: scope:[plexSort] from plexSort::@6 - [202] phi() + [204] phi() to:plexSort::plexFreePrepare1_@1 plexSort::plexFreePrepare1_@1: scope:[plexSort] from plexSort::plexFreePrepare1 plexSort::plexFreePrepare1_@1 - [203] (byte) plexSort::plexFreePrepare1_s#2 ← phi( plexSort::plexFreePrepare1/(byte) 0 plexSort::plexFreePrepare1_@1/(byte) plexSort::plexFreePrepare1_s#1 ) - [204] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 - [205] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 - [206] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 + [205] (byte) plexSort::plexFreePrepare1_s#2 ← phi( plexSort::plexFreePrepare1/(byte) 0 plexSort::plexFreePrepare1_@1/(byte) plexSort::plexFreePrepare1_s#1 ) + [206] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 + [207] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 + [208] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 to:plexSort::plexFreePrepare1_@2 plexSort::plexFreePrepare1_@2: scope:[plexSort] from plexSort::plexFreePrepare1_@1 - [207] (volatile byte) plex_free_next ← (byte) 0 + [209] (volatile byte) plex_free_next ← (byte) 0 to:plexSort::@return plexSort::@return: scope:[plexSort] from plexSort::plexFreePrepare1_@2 - [208] return + [210] return to:@return @@ -3171,10 +3169,12 @@ VARIABLE REGISTER WEIGHTS (byte*) __start::__init1_toSpritePtr1_sprite (void()) font_2x2((byte*) font_2x2::font_original , (byte*) font_2x2::font_2x2) (byte~) font_2x2::$1 200002.0 -(byte~) font_2x2::$11 20002.0 -(byte~) font_2x2::$12 10001.0 -(byte~) font_2x2::$14 20002.0 -(byte~) font_2x2::$15 10001.0 +(byte~) font_2x2::$10 20002.0 +(byte~) font_2x2::$11 10001.0 +(byte~) font_2x2::$12 20002.0 +(byte~) font_2x2::$13 20002.0 +(byte~) font_2x2::$14 10001.0 +(byte~) font_2x2::$15 20002.0 (word~) font_2x2::$5 200002.0 (word~) font_2x2::$7 200002.0 (byte) font_2x2::b @@ -3182,7 +3182,7 @@ VARIABLE REGISTER WEIGHTS (byte) font_2x2::b#2 20000.2 (byte) font_2x2::c (byte) font_2x2::c#1 1501.5 -(byte) font_2x2::c#11 58.88235294117647 +(byte) font_2x2::c#11 55.611111111111114 (byte*) font_2x2::font_2x2 (byte*) font_2x2::font_original (byte) font_2x2::glyph_bit @@ -3193,31 +3193,31 @@ VARIABLE REGISTER WEIGHTS (byte) font_2x2::glyph_bits#2 34444.88888888889 (word) font_2x2::glyph_bits_2x2 (word) font_2x2::glyph_bits_2x2#1 200002.0 -(word) font_2x2::glyph_bits_2x2#2 27500.5 +(word) font_2x2::glyph_bits_2x2#2 20000.500000000004 (word) font_2x2::glyph_bits_2x2#3 40000.4 (byte) font_2x2::l (byte) font_2x2::l#1 15001.5 -(byte) font_2x2::l#2 1111.2222222222222 +(byte) font_2x2::l#2 1034.5862068965519 (byte) font_2x2::l2 (byte) font_2x2::l2#1 15001.5 -(byte) font_2x2::l2#8 2727.5454545454545 +(byte) font_2x2::l2#8 2500.25 (byte) font_2x2::l2#9 6667.333333333333 (byte*) font_2x2::next_2x2 (byte*) font_2x2::next_2x2#1 500.5 (byte*) font_2x2::next_2x2_left -(byte*) font_2x2::next_2x2_left#0 750.1875 +(byte*) font_2x2::next_2x2_left#0 706.0588235294117 (byte*) font_2x2::next_2x2_left#1 10001.0 (byte*) font_2x2::next_2x2_left#10 2002.0 -(byte*) font_2x2::next_2x2_left#7 1708.5416666666665 +(byte*) font_2x2::next_2x2_left#7 1577.1153846153845 (byte*) font_2x2::next_2x2_left#8 10001.0 (byte*) font_2x2::next_2x2_right (byte*) font_2x2::next_2x2_right#0 1001.0 (byte*) font_2x2::next_2x2_right#1 20002.0 -(byte*) font_2x2::next_2x2_right#7 1708.5416666666665 +(byte*) font_2x2::next_2x2_right#7 1577.1153846153845 (byte*) font_2x2::next_2x2_right#8 10001.0 (byte*) font_2x2::next_original (byte*) font_2x2::next_original#1 667.3333333333334 -(byte*) font_2x2::next_original#4 363.7272727272727 +(byte*) font_2x2::next_original#4 342.9428571428572 (void()) font_2x2_to_sprites((byte*) font_2x2_to_sprites::font_2x2 , (byte*) font_2x2_to_sprites::sprites , (byte) font_2x2_to_sprites::num_chars) (byte~) font_2x2_to_sprites::$3 10001.0 (byte) font_2x2_to_sprites::c @@ -3400,10 +3400,12 @@ Added variable font_2x2::$1 to live range equivalence class [ font_2x2::$1 ] Added variable font_2x2::$5 to live range equivalence class [ font_2x2::$5 ] Added variable font_2x2::glyph_bits_2x2#1 to live range equivalence class [ font_2x2::glyph_bits_2x2#1 ] Added variable font_2x2::$7 to live range equivalence class [ font_2x2::$7 ] -Added variable font_2x2::$12 to live range equivalence class [ font_2x2::$12 ] +Added variable font_2x2::$10 to live range equivalence class [ font_2x2::$10 ] Added variable font_2x2::$11 to live range equivalence class [ font_2x2::$11 ] -Added variable font_2x2::$15 to live range equivalence class [ font_2x2::$15 ] +Added variable font_2x2::$12 to live range equivalence class [ font_2x2::$12 ] +Added variable font_2x2::$13 to live range equivalence class [ font_2x2::$13 ] Added variable font_2x2::$14 to live range equivalence class [ font_2x2::$14 ] +Added variable font_2x2::$15 to live range equivalence class [ font_2x2::$15 ] Added variable font_2x2_to_sprites::$3 to live range equivalence class [ font_2x2_to_sprites::$3 ] Added variable font_2x2_to_sprites::sprite_idx#1 to live range equivalence class [ font_2x2_to_sprites::sprite_idx#1 ] Added variable font_2x2_to_sprites::sprite_idx#2 to live range equivalence class [ font_2x2_to_sprites::sprite_idx#2 ] @@ -3471,10 +3473,12 @@ Complete equivalence classes [ font_2x2::$5 ] [ font_2x2::glyph_bits_2x2#1 ] [ font_2x2::$7 ] -[ font_2x2::$12 ] +[ font_2x2::$10 ] [ font_2x2::$11 ] -[ font_2x2::$15 ] +[ font_2x2::$12 ] +[ font_2x2::$13 ] [ font_2x2::$14 ] +[ font_2x2::$15 ] [ font_2x2_to_sprites::$3 ] [ font_2x2_to_sprites::sprite_idx#1 ] [ font_2x2_to_sprites::sprite_idx#2 ] @@ -3541,19 +3545,21 @@ Allocated zp[1]:67 [ font_2x2::$1 ] Allocated zp[2]:68 [ font_2x2::$5 ] Allocated zp[2]:70 [ font_2x2::glyph_bits_2x2#1 ] Allocated zp[2]:72 [ font_2x2::$7 ] -Allocated zp[1]:74 [ font_2x2::$12 ] +Allocated zp[1]:74 [ font_2x2::$10 ] Allocated zp[1]:75 [ font_2x2::$11 ] -Allocated zp[1]:76 [ font_2x2::$15 ] -Allocated zp[1]:77 [ font_2x2::$14 ] -Allocated zp[1]:78 [ font_2x2_to_sprites::$3 ] -Allocated zp[1]:79 [ font_2x2_to_sprites::sprite_idx#1 ] -Allocated zp[1]:80 [ font_2x2_to_sprites::sprite_idx#2 ] -Allocated zp[1]:81 [ plex_move::$6 ] -Allocated zp[2]:82 [ plex_move::$7 ] -Allocated zp[1]:84 [ plex_move::$4 ] -Allocated zp[1]:85 [ plexSort::nxt_idx#0 ] -Allocated zp[1]:86 [ plexSort::nxt_y#0 ] -Allocated zp[1]:87 [ plexSort::s#2 ] +Allocated zp[1]:76 [ font_2x2::$12 ] +Allocated zp[1]:77 [ font_2x2::$13 ] +Allocated zp[1]:78 [ font_2x2::$14 ] +Allocated zp[1]:79 [ font_2x2::$15 ] +Allocated zp[1]:80 [ font_2x2_to_sprites::$3 ] +Allocated zp[1]:81 [ font_2x2_to_sprites::sprite_idx#1 ] +Allocated zp[1]:82 [ font_2x2_to_sprites::sprite_idx#2 ] +Allocated zp[1]:83 [ plex_move::$6 ] +Allocated zp[2]:84 [ plex_move::$7 ] +Allocated zp[1]:86 [ plex_move::$4 ] +Allocated zp[1]:87 [ plexSort::nxt_idx#0 ] +Allocated zp[1]:88 [ plexSort::nxt_y#0 ] +Allocated zp[1]:89 [ plexSort::s#2 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -3776,7 +3782,7 @@ main: { cli // [30] call font_2x2_to_sprites // Convert font to sprites - // [129] phi from main::@9 to font_2x2_to_sprites [phi:main::@9->font_2x2_to_sprites] + // [131] phi from main::@9 to font_2x2_to_sprites [phi:main::@9->font_2x2_to_sprites] font_2x2_to_sprites_from___b9: jsr font_2x2_to_sprites // [31] phi from main::@9 to main::@10 [phi:main::@9->main::@10] @@ -3786,7 +3792,7 @@ main: { __b10: // [32] call plexInit // Initialize the multiplexer - // [154] phi from main::@10 to plexInit [phi:main::@10->plexInit] + // [156] phi from main::@10 to plexInit [phi:main::@10->plexInit] plexInit_from___b10: jsr plexInit // [33] phi from main::@10 to main::toD0181 [phi:main::@10->main::toD0181] @@ -3853,17 +3859,17 @@ main: { __b5: // [43] call plex_move // Move the sprites - // [161] phi from main::@5 to plex_move [phi:main::@5->plex_move] + // [163] phi from main::@5 to plex_move [phi:main::@5->plex_move] plex_move_from___b5: - // [161] phi (byte*) scroll_text_next#27 = (const byte*) SCROLL_TEXT [phi:main::@5->plex_move#0] -- pbuz1=pbuc1 + // [163] phi (byte*) scroll_text_next#27 = (const byte*) SCROLL_TEXT [phi:main::@5->plex_move#0] -- pbuz1=pbuc1 lda #SCROLL_TEXT sta.z scroll_text_next+1 - // [161] phi (byte) x_movement_idx#11 = (byte) 0 [phi:main::@5->plex_move#1] -- vbuz1=vbuc1 + // [163] phi (byte) x_movement_idx#11 = (byte) 0 [phi:main::@5->plex_move#1] -- vbuz1=vbuc1 lda #0 sta.z x_movement_idx - // [161] phi (byte) y_sin_idx#11 = (byte) 0 [phi:main::@5->plex_move#2] -- vbuz1=vbuc1 + // [163] phi (byte) y_sin_idx#11 = (byte) 0 [phi:main::@5->plex_move#2] -- vbuz1=vbuc1 lda #0 sta.z y_sin_idx jsr plex_move @@ -3874,7 +3880,7 @@ main: { __b11: // [45] call plexSort // Sort the sprites by y-position - // [184] phi from main::@11 to plexSort [phi:main::@11->plexSort] + // [186] phi from main::@11 to plexSort [phi:main::@11->plexSort] plexSort_from___b11: jsr plexSort jmp __b12 @@ -3927,11 +3933,11 @@ main: { // [56] call plex_move //*BORDER_COLOR = RED; // Move the sprites - // [161] phi from main::@7 to plex_move [phi:main::@7->plex_move] + // [163] phi from main::@7 to plex_move [phi:main::@7->plex_move] plex_move_from___b7: - // [161] phi (byte*) scroll_text_next#27 = (byte*) scroll_text_next#14 [phi:main::@7->plex_move#0] -- register_copy - // [161] phi (byte) x_movement_idx#11 = (byte) x_movement_idx#13 [phi:main::@7->plex_move#1] -- register_copy - // [161] phi (byte) y_sin_idx#11 = (byte) y_sin_idx#13 [phi:main::@7->plex_move#2] -- register_copy + // [163] phi (byte*) scroll_text_next#27 = (byte*) scroll_text_next#14 [phi:main::@7->plex_move#0] -- register_copy + // [163] phi (byte) x_movement_idx#11 = (byte) x_movement_idx#13 [phi:main::@7->plex_move#1] -- register_copy + // [163] phi (byte) y_sin_idx#11 = (byte) y_sin_idx#13 [phi:main::@7->plex_move#2] -- register_copy jsr plex_move // [57] phi from main::@7 to main::@13 [phi:main::@7->main::@13] __b13_from___b7: @@ -3940,7 +3946,7 @@ main: { __b13: // [58] call plexSort // Sort the sprites by y-position - // [184] phi from main::@13 to plexSort [phi:main::@13->plexSort] + // [186] phi from main::@13 to plexSort [phi:main::@13->plexSort] plexSort_from___b13: jsr plexSort jmp __b6 @@ -4125,10 +4131,12 @@ font_2x2: { .label __1 = $43 .label __5 = $44 .label __7 = $48 + .label __10 = $4a .label __11 = $4b - .label __12 = $4a - .label __14 = $4d - .label __15 = $4c + .label __12 = $4c + .label __13 = $4d + .label __14 = $4e + .label __15 = $4f .label next_2x2_left = 7 .label next_2x2_right = $10 .label glyph_bits = $12 @@ -4288,50 +4296,56 @@ font_2x2: { jmp __b6 // font_2x2::@6 __b6: - // [109] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_hi_vwuz2 + // [109] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_hi_vwuz2 lda.z glyph_bits_2x2_1+1 - sta.z __12 - // [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuz3 + sta.z __10 + // [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 -- pbuz1_derefidx_vbuz2=vbuz3 // Put the generated 2x2-line into the 2x2-font twice - lda.z __12 + lda.z __10 ldy.z l2 sta (next_2x2_left_1),y // [111] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuz1=vbuz2_plus_1 ldy.z l2 iny sty.z __11 - // [112] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuz3 + // [112] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_hi_vwuz2 + lda.z glyph_bits_2x2_1+1 + sta.z __12 + // [113] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuz3 lda.z __12 ldy.z __11 sta (next_2x2_left_1),y - // [113] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_lo_vwuz2 + // [114] (byte~) font_2x2::$13 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_lo_vwuz2 lda.z glyph_bits_2x2_1 - sta.z __15 - // [114] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuz2=vbuz3 - lda.z __15 + sta.z __13 + // [115] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$13 -- pbuz1_derefidx_vbuz2=vbuz3 + lda.z __13 ldy.z l2 sta (next_2x2_right),y - // [115] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuz1=vbuz2_plus_1 + // [116] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuz1=vbuz2_plus_1 ldy.z l2 iny sty.z __14 - // [116] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuz2=vbuz3 + // [117] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_lo_vwuz2 + lda.z glyph_bits_2x2_1 + sta.z __15 + // [118] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuz2=vbuz3 lda.z __15 ldy.z __14 sta (next_2x2_right),y - // [117] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 -- vbuz1=vbuz1_plus_2 + // [119] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 -- vbuz1=vbuz1_plus_2 lda.z l2 clc adc #2 sta.z l2 - // [118] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 -- vbuz1_neq_vbuc1_then_la1 + // [120] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l2 bne __b8_from___b6 jmp __b7 // font_2x2::@7 __b7: - // [119] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [121] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$80*8 @@ -4339,7 +4353,7 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$80*8 sta.z next_2x2_left_1+1 - // [120] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [122] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$c0*8 @@ -4347,32 +4361,32 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$c0*8 sta.z next_2x2_right+1 - // [121] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] + // [123] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] __b8_from___b7: - // [121] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy - // [121] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 + // [123] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy + // [123] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 lda #0 sta.z l2 - // [121] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy + // [123] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy jmp __b8 - // [121] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] + // [123] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] __b8_from___b6: - // [121] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy - // [121] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy - // [121] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy + // [123] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy + // [123] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy + // [123] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy jmp __b8 // font_2x2::@8 __b8: - // [122] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 + // [124] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [123] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 + // [125] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l bne __b2_from___b8 jmp __b9 // font_2x2::@9 __b9: - // [124] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [126] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_2x2 @@ -4380,7 +4394,7 @@ font_2x2: { bcc !+ inc.z next_2x2+1 !: - // [125] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [127] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_original @@ -4388,16 +4402,16 @@ font_2x2: { bcc !+ inc.z next_original+1 !: - // [126] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 + // [128] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 inc.z c - // [127] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [129] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$40 cmp.z c bne __b1_from___b9 jmp __breturn // font_2x2::@return __breturn: - // [128] return + // [130] return rts } // font_2x2_to_sprites @@ -4407,46 +4421,46 @@ font_2x2: { // - num_chars The number of chars to convert font_2x2_to_sprites: { .const num_chars = $40 - .label __3 = $4e + .label __3 = $50 .label char_right = $20 - .label sprite_idx = $4f - .label sprite_idx_1 = $50 + .label sprite_idx = $51 + .label sprite_idx_1 = $52 .label sprite_idx_2 = $1f .label char_left = $1d .label i = $1c .label char_current = $18 .label sprite = $1a .label c = $17 - // [130] phi from font_2x2_to_sprites to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1] + // [132] phi from font_2x2_to_sprites to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1] __b1_from_font_2x2_to_sprites: - // [130] phi (byte*) font_2x2_to_sprites::sprite#4 = (const nomodify byte*) SPRITES [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#0] -- pbuz1=pbuc1 + // [132] phi (byte*) font_2x2_to_sprites::sprite#4 = (const nomodify byte*) SPRITES [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#0] -- pbuz1=pbuc1 lda #SPRITES sta.z sprite+1 - // [130] phi (byte*) font_2x2_to_sprites::char_current#2 = (const byte*) FONT [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#1] -- pbuz1=pbuc1 + // [132] phi (byte*) font_2x2_to_sprites::char_current#2 = (const byte*) FONT [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#1] -- pbuz1=pbuc1 lda #FONT sta.z char_current+1 - // [130] phi (byte) font_2x2_to_sprites::c#2 = (byte) 0 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#2] -- vbuz1=vbuc1 + // [132] phi (byte) font_2x2_to_sprites::c#2 = (byte) 0 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#2] -- vbuz1=vbuc1 lda #0 sta.z c jmp __b1 // font_2x2_to_sprites::@1 __b1: - // [131] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2 -- vbuz1_lt_vbuc1_then_la1 + // [133] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2 -- vbuz1_lt_vbuc1_then_la1 lda.z c cmp #num_chars bcc __b2 jmp __breturn // font_2x2_to_sprites::@return __breturn: - // [132] return + // [134] return rts // font_2x2_to_sprites::@2 __b2: - // [133] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [135] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z char_current clc adc #<$40*8 @@ -4454,108 +4468,108 @@ font_2x2_to_sprites: { lda.z char_current+1 adc #>$40*8 sta.z char_right+1 - // [134] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 -- pbuz1=pbuz2 + // [136] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 -- pbuz1=pbuz2 lda.z char_current sta.z char_left lda.z char_current+1 sta.z char_left+1 - // [135] phi from font_2x2_to_sprites::@2 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3] + // [137] phi from font_2x2_to_sprites::@2 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3] __b3_from___b2: - // [135] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#0] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#1] -- vbuz1=vbuc1 + // [137] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#0] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#1] -- vbuz1=vbuc1 lda #0 sta.z sprite_idx_2 - // [135] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#6 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#2] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::i#2 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#3] -- vbuz1=vbuc1 + // [137] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#6 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#2] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::i#2 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#3] -- vbuz1=vbuc1 lda #0 sta.z i jmp __b3 - // [135] phi from font_2x2_to_sprites::@5 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3] + // [137] phi from font_2x2_to_sprites::@5 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3] __b3_from___b5: - // [135] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#0] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) font_2x2_to_sprites::sprite_idx#3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#1] -- register_copy - // [135] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#2] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::i#2 = (byte) font_2x2_to_sprites::i#1 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#3] -- register_copy + // [137] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#0] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) font_2x2_to_sprites::sprite_idx#3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#1] -- register_copy + // [137] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#2] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::i#2 = (byte) font_2x2_to_sprites::i#1 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#3] -- register_copy jmp __b3 // font_2x2_to_sprites::@3 __b3: - // [136] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 -- vbuz1=vbuz2_band_vbuc1 + // [138] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 -- vbuz1=vbuz2_band_vbuc1 lda #7 and.z i sta.z __3 - // [137] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 + // [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 ldy.z __3 lda (char_left),y ldy.z sprite_idx_2 sta (sprite),y - // [138] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 -- vbuz1=_inc_vbuz2 + // [140] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 -- vbuz1=_inc_vbuz2 ldy.z sprite_idx_2 iny sty.z sprite_idx - // [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 + // [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 ldy.z __3 lda (char_right),y ldy.z sprite_idx sta (sprite),y - // [140] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 -- vbuz1=_inc_vbuz2 + // [142] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 -- vbuz1=_inc_vbuz2 ldy.z sprite_idx iny sty.z sprite_idx_1 - // [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 -- pbuz1_derefidx_vbuz2=vbuc1 + // [143] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 -- pbuz1_derefidx_vbuz2=vbuc1 lda #0 ldy.z sprite_idx_1 sta (sprite),y - // [142] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 -- vbuz1=_inc_vbuz2 + // [144] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 -- vbuz1=_inc_vbuz2 ldy.z sprite_idx_1 iny sty.z sprite_idx_2 - // [143] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 -- vbuz1_eq_vbuc1_then_la1 + // [145] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 -- vbuz1_eq_vbuc1_then_la1 lda #7 cmp.z i beq __b4 jmp __b6 // font_2x2_to_sprites::@6 __b6: - // [144] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 -- vbuz1_neq_vbuc1_then_la1 + // [146] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 -- vbuz1_neq_vbuc1_then_la1 lda #$f cmp.z i bne __b8_from___b6 - // [146] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5] + // [148] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5] __b5_from___b6: - // [146] phi (byte*) font_2x2_to_sprites::char_right#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#0] -- pbuz1=pbuc1 + // [148] phi (byte*) font_2x2_to_sprites::char_right#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#0] -- pbuz1=pbuc1 lda #FONT+' '*8 sta.z char_right+1 - // [146] phi (byte*) font_2x2_to_sprites::char_left#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#1] -- pbuz1=pbuc1 + // [148] phi (byte*) font_2x2_to_sprites::char_left#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#1] -- pbuz1=pbuc1 lda #FONT+' '*8 sta.z char_left+1 jmp __b5 - // [145] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@8] + // [147] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@8] __b8_from___b6: jmp __b8 // font_2x2_to_sprites::@8 __b8: - // [146] phi from font_2x2_to_sprites::@4 font_2x2_to_sprites::@8 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5] + // [148] phi from font_2x2_to_sprites::@4 font_2x2_to_sprites::@8 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5] __b5_from___b4: __b5_from___b8: - // [146] phi (byte*) font_2x2_to_sprites::char_right#4 = (byte*) font_2x2_to_sprites::char_right#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#0] -- register_copy - // [146] phi (byte*) font_2x2_to_sprites::char_left#4 = (byte*) font_2x2_to_sprites::char_left#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#1] -- register_copy + // [148] phi (byte*) font_2x2_to_sprites::char_right#4 = (byte*) font_2x2_to_sprites::char_right#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#0] -- register_copy + // [148] phi (byte*) font_2x2_to_sprites::char_left#4 = (byte*) font_2x2_to_sprites::char_left#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#1] -- register_copy jmp __b5 // font_2x2_to_sprites::@5 __b5: - // [147] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 -- vbuz1=_inc_vbuz1 + // [149] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 -- vbuz1=_inc_vbuz1 inc.z i - // [148] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 -- vbuz1_neq_vbuc1_then_la1 + // [150] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 -- vbuz1_neq_vbuc1_then_la1 lda #$15 cmp.z i bne __b3_from___b5 jmp __b7 // font_2x2_to_sprites::@7 __b7: - // [149] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [151] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z char_current @@ -4563,7 +4577,7 @@ font_2x2_to_sprites: { bcc !+ inc.z char_current+1 !: - // [150] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 -- pbuz1=pbuz1_plus_vbuc1 + // [152] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 -- pbuz1=pbuz1_plus_vbuc1 lda #$40 clc adc.z sprite @@ -4571,17 +4585,17 @@ font_2x2_to_sprites: { bcc !+ inc.z sprite+1 !: - // [151] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2 -- vbuz1=_inc_vbuz1 + // [153] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2 -- vbuz1=_inc_vbuz1 inc.z c - // [130] phi from font_2x2_to_sprites::@7 to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1] + // [132] phi from font_2x2_to_sprites::@7 to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1] __b1_from___b7: - // [130] phi (byte*) font_2x2_to_sprites::sprite#4 = (byte*) font_2x2_to_sprites::sprite#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#0] -- register_copy - // [130] phi (byte*) font_2x2_to_sprites::char_current#2 = (byte*) font_2x2_to_sprites::char_current#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#1] -- register_copy - // [130] phi (byte) font_2x2_to_sprites::c#2 = (byte) font_2x2_to_sprites::c#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#2] -- register_copy + // [132] phi (byte*) font_2x2_to_sprites::sprite#4 = (byte*) font_2x2_to_sprites::sprite#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#0] -- register_copy + // [132] phi (byte*) font_2x2_to_sprites::char_current#2 = (byte*) font_2x2_to_sprites::char_current#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#1] -- register_copy + // [132] phi (byte) font_2x2_to_sprites::c#2 = (byte) font_2x2_to_sprites::c#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#2] -- register_copy jmp __b1 // font_2x2_to_sprites::@4 __b4: - // [152] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [154] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z char_current clc adc #<$80*8 @@ -4589,7 +4603,7 @@ font_2x2_to_sprites: { lda.z char_current+1 adc #>$80*8 sta.z char_left+1 - // [153] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [155] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z char_current clc adc #<$c0*8 @@ -4603,175 +4617,175 @@ font_2x2_to_sprites: { // Initialize the multiplexer data structures plexInit: { .label i = $22 - // [155] phi from plexInit to plexInit::plexSetScreen1 [phi:plexInit->plexInit::plexSetScreen1] + // [157] phi from plexInit to plexInit::plexSetScreen1 [phi:plexInit->plexInit::plexSetScreen1] plexSetScreen1_from_plexInit: jmp plexSetScreen1 // plexInit::plexSetScreen1 plexSetScreen1: - // [156] phi from plexInit::plexSetScreen1 to plexInit::@1 [phi:plexInit::plexSetScreen1->plexInit::@1] + // [158] phi from plexInit::plexSetScreen1 to plexInit::@1 [phi:plexInit::plexSetScreen1->plexInit::@1] __b1_from_plexSetScreen1: - // [156] phi (byte) plexInit::i#2 = (byte) 0 [phi:plexInit::plexSetScreen1->plexInit::@1#0] -- vbuz1=vbuc1 + // [158] phi (byte) plexInit::i#2 = (byte) 0 [phi:plexInit::plexSetScreen1->plexInit::@1#0] -- vbuz1=vbuc1 lda #0 sta.z i jmp __b1 - // [156] phi from plexInit::@1 to plexInit::@1 [phi:plexInit::@1->plexInit::@1] + // [158] phi from plexInit::@1 to plexInit::@1 [phi:plexInit::@1->plexInit::@1] __b1_from___b1: - // [156] phi (byte) plexInit::i#2 = (byte) plexInit::i#1 [phi:plexInit::@1->plexInit::@1#0] -- register_copy + // [158] phi (byte) plexInit::i#2 = (byte) plexInit::i#1 [phi:plexInit::@1->plexInit::@1#0] -- register_copy jmp __b1 // plexInit::@1 __b1: - // [157] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 -- pbuc1_derefidx_vbuz1=vbuz1 + // [159] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 -- pbuc1_derefidx_vbuz1=vbuz1 ldy.z i tya sta PLEX_SORTED_IDX,y - // [158] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 -- vbuz1=_inc_vbuz1 + // [160] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 -- vbuz1=_inc_vbuz1 inc.z i - // [159] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 -- vbuz1_neq_vbuc1_then_la1 + // [161] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 -- vbuz1_neq_vbuc1_then_la1 lda #PLEX_COUNT-1+1 cmp.z i bne __b1_from___b1 jmp __breturn // plexInit::@return __breturn: - // [160] return + // [162] return rts } // plex_move // Move the plex sprites in an Y-sine and scroll them to the left. plex_move: { - .label __4 = $54 - .label __6 = $51 + .label __4 = $56 + .label __6 = $53 .label y_idx = $25 .label x_idx = $27 .label s = $26 - .label __7 = $52 - // [162] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 -- vbuz1=vbuz2 + .label __7 = $54 + // [164] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 -- vbuz1=vbuz2 lda.z y_sin_idx sta.z y_idx - // [163] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 -- vbuz1=vbuz2 + // [165] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 -- vbuz1=vbuz2 lda.z x_movement_idx sta.z x_idx - // [164] phi from plex_move to plex_move::@1 [phi:plex_move->plex_move::@1] + // [166] phi from plex_move to plex_move::@1 [phi:plex_move->plex_move::@1] __b1_from_plex_move: - // [164] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#27 [phi:plex_move->plex_move::@1#0] -- register_copy - // [164] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#0 [phi:plex_move->plex_move::@1#1] -- register_copy - // [164] phi (byte) plex_move::s#2 = (byte) 0 [phi:plex_move->plex_move::@1#2] -- vbuz1=vbuc1 + // [166] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#27 [phi:plex_move->plex_move::@1#0] -- register_copy + // [166] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#0 [phi:plex_move->plex_move::@1#1] -- register_copy + // [166] phi (byte) plex_move::s#2 = (byte) 0 [phi:plex_move->plex_move::@1#2] -- vbuz1=vbuc1 lda #0 sta.z s - // [164] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#0 [phi:plex_move->plex_move::@1#3] -- register_copy + // [166] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#0 [phi:plex_move->plex_move::@1#3] -- register_copy jmp __b1 - // [164] phi from plex_move::@2 to plex_move::@1 [phi:plex_move::@2->plex_move::@1] + // [166] phi from plex_move::@2 to plex_move::@1 [phi:plex_move::@2->plex_move::@1] __b1_from___b2: - // [164] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#14 [phi:plex_move::@2->plex_move::@1#0] -- register_copy - // [164] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#1 [phi:plex_move::@2->plex_move::@1#1] -- register_copy - // [164] phi (byte) plex_move::s#2 = (byte) plex_move::s#1 [phi:plex_move::@2->plex_move::@1#2] -- register_copy - // [164] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#1 [phi:plex_move::@2->plex_move::@1#3] -- register_copy + // [166] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#14 [phi:plex_move::@2->plex_move::@1#0] -- register_copy + // [166] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#1 [phi:plex_move::@2->plex_move::@1#1] -- register_copy + // [166] phi (byte) plex_move::s#2 = (byte) plex_move::s#1 [phi:plex_move::@2->plex_move::@1#2] -- register_copy + // [166] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#1 [phi:plex_move::@2->plex_move::@1#3] -- register_copy jmp __b1 // plex_move::@1 __b1: - // [165] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz2 + // [167] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz2 // Assign sine value ldy.z y_idx lda YSIN,y ldy.z s sta PLEX_YPOS,y - // [166] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 + // [168] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 lax.z y_idx axs #-[8] stx.z y_idx - // [167] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 -- vbuz1=vbuz2_rol_1 + // [169] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 -- vbuz1=vbuz2_rol_1 lda.z s asl sta.z __6 - // [168] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + // [170] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy.z x_idx lda XMOVEMENT_HI,y sta.z __7+1 lda XMOVEMENT,y sta.z __7 - // [169] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 -- pwuc1_derefidx_vbuz1=vwuz2 + // [171] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 -- pwuc1_derefidx_vbuz1=vwuz2 ldy.z __6 lda.z __7 sta PLEX_XPOS,y lda.z __7+1 sta PLEX_XPOS+1,y - // [170] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 -- vbuz1_neq_0_then_la1 + // [172] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 -- vbuz1_neq_0_then_la1 lda.z x_idx cmp #0 bne __b2_from___b1 jmp __b4 // plex_move::@4 __b4: - // [171] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 -- _deref_pbuz1_neq_0_then_la1 + // [173] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 -- _deref_pbuz1_neq_0_then_la1 ldy #0 lda (scroll_text_next),y cmp #0 bne __b6_from___b4 - // [173] phi from plex_move::@4 to plex_move::@3 [phi:plex_move::@4->plex_move::@3] + // [175] phi from plex_move::@4 to plex_move::@3 [phi:plex_move::@4->plex_move::@3] __b3_from___b4: - // [173] phi (byte*) scroll_text_next#13 = (const byte*) SCROLL_TEXT [phi:plex_move::@4->plex_move::@3#0] -- pbuz1=pbuc1 + // [175] phi (byte*) scroll_text_next#13 = (const byte*) SCROLL_TEXT [phi:plex_move::@4->plex_move::@3#0] -- pbuz1=pbuc1 lda #SCROLL_TEXT sta.z scroll_text_next+1 jmp __b3 - // [172] phi from plex_move::@4 to plex_move::@6 [phi:plex_move::@4->plex_move::@6] + // [174] phi from plex_move::@4 to plex_move::@6 [phi:plex_move::@4->plex_move::@6] __b6_from___b4: jmp __b6 // plex_move::@6 __b6: - // [173] phi from plex_move::@6 to plex_move::@3 [phi:plex_move::@6->plex_move::@3] + // [175] phi from plex_move::@6 to plex_move::@3 [phi:plex_move::@6->plex_move::@3] __b3_from___b6: - // [173] phi (byte*) scroll_text_next#13 = (byte*) scroll_text_next#12 [phi:plex_move::@6->plex_move::@3#0] -- register_copy + // [175] phi (byte*) scroll_text_next#13 = (byte*) scroll_text_next#12 [phi:plex_move::@6->plex_move::@3#0] -- register_copy jmp __b3 // plex_move::@3 __b3: - // [174] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) -- vbuz1=vbuc1_plus__deref_pbuz2 + // [176] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) -- vbuz1=vbuc1_plus__deref_pbuz2 lda #SPRITE_0 clc ldy #0 adc (scroll_text_next),y sta.z __4 - // [175] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 -- pbuc1_derefidx_vbuz1=vbuz2 + // [177] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 -- pbuc1_derefidx_vbuz1=vbuz2 // Read next char from the scroll text lda.z __4 ldy.z s sta PLEX_PTR,y - // [176] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 -- pbuz1=_inc_pbuz1 + // [178] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 -- pbuz1=_inc_pbuz1 inc.z scroll_text_next bne !+ inc.z scroll_text_next+1 !: - // [177] phi from plex_move::@1 plex_move::@3 to plex_move::@2 [phi:plex_move::@1/plex_move::@3->plex_move::@2] + // [179] phi from plex_move::@1 plex_move::@3 to plex_move::@2 [phi:plex_move::@1/plex_move::@3->plex_move::@2] __b2_from___b1: __b2_from___b3: - // [177] phi (byte*) scroll_text_next#14 = (byte*) scroll_text_next#12 [phi:plex_move::@1/plex_move::@3->plex_move::@2#0] -- register_copy + // [179] phi (byte*) scroll_text_next#14 = (byte*) scroll_text_next#12 [phi:plex_move::@1/plex_move::@3->plex_move::@2#0] -- register_copy jmp __b2 // plex_move::@2 __b2: - // [178] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 + // [180] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 lax.z x_idx axs #-[8] stx.z x_idx - // [179] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 -- vbuz1=_inc_vbuz1 + // [181] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 -- vbuz1=_inc_vbuz1 inc.z s - // [180] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 -- vbuz1_neq_vbuc1_then_la1 + // [182] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 -- vbuz1_neq_vbuc1_then_la1 lda #PLEX_COUNT-1+1 cmp.z s bne __b1_from___b2 jmp __b5 // plex_move::@5 __b5: - // [181] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 -- vbuz1=vbuz1_plus_vbuc1 + // [183] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 -- vbuz1=vbuz1_plus_vbuc1 lax.z y_sin_idx axs #-[3] stx.z y_sin_idx - // [182] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 -- vbuz1=_inc_vbuz1 + // [184] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 -- vbuz1=_inc_vbuz1 inc.z x_movement_idx jmp __breturn // plex_move::@return __breturn: - // [183] return + // [185] return rts } // plexSort @@ -4785,33 +4799,33 @@ plex_move: { // elements before the marker are shifted right one at a time until encountering one smaller than the current one. // It is then inserted at the spot. Now the marker can move forward. plexSort: { - .label nxt_idx = $55 - .label nxt_y = $56 + .label nxt_idx = $57 + .label nxt_y = $58 .label m = $2a .label s = $2b - .label s_1 = $57 + .label s_1 = $59 .label plexFreePrepare1_s = $2c - // [185] phi from plexSort to plexSort::@1 [phi:plexSort->plexSort::@1] + // [187] phi from plexSort to plexSort::@1 [phi:plexSort->plexSort::@1] __b1_from_plexSort: - // [185] phi (byte) plexSort::m#2 = (byte) 0 [phi:plexSort->plexSort::@1#0] -- vbuz1=vbuc1 + // [187] phi (byte) plexSort::m#2 = (byte) 0 [phi:plexSort->plexSort::@1#0] -- vbuz1=vbuc1 lda #0 sta.z m jmp __b1 - // [185] phi from plexSort::@2 to plexSort::@1 [phi:plexSort::@2->plexSort::@1] + // [187] phi from plexSort::@2 to plexSort::@1 [phi:plexSort::@2->plexSort::@1] __b1_from___b2: - // [185] phi (byte) plexSort::m#2 = (byte) plexSort::m#1 [phi:plexSort::@2->plexSort::@1#0] -- register_copy + // [187] phi (byte) plexSort::m#2 = (byte) plexSort::m#1 [phi:plexSort::@2->plexSort::@1#0] -- register_copy jmp __b1 // plexSort::@1 __b1: - // [186] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [188] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z m lda PLEX_SORTED_IDX+1,y sta.z nxt_idx - // [187] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) -- vbuz1=pbuc1_derefidx_vbuz2 + // [189] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z nxt_idx lda PLEX_YPOS,y sta.z nxt_y - // [188] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1 + // [190] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1 lda.z nxt_y ldx.z m ldy PLEX_SORTED_IDX,x @@ -4820,30 +4834,30 @@ plexSort: { jmp __b5 // plexSort::@5 __b5: - // [189] (byte) plexSort::s#6 ← (byte) plexSort::m#2 -- vbuz1=vbuz2 + // [191] (byte) plexSort::s#6 ← (byte) plexSort::m#2 -- vbuz1=vbuz2 lda.z m sta.z s - // [190] phi from plexSort::@5 plexSort::@7 to plexSort::@3 [phi:plexSort::@5/plexSort::@7->plexSort::@3] + // [192] phi from plexSort::@5 plexSort::@7 to plexSort::@3 [phi:plexSort::@5/plexSort::@7->plexSort::@3] __b3_from___b5: __b3_from___b7: - // [190] phi (byte) plexSort::s#3 = (byte) plexSort::s#6 [phi:plexSort::@5/plexSort::@7->plexSort::@3#0] -- register_copy + // [192] phi (byte) plexSort::s#3 = (byte) plexSort::s#6 [phi:plexSort::@5/plexSort::@7->plexSort::@3#0] -- register_copy jmp __b3 // plexSort::@3 __b3: - // [191] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + // [193] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy.z s lda PLEX_SORTED_IDX,y sta PLEX_SORTED_IDX+1,y - // [192] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 -- vbuz1=_dec_vbuz1 + // [194] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 -- vbuz1=_dec_vbuz1 dec.z s - // [193] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4 -- vbuz1_eq_vbuc1_then_la1 + // [195] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4 -- vbuz1_eq_vbuc1_then_la1 lda #$ff cmp.z s beq __b4 jmp __b7 // plexSort::@7 __b7: - // [194] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1 + // [196] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1 lda.z nxt_y ldx.z s ldy PLEX_SORTED_IDX,x @@ -4852,73 +4866,73 @@ plexSort: { jmp __b4 // plexSort::@4 __b4: - // [195] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1 -- vbuz1=_inc_vbuz2 + // [197] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1 -- vbuz1=_inc_vbuz2 ldy.z s iny sty.z s_1 - // [196] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 -- pbuc1_derefidx_vbuz1=vbuz2 + // [198] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z nxt_idx ldy.z s_1 sta PLEX_SORTED_IDX,y jmp __b2 // plexSort::@2 __b2: - // [197] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2 -- vbuz1=_inc_vbuz1 + // [199] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2 -- vbuz1=_inc_vbuz1 inc.z m - // [198] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1 -- vbuz1_neq_vbuc1_then_la1 + // [200] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1 -- vbuz1_neq_vbuc1_then_la1 lda #PLEX_COUNT-2+1 cmp.z m bne __b1_from___b2 jmp __b6 // plexSort::@6 __b6: - // [199] (volatile byte) plex_show_idx ← (byte) 0 -- vbuz1=vbuc1 + // [201] (volatile byte) plex_show_idx ← (byte) 0 -- vbuz1=vbuc1 // Prepare for showing the sprites lda #0 sta.z plex_show_idx - // [200] (volatile byte) plex_sprite_idx ← (byte) 0 -- vbuz1=vbuc1 + // [202] (volatile byte) plex_sprite_idx ← (byte) 0 -- vbuz1=vbuc1 lda #0 sta.z plex_sprite_idx - // [201] (volatile byte) plex_sprite_msb ← (byte) 1 -- vbuz1=vbuc1 + // [203] (volatile byte) plex_sprite_msb ← (byte) 1 -- vbuz1=vbuc1 lda #1 sta.z plex_sprite_msb - // [202] phi from plexSort::@6 to plexSort::plexFreePrepare1 [phi:plexSort::@6->plexSort::plexFreePrepare1] + // [204] phi from plexSort::@6 to plexSort::plexFreePrepare1 [phi:plexSort::@6->plexSort::plexFreePrepare1] plexFreePrepare1_from___b6: jmp plexFreePrepare1 // plexSort::plexFreePrepare1 plexFreePrepare1: - // [203] phi from plexSort::plexFreePrepare1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1] + // [205] phi from plexSort::plexFreePrepare1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1] plexFreePrepare1___b1_from_plexFreePrepare1: - // [203] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) 0 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1#0] -- vbuz1=vbuc1 + // [205] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) 0 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1#0] -- vbuz1=vbuc1 lda #0 sta.z plexFreePrepare1_s jmp plexFreePrepare1___b1 - // [203] phi from plexSort::plexFreePrepare1_@1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1] + // [205] phi from plexSort::plexFreePrepare1_@1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1] plexFreePrepare1___b1_from_plexFreePrepare1___b1: - // [203] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) plexSort::plexFreePrepare1_s#1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1#0] -- register_copy + // [205] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) plexSort::plexFreePrepare1_s#1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1#0] -- register_copy jmp plexFreePrepare1___b1 // plexSort::plexFreePrepare1_@1 plexFreePrepare1___b1: - // [204] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 + // [206] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 ldy.z plexFreePrepare1_s sta PLEX_FREE_YPOS,y - // [205] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 -- vbuz1=_inc_vbuz1 + // [207] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 -- vbuz1=_inc_vbuz1 inc.z plexFreePrepare1_s - // [206] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 -- vbuz1_neq_vbuc1_then_la1 + // [208] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z plexFreePrepare1_s bne plexFreePrepare1___b1_from_plexFreePrepare1___b1 jmp plexFreePrepare1___b2 // plexSort::plexFreePrepare1_@2 plexFreePrepare1___b2: - // [207] (volatile byte) plex_free_next ← (byte) 0 -- vbuz1=vbuc1 + // [209] (volatile byte) plex_free_next ← (byte) 0 -- vbuz1=vbuc1 lda #0 sta.z plex_free_next jmp __breturn // plexSort::@return __breturn: - // [208] return + // [210] return rts } // File Data @@ -5022,61 +5036,61 @@ Removing always clobbered register reg byte a as potential for zp[1]:22 [ font_2 Statement [103] (word) font_2x2::glyph_bits_2x2#1 ← (word~) font_2x2::$5 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] { } ) always clobbers reg byte a Statement [104] (word~) font_2x2::$7 ← (word) font_2x2::glyph_bits_2x2#1 << (byte) 1 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] { } ) always clobbers reg byte a Statement [105] (word) font_2x2::glyph_bits_2x2#2 ← (word~) font_2x2::$7 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] { } ) always clobbers reg byte a -Statement [119] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a -Statement [120] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a -Statement [124] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a -Statement [125] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a -Statement [133] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] { } ) always clobbers reg byte a +Statement [121] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a +Statement [122] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a +Statement [126] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a +Statement [127] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a +Statement [135] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 ] -Statement [134] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] { } ) always clobbers reg byte a -Statement [137] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a +Statement [136] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] { } ) always clobbers reg byte a +Statement [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:28 [ font_2x2_to_sprites::i#2 font_2x2_to_sprites::i#1 ] Removing always clobbered register reg byte a as potential for zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 ] -Removing always clobbered register reg byte a as potential for zp[1]:78 [ font_2x2_to_sprites::$3 ] -Statement [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:79 [ font_2x2_to_sprites::sprite_idx#1 ] -Statement [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:80 [ font_2x2_to_sprites::sprite_idx#2 ] -Statement [149] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] { } ) always clobbers reg byte a -Statement [150] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] { } ) always clobbers reg byte a -Statement [152] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] { } ) always clobbers reg byte a -Statement [153] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] { } ) always clobbers reg byte a -Statement [165] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:80 [ font_2x2_to_sprites::$3 ] +Statement [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:81 [ font_2x2_to_sprites::sprite_idx#1 ] +Statement [143] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:82 [ font_2x2_to_sprites::sprite_idx#2 ] +Statement [151] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] { } ) always clobbers reg byte a +Statement [152] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] { } ) always clobbers reg byte a +Statement [154] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] { } ) always clobbers reg byte a +Statement [155] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] { } ) always clobbers reg byte a +Statement [167] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] Removing always clobbered register reg byte a as potential for zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] Removing always clobbered register reg byte a as potential for zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] -Statement [166] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [167] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [168] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:81 [ plex_move::$6 ] -Statement [169] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [171] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Statement [168] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [169] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [170] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:83 [ plex_move::$6 ] +Statement [171] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [173] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:35 [ y_sin_idx#11 y_sin_idx#13 ] Removing always clobbered register reg byte y as potential for zp[1]:36 [ x_movement_idx#11 x_movement_idx#13 ] Removing always clobbered register reg byte y as potential for zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] Removing always clobbered register reg byte y as potential for zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] Removing always clobbered register reg byte y as potential for zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] -Statement [174] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y -Statement [178] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x +Statement [176] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Statement [180] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x Removing always clobbered register reg byte x as potential for zp[1]:35 [ y_sin_idx#11 y_sin_idx#13 ] Removing always clobbered register reg byte x as potential for zp[1]:36 [ x_movement_idx#11 x_movement_idx#13 ] Removing always clobbered register reg byte x as potential for zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] Removing always clobbered register reg byte x as potential for zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] -Statement [180] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [181] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 [ x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] ( main:8::plex_move:43 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { } main:8::plex_move:56 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x -Statement [191] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } ) always clobbers reg byte a +Statement [182] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [183] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 [ x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] ( main:8::plex_move:43 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { } main:8::plex_move:56 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x +Statement [193] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:42 [ plexSort::m#2 plexSort::m#1 ] -Removing always clobbered register reg byte a as potential for zp[1]:85 [ plexSort::nxt_idx#0 ] -Removing always clobbered register reg byte a as potential for zp[1]:86 [ plexSort::nxt_y#0 ] +Removing always clobbered register reg byte a as potential for zp[1]:87 [ plexSort::nxt_idx#0 ] +Removing always clobbered register reg byte a as potential for zp[1]:88 [ plexSort::nxt_y#0 ] Removing always clobbered register reg byte a as potential for zp[1]:43 [ plexSort::s#3 plexSort::s#1 plexSort::s#6 ] -Statement [194] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } ) always clobbers reg byte a -Statement [196] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 [ plexSort::m#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } ) always clobbers reg byte a -Statement [199] (volatile byte) plex_show_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a -Statement [200] (volatile byte) plex_sprite_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a -Statement [201] (volatile byte) plex_sprite_msb ← (byte) 1 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a -Statement [204] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 [ plexSort::plexFreePrepare1_s#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } ) always clobbers reg byte a +Statement [196] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } ) always clobbers reg byte a +Statement [198] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 [ plexSort::m#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } ) always clobbers reg byte a +Statement [201] (volatile byte) plex_show_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [202] (volatile byte) plex_sprite_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [203] (volatile byte) plex_sprite_msb ← (byte) 1 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [206] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 [ plexSort::plexFreePrepare1_s#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:44 [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ] -Statement [207] (volatile byte) plex_free_next ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [209] (volatile byte) plex_free_next ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a Statement [1] (volatile byte) plex_show_idx ← (byte) 0 [ ] ( [ ] { } ) always clobbers reg byte a Statement [2] (volatile byte) plex_sprite_idx ← (byte) 0 [ ] ( [ ] { } ) always clobbers reg byte a Statement [3] (volatile byte) plex_sprite_msb ← (byte) 1 [ ] ( [ ] { } ) always clobbers reg byte a @@ -5131,44 +5145,44 @@ Statement [102] (word~) font_2x2::$5 ← (word) font_2x2::glyph_bits_2x2#3 << (b Statement [103] (word) font_2x2::glyph_bits_2x2#1 ← (word~) font_2x2::$5 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] { } ) always clobbers reg byte a Statement [104] (word~) font_2x2::$7 ← (word) font_2x2::glyph_bits_2x2#1 << (byte) 1 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] { } ) always clobbers reg byte a Statement [105] (word) font_2x2::glyph_bits_2x2#2 ← (word~) font_2x2::$7 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] { } ) always clobbers reg byte a -Statement [119] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a -Statement [120] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a -Statement [124] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a -Statement [125] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a -Statement [133] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] { } ) always clobbers reg byte a -Statement [134] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] { } ) always clobbers reg byte a -Statement [136] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a -Statement [137] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a -Statement [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] { } ) always clobbers reg byte a -Statement [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] { } ) always clobbers reg byte a -Statement [149] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] { } ) always clobbers reg byte a -Statement [150] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] { } ) always clobbers reg byte a -Statement [152] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] { } ) always clobbers reg byte a -Statement [153] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] { } ) always clobbers reg byte a -Statement [162] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [165] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y -Statement [166] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x +Statement [121] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a +Statement [122] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a +Statement [126] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a +Statement [127] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a +Statement [135] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] { } ) always clobbers reg byte a +Statement [136] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] { } ) always clobbers reg byte a +Statement [138] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a +Statement [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a +Statement [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] { } ) always clobbers reg byte a +Statement [143] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] { } ) always clobbers reg byte a +Statement [151] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] { } ) always clobbers reg byte a +Statement [152] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] { } ) always clobbers reg byte a +Statement [154] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] { } ) always clobbers reg byte a +Statement [155] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] { } ) always clobbers reg byte a +Statement [164] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [167] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Statement [168] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x Removing always clobbered register reg byte x as potential for zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] -Statement [167] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [168] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp[1]:81 [ plex_move::$6 ] -Statement [169] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [170] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [171] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y -Statement [174] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y -Statement [175] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte y -Statement [178] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x -Statement [180] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [181] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 [ x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] ( main:8::plex_move:43 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { } main:8::plex_move:56 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x -Statement [188] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] { } ) always clobbers reg byte a -Statement [191] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } ) always clobbers reg byte a -Statement [194] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } ) always clobbers reg byte a -Statement [196] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 [ plexSort::m#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } ) always clobbers reg byte a -Statement [199] (volatile byte) plex_show_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a -Statement [200] (volatile byte) plex_sprite_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a -Statement [201] (volatile byte) plex_sprite_msb ← (byte) 1 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a -Statement [204] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 [ plexSort::plexFreePrepare1_s#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } ) always clobbers reg byte a -Statement [207] (volatile byte) plex_free_next ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [169] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [170] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp[1]:83 [ plex_move::$6 ] +Statement [171] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [172] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [173] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Statement [176] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Statement [177] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte y +Statement [180] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x +Statement [182] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [183] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 [ x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] ( main:8::plex_move:43 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { } main:8::plex_move:56 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x +Statement [190] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] { } ) always clobbers reg byte a +Statement [193] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } ) always clobbers reg byte a +Statement [196] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } ) always clobbers reg byte a +Statement [198] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 [ plexSort::m#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } ) always clobbers reg byte a +Statement [201] (volatile byte) plex_show_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [202] (volatile byte) plex_sprite_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [203] (volatile byte) plex_sprite_msb ← (byte) 1 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [206] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 [ plexSort::plexFreePrepare1_s#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } ) always clobbers reg byte a +Statement [209] (volatile byte) plex_free_next ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a Statement [1] (volatile byte) plex_show_idx ← (byte) 0 [ ] ( [ ] { } ) always clobbers reg byte a Statement [2] (volatile byte) plex_sprite_idx ← (byte) 0 [ ] ( [ ] { } ) always clobbers reg byte a Statement [3] (volatile byte) plex_sprite_msb ← (byte) 1 [ ] ( [ ] { } ) always clobbers reg byte a @@ -5222,43 +5236,43 @@ Statement [102] (word~) font_2x2::$5 ← (word) font_2x2::glyph_bits_2x2#3 << (b Statement [103] (word) font_2x2::glyph_bits_2x2#1 ← (word~) font_2x2::$5 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] { } ) always clobbers reg byte a Statement [104] (word~) font_2x2::$7 ← (word) font_2x2::glyph_bits_2x2#1 << (byte) 1 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] { } ) always clobbers reg byte a Statement [105] (word) font_2x2::glyph_bits_2x2#2 ← (word~) font_2x2::$7 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] { } ) always clobbers reg byte a -Statement [119] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a -Statement [120] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a -Statement [124] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a -Statement [125] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a -Statement [133] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] { } ) always clobbers reg byte a -Statement [134] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] { } ) always clobbers reg byte a -Statement [136] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a -Statement [137] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a -Statement [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] { } ) always clobbers reg byte a -Statement [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] { } ) always clobbers reg byte a -Statement [149] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] { } ) always clobbers reg byte a -Statement [150] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] { } ) always clobbers reg byte a -Statement [152] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] { } ) always clobbers reg byte a -Statement [153] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] { } ) always clobbers reg byte a -Statement [162] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [163] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 plex_move::x_idx#0 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 plex_move::x_idx#0 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 plex_move::x_idx#0 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [165] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y -Statement [166] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x -Statement [167] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [168] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y -Statement [169] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [170] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [171] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y -Statement [174] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y -Statement [175] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte y -Statement [178] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x -Statement [180] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a -Statement [181] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 [ x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] ( main:8::plex_move:43 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { } main:8::plex_move:56 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x -Statement [188] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] { } ) always clobbers reg byte a -Statement [191] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } ) always clobbers reg byte a -Statement [194] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } ) always clobbers reg byte a -Statement [196] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 [ plexSort::m#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } ) always clobbers reg byte a -Statement [199] (volatile byte) plex_show_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a -Statement [200] (volatile byte) plex_sprite_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a -Statement [201] (volatile byte) plex_sprite_msb ← (byte) 1 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a -Statement [204] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 [ plexSort::plexFreePrepare1_s#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } ) always clobbers reg byte a -Statement [207] (volatile byte) plex_free_next ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [121] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a +Statement [122] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a +Statement [126] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a +Statement [127] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( main:8::font_2x2:27 [ frame_done font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a +Statement [135] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 ] { } ) always clobbers reg byte a +Statement [136] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_left#6 ] { } ) always clobbers reg byte a +Statement [138] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a +Statement [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::$3 ] { } ) always clobbers reg byte a +Statement [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#1 ] { } ) always clobbers reg byte a +Statement [143] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::sprite_idx#2 ] { } ) always clobbers reg byte a +Statement [151] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::char_current#1 ] { } ) always clobbers reg byte a +Statement [152] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#1 font_2x2_to_sprites::sprite#1 ] { } ) always clobbers reg byte a +Statement [154] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 ] { } ) always clobbers reg byte a +Statement [155] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] ( main:8::font_2x2_to_sprites:30 [ frame_done font_2x2_to_sprites::c#2 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::i#2 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::char_left#1 font_2x2_to_sprites::char_right#1 ] { } ) always clobbers reg byte a +Statement [164] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [165] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 plex_move::x_idx#0 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 plex_move::x_idx#0 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#27 plex_move::y_idx#0 plex_move::x_idx#0 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [167] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::y_idx#2 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Statement [168] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x +Statement [169] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [170] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 plex_move::$6 plex_move::$7 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Statement [171] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [172] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [173] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 scroll_text_next#12 plex_move::y_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Statement [176] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 plex_move::$4 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte y +Statement [177] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 [ y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 plex_move::s#2 plex_move::x_idx#2 plex_move::y_idx#1 scroll_text_next#13 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte y +Statement [180] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::s#2 plex_move::y_idx#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x +Statement [182] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 [ y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] ( main:8::plex_move:43 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { } main:8::plex_move:56 [ frame_done y_sin_idx#11 x_movement_idx#11 scroll_text_next#14 plex_move::y_idx#1 plex_move::s#1 plex_move::x_idx#1 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a +Statement [183] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 [ x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] ( main:8::plex_move:43 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { } main:8::plex_move:56 [ frame_done x_movement_idx#11 y_sin_idx#13 scroll_text_next#14 ] { { y_sin_idx#11 = y_sin_idx#13 } { x_movement_idx#11 = x_movement_idx#13 } { scroll_text_next#14 = scroll_text_next#27 } } ) always clobbers reg byte a reg byte x +Statement [190] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 ] { } ) always clobbers reg byte a +Statement [193] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#3 ] { } ) always clobbers reg byte a +Statement [196] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 [ plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 plexSort::nxt_idx#0 plexSort::nxt_y#0 plexSort::s#1 ] { } ) always clobbers reg byte a +Statement [198] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 [ plexSort::m#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::m#2 ] { } ) always clobbers reg byte a +Statement [201] (volatile byte) plex_show_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [202] (volatile byte) plex_sprite_idx ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [203] (volatile byte) plex_sprite_msb ← (byte) 1 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a +Statement [206] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 [ plexSort::plexFreePrepare1_s#2 ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 plexSort::plexFreePrepare1_s#2 ] { } ) always clobbers reg byte a +Statement [209] (volatile byte) plex_free_next ← (byte) 0 [ ] ( main:8::plexSort:45 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } main:8::plexSort:58 [ frame_done y_sin_idx#13 x_movement_idx#13 scroll_text_next#14 ] { } ) always clobbers reg byte a Potential registers zp[2]:2 [ PLEX_SCREEN_PTR#31 ] : zp[2]:2 , Potential registers zp[1]:4 [ main::s#2 main::s#1 ] : zp[1]:4 , reg byte x , reg byte y , Potential registers zp[1]:5 [ main::x#2 main::x#1 ] : zp[1]:5 , reg byte x , reg byte y , @@ -5316,26 +5330,28 @@ Potential registers zp[1]:67 [ font_2x2::$1 ] : zp[1]:67 , reg byte a , reg byte Potential registers zp[2]:68 [ font_2x2::$5 ] : zp[2]:68 , Potential registers zp[2]:70 [ font_2x2::glyph_bits_2x2#1 ] : zp[2]:70 , Potential registers zp[2]:72 [ font_2x2::$7 ] : zp[2]:72 , -Potential registers zp[1]:74 [ font_2x2::$12 ] : zp[1]:74 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:74 [ font_2x2::$10 ] : zp[1]:74 , reg byte a , reg byte x , reg byte y , Potential registers zp[1]:75 [ font_2x2::$11 ] : zp[1]:75 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:76 [ font_2x2::$15 ] : zp[1]:76 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:77 [ font_2x2::$14 ] : zp[1]:77 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:78 [ font_2x2_to_sprites::$3 ] : zp[1]:78 , reg byte x , reg byte y , -Potential registers zp[1]:79 [ font_2x2_to_sprites::sprite_idx#1 ] : zp[1]:79 , reg byte x , reg byte y , -Potential registers zp[1]:80 [ font_2x2_to_sprites::sprite_idx#2 ] : zp[1]:80 , reg byte x , reg byte y , -Potential registers zp[1]:81 [ plex_move::$6 ] : zp[1]:81 , reg byte x , -Potential registers zp[2]:82 [ plex_move::$7 ] : zp[2]:82 , -Potential registers zp[1]:84 [ plex_move::$4 ] : zp[1]:84 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:85 [ plexSort::nxt_idx#0 ] : zp[1]:85 , reg byte x , reg byte y , -Potential registers zp[1]:86 [ plexSort::nxt_y#0 ] : zp[1]:86 , reg byte x , reg byte y , -Potential registers zp[1]:87 [ plexSort::s#2 ] : zp[1]:87 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:76 [ font_2x2::$12 ] : zp[1]:76 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:77 [ font_2x2::$13 ] : zp[1]:77 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:78 [ font_2x2::$14 ] : zp[1]:78 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:79 [ font_2x2::$15 ] : zp[1]:79 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:80 [ font_2x2_to_sprites::$3 ] : zp[1]:80 , reg byte x , reg byte y , +Potential registers zp[1]:81 [ font_2x2_to_sprites::sprite_idx#1 ] : zp[1]:81 , reg byte x , reg byte y , +Potential registers zp[1]:82 [ font_2x2_to_sprites::sprite_idx#2 ] : zp[1]:82 , reg byte x , reg byte y , +Potential registers zp[1]:83 [ plex_move::$6 ] : zp[1]:83 , reg byte x , +Potential registers zp[2]:84 [ plex_move::$7 ] : zp[2]:84 , +Potential registers zp[1]:86 [ plex_move::$4 ] : zp[1]:86 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:87 [ plexSort::nxt_idx#0 ] : zp[1]:87 , reg byte x , reg byte y , +Potential registers zp[1]:88 [ plexSort::nxt_y#0 ] : zp[1]:88 , reg byte x , reg byte y , +Potential registers zp[1]:89 [ plexSort::s#2 ] : zp[1]:89 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [plexSort] 3,616,672.83: zp[1]:43 [ plexSort::s#3 plexSort::s#1 plexSort::s#6 ] 300,003: zp[1]:44 [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ] 200,002: zp[1]:87 [ plexSort::s#2 ] 191,668.58: zp[1]:42 [ plexSort::m#2 plexSort::m#1 ] 150,000.38: zp[1]:86 [ plexSort::nxt_y#0 ] 30,000.3: zp[1]:85 [ plexSort::nxt_idx#0 ] -Uplift Scope [font_2x2] 200,002: zp[1]:67 [ font_2x2::$1 ] 200,002: zp[2]:68 [ font_2x2::$5 ] 200,002: zp[2]:70 [ font_2x2::glyph_bits_2x2#1 ] 200,002: zp[2]:72 [ font_2x2::$7 ] 170,001.7: zp[1]:21 [ font_2x2::b#2 font_2x2::b#1 ] 121,114.22: zp[1]:18 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] 67,500.9: zp[2]:19 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] 50,000.5: zp[1]:22 [ font_2x2::glyph_bit#0 ] 32,712.54: zp[2]:16 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] 24,396.38: zp[1]:15 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] 23,712.54: zp[2]:13 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] 20,002: zp[1]:75 [ font_2x2::$11 ] 20,002: zp[1]:77 [ font_2x2::$14 ] 16,112.72: zp[1]:12 [ font_2x2::l#2 font_2x2::l#1 ] 10,001: zp[1]:74 [ font_2x2::$12 ] 10,001: zp[1]:76 [ font_2x2::$15 ] 1,560.38: zp[1]:11 [ font_2x2::c#11 font_2x2::c#1 ] 1,250.69: zp[2]:7 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] 1,031.06: zp[2]:9 [ font_2x2::next_original#4 font_2x2::next_original#1 ] -Uplift Scope [plex_move] 200,002: zp[2]:82 [ plex_move::$7 ] 200,002: zp[1]:84 [ plex_move::$4 ] 183,335.17: zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] 164,836.47: zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] 104,455.48: zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] 100,001: zp[1]:81 [ plex_move::$6 ] +Uplift Scope [plexSort] 3,616,672.83: zp[1]:43 [ plexSort::s#3 plexSort::s#1 plexSort::s#6 ] 300,003: zp[1]:44 [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ] 200,002: zp[1]:89 [ plexSort::s#2 ] 191,668.58: zp[1]:42 [ plexSort::m#2 plexSort::m#1 ] 150,000.38: zp[1]:88 [ plexSort::nxt_y#0 ] 30,000.3: zp[1]:87 [ plexSort::nxt_idx#0 ] +Uplift Scope [font_2x2] 200,002: zp[1]:67 [ font_2x2::$1 ] 200,002: zp[2]:68 [ font_2x2::$5 ] 200,002: zp[2]:70 [ font_2x2::glyph_bits_2x2#1 ] 200,002: zp[2]:72 [ font_2x2::$7 ] 170,001.7: zp[1]:21 [ font_2x2::b#2 font_2x2::b#1 ] 121,114.22: zp[1]:18 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] 60,000.9: zp[2]:19 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] 50,000.5: zp[1]:22 [ font_2x2::glyph_bit#0 ] 32,581.12: zp[2]:16 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] 24,169.08: zp[1]:15 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] 23,581.12: zp[2]:13 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] 20,002: zp[1]:74 [ font_2x2::$10 ] 20,002: zp[1]:76 [ font_2x2::$12 ] 20,002: zp[1]:77 [ font_2x2::$13 ] 20,002: zp[1]:79 [ font_2x2::$15 ] 16,036.09: zp[1]:12 [ font_2x2::l#2 font_2x2::l#1 ] 10,001: zp[1]:75 [ font_2x2::$11 ] 10,001: zp[1]:78 [ font_2x2::$14 ] 1,557.11: zp[1]:11 [ font_2x2::c#11 font_2x2::c#1 ] 1,206.56: zp[2]:7 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] 1,010.28: zp[2]:9 [ font_2x2::next_original#4 font_2x2::next_original#1 ] +Uplift Scope [plex_move] 200,002: zp[2]:84 [ plex_move::$7 ] 200,002: zp[1]:86 [ plex_move::$4 ] 183,335.17: zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] 164,836.47: zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] 104,455.48: zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] 100,001: zp[1]:83 [ plex_move::$6 ] Uplift Scope [] 357,974.44: zp[2]:40 [ scroll_text_next#13 scroll_text_next#12 scroll_text_next#27 scroll_text_next#14 scroll_text_next#3 ] 163.15: zp[1]:35 [ y_sin_idx#11 y_sin_idx#13 ] 161.37: zp[1]:36 [ x_movement_idx#11 x_movement_idx#13 ] 47.32: zp[1]:47 [ plex_sprite_msb ] 44.74: zp[1]:45 [ plex_show_idx ] 43.97: zp[1]:46 [ plex_sprite_idx ] 41.16: zp[1]:48 [ plex_free_next ] 26.33: zp[1]:49 [ frame_done ] 2.97: zp[2]:2 [ PLEX_SCREEN_PTR#31 ] -Uplift Scope [font_2x2_to_sprites] 33,822.55: zp[2]:32 [ font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_right#4 font_2x2_to_sprites::char_right#1 ] 24,822.55: zp[2]:29 [ font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::char_left#4 font_2x2_to_sprites::char_left#1 ] 18,573.29: zp[1]:28 [ font_2x2_to_sprites::i#2 font_2x2_to_sprites::i#1 ] 15,001.5: zp[1]:79 [ font_2x2_to_sprites::sprite_idx#1 ] 15,001.5: zp[1]:80 [ font_2x2_to_sprites::sprite_idx#2 ] 12,223.44: zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 ] 10,001: zp[1]:78 [ font_2x2_to_sprites::$3 ] 2,525.05: zp[2]:26 [ font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::sprite#1 ] 2,138.5: zp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 ] 1,867.63: zp[2]:24 [ font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 ] +Uplift Scope [font_2x2_to_sprites] 33,822.55: zp[2]:32 [ font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_right#4 font_2x2_to_sprites::char_right#1 ] 24,822.55: zp[2]:29 [ font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::char_left#4 font_2x2_to_sprites::char_left#1 ] 18,573.29: zp[1]:28 [ font_2x2_to_sprites::i#2 font_2x2_to_sprites::i#1 ] 15,001.5: zp[1]:81 [ font_2x2_to_sprites::sprite_idx#1 ] 15,001.5: zp[1]:82 [ font_2x2_to_sprites::sprite_idx#2 ] 12,223.44: zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 ] 10,001: zp[1]:80 [ font_2x2_to_sprites::$3 ] 2,525.05: zp[2]:26 [ font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::sprite#1 ] 2,138.5: zp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 ] 1,867.63: zp[2]:24 [ font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 ] Uplift Scope [plexInit] 3,503.5: zp[1]:34 [ plexInit::i#2 plexInit::i#1 ] Uplift Scope [plexShowSprite] 202: zp[1]:57 [ plexShowSprite::plexFreeAdd1_$0 ] 202: zp[1]:58 [ plexShowSprite::plexFreeAdd1_$1 ] 202: zp[1]:59 [ plexShowSprite::plexFreeAdd1_$2 ] 202: zp[1]:60 [ plexShowSprite::xpos_idx#0 ] 202: zp[1]:62 [ plexShowSprite::$2 ] 202: zp[1]:63 [ plexShowSprite::$3 ] 202: zp[1]:64 [ plexShowSprite::$9 ] 202: zp[1]:65 [ plexShowSprite::$5 ] 202: zp[1]:66 [ plexShowSprite::$6 ] 151.5: zp[1]:56 [ plexShowSprite::plexFreeAdd1_ypos#0 ] 101: zp[1]:61 [ plexShowSprite::$11 ] 25.25: zp[1]:55 [ plexShowSprite::plex_sprite_idx2#0 ] Uplift Scope [main] 303: zp[1]:6 [ main::s1#2 main::s1#1 ] 274.14: zp[1]:4 [ main::s#2 main::s#1 ] 202: zp[2]:53 [ main::$13 ] 168.33: zp[1]:5 [ main::x#2 main::x#1 ] 101: zp[1]:52 [ main::$12 ] @@ -5345,96 +5361,100 @@ Uplift Scope [MOS6569_VICII] Uplift Scope [MOS6581_SID] Uplift Scope [__start] -Uplifting [plexSort] best 251380 combination reg byte x [ plexSort::s#3 plexSort::s#1 plexSort::s#6 ] reg byte x [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ] reg byte x [ plexSort::s#2 ] zp[1]:42 [ plexSort::m#2 plexSort::m#1 ] zp[1]:86 [ plexSort::nxt_y#0 ] zp[1]:85 [ plexSort::nxt_idx#0 ] +Uplifting [plexSort] best 252580 combination reg byte x [ plexSort::s#3 plexSort::s#1 plexSort::s#6 ] reg byte x [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ] reg byte x [ plexSort::s#2 ] zp[1]:42 [ plexSort::m#2 plexSort::m#1 ] zp[1]:88 [ plexSort::nxt_y#0 ] zp[1]:87 [ plexSort::nxt_idx#0 ] Limited combination testing to 100 combinations of 972 possible. -Uplifting [font_2x2] best 228380 combination reg byte a [ font_2x2::$1 ] zp[2]:68 [ font_2x2::$5 ] zp[2]:70 [ font_2x2::glyph_bits_2x2#1 ] zp[2]:72 [ font_2x2::$7 ] reg byte y [ font_2x2::b#2 font_2x2::b#1 ] zp[1]:18 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] zp[2]:19 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] reg byte x [ font_2x2::glyph_bit#0 ] zp[2]:16 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] zp[1]:15 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] zp[2]:13 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] zp[1]:75 [ font_2x2::$11 ] zp[1]:77 [ font_2x2::$14 ] zp[1]:12 [ font_2x2::l#2 font_2x2::l#1 ] zp[1]:74 [ font_2x2::$12 ] zp[1]:76 [ font_2x2::$15 ] zp[1]:11 [ font_2x2::c#11 font_2x2::c#1 ] zp[2]:7 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] zp[2]:9 [ font_2x2::next_original#4 font_2x2::next_original#1 ] -Limited combination testing to 100 combinations of 746496 possible. -Uplifting [plex_move] best 227380 combination zp[2]:82 [ plex_move::$7 ] reg byte a [ plex_move::$4 ] zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] reg byte x [ plex_move::$6 ] -Uplifting [] best 227380 combination zp[2]:40 [ scroll_text_next#13 scroll_text_next#12 scroll_text_next#27 scroll_text_next#14 scroll_text_next#3 ] zp[1]:35 [ y_sin_idx#11 y_sin_idx#13 ] zp[1]:36 [ x_movement_idx#11 x_movement_idx#13 ] zp[1]:47 [ plex_sprite_msb ] zp[1]:45 [ plex_show_idx ] zp[1]:46 [ plex_sprite_idx ] zp[1]:48 [ plex_free_next ] zp[1]:49 [ frame_done ] zp[2]:2 [ PLEX_SCREEN_PTR#31 ] -Uplifting [font_2x2_to_sprites] best 224680 combination zp[2]:32 [ font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_right#4 font_2x2_to_sprites::char_right#1 ] zp[2]:29 [ font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::char_left#4 font_2x2_to_sprites::char_left#1 ] reg byte x [ font_2x2_to_sprites::i#2 font_2x2_to_sprites::i#1 ] zp[1]:79 [ font_2x2_to_sprites::sprite_idx#1 ] reg byte y [ font_2x2_to_sprites::sprite_idx#2 ] zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 ] zp[1]:78 [ font_2x2_to_sprites::$3 ] zp[2]:26 [ font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::sprite#1 ] zp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 ] zp[2]:24 [ font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 ] +Uplifting [font_2x2] best 229580 combination reg byte a [ font_2x2::$1 ] zp[2]:68 [ font_2x2::$5 ] zp[2]:70 [ font_2x2::glyph_bits_2x2#1 ] zp[2]:72 [ font_2x2::$7 ] reg byte y [ font_2x2::b#2 font_2x2::b#1 ] zp[1]:18 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] zp[2]:19 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] reg byte x [ font_2x2::glyph_bit#0 ] zp[2]:16 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] zp[1]:15 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] zp[2]:13 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] zp[1]:74 [ font_2x2::$10 ] zp[1]:76 [ font_2x2::$12 ] zp[1]:77 [ font_2x2::$13 ] zp[1]:79 [ font_2x2::$15 ] zp[1]:12 [ font_2x2::l#2 font_2x2::l#1 ] zp[1]:75 [ font_2x2::$11 ] zp[1]:78 [ font_2x2::$14 ] zp[1]:11 [ font_2x2::c#11 font_2x2::c#1 ] zp[2]:7 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] zp[2]:9 [ font_2x2::next_original#4 font_2x2::next_original#1 ] +Limited combination testing to 100 combinations of 11943936 possible. +Uplifting [plex_move] best 228580 combination zp[2]:84 [ plex_move::$7 ] reg byte a [ plex_move::$4 ] zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] reg byte x [ plex_move::$6 ] +Uplifting [] best 228580 combination zp[2]:40 [ scroll_text_next#13 scroll_text_next#12 scroll_text_next#27 scroll_text_next#14 scroll_text_next#3 ] zp[1]:35 [ y_sin_idx#11 y_sin_idx#13 ] zp[1]:36 [ x_movement_idx#11 x_movement_idx#13 ] zp[1]:47 [ plex_sprite_msb ] zp[1]:45 [ plex_show_idx ] zp[1]:46 [ plex_sprite_idx ] zp[1]:48 [ plex_free_next ] zp[1]:49 [ frame_done ] zp[2]:2 [ PLEX_SCREEN_PTR#31 ] +Uplifting [font_2x2_to_sprites] best 225880 combination zp[2]:32 [ font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_right#4 font_2x2_to_sprites::char_right#1 ] zp[2]:29 [ font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::char_left#4 font_2x2_to_sprites::char_left#1 ] reg byte x [ font_2x2_to_sprites::i#2 font_2x2_to_sprites::i#1 ] zp[1]:81 [ font_2x2_to_sprites::sprite_idx#1 ] reg byte y [ font_2x2_to_sprites::sprite_idx#2 ] zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 ] zp[1]:80 [ font_2x2_to_sprites::$3 ] zp[2]:26 [ font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::sprite#1 ] zp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 ] zp[2]:24 [ font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 ] Limited combination testing to 100 combinations of 729 possible. -Uplifting [plexInit] best 224560 combination reg byte x [ plexInit::i#2 plexInit::i#1 ] -Uplifting [plexShowSprite] best 224540 combination reg byte a [ plexShowSprite::plexFreeAdd1_$0 ] reg byte a [ plexShowSprite::plexFreeAdd1_$1 ] reg byte a [ plexShowSprite::plexFreeAdd1_$2 ] reg byte a [ plexShowSprite::xpos_idx#0 ] zp[1]:62 [ plexShowSprite::$2 ] zp[1]:63 [ plexShowSprite::$3 ] zp[1]:64 [ plexShowSprite::$9 ] zp[1]:65 [ plexShowSprite::$5 ] zp[1]:66 [ plexShowSprite::$6 ] zp[1]:56 [ plexShowSprite::plexFreeAdd1_ypos#0 ] zp[1]:61 [ plexShowSprite::$11 ] zp[1]:55 [ plexShowSprite::plex_sprite_idx2#0 ] +Uplifting [plexInit] best 225760 combination reg byte x [ plexInit::i#2 plexInit::i#1 ] +Uplifting [plexShowSprite] best 225740 combination reg byte a [ plexShowSprite::plexFreeAdd1_$0 ] reg byte a [ plexShowSprite::plexFreeAdd1_$1 ] reg byte a [ plexShowSprite::plexFreeAdd1_$2 ] reg byte a [ plexShowSprite::xpos_idx#0 ] zp[1]:62 [ plexShowSprite::$2 ] zp[1]:63 [ plexShowSprite::$3 ] zp[1]:64 [ plexShowSprite::$9 ] zp[1]:65 [ plexShowSprite::$5 ] zp[1]:66 [ plexShowSprite::$6 ] zp[1]:56 [ plexShowSprite::plexFreeAdd1_ypos#0 ] zp[1]:61 [ plexShowSprite::$11 ] zp[1]:55 [ plexShowSprite::plex_sprite_idx2#0 ] Limited combination testing to 100 combinations of 1572864 possible. -Uplifting [main] best 224280 combination reg byte x [ main::s1#2 main::s1#1 ] zp[1]:4 [ main::s#2 main::s#1 ] zp[2]:53 [ main::$13 ] reg byte x [ main::x#2 main::x#1 ] reg byte y [ main::$12 ] -Uplifting [plex_irq] best 224217 combination zp[1]:51 [ plex_irq::$4 ] reg byte x [ plex_irq::plexFreeNextYpos1_return#0 ] -Uplifting [MOS6526_CIA] best 224217 combination -Uplifting [MOS6569_VICII] best 224217 combination -Uplifting [MOS6581_SID] best 224217 combination -Uplifting [__start] best 224217 combination +Uplifting [main] best 225480 combination reg byte x [ main::s1#2 main::s1#1 ] zp[1]:4 [ main::s#2 main::s#1 ] zp[2]:53 [ main::$13 ] reg byte x [ main::x#2 main::x#1 ] reg byte y [ main::$12 ] +Uplifting [plex_irq] best 225417 combination zp[1]:51 [ plex_irq::$4 ] reg byte x [ plex_irq::plexFreeNextYpos1_return#0 ] +Uplifting [MOS6526_CIA] best 225417 combination +Uplifting [MOS6569_VICII] best 225417 combination +Uplifting [MOS6581_SID] best 225417 combination +Uplifting [__start] best 225417 combination Attempting to uplift remaining variables inzp[1]:42 [ plexSort::m#2 plexSort::m#1 ] -Uplifting [plexSort] best 224217 combination zp[1]:42 [ plexSort::m#2 plexSort::m#1 ] +Uplifting [plexSort] best 225417 combination zp[1]:42 [ plexSort::m#2 plexSort::m#1 ] Attempting to uplift remaining variables inzp[1]:38 [ plex_move::s#2 plex_move::s#1 ] -Uplifting [plex_move] best 224217 combination zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] +Uplifting [plex_move] best 225417 combination zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] Attempting to uplift remaining variables inzp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] -Uplifting [plex_move] best 224217 combination zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] -Attempting to uplift remaining variables inzp[1]:86 [ plexSort::nxt_y#0 ] -Uplifting [plexSort] best 224217 combination zp[1]:86 [ plexSort::nxt_y#0 ] +Uplifting [plex_move] best 225417 combination zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 ] +Attempting to uplift remaining variables inzp[1]:88 [ plexSort::nxt_y#0 ] +Uplifting [plexSort] best 225417 combination zp[1]:88 [ plexSort::nxt_y#0 ] Attempting to uplift remaining variables inzp[1]:18 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] -Uplifting [font_2x2] best 224217 combination zp[1]:18 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] +Uplifting [font_2x2] best 225417 combination zp[1]:18 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] Attempting to uplift remaining variables inzp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] -Uplifting [plex_move] best 224217 combination zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] -Attempting to uplift remaining variables inzp[1]:85 [ plexSort::nxt_idx#0 ] -Uplifting [plexSort] best 224217 combination zp[1]:85 [ plexSort::nxt_idx#0 ] +Uplifting [plex_move] best 225417 combination zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] +Attempting to uplift remaining variables inzp[1]:87 [ plexSort::nxt_idx#0 ] +Uplifting [plexSort] best 225417 combination zp[1]:87 [ plexSort::nxt_idx#0 ] Attempting to uplift remaining variables inzp[1]:15 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] -Uplifting [font_2x2] best 224217 combination zp[1]:15 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] -Attempting to uplift remaining variables inzp[1]:75 [ font_2x2::$11 ] -Uplifting [font_2x2] best 223617 combination reg byte y [ font_2x2::$11 ] -Attempting to uplift remaining variables inzp[1]:77 [ font_2x2::$14 ] -Uplifting [font_2x2] best 223017 combination reg byte y [ font_2x2::$14 ] +Uplifting [font_2x2] best 225417 combination zp[1]:15 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] +Attempting to uplift remaining variables inzp[1]:74 [ font_2x2::$10 ] +Uplifting [font_2x2] best 224817 combination reg byte a [ font_2x2::$10 ] +Attempting to uplift remaining variables inzp[1]:76 [ font_2x2::$12 ] +Uplifting [font_2x2] best 224217 combination reg byte a [ font_2x2::$12 ] +Attempting to uplift remaining variables inzp[1]:77 [ font_2x2::$13 ] +Uplifting [font_2x2] best 223617 combination reg byte a [ font_2x2::$13 ] +Attempting to uplift remaining variables inzp[1]:79 [ font_2x2::$15 ] +Uplifting [font_2x2] best 223017 combination reg byte a [ font_2x2::$15 ] Attempting to uplift remaining variables inzp[1]:12 [ font_2x2::l#2 font_2x2::l#1 ] Uplifting [font_2x2] best 223017 combination zp[1]:12 [ font_2x2::l#2 font_2x2::l#1 ] -Attempting to uplift remaining variables inzp[1]:79 [ font_2x2_to_sprites::sprite_idx#1 ] -Uplifting [font_2x2_to_sprites] best 223017 combination zp[1]:79 [ font_2x2_to_sprites::sprite_idx#1 ] +Attempting to uplift remaining variables inzp[1]:81 [ font_2x2_to_sprites::sprite_idx#1 ] +Uplifting [font_2x2_to_sprites] best 223017 combination zp[1]:81 [ font_2x2_to_sprites::sprite_idx#1 ] Attempting to uplift remaining variables inzp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 ] Uplifting [font_2x2_to_sprites] best 223017 combination zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 ] -Attempting to uplift remaining variables inzp[1]:74 [ font_2x2::$12 ] -Uplifting [font_2x2] best 222117 combination reg byte a [ font_2x2::$12 ] -Attempting to uplift remaining variables inzp[1]:76 [ font_2x2::$15 ] -Uplifting [font_2x2] best 221217 combination reg byte a [ font_2x2::$15 ] -Attempting to uplift remaining variables inzp[1]:78 [ font_2x2_to_sprites::$3 ] -Uplifting [font_2x2_to_sprites] best 221217 combination zp[1]:78 [ font_2x2_to_sprites::$3 ] +Attempting to uplift remaining variables inzp[1]:75 [ font_2x2::$11 ] +Uplifting [font_2x2] best 222417 combination reg byte y [ font_2x2::$11 ] +Attempting to uplift remaining variables inzp[1]:78 [ font_2x2::$14 ] +Uplifting [font_2x2] best 221817 combination reg byte y [ font_2x2::$14 ] +Attempting to uplift remaining variables inzp[1]:80 [ font_2x2_to_sprites::$3 ] +Uplifting [font_2x2_to_sprites] best 221817 combination zp[1]:80 [ font_2x2_to_sprites::$3 ] Attempting to uplift remaining variables inzp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 ] -Uplifting [font_2x2_to_sprites] best 221217 combination zp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 ] +Uplifting [font_2x2_to_sprites] best 221817 combination zp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 ] Attempting to uplift remaining variables inzp[1]:11 [ font_2x2::c#11 font_2x2::c#1 ] -Uplifting [font_2x2] best 221217 combination zp[1]:11 [ font_2x2::c#11 font_2x2::c#1 ] +Uplifting [font_2x2] best 221817 combination zp[1]:11 [ font_2x2::c#11 font_2x2::c#1 ] Attempting to uplift remaining variables inzp[1]:4 [ main::s#2 main::s#1 ] -Uplifting [main] best 221217 combination zp[1]:4 [ main::s#2 main::s#1 ] +Uplifting [main] best 221817 combination zp[1]:4 [ main::s#2 main::s#1 ] Attempting to uplift remaining variables inzp[1]:62 [ plexShowSprite::$2 ] -Uplifting [plexShowSprite] best 221211 combination reg byte a [ plexShowSprite::$2 ] +Uplifting [plexShowSprite] best 221811 combination reg byte a [ plexShowSprite::$2 ] Attempting to uplift remaining variables inzp[1]:63 [ plexShowSprite::$3 ] -Uplifting [plexShowSprite] best 221205 combination reg byte a [ plexShowSprite::$3 ] +Uplifting [plexShowSprite] best 221805 combination reg byte a [ plexShowSprite::$3 ] Attempting to uplift remaining variables inzp[1]:64 [ plexShowSprite::$9 ] -Uplifting [plexShowSprite] best 221199 combination reg byte a [ plexShowSprite::$9 ] +Uplifting [plexShowSprite] best 221799 combination reg byte a [ plexShowSprite::$9 ] Attempting to uplift remaining variables inzp[1]:65 [ plexShowSprite::$5 ] -Uplifting [plexShowSprite] best 221193 combination reg byte x [ plexShowSprite::$5 ] +Uplifting [plexShowSprite] best 221793 combination reg byte x [ plexShowSprite::$5 ] Attempting to uplift remaining variables inzp[1]:66 [ plexShowSprite::$6 ] -Uplifting [plexShowSprite] best 221189 combination reg byte a [ plexShowSprite::$6 ] +Uplifting [plexShowSprite] best 221789 combination reg byte a [ plexShowSprite::$6 ] Attempting to uplift remaining variables inzp[1]:35 [ y_sin_idx#11 y_sin_idx#13 ] -Uplifting [] best 221189 combination zp[1]:35 [ y_sin_idx#11 y_sin_idx#13 ] +Uplifting [] best 221789 combination zp[1]:35 [ y_sin_idx#11 y_sin_idx#13 ] Attempting to uplift remaining variables inzp[1]:36 [ x_movement_idx#11 x_movement_idx#13 ] -Uplifting [] best 221189 combination zp[1]:36 [ x_movement_idx#11 x_movement_idx#13 ] +Uplifting [] best 221789 combination zp[1]:36 [ x_movement_idx#11 x_movement_idx#13 ] Attempting to uplift remaining variables inzp[1]:56 [ plexShowSprite::plexFreeAdd1_ypos#0 ] -Uplifting [plexShowSprite] best 221180 combination reg byte a [ plexShowSprite::plexFreeAdd1_ypos#0 ] +Uplifting [plexShowSprite] best 221780 combination reg byte a [ plexShowSprite::plexFreeAdd1_ypos#0 ] Attempting to uplift remaining variables inzp[1]:61 [ plexShowSprite::$11 ] -Uplifting [plexShowSprite] best 221173 combination reg byte x [ plexShowSprite::$11 ] +Uplifting [plexShowSprite] best 221773 combination reg byte x [ plexShowSprite::$11 ] Attempting to uplift remaining variables inzp[1]:47 [ plex_sprite_msb ] -Uplifting [] best 221173 combination zp[1]:47 [ plex_sprite_msb ] +Uplifting [] best 221773 combination zp[1]:47 [ plex_sprite_msb ] Attempting to uplift remaining variables inzp[1]:45 [ plex_show_idx ] -Uplifting [] best 221173 combination zp[1]:45 [ plex_show_idx ] +Uplifting [] best 221773 combination zp[1]:45 [ plex_show_idx ] Attempting to uplift remaining variables inzp[1]:46 [ plex_sprite_idx ] -Uplifting [] best 221173 combination zp[1]:46 [ plex_sprite_idx ] +Uplifting [] best 221773 combination zp[1]:46 [ plex_sprite_idx ] Attempting to uplift remaining variables inzp[1]:48 [ plex_free_next ] -Uplifting [] best 221173 combination zp[1]:48 [ plex_free_next ] +Uplifting [] best 221773 combination zp[1]:48 [ plex_free_next ] Attempting to uplift remaining variables inzp[1]:49 [ frame_done ] -Uplifting [] best 221173 combination zp[1]:49 [ frame_done ] +Uplifting [] best 221773 combination zp[1]:49 [ frame_done ] Attempting to uplift remaining variables inzp[1]:55 [ plexShowSprite::plex_sprite_idx2#0 ] -Uplifting [plexShowSprite] best 221173 combination zp[1]:55 [ plexShowSprite::plex_sprite_idx2#0 ] +Uplifting [plexShowSprite] best 221773 combination zp[1]:55 [ plexShowSprite::plex_sprite_idx2#0 ] Attempting to uplift remaining variables inzp[1]:51 [ plex_irq::$4 ] -Uplifting [plex_irq] best 221173 combination zp[1]:51 [ plex_irq::$4 ] +Uplifting [plex_irq] best 221773 combination zp[1]:51 [ plex_irq::$4 ] Coalescing zero page register [ zp[2]:19 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] ] with [ zp[2]:68 [ font_2x2::$5 ] ] - score: 1 Coalescing zero page register [ zp[2]:19 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 ] ] with [ zp[2]:72 [ font_2x2::$7 ] ] - score: 1 -Coalescing zero page register [ zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 ] ] with [ zp[1]:79 [ font_2x2_to_sprites::sprite_idx#1 ] ] - score: 1 +Coalescing zero page register [ zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 ] ] with [ zp[1]:81 [ font_2x2_to_sprites::sprite_idx#1 ] ] - score: 1 Coalescing zero page register [ zp[2]:19 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 ] ] with [ zp[2]:70 [ font_2x2::glyph_bits_2x2#1 ] ] - score: 2 Coalescing zero page register [ zp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 ] ] with [ zp[1]:11 [ font_2x2::c#11 font_2x2::c#1 ] ] Coalescing zero page register [ zp[2]:24 [ font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 ] ] with [ zp[2]:7 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] ] @@ -5446,11 +5466,11 @@ Coalescing zero page register [ zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 Coalescing zero page register [ zp[1]:38 [ plex_move::s#2 plex_move::s#1 ] ] with [ zp[1]:18 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] ] Coalescing zero page register [ zp[1]:42 [ plexSort::m#2 plexSort::m#1 ] ] with [ zp[1]:39 [ plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] ] Coalescing zero page register [ zp[2]:53 [ main::$13 ] ] with [ zp[2]:19 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ] ] -Coalescing zero page register [ zp[1]:85 [ plexSort::nxt_idx#0 ] ] with [ zp[1]:78 [ font_2x2_to_sprites::$3 ] ] +Coalescing zero page register [ zp[1]:87 [ plexSort::nxt_idx#0 ] ] with [ zp[1]:80 [ font_2x2_to_sprites::$3 ] ] Coalescing zero page register [ zp[1]:42 [ plexSort::m#2 plexSort::m#1 plex_move::x_idx#2 plex_move::x_idx#0 plex_move::x_idx#1 ] ] with [ zp[1]:23 [ font_2x2_to_sprites::c#2 font_2x2_to_sprites::c#1 font_2x2::c#11 font_2x2::c#1 ] ] -Coalescing zero page register [ zp[2]:82 [ plex_move::$7 ] ] with [ zp[2]:24 [ font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] ] -Coalescing zero page register [ zp[1]:85 [ plexSort::nxt_idx#0 font_2x2_to_sprites::$3 ] ] with [ zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] ] -Coalescing zero page register [ zp[1]:86 [ plexSort::nxt_y#0 ] ] with [ zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::sprite_idx#1 font_2x2::l#2 font_2x2::l#1 ] ] +Coalescing zero page register [ zp[2]:84 [ plex_move::$7 ] ] with [ zp[2]:24 [ font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] ] +Coalescing zero page register [ zp[1]:87 [ plexSort::nxt_idx#0 font_2x2_to_sprites::$3 ] ] with [ zp[1]:37 [ plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] ] +Coalescing zero page register [ zp[1]:88 [ plexSort::nxt_y#0 ] ] with [ zp[1]:31 [ font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::sprite_idx#1 font_2x2::l#2 font_2x2::l#1 ] ] Allocated (was zp[2]:26) zp[2]:5 [ font_2x2_to_sprites::sprite#4 font_2x2_to_sprites::sprite#1 font_2x2::next_original#4 font_2x2::next_original#1 ] Allocated (was zp[2]:29) zp[2]:7 [ font_2x2_to_sprites::char_left#3 font_2x2_to_sprites::char_left#6 font_2x2_to_sprites::char_left#4 font_2x2_to_sprites::char_left#1 font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] Allocated (was zp[2]:32) zp[2]:9 [ font_2x2_to_sprites::char_right#3 font_2x2_to_sprites::char_right#0 font_2x2_to_sprites::char_right#4 font_2x2_to_sprites::char_right#1 font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] @@ -5467,9 +5487,9 @@ Allocated (was zp[1]:49) zp[1]:21 [ frame_done ] Allocated (was zp[1]:51) zp[1]:22 [ plex_irq::$4 ] Allocated (was zp[2]:53) zp[2]:23 [ main::$13 font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ] Allocated (was zp[1]:55) zp[1]:25 [ plexShowSprite::plex_sprite_idx2#0 ] -Allocated (was zp[2]:82) zp[2]:26 [ plex_move::$7 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] -Allocated (was zp[1]:85) zp[1]:28 [ plexSort::nxt_idx#0 font_2x2_to_sprites::$3 plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] -Allocated (was zp[1]:86) zp[1]:29 [ plexSort::nxt_y#0 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::sprite_idx#1 font_2x2::l#2 font_2x2::l#1 ] +Allocated (was zp[2]:84) zp[2]:26 [ plex_move::$7 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] +Allocated (was zp[1]:87) zp[1]:28 [ plexSort::nxt_idx#0 font_2x2_to_sprites::$3 plex_move::y_idx#2 plex_move::y_idx#0 plex_move::y_idx#1 font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] +Allocated (was zp[1]:88) zp[1]:29 [ plexSort::nxt_y#0 font_2x2_to_sprites::sprite_idx#4 font_2x2_to_sprites::sprite_idx#3 font_2x2_to_sprites::sprite_idx#1 font_2x2::l#2 font_2x2::l#1 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -5684,7 +5704,7 @@ main: { cli // [30] call font_2x2_to_sprites // Convert font to sprites - // [129] phi from main::@9 to font_2x2_to_sprites [phi:main::@9->font_2x2_to_sprites] + // [131] phi from main::@9 to font_2x2_to_sprites [phi:main::@9->font_2x2_to_sprites] font_2x2_to_sprites_from___b9: jsr font_2x2_to_sprites // [31] phi from main::@9 to main::@10 [phi:main::@9->main::@10] @@ -5694,7 +5714,7 @@ main: { __b10: // [32] call plexInit // Initialize the multiplexer - // [154] phi from main::@10 to plexInit [phi:main::@10->plexInit] + // [156] phi from main::@10 to plexInit [phi:main::@10->plexInit] plexInit_from___b10: jsr plexInit // [33] phi from main::@10 to main::toD0181 [phi:main::@10->main::toD0181] @@ -5757,17 +5777,17 @@ main: { __b5: // [43] call plex_move // Move the sprites - // [161] phi from main::@5 to plex_move [phi:main::@5->plex_move] + // [163] phi from main::@5 to plex_move [phi:main::@5->plex_move] plex_move_from___b5: - // [161] phi (byte*) scroll_text_next#27 = (const byte*) SCROLL_TEXT [phi:main::@5->plex_move#0] -- pbuz1=pbuc1 + // [163] phi (byte*) scroll_text_next#27 = (const byte*) SCROLL_TEXT [phi:main::@5->plex_move#0] -- pbuz1=pbuc1 lda #SCROLL_TEXT sta.z scroll_text_next+1 - // [161] phi (byte) x_movement_idx#11 = (byte) 0 [phi:main::@5->plex_move#1] -- vbuz1=vbuc1 + // [163] phi (byte) x_movement_idx#11 = (byte) 0 [phi:main::@5->plex_move#1] -- vbuz1=vbuc1 lda #0 sta.z x_movement_idx - // [161] phi (byte) y_sin_idx#11 = (byte) 0 [phi:main::@5->plex_move#2] -- vbuz1=vbuc1 + // [163] phi (byte) y_sin_idx#11 = (byte) 0 [phi:main::@5->plex_move#2] -- vbuz1=vbuc1 lda #0 sta.z y_sin_idx jsr plex_move @@ -5778,7 +5798,7 @@ main: { __b11: // [45] call plexSort // Sort the sprites by y-position - // [184] phi from main::@11 to plexSort [phi:main::@11->plexSort] + // [186] phi from main::@11 to plexSort [phi:main::@11->plexSort] plexSort_from___b11: jsr plexSort jmp __b12 @@ -5831,11 +5851,11 @@ main: { // [56] call plex_move //*BORDER_COLOR = RED; // Move the sprites - // [161] phi from main::@7 to plex_move [phi:main::@7->plex_move] + // [163] phi from main::@7 to plex_move [phi:main::@7->plex_move] plex_move_from___b7: - // [161] phi (byte*) scroll_text_next#27 = (byte*) scroll_text_next#14 [phi:main::@7->plex_move#0] -- register_copy - // [161] phi (byte) x_movement_idx#11 = (byte) x_movement_idx#13 [phi:main::@7->plex_move#1] -- register_copy - // [161] phi (byte) y_sin_idx#11 = (byte) y_sin_idx#13 [phi:main::@7->plex_move#2] -- register_copy + // [163] phi (byte*) scroll_text_next#27 = (byte*) scroll_text_next#14 [phi:main::@7->plex_move#0] -- register_copy + // [163] phi (byte) x_movement_idx#11 = (byte) x_movement_idx#13 [phi:main::@7->plex_move#1] -- register_copy + // [163] phi (byte) y_sin_idx#11 = (byte) y_sin_idx#13 [phi:main::@7->plex_move#2] -- register_copy jsr plex_move // [57] phi from main::@7 to main::@13 [phi:main::@7->main::@13] __b13_from___b7: @@ -5844,7 +5864,7 @@ main: { __b13: // [58] call plexSort // Sort the sprites by y-position - // [184] phi from main::@13 to plexSort [phi:main::@13->plexSort] + // [186] phi from main::@13 to plexSort [phi:main::@13->plexSort] plexSort_from___b13: jsr plexSort jmp __b6 @@ -6132,40 +6152,44 @@ font_2x2: { jmp __b6 // font_2x2::@6 __b6: - // [109] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 + // [109] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 lda.z glyph_bits_2x2+1 - // [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuaa + // [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 -- pbuz1_derefidx_vbuz2=vbuaa // Put the generated 2x2-line into the 2x2-font twice ldy.z l2 sta (next_2x2_left_1),y // [111] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuyy=vbuz1_plus_1 ldy.z l2 iny - // [112] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuyy=vbuaa + // [112] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 + lda.z glyph_bits_2x2+1 + // [113] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuyy=vbuaa sta (next_2x2_left_1),y - // [113] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_lo_vwuz1 + // [114] (byte~) font_2x2::$13 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_lo_vwuz1 lda.z glyph_bits_2x2 - // [114] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuz2=vbuaa + // [115] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$13 -- pbuz1_derefidx_vbuz2=vbuaa ldy.z l2 sta (next_2x2_right),y - // [115] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuyy=vbuz1_plus_1 + // [116] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuyy=vbuz1_plus_1 ldy.z l2 iny - // [116] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuyy=vbuaa + // [117] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_lo_vwuz1 + lda.z glyph_bits_2x2 + // [118] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuyy=vbuaa sta (next_2x2_right),y - // [117] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 -- vbuz1=vbuz1_plus_2 + // [119] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 -- vbuz1=vbuz1_plus_2 lda.z l2 clc adc #2 sta.z l2 - // [118] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 -- vbuz1_neq_vbuc1_then_la1 + // [120] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l2 bne __b8_from___b6 jmp __b7 // font_2x2::@7 __b7: - // [119] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [121] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$80*8 @@ -6173,7 +6197,7 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$80*8 sta.z next_2x2_left_1+1 - // [120] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [122] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$c0*8 @@ -6181,32 +6205,32 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$c0*8 sta.z next_2x2_right+1 - // [121] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] + // [123] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] __b8_from___b7: - // [121] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy - // [121] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 + // [123] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy + // [123] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 lda #0 sta.z l2 - // [121] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy + // [123] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy jmp __b8 - // [121] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] + // [123] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] __b8_from___b6: - // [121] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy - // [121] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy - // [121] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy + // [123] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy + // [123] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy + // [123] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy jmp __b8 // font_2x2::@8 __b8: - // [122] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 + // [124] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [123] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 + // [125] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l bne __b2_from___b8 jmp __b9 // font_2x2::@9 __b9: - // [124] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [126] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_2x2 @@ -6214,7 +6238,7 @@ font_2x2: { bcc !+ inc.z next_2x2+1 !: - // [125] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [127] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_original @@ -6222,16 +6246,16 @@ font_2x2: { bcc !+ inc.z next_original+1 !: - // [126] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 + // [128] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 inc.z c - // [127] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [129] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$40 cmp.z c bne __b1_from___b9 jmp __breturn // font_2x2::@return __breturn: - // [128] return + // [130] return rts } // font_2x2_to_sprites @@ -6248,36 +6272,36 @@ font_2x2_to_sprites: { .label char_current = $1a .label sprite = 5 .label c = $10 - // [130] phi from font_2x2_to_sprites to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1] + // [132] phi from font_2x2_to_sprites to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1] __b1_from_font_2x2_to_sprites: - // [130] phi (byte*) font_2x2_to_sprites::sprite#4 = (const nomodify byte*) SPRITES [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#0] -- pbuz1=pbuc1 + // [132] phi (byte*) font_2x2_to_sprites::sprite#4 = (const nomodify byte*) SPRITES [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#0] -- pbuz1=pbuc1 lda #SPRITES sta.z sprite+1 - // [130] phi (byte*) font_2x2_to_sprites::char_current#2 = (const byte*) FONT [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#1] -- pbuz1=pbuc1 + // [132] phi (byte*) font_2x2_to_sprites::char_current#2 = (const byte*) FONT [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#1] -- pbuz1=pbuc1 lda #FONT sta.z char_current+1 - // [130] phi (byte) font_2x2_to_sprites::c#2 = (byte) 0 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#2] -- vbuz1=vbuc1 + // [132] phi (byte) font_2x2_to_sprites::c#2 = (byte) 0 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#2] -- vbuz1=vbuc1 lda #0 sta.z c jmp __b1 // font_2x2_to_sprites::@1 __b1: - // [131] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2 -- vbuz1_lt_vbuc1_then_la1 + // [133] if((byte) font_2x2_to_sprites::c#2<(const byte) font_2x2_to_sprites::num_chars#0) goto font_2x2_to_sprites::@2 -- vbuz1_lt_vbuc1_then_la1 lda.z c cmp #num_chars bcc __b2 jmp __breturn // font_2x2_to_sprites::@return __breturn: - // [132] return + // [134] return rts // font_2x2_to_sprites::@2 __b2: - // [133] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [135] (byte*) font_2x2_to_sprites::char_right#0 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $40*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z char_current clc adc #<$40*8 @@ -6285,98 +6309,98 @@ font_2x2_to_sprites: { lda.z char_current+1 adc #>$40*8 sta.z char_right+1 - // [134] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 -- pbuz1=pbuz2 + // [136] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 -- pbuz1=pbuz2 lda.z char_current sta.z char_left lda.z char_current+1 sta.z char_left+1 - // [135] phi from font_2x2_to_sprites::@2 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3] + // [137] phi from font_2x2_to_sprites::@2 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3] __b3_from___b2: - // [135] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#0] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#1] -- vbuz1=vbuc1 + // [137] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#0] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#1] -- vbuz1=vbuc1 lda #0 sta.z sprite_idx - // [135] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#6 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#2] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::i#2 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#3] -- vbuxx=vbuc1 + // [137] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#6 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#2] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::i#2 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#3] -- vbuxx=vbuc1 ldx #0 jmp __b3 - // [135] phi from font_2x2_to_sprites::@5 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3] + // [137] phi from font_2x2_to_sprites::@5 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3] __b3_from___b5: - // [135] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#0] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) font_2x2_to_sprites::sprite_idx#3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#1] -- register_copy - // [135] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#2] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::i#2 = (byte) font_2x2_to_sprites::i#1 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#3] -- register_copy + // [137] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#0] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) font_2x2_to_sprites::sprite_idx#3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#1] -- register_copy + // [137] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#2] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::i#2 = (byte) font_2x2_to_sprites::i#1 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#3] -- register_copy jmp __b3 // font_2x2_to_sprites::@3 __b3: - // [136] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 + // [138] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 lda #7 sax.z __3 - // [137] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 + // [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 ldy.z __3 lda (char_left),y ldy.z sprite_idx sta (sprite),y - // [138] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 -- vbuz1=_inc_vbuz1 + // [140] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 -- vbuz1=_inc_vbuz1 inc.z sprite_idx - // [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 + // [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 ldy.z __3 lda (char_right),y ldy.z sprite_idx sta (sprite),y - // [140] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 -- vbuyy=_inc_vbuz1 + // [142] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 -- vbuyy=_inc_vbuz1 ldy.z sprite_idx iny - // [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 -- pbuz1_derefidx_vbuyy=vbuc1 + // [143] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 -- pbuz1_derefidx_vbuyy=vbuc1 lda #0 sta (sprite),y - // [142] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 -- vbuz1=_inc_vbuyy + // [144] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 -- vbuz1=_inc_vbuyy iny sty.z sprite_idx - // [143] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 -- vbuxx_eq_vbuc1_then_la1 + // [145] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 -- vbuxx_eq_vbuc1_then_la1 cpx #7 beq __b4 jmp __b6 // font_2x2_to_sprites::@6 __b6: - // [144] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 -- vbuxx_neq_vbuc1_then_la1 + // [146] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 -- vbuxx_neq_vbuc1_then_la1 cpx #$f bne __b8_from___b6 - // [146] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5] + // [148] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5] __b5_from___b6: - // [146] phi (byte*) font_2x2_to_sprites::char_right#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#0] -- pbuz1=pbuc1 + // [148] phi (byte*) font_2x2_to_sprites::char_right#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#0] -- pbuz1=pbuc1 lda #FONT+' '*8 sta.z char_right+1 - // [146] phi (byte*) font_2x2_to_sprites::char_left#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#1] -- pbuz1=pbuc1 + // [148] phi (byte*) font_2x2_to_sprites::char_left#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#1] -- pbuz1=pbuc1 lda #FONT+' '*8 sta.z char_left+1 jmp __b5 - // [145] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@8] + // [147] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@8] __b8_from___b6: jmp __b8 // font_2x2_to_sprites::@8 __b8: - // [146] phi from font_2x2_to_sprites::@4 font_2x2_to_sprites::@8 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5] + // [148] phi from font_2x2_to_sprites::@4 font_2x2_to_sprites::@8 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5] __b5_from___b4: __b5_from___b8: - // [146] phi (byte*) font_2x2_to_sprites::char_right#4 = (byte*) font_2x2_to_sprites::char_right#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#0] -- register_copy - // [146] phi (byte*) font_2x2_to_sprites::char_left#4 = (byte*) font_2x2_to_sprites::char_left#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#1] -- register_copy + // [148] phi (byte*) font_2x2_to_sprites::char_right#4 = (byte*) font_2x2_to_sprites::char_right#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#0] -- register_copy + // [148] phi (byte*) font_2x2_to_sprites::char_left#4 = (byte*) font_2x2_to_sprites::char_left#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#1] -- register_copy jmp __b5 // font_2x2_to_sprites::@5 __b5: - // [147] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 -- vbuxx=_inc_vbuxx + // [149] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 -- vbuxx=_inc_vbuxx inx - // [148] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 -- vbuxx_neq_vbuc1_then_la1 + // [150] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 -- vbuxx_neq_vbuc1_then_la1 cpx #$15 bne __b3_from___b5 jmp __b7 // font_2x2_to_sprites::@7 __b7: - // [149] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [151] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z char_current @@ -6384,7 +6408,7 @@ font_2x2_to_sprites: { bcc !+ inc.z char_current+1 !: - // [150] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 -- pbuz1=pbuz1_plus_vbuc1 + // [152] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 -- pbuz1=pbuz1_plus_vbuc1 lda #$40 clc adc.z sprite @@ -6392,17 +6416,17 @@ font_2x2_to_sprites: { bcc !+ inc.z sprite+1 !: - // [151] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2 -- vbuz1=_inc_vbuz1 + // [153] (byte) font_2x2_to_sprites::c#1 ← ++ (byte) font_2x2_to_sprites::c#2 -- vbuz1=_inc_vbuz1 inc.z c - // [130] phi from font_2x2_to_sprites::@7 to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1] + // [132] phi from font_2x2_to_sprites::@7 to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1] __b1_from___b7: - // [130] phi (byte*) font_2x2_to_sprites::sprite#4 = (byte*) font_2x2_to_sprites::sprite#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#0] -- register_copy - // [130] phi (byte*) font_2x2_to_sprites::char_current#2 = (byte*) font_2x2_to_sprites::char_current#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#1] -- register_copy - // [130] phi (byte) font_2x2_to_sprites::c#2 = (byte) font_2x2_to_sprites::c#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#2] -- register_copy + // [132] phi (byte*) font_2x2_to_sprites::sprite#4 = (byte*) font_2x2_to_sprites::sprite#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#0] -- register_copy + // [132] phi (byte*) font_2x2_to_sprites::char_current#2 = (byte*) font_2x2_to_sprites::char_current#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#1] -- register_copy + // [132] phi (byte) font_2x2_to_sprites::c#2 = (byte) font_2x2_to_sprites::c#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#2] -- register_copy jmp __b1 // font_2x2_to_sprites::@4 __b4: - // [152] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [154] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z char_current clc adc #<$80*8 @@ -6410,7 +6434,7 @@ font_2x2_to_sprites: { lda.z char_current+1 adc #>$80*8 sta.z char_left+1 - // [153] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [155] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z char_current clc adc #<$c0*8 @@ -6423,34 +6447,34 @@ font_2x2_to_sprites: { // plexInit // Initialize the multiplexer data structures plexInit: { - // [155] phi from plexInit to plexInit::plexSetScreen1 [phi:plexInit->plexInit::plexSetScreen1] + // [157] phi from plexInit to plexInit::plexSetScreen1 [phi:plexInit->plexInit::plexSetScreen1] plexSetScreen1_from_plexInit: jmp plexSetScreen1 // plexInit::plexSetScreen1 plexSetScreen1: - // [156] phi from plexInit::plexSetScreen1 to plexInit::@1 [phi:plexInit::plexSetScreen1->plexInit::@1] + // [158] phi from plexInit::plexSetScreen1 to plexInit::@1 [phi:plexInit::plexSetScreen1->plexInit::@1] __b1_from_plexSetScreen1: - // [156] phi (byte) plexInit::i#2 = (byte) 0 [phi:plexInit::plexSetScreen1->plexInit::@1#0] -- vbuxx=vbuc1 + // [158] phi (byte) plexInit::i#2 = (byte) 0 [phi:plexInit::plexSetScreen1->plexInit::@1#0] -- vbuxx=vbuc1 ldx #0 jmp __b1 - // [156] phi from plexInit::@1 to plexInit::@1 [phi:plexInit::@1->plexInit::@1] + // [158] phi from plexInit::@1 to plexInit::@1 [phi:plexInit::@1->plexInit::@1] __b1_from___b1: - // [156] phi (byte) plexInit::i#2 = (byte) plexInit::i#1 [phi:plexInit::@1->plexInit::@1#0] -- register_copy + // [158] phi (byte) plexInit::i#2 = (byte) plexInit::i#1 [phi:plexInit::@1->plexInit::@1#0] -- register_copy jmp __b1 // plexInit::@1 __b1: - // [157] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 -- pbuc1_derefidx_vbuxx=vbuxx + // [159] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 -- pbuc1_derefidx_vbuxx=vbuxx txa sta PLEX_SORTED_IDX,x - // [158] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 -- vbuxx=_inc_vbuxx + // [160] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 -- vbuxx=_inc_vbuxx inx - // [159] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 -- vbuxx_neq_vbuc1_then_la1 + // [161] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #PLEX_COUNT-1+1 bne __b1_from___b1 jmp __breturn // plexInit::@return __breturn: - // [160] return + // [162] return rts } // plex_move @@ -6460,130 +6484,130 @@ plex_move: { .label x_idx = $10 .label s = $d .label __7 = $1a - // [162] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 -- vbuz1=vbuz2 + // [164] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 -- vbuz1=vbuz2 lda.z y_sin_idx sta.z y_idx - // [163] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 -- vbuz1=vbuz2 + // [165] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 -- vbuz1=vbuz2 lda.z x_movement_idx sta.z x_idx - // [164] phi from plex_move to plex_move::@1 [phi:plex_move->plex_move::@1] + // [166] phi from plex_move to plex_move::@1 [phi:plex_move->plex_move::@1] __b1_from_plex_move: - // [164] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#27 [phi:plex_move->plex_move::@1#0] -- register_copy - // [164] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#0 [phi:plex_move->plex_move::@1#1] -- register_copy - // [164] phi (byte) plex_move::s#2 = (byte) 0 [phi:plex_move->plex_move::@1#2] -- vbuz1=vbuc1 + // [166] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#27 [phi:plex_move->plex_move::@1#0] -- register_copy + // [166] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#0 [phi:plex_move->plex_move::@1#1] -- register_copy + // [166] phi (byte) plex_move::s#2 = (byte) 0 [phi:plex_move->plex_move::@1#2] -- vbuz1=vbuc1 lda #0 sta.z s - // [164] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#0 [phi:plex_move->plex_move::@1#3] -- register_copy + // [166] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#0 [phi:plex_move->plex_move::@1#3] -- register_copy jmp __b1 - // [164] phi from plex_move::@2 to plex_move::@1 [phi:plex_move::@2->plex_move::@1] + // [166] phi from plex_move::@2 to plex_move::@1 [phi:plex_move::@2->plex_move::@1] __b1_from___b2: - // [164] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#14 [phi:plex_move::@2->plex_move::@1#0] -- register_copy - // [164] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#1 [phi:plex_move::@2->plex_move::@1#1] -- register_copy - // [164] phi (byte) plex_move::s#2 = (byte) plex_move::s#1 [phi:plex_move::@2->plex_move::@1#2] -- register_copy - // [164] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#1 [phi:plex_move::@2->plex_move::@1#3] -- register_copy + // [166] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#14 [phi:plex_move::@2->plex_move::@1#0] -- register_copy + // [166] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#1 [phi:plex_move::@2->plex_move::@1#1] -- register_copy + // [166] phi (byte) plex_move::s#2 = (byte) plex_move::s#1 [phi:plex_move::@2->plex_move::@1#2] -- register_copy + // [166] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#1 [phi:plex_move::@2->plex_move::@1#3] -- register_copy jmp __b1 // plex_move::@1 __b1: - // [165] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz2 + // [167] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz2 // Assign sine value ldy.z y_idx lda YSIN,y ldy.z s sta PLEX_YPOS,y - // [166] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 + // [168] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 lax.z y_idx axs #-[8] stx.z y_idx - // [167] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 -- vbuxx=vbuz1_rol_1 + // [169] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 -- vbuxx=vbuz1_rol_1 lda.z s asl tax - // [168] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + // [170] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy.z x_idx lda XMOVEMENT_HI,y sta.z __7+1 lda XMOVEMENT,y sta.z __7 - // [169] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 -- pwuc1_derefidx_vbuxx=vwuz1 + // [171] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 -- pwuc1_derefidx_vbuxx=vwuz1 lda.z __7 sta PLEX_XPOS,x lda.z __7+1 sta PLEX_XPOS+1,x - // [170] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 -- vbuz1_neq_0_then_la1 + // [172] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 -- vbuz1_neq_0_then_la1 lda.z x_idx cmp #0 bne __b2_from___b1 jmp __b4 // plex_move::@4 __b4: - // [171] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 -- _deref_pbuz1_neq_0_then_la1 + // [173] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 -- _deref_pbuz1_neq_0_then_la1 ldy #0 lda (scroll_text_next),y cmp #0 bne __b6_from___b4 - // [173] phi from plex_move::@4 to plex_move::@3 [phi:plex_move::@4->plex_move::@3] + // [175] phi from plex_move::@4 to plex_move::@3 [phi:plex_move::@4->plex_move::@3] __b3_from___b4: - // [173] phi (byte*) scroll_text_next#13 = (const byte*) SCROLL_TEXT [phi:plex_move::@4->plex_move::@3#0] -- pbuz1=pbuc1 + // [175] phi (byte*) scroll_text_next#13 = (const byte*) SCROLL_TEXT [phi:plex_move::@4->plex_move::@3#0] -- pbuz1=pbuc1 lda #SCROLL_TEXT sta.z scroll_text_next+1 jmp __b3 - // [172] phi from plex_move::@4 to plex_move::@6 [phi:plex_move::@4->plex_move::@6] + // [174] phi from plex_move::@4 to plex_move::@6 [phi:plex_move::@4->plex_move::@6] __b6_from___b4: jmp __b6 // plex_move::@6 __b6: - // [173] phi from plex_move::@6 to plex_move::@3 [phi:plex_move::@6->plex_move::@3] + // [175] phi from plex_move::@6 to plex_move::@3 [phi:plex_move::@6->plex_move::@3] __b3_from___b6: - // [173] phi (byte*) scroll_text_next#13 = (byte*) scroll_text_next#12 [phi:plex_move::@6->plex_move::@3#0] -- register_copy + // [175] phi (byte*) scroll_text_next#13 = (byte*) scroll_text_next#12 [phi:plex_move::@6->plex_move::@3#0] -- register_copy jmp __b3 // plex_move::@3 __b3: - // [174] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) -- vbuaa=vbuc1_plus__deref_pbuz1 + // [176] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) -- vbuaa=vbuc1_plus__deref_pbuz1 lda #SPRITE_0 clc ldy #0 adc (scroll_text_next),y - // [175] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 -- pbuc1_derefidx_vbuz1=vbuaa + // [177] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 -- pbuc1_derefidx_vbuz1=vbuaa // Read next char from the scroll text ldy.z s sta PLEX_PTR,y - // [176] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 -- pbuz1=_inc_pbuz1 + // [178] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 -- pbuz1=_inc_pbuz1 inc.z scroll_text_next bne !+ inc.z scroll_text_next+1 !: - // [177] phi from plex_move::@1 plex_move::@3 to plex_move::@2 [phi:plex_move::@1/plex_move::@3->plex_move::@2] + // [179] phi from plex_move::@1 plex_move::@3 to plex_move::@2 [phi:plex_move::@1/plex_move::@3->plex_move::@2] __b2_from___b1: __b2_from___b3: - // [177] phi (byte*) scroll_text_next#14 = (byte*) scroll_text_next#12 [phi:plex_move::@1/plex_move::@3->plex_move::@2#0] -- register_copy + // [179] phi (byte*) scroll_text_next#14 = (byte*) scroll_text_next#12 [phi:plex_move::@1/plex_move::@3->plex_move::@2#0] -- register_copy jmp __b2 // plex_move::@2 __b2: - // [178] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 + // [180] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 lax.z x_idx axs #-[8] stx.z x_idx - // [179] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 -- vbuz1=_inc_vbuz1 + // [181] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 -- vbuz1=_inc_vbuz1 inc.z s - // [180] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 -- vbuz1_neq_vbuc1_then_la1 + // [182] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 -- vbuz1_neq_vbuc1_then_la1 lda #PLEX_COUNT-1+1 cmp.z s bne __b1_from___b2 jmp __b5 // plex_move::@5 __b5: - // [181] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 -- vbuz1=vbuz1_plus_vbuc1 + // [183] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 -- vbuz1=vbuz1_plus_vbuc1 lax.z y_sin_idx axs #-[3] stx.z y_sin_idx - // [182] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 -- vbuz1=_inc_vbuz1 + // [184] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 -- vbuz1=_inc_vbuz1 inc.z x_movement_idx jmp __breturn // plex_move::@return __breturn: - // [183] return + // [185] return rts } // plexSort @@ -6600,27 +6624,27 @@ plexSort: { .label nxt_idx = $1c .label nxt_y = $1d .label m = $10 - // [185] phi from plexSort to plexSort::@1 [phi:plexSort->plexSort::@1] + // [187] phi from plexSort to plexSort::@1 [phi:plexSort->plexSort::@1] __b1_from_plexSort: - // [185] phi (byte) plexSort::m#2 = (byte) 0 [phi:plexSort->plexSort::@1#0] -- vbuz1=vbuc1 + // [187] phi (byte) plexSort::m#2 = (byte) 0 [phi:plexSort->plexSort::@1#0] -- vbuz1=vbuc1 lda #0 sta.z m jmp __b1 - // [185] phi from plexSort::@2 to plexSort::@1 [phi:plexSort::@2->plexSort::@1] + // [187] phi from plexSort::@2 to plexSort::@1 [phi:plexSort::@2->plexSort::@1] __b1_from___b2: - // [185] phi (byte) plexSort::m#2 = (byte) plexSort::m#1 [phi:plexSort::@2->plexSort::@1#0] -- register_copy + // [187] phi (byte) plexSort::m#2 = (byte) plexSort::m#1 [phi:plexSort::@2->plexSort::@1#0] -- register_copy jmp __b1 // plexSort::@1 __b1: - // [186] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [188] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z m lda PLEX_SORTED_IDX+1,y sta.z nxt_idx - // [187] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) -- vbuz1=pbuc1_derefidx_vbuz2 + // [189] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z nxt_idx lda PLEX_YPOS,y sta.z nxt_y - // [188] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1 + // [190] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1 lda.z nxt_y ldx.z m ldy PLEX_SORTED_IDX,x @@ -6629,27 +6653,27 @@ plexSort: { jmp __b5 // plexSort::@5 __b5: - // [189] (byte) plexSort::s#6 ← (byte) plexSort::m#2 -- vbuxx=vbuz1 + // [191] (byte) plexSort::s#6 ← (byte) plexSort::m#2 -- vbuxx=vbuz1 ldx.z m - // [190] phi from plexSort::@5 plexSort::@7 to plexSort::@3 [phi:plexSort::@5/plexSort::@7->plexSort::@3] + // [192] phi from plexSort::@5 plexSort::@7 to plexSort::@3 [phi:plexSort::@5/plexSort::@7->plexSort::@3] __b3_from___b5: __b3_from___b7: - // [190] phi (byte) plexSort::s#3 = (byte) plexSort::s#6 [phi:plexSort::@5/plexSort::@7->plexSort::@3#0] -- register_copy + // [192] phi (byte) plexSort::s#3 = (byte) plexSort::s#6 [phi:plexSort::@5/plexSort::@7->plexSort::@3#0] -- register_copy jmp __b3 // plexSort::@3 __b3: - // [191] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + // [193] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx lda PLEX_SORTED_IDX,x sta PLEX_SORTED_IDX+1,x - // [192] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 -- vbuxx=_dec_vbuxx + // [194] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 -- vbuxx=_dec_vbuxx dex - // [193] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4 -- vbuxx_eq_vbuc1_then_la1 + // [195] if((byte) plexSort::s#1==(byte) $ff) goto plexSort::@4 -- vbuxx_eq_vbuc1_then_la1 cpx #$ff beq __b4 jmp __b7 // plexSort::@7 __b7: - // [194] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuxx)_then_la1 + // [196] if((byte) plexSort::nxt_y#0<*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#1))) goto plexSort::@3 -- vbuz1_lt_pbuc1_derefidx_(pbuc2_derefidx_vbuxx)_then_la1 lda.z nxt_y ldy PLEX_SORTED_IDX,x cmp PLEX_YPOS,y @@ -6657,67 +6681,67 @@ plexSort: { jmp __b4 // plexSort::@4 __b4: - // [195] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1 -- vbuxx=_inc_vbuxx + // [197] (byte) plexSort::s#2 ← ++ (byte) plexSort::s#1 -- vbuxx=_inc_vbuxx inx - // [196] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 -- pbuc1_derefidx_vbuxx=vbuz1 + // [198] *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#2) ← (byte) plexSort::nxt_idx#0 -- pbuc1_derefidx_vbuxx=vbuz1 lda.z nxt_idx sta PLEX_SORTED_IDX,x jmp __b2 // plexSort::@2 __b2: - // [197] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2 -- vbuz1=_inc_vbuz1 + // [199] (byte) plexSort::m#1 ← ++ (byte) plexSort::m#2 -- vbuz1=_inc_vbuz1 inc.z m - // [198] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1 -- vbuz1_neq_vbuc1_then_la1 + // [200] if((byte) plexSort::m#1!=(const nomodify byte) PLEX_COUNT-(byte) 2+(byte) 1) goto plexSort::@1 -- vbuz1_neq_vbuc1_then_la1 lda #PLEX_COUNT-2+1 cmp.z m bne __b1_from___b2 jmp __b6 // plexSort::@6 __b6: - // [199] (volatile byte) plex_show_idx ← (byte) 0 -- vbuz1=vbuc1 + // [201] (volatile byte) plex_show_idx ← (byte) 0 -- vbuz1=vbuc1 // Prepare for showing the sprites lda #0 sta.z plex_show_idx - // [200] (volatile byte) plex_sprite_idx ← (byte) 0 -- vbuz1=vbuc1 + // [202] (volatile byte) plex_sprite_idx ← (byte) 0 -- vbuz1=vbuc1 lda #0 sta.z plex_sprite_idx - // [201] (volatile byte) plex_sprite_msb ← (byte) 1 -- vbuz1=vbuc1 + // [203] (volatile byte) plex_sprite_msb ← (byte) 1 -- vbuz1=vbuc1 lda #1 sta.z plex_sprite_msb - // [202] phi from plexSort::@6 to plexSort::plexFreePrepare1 [phi:plexSort::@6->plexSort::plexFreePrepare1] + // [204] phi from plexSort::@6 to plexSort::plexFreePrepare1 [phi:plexSort::@6->plexSort::plexFreePrepare1] plexFreePrepare1_from___b6: jmp plexFreePrepare1 // plexSort::plexFreePrepare1 plexFreePrepare1: - // [203] phi from plexSort::plexFreePrepare1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1] + // [205] phi from plexSort::plexFreePrepare1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1] plexFreePrepare1___b1_from_plexFreePrepare1: - // [203] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) 0 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1#0] -- vbuxx=vbuc1 + // [205] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) 0 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1#0] -- vbuxx=vbuc1 ldx #0 jmp plexFreePrepare1___b1 - // [203] phi from plexSort::plexFreePrepare1_@1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1] + // [205] phi from plexSort::plexFreePrepare1_@1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1] plexFreePrepare1___b1_from_plexFreePrepare1___b1: - // [203] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) plexSort::plexFreePrepare1_s#1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1#0] -- register_copy + // [205] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) plexSort::plexFreePrepare1_s#1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1#0] -- register_copy jmp plexFreePrepare1___b1 // plexSort::plexFreePrepare1_@1 plexFreePrepare1___b1: - // [204] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 -- pbuc1_derefidx_vbuxx=vbuc2 + // [206] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 -- pbuc1_derefidx_vbuxx=vbuc2 lda #0 sta PLEX_FREE_YPOS,x - // [205] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 -- vbuxx=_inc_vbuxx + // [207] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 -- vbuxx=_inc_vbuxx inx - // [206] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 -- vbuxx_neq_vbuc1_then_la1 + // [208] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne plexFreePrepare1___b1_from_plexFreePrepare1___b1 jmp plexFreePrepare1___b2 // plexSort::plexFreePrepare1_@2 plexFreePrepare1___b2: - // [207] (volatile byte) plex_free_next ← (byte) 0 -- vbuz1=vbuc1 + // [209] (volatile byte) plex_free_next ← (byte) 0 -- vbuz1=vbuc1 lda #0 sta.z plex_free_next jmp __breturn // plexSort::@return __breturn: - // [208] return + // [210] return rts } // File Data @@ -6832,7 +6856,9 @@ Removing instruction lda #0 Replacing instruction lda #<0 with TYA Removing instruction lda #>0 Removing instruction ldy.z l2 +Removing instruction lda.z glyph_bits_2x2+1 Removing instruction ldy.z l2 +Removing instruction lda.z glyph_bits_2x2 Replacing instruction ldx #0 with TAX Removing instruction ldy.z sprite_idx Replacing instruction lda.z s with TYA @@ -7119,10 +7145,12 @@ FINAL SYMBOL TABLE (byte*) __start::__init1_toSpritePtr1_sprite (void()) font_2x2((byte*) font_2x2::font_original , (byte*) font_2x2::font_2x2) (byte~) font_2x2::$1 reg byte a 200002.0 -(byte~) font_2x2::$11 reg byte y 20002.0 -(byte~) font_2x2::$12 reg byte a 10001.0 -(byte~) font_2x2::$14 reg byte y 20002.0 -(byte~) font_2x2::$15 reg byte a 10001.0 +(byte~) font_2x2::$10 reg byte a 20002.0 +(byte~) font_2x2::$11 reg byte y 10001.0 +(byte~) font_2x2::$12 reg byte a 20002.0 +(byte~) font_2x2::$13 reg byte a 20002.0 +(byte~) font_2x2::$14 reg byte y 10001.0 +(byte~) font_2x2::$15 reg byte a 20002.0 (word~) font_2x2::$5 zp[2]:23 200002.0 (word~) font_2x2::$7 zp[2]:23 200002.0 (label) font_2x2::@1 @@ -7140,7 +7168,7 @@ FINAL SYMBOL TABLE (byte) font_2x2::b#2 reg byte y 20000.2 (byte) font_2x2::c (byte) font_2x2::c#1 c zp[1]:16 1501.5 -(byte) font_2x2::c#11 c zp[1]:16 58.88235294117647 +(byte) font_2x2::c#11 c zp[1]:16 55.611111111111114 (byte*) font_2x2::font_2x2 (byte*) font_2x2::font_original (byte) font_2x2::glyph_bit @@ -7151,31 +7179,31 @@ FINAL SYMBOL TABLE (byte) font_2x2::glyph_bits#2 glyph_bits zp[1]:13 34444.88888888889 (word) font_2x2::glyph_bits_2x2 (word) font_2x2::glyph_bits_2x2#1 glyph_bits_2x2 zp[2]:23 200002.0 -(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:23 27500.5 +(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:23 20000.500000000004 (word) font_2x2::glyph_bits_2x2#3 glyph_bits_2x2 zp[2]:23 40000.4 (byte) font_2x2::l (byte) font_2x2::l#1 l zp[1]:29 15001.5 -(byte) font_2x2::l#2 l zp[1]:29 1111.2222222222222 +(byte) font_2x2::l#2 l zp[1]:29 1034.5862068965519 (byte) font_2x2::l2 (byte) font_2x2::l2#1 l2 zp[1]:28 15001.5 -(byte) font_2x2::l2#8 l2 zp[1]:28 2727.5454545454545 +(byte) font_2x2::l2#8 l2 zp[1]:28 2500.25 (byte) font_2x2::l2#9 l2 zp[1]:28 6667.333333333333 (byte*) font_2x2::next_2x2 (byte*) font_2x2::next_2x2#1 next_2x2 zp[2]:26 500.5 (byte*) font_2x2::next_2x2_left -(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:26 750.1875 +(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:26 706.0588235294117 (byte*) font_2x2::next_2x2_left#1 next_2x2_left_1 zp[2]:7 10001.0 (byte*) font_2x2::next_2x2_left#10 next_2x2_left_1 zp[2]:7 2002.0 -(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:7 1708.5416666666665 +(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:7 1577.1153846153845 (byte*) font_2x2::next_2x2_left#8 next_2x2_left_1 zp[2]:7 10001.0 (byte*) font_2x2::next_2x2_right (byte*) font_2x2::next_2x2_right#0 next_2x2_right zp[2]:9 1001.0 (byte*) font_2x2::next_2x2_right#1 next_2x2_right zp[2]:9 20002.0 -(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:9 1708.5416666666665 +(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:9 1577.1153846153845 (byte*) font_2x2::next_2x2_right#8 next_2x2_right zp[2]:9 10001.0 (byte*) font_2x2::next_original (byte*) font_2x2::next_original#1 next_original zp[2]:5 667.3333333333334 -(byte*) font_2x2::next_original#4 next_original zp[2]:5 363.7272727272727 +(byte*) font_2x2::next_original#4 next_original zp[2]:5 342.9428571428572 (void()) font_2x2_to_sprites((byte*) font_2x2_to_sprites::font_2x2 , (byte*) font_2x2_to_sprites::sprites , (byte) font_2x2_to_sprites::num_chars) (byte~) font_2x2_to_sprites::$3 zp[1]:28 10001.0 (label) font_2x2_to_sprites::@1 @@ -7402,10 +7430,12 @@ reg byte a [ plexShowSprite::$9 ] reg byte x [ plexShowSprite::$5 ] reg byte a [ plexShowSprite::$6 ] reg byte a [ font_2x2::$1 ] -reg byte a [ font_2x2::$12 ] +reg byte a [ font_2x2::$10 ] reg byte y [ font_2x2::$11 ] -reg byte a [ font_2x2::$15 ] +reg byte a [ font_2x2::$12 ] +reg byte a [ font_2x2::$13 ] reg byte y [ font_2x2::$14 ] +reg byte a [ font_2x2::$15 ] reg byte y [ font_2x2_to_sprites::sprite_idx#2 ] reg byte x [ plex_move::$6 ] zp[2]:26 [ plex_move::$7 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] @@ -7621,14 +7651,14 @@ main: { // font_2x2_to_sprites(FONT, SPRITES, 64) // [30] call font_2x2_to_sprites // Convert font to sprites - // [129] phi from main::@9 to font_2x2_to_sprites [phi:main::@9->font_2x2_to_sprites] + // [131] phi from main::@9 to font_2x2_to_sprites [phi:main::@9->font_2x2_to_sprites] jsr font_2x2_to_sprites // [31] phi from main::@9 to main::@10 [phi:main::@9->main::@10] // main::@10 // plexInit(SCREEN) // [32] call plexInit // Initialize the multiplexer - // [154] phi from main::@10 to plexInit [phi:main::@10->plexInit] + // [156] phi from main::@10 to plexInit [phi:main::@10->plexInit] jsr plexInit // [33] phi from main::@10 to main::toD0181 [phi:main::@10->main::toD0181] // main::toD0181 @@ -7680,16 +7710,16 @@ main: { // plex_move() // [43] call plex_move // Move the sprites - // [161] phi from main::@5 to plex_move [phi:main::@5->plex_move] - // [161] phi (byte*) scroll_text_next#27 = (const byte*) SCROLL_TEXT [phi:main::@5->plex_move#0] -- pbuz1=pbuc1 + // [163] phi from main::@5 to plex_move [phi:main::@5->plex_move] + // [163] phi (byte*) scroll_text_next#27 = (const byte*) SCROLL_TEXT [phi:main::@5->plex_move#0] -- pbuz1=pbuc1 lda #SCROLL_TEXT sta.z scroll_text_next+1 - // [161] phi (byte) x_movement_idx#11 = (byte) 0 [phi:main::@5->plex_move#1] -- vbuz1=vbuc1 + // [163] phi (byte) x_movement_idx#11 = (byte) 0 [phi:main::@5->plex_move#1] -- vbuz1=vbuc1 lda #0 sta.z x_movement_idx - // [161] phi (byte) y_sin_idx#11 = (byte) 0 [phi:main::@5->plex_move#2] -- vbuz1=vbuc1 + // [163] phi (byte) y_sin_idx#11 = (byte) 0 [phi:main::@5->plex_move#2] -- vbuz1=vbuc1 sta.z y_sin_idx jsr plex_move // [44] phi from main::@5 to main::@11 [phi:main::@5->main::@11] @@ -7697,7 +7727,7 @@ main: { // plexSort() // [45] call plexSort // Sort the sprites by y-position - // [184] phi from main::@11 to plexSort [phi:main::@11->plexSort] + // [186] phi from main::@11 to plexSort [phi:main::@11->plexSort] jsr plexSort // main::@12 // asm @@ -7756,17 +7786,17 @@ main: { // [56] call plex_move //*BORDER_COLOR = RED; // Move the sprites - // [161] phi from main::@7 to plex_move [phi:main::@7->plex_move] - // [161] phi (byte*) scroll_text_next#27 = (byte*) scroll_text_next#14 [phi:main::@7->plex_move#0] -- register_copy - // [161] phi (byte) x_movement_idx#11 = (byte) x_movement_idx#13 [phi:main::@7->plex_move#1] -- register_copy - // [161] phi (byte) y_sin_idx#11 = (byte) y_sin_idx#13 [phi:main::@7->plex_move#2] -- register_copy + // [163] phi from main::@7 to plex_move [phi:main::@7->plex_move] + // [163] phi (byte*) scroll_text_next#27 = (byte*) scroll_text_next#14 [phi:main::@7->plex_move#0] -- register_copy + // [163] phi (byte) x_movement_idx#11 = (byte) x_movement_idx#13 [phi:main::@7->plex_move#1] -- register_copy + // [163] phi (byte) y_sin_idx#11 = (byte) y_sin_idx#13 [phi:main::@7->plex_move#2] -- register_copy jsr plex_move // [57] phi from main::@7 to main::@13 [phi:main::@7->main::@13] // main::@13 // plexSort() // [58] call plexSort // Sort the sprites by y-position - // [184] phi from main::@13 to plexSort [phi:main::@13->plexSort] + // [186] phi from main::@13 to plexSort [phi:main::@13->plexSort] jsr plexSort jmp __b6 // main::@2 @@ -8060,46 +8090,50 @@ font_2x2: { bne __b3 // font_2x2::@6 // >glyph_bits_2x2 - // [109] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 + // [109] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 lda.z glyph_bits_2x2+1 // next_2x2_left[l2] = >glyph_bits_2x2 - // [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuaa + // [110] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 -- pbuz1_derefidx_vbuz2=vbuaa // Put the generated 2x2-line into the 2x2-font twice ldy.z l2 sta (next_2x2_left_1),y // l2+1 // [111] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuyy=vbuz1_plus_1 iny + // >glyph_bits_2x2 + // [112] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 // next_2x2_left[l2+1] = >glyph_bits_2x2 - // [112] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuyy=vbuaa + // [113] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuyy=vbuaa sta (next_2x2_left_1),y // $80*8 sta.z next_2x2_left_1+1 // next_2x2_right = next_2x2 + 0xc0*8 - // [120] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [122] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$c0*8 @@ -8116,28 +8150,28 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$c0*8 sta.z next_2x2_right+1 - // [121] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] - // [121] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy - // [121] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 + // [123] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] + // [123] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy + // [123] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 lda #0 sta.z l2 - // [121] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy - // [121] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] - // [121] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy - // [121] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy - // [121] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy + // [123] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy + // [123] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] + // [123] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy + // [123] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy + // [123] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy // font_2x2::@8 __b8: // for(char l: 0..7) - // [122] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 + // [124] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [123] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 + // [125] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l bne __b2 // font_2x2::@9 // next_2x2 += 8 - // [124] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [126] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 clc adc.z next_2x2 sta.z next_2x2 @@ -8145,7 +8179,7 @@ font_2x2: { inc.z next_2x2+1 !: // next_original += 8 - // [125] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [127] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_original @@ -8154,9 +8188,9 @@ font_2x2: { inc.z next_original+1 !: // for(char c: 0..0x3f) - // [126] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 + // [128] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 inc.z c - // [127] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [129] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$40 cmp.z c beq !__b1+ @@ -8164,7 +8198,7 @@ font_2x2: { !__b1: // font_2x2::@return // } - // [128] return + // [130] return rts } // font_2x2_to_sprites @@ -8181,35 +8215,35 @@ font_2x2_to_sprites: { .label char_current = $1a .label sprite = 5 .label c = $10 - // [130] phi from font_2x2_to_sprites to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1] - // [130] phi (byte*) font_2x2_to_sprites::sprite#4 = (const nomodify byte*) SPRITES [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#0] -- pbuz1=pbuc1 + // [132] phi from font_2x2_to_sprites to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1] + // [132] phi (byte*) font_2x2_to_sprites::sprite#4 = (const nomodify byte*) SPRITES [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#0] -- pbuz1=pbuc1 lda #SPRITES sta.z sprite+1 - // [130] phi (byte*) font_2x2_to_sprites::char_current#2 = (const byte*) FONT [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#1] -- pbuz1=pbuc1 + // [132] phi (byte*) font_2x2_to_sprites::char_current#2 = (const byte*) FONT [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#1] -- pbuz1=pbuc1 lda #FONT sta.z char_current+1 - // [130] phi (byte) font_2x2_to_sprites::c#2 = (byte) 0 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#2] -- vbuz1=vbuc1 + // [132] phi (byte) font_2x2_to_sprites::c#2 = (byte) 0 [phi:font_2x2_to_sprites->font_2x2_to_sprites::@1#2] -- vbuz1=vbuc1 lda #0 sta.z c // font_2x2_to_sprites::@1 __b1: // for(char c=0;c$40*8 sta.z char_right+1 - // [134] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 -- pbuz1=pbuz2 + // [136] (byte*) font_2x2_to_sprites::char_left#6 ← (byte*) font_2x2_to_sprites::char_current#2 -- pbuz1=pbuz2 lda.z char_current sta.z char_left lda.z char_current+1 sta.z char_left+1 - // [135] phi from font_2x2_to_sprites::@2 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3] - // [135] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#0] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#1] -- vbuz1=vbuc1 + // [137] phi from font_2x2_to_sprites::@2 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3] + // [137] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#0] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#1] -- vbuz1=vbuc1 lda #0 sta.z sprite_idx - // [135] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#6 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#2] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::i#2 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#3] -- vbuxx=vbuc1 + // [137] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#6 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#2] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::i#2 = (byte) 0 [phi:font_2x2_to_sprites::@2->font_2x2_to_sprites::@3#3] -- vbuxx=vbuc1 tax - // [135] phi from font_2x2_to_sprites::@5 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3] - // [135] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#0] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) font_2x2_to_sprites::sprite_idx#3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#1] -- register_copy - // [135] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#2] -- register_copy - // [135] phi (byte) font_2x2_to_sprites::i#2 = (byte) font_2x2_to_sprites::i#1 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#3] -- register_copy + // [137] phi from font_2x2_to_sprites::@5 to font_2x2_to_sprites::@3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3] + // [137] phi (byte*) font_2x2_to_sprites::char_right#3 = (byte*) font_2x2_to_sprites::char_right#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#0] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::sprite_idx#4 = (byte) font_2x2_to_sprites::sprite_idx#3 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#1] -- register_copy + // [137] phi (byte*) font_2x2_to_sprites::char_left#3 = (byte*) font_2x2_to_sprites::char_left#4 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#2] -- register_copy + // [137] phi (byte) font_2x2_to_sprites::i#2 = (byte) font_2x2_to_sprites::i#1 [phi:font_2x2_to_sprites::@5->font_2x2_to_sprites::@3#3] -- register_copy // font_2x2_to_sprites::@3 __b3: // i&7 - // [136] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 + // [138] (byte~) font_2x2_to_sprites::$3 ← (byte) font_2x2_to_sprites::i#2 & (byte) 7 -- vbuz1=vbuxx_band_vbuc1 lda #7 sax.z __3 // sprite[sprite_idx++] = char_left[i&7] - // [137] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 + // [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#4) ← *((byte*) font_2x2_to_sprites::char_left#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 ldy.z __3 lda (char_left),y ldy.z sprite_idx sta (sprite),y // sprite[sprite_idx++] = char_left[i&7]; - // [138] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 -- vbuz1=_inc_vbuz1 + // [140] (byte) font_2x2_to_sprites::sprite_idx#1 ← ++ (byte) font_2x2_to_sprites::sprite_idx#4 -- vbuz1=_inc_vbuz1 inc.z sprite_idx // sprite[sprite_idx++] = char_right[i&7] - // [139] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 + // [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#1) ← *((byte*) font_2x2_to_sprites::char_right#3 + (byte~) font_2x2_to_sprites::$3) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz4 ldy.z __3 lda (char_right),y ldy.z sprite_idx sta (sprite),y // sprite[sprite_idx++] = char_right[i&7]; - // [140] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 -- vbuyy=_inc_vbuz1 + // [142] (byte) font_2x2_to_sprites::sprite_idx#2 ← ++ (byte) font_2x2_to_sprites::sprite_idx#1 -- vbuyy=_inc_vbuz1 iny // sprite[sprite_idx++] = 0x00 - // [141] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 -- pbuz1_derefidx_vbuyy=vbuc1 + // [143] *((byte*) font_2x2_to_sprites::sprite#4 + (byte) font_2x2_to_sprites::sprite_idx#2) ← (byte) 0 -- pbuz1_derefidx_vbuyy=vbuc1 lda #0 sta (sprite),y // sprite[sprite_idx++] = 0x00; - // [142] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 -- vbuz1=_inc_vbuyy + // [144] (byte) font_2x2_to_sprites::sprite_idx#3 ← ++ (byte) font_2x2_to_sprites::sprite_idx#2 -- vbuz1=_inc_vbuyy iny sty.z sprite_idx // if(i==7) - // [143] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 -- vbuxx_eq_vbuc1_then_la1 + // [145] if((byte) font_2x2_to_sprites::i#2==(byte) 7) goto font_2x2_to_sprites::@4 -- vbuxx_eq_vbuc1_then_la1 cpx #7 beq __b4 // font_2x2_to_sprites::@6 // if(i==15) - // [144] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 -- vbuxx_neq_vbuc1_then_la1 + // [146] if((byte) font_2x2_to_sprites::i#2!=(byte) $f) goto font_2x2_to_sprites::@8 -- vbuxx_neq_vbuc1_then_la1 cpx #$f bne __b5 - // [146] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5] - // [146] phi (byte*) font_2x2_to_sprites::char_right#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#0] -- pbuz1=pbuc1 + // [148] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5] + // [148] phi (byte*) font_2x2_to_sprites::char_right#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#0] -- pbuz1=pbuc1 lda #FONT+' '*8 sta.z char_right+1 - // [146] phi (byte*) font_2x2_to_sprites::char_left#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#1] -- pbuz1=pbuc1 + // [148] phi (byte*) font_2x2_to_sprites::char_left#4 = (const byte*) FONT+(byte) ' '*(byte) 8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@5#1] -- pbuz1=pbuc1 lda #FONT+' '*8 sta.z char_left+1 - // [145] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@8] + // [147] phi from font_2x2_to_sprites::@6 to font_2x2_to_sprites::@8 [phi:font_2x2_to_sprites::@6->font_2x2_to_sprites::@8] // font_2x2_to_sprites::@8 - // [146] phi from font_2x2_to_sprites::@4 font_2x2_to_sprites::@8 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5] - // [146] phi (byte*) font_2x2_to_sprites::char_right#4 = (byte*) font_2x2_to_sprites::char_right#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#0] -- register_copy - // [146] phi (byte*) font_2x2_to_sprites::char_left#4 = (byte*) font_2x2_to_sprites::char_left#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#1] -- register_copy + // [148] phi from font_2x2_to_sprites::@4 font_2x2_to_sprites::@8 to font_2x2_to_sprites::@5 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5] + // [148] phi (byte*) font_2x2_to_sprites::char_right#4 = (byte*) font_2x2_to_sprites::char_right#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#0] -- register_copy + // [148] phi (byte*) font_2x2_to_sprites::char_left#4 = (byte*) font_2x2_to_sprites::char_left#1 [phi:font_2x2_to_sprites::@4/font_2x2_to_sprites::@8->font_2x2_to_sprites::@5#1] -- register_copy // font_2x2_to_sprites::@5 __b5: // for(char i: 0..20) - // [147] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 -- vbuxx=_inc_vbuxx + // [149] (byte) font_2x2_to_sprites::i#1 ← ++ (byte) font_2x2_to_sprites::i#2 -- vbuxx=_inc_vbuxx inx - // [148] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 -- vbuxx_neq_vbuc1_then_la1 + // [150] if((byte) font_2x2_to_sprites::i#1!=(byte) $15) goto font_2x2_to_sprites::@3 -- vbuxx_neq_vbuc1_then_la1 cpx #$15 bne __b3 // font_2x2_to_sprites::@7 // char_current += 8 - // [149] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [151] (byte*) font_2x2_to_sprites::char_current#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z char_current @@ -8311,7 +8345,7 @@ font_2x2_to_sprites: { inc.z char_current+1 !: // sprite += 0x40 - // [150] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 -- pbuz1=pbuz1_plus_vbuc1 + // [152] (byte*) font_2x2_to_sprites::sprite#1 ← (byte*) font_2x2_to_sprites::sprite#4 + (byte) $40 -- pbuz1=pbuz1_plus_vbuc1 lda #$40 clc adc.z sprite @@ -8320,17 +8354,17 @@ font_2x2_to_sprites: { inc.z sprite+1 !: // for(char c=0;cfont_2x2_to_sprites::@1] - // [130] phi (byte*) font_2x2_to_sprites::sprite#4 = (byte*) font_2x2_to_sprites::sprite#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#0] -- register_copy - // [130] phi (byte*) font_2x2_to_sprites::char_current#2 = (byte*) font_2x2_to_sprites::char_current#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#1] -- register_copy - // [130] phi (byte) font_2x2_to_sprites::c#2 = (byte) font_2x2_to_sprites::c#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#2] -- register_copy + // [132] phi from font_2x2_to_sprites::@7 to font_2x2_to_sprites::@1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1] + // [132] phi (byte*) font_2x2_to_sprites::sprite#4 = (byte*) font_2x2_to_sprites::sprite#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#0] -- register_copy + // [132] phi (byte*) font_2x2_to_sprites::char_current#2 = (byte*) font_2x2_to_sprites::char_current#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#1] -- register_copy + // [132] phi (byte) font_2x2_to_sprites::c#2 = (byte) font_2x2_to_sprites::c#1 [phi:font_2x2_to_sprites::@7->font_2x2_to_sprites::@1#2] -- register_copy jmp __b1 // font_2x2_to_sprites::@4 __b4: // char_left = char_current + 0x80*8 - // [152] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [154] (byte*) font_2x2_to_sprites::char_left#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z char_current clc adc #<$80*8 @@ -8339,7 +8373,7 @@ font_2x2_to_sprites: { adc #>$80*8 sta.z char_left+1 // char_right = char_current + 0xc0*8 - // [153] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [155] (byte*) font_2x2_to_sprites::char_right#1 ← (byte*) font_2x2_to_sprites::char_current#2 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z char_current clc adc #<$c0*8 @@ -8352,28 +8386,28 @@ font_2x2_to_sprites: { // plexInit // Initialize the multiplexer data structures plexInit: { - // [155] phi from plexInit to plexInit::plexSetScreen1 [phi:plexInit->plexInit::plexSetScreen1] + // [157] phi from plexInit to plexInit::plexSetScreen1 [phi:plexInit->plexInit::plexSetScreen1] // plexInit::plexSetScreen1 - // [156] phi from plexInit::plexSetScreen1 to plexInit::@1 [phi:plexInit::plexSetScreen1->plexInit::@1] - // [156] phi (byte) plexInit::i#2 = (byte) 0 [phi:plexInit::plexSetScreen1->plexInit::@1#0] -- vbuxx=vbuc1 + // [158] phi from plexInit::plexSetScreen1 to plexInit::@1 [phi:plexInit::plexSetScreen1->plexInit::@1] + // [158] phi (byte) plexInit::i#2 = (byte) 0 [phi:plexInit::plexSetScreen1->plexInit::@1#0] -- vbuxx=vbuc1 ldx #0 - // [156] phi from plexInit::@1 to plexInit::@1 [phi:plexInit::@1->plexInit::@1] - // [156] phi (byte) plexInit::i#2 = (byte) plexInit::i#1 [phi:plexInit::@1->plexInit::@1#0] -- register_copy + // [158] phi from plexInit::@1 to plexInit::@1 [phi:plexInit::@1->plexInit::@1] + // [158] phi (byte) plexInit::i#2 = (byte) plexInit::i#1 [phi:plexInit::@1->plexInit::@1#0] -- register_copy // plexInit::@1 __b1: // PLEX_SORTED_IDX[i] = i - // [157] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 -- pbuc1_derefidx_vbuxx=vbuxx + // [159] *((const byte*) PLEX_SORTED_IDX + (byte) plexInit::i#2) ← (byte) plexInit::i#2 -- pbuc1_derefidx_vbuxx=vbuxx txa sta PLEX_SORTED_IDX,x // for(char i: 0..PLEX_COUNT-1) - // [158] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 -- vbuxx=_inc_vbuxx + // [160] (byte) plexInit::i#1 ← ++ (byte) plexInit::i#2 -- vbuxx=_inc_vbuxx inx - // [159] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 -- vbuxx_neq_vbuc1_then_la1 + // [161] if((byte) plexInit::i#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plexInit::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #PLEX_COUNT-1+1 bne __b1 // plexInit::@return // } - // [160] return + // [162] return rts } // plex_move @@ -8384,123 +8418,123 @@ plex_move: { .label s = $d .label __7 = $1a // y_idx = y_sin_idx - // [162] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 -- vbuz1=vbuz2 + // [164] (byte) plex_move::y_idx#0 ← (byte) y_sin_idx#11 -- vbuz1=vbuz2 lda.z y_sin_idx sta.z y_idx // x_idx = x_movement_idx - // [163] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 -- vbuz1=vbuz2 + // [165] (byte) plex_move::x_idx#0 ← (byte) x_movement_idx#11 -- vbuz1=vbuz2 lda.z x_movement_idx sta.z x_idx - // [164] phi from plex_move to plex_move::@1 [phi:plex_move->plex_move::@1] - // [164] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#27 [phi:plex_move->plex_move::@1#0] -- register_copy - // [164] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#0 [phi:plex_move->plex_move::@1#1] -- register_copy - // [164] phi (byte) plex_move::s#2 = (byte) 0 [phi:plex_move->plex_move::@1#2] -- vbuz1=vbuc1 + // [166] phi from plex_move to plex_move::@1 [phi:plex_move->plex_move::@1] + // [166] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#27 [phi:plex_move->plex_move::@1#0] -- register_copy + // [166] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#0 [phi:plex_move->plex_move::@1#1] -- register_copy + // [166] phi (byte) plex_move::s#2 = (byte) 0 [phi:plex_move->plex_move::@1#2] -- vbuz1=vbuc1 lda #0 sta.z s - // [164] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#0 [phi:plex_move->plex_move::@1#3] -- register_copy - // [164] phi from plex_move::@2 to plex_move::@1 [phi:plex_move::@2->plex_move::@1] - // [164] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#14 [phi:plex_move::@2->plex_move::@1#0] -- register_copy - // [164] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#1 [phi:plex_move::@2->plex_move::@1#1] -- register_copy - // [164] phi (byte) plex_move::s#2 = (byte) plex_move::s#1 [phi:plex_move::@2->plex_move::@1#2] -- register_copy - // [164] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#1 [phi:plex_move::@2->plex_move::@1#3] -- register_copy + // [166] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#0 [phi:plex_move->plex_move::@1#3] -- register_copy + // [166] phi from plex_move::@2 to plex_move::@1 [phi:plex_move::@2->plex_move::@1] + // [166] phi (byte*) scroll_text_next#12 = (byte*) scroll_text_next#14 [phi:plex_move::@2->plex_move::@1#0] -- register_copy + // [166] phi (byte) plex_move::x_idx#2 = (byte) plex_move::x_idx#1 [phi:plex_move::@2->plex_move::@1#1] -- register_copy + // [166] phi (byte) plex_move::s#2 = (byte) plex_move::s#1 [phi:plex_move::@2->plex_move::@1#2] -- register_copy + // [166] phi (byte) plex_move::y_idx#2 = (byte) plex_move::y_idx#1 [phi:plex_move::@2->plex_move::@1#3] -- register_copy // plex_move::@1 __b1: // PLEX_YPOS[s] = YSIN[y_idx] - // [165] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz2 + // [167] *((const byte*) PLEX_YPOS + (byte) plex_move::s#2) ← *((const byte*) YSIN + (byte) plex_move::y_idx#2) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz2 // Assign sine value ldy.z y_idx lda YSIN,y ldy.z s sta PLEX_YPOS,y // y_idx += 8 - // [166] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 + // [168] (byte) plex_move::y_idx#1 ← (byte) plex_move::y_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 lax.z y_idx axs #-[8] stx.z y_idx // PLEX_XPOS[s] = { XMOVEMENT_HI[x_idx], XMOVEMENT[x_idx] } - // [167] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 -- vbuxx=vbuz1_rol_1 + // [169] (byte~) plex_move::$6 ← (byte) plex_move::s#2 << (byte) 1 -- vbuxx=vbuz1_rol_1 tya asl tax - // [168] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + // [170] (word~) plex_move::$7 ← *((const nomodify byte*) XMOVEMENT_HI + (byte) plex_move::x_idx#2) w= *((const byte*) XMOVEMENT + (byte) plex_move::x_idx#2) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy.z x_idx lda XMOVEMENT_HI,y sta.z __7+1 lda XMOVEMENT,y sta.z __7 - // [169] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 -- pwuc1_derefidx_vbuxx=vwuz1 + // [171] *((const word*) PLEX_XPOS + (byte~) plex_move::$6) ← (word~) plex_move::$7 -- pwuc1_derefidx_vbuxx=vwuz1 sta PLEX_XPOS,x lda.z __7+1 sta PLEX_XPOS+1,x // if(x_idx==0) - // [170] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 -- vbuz1_neq_0_then_la1 + // [172] if((byte) plex_move::x_idx#2!=(byte) 0) goto plex_move::@2 -- vbuz1_neq_0_then_la1 tya cmp #0 bne __b2 // plex_move::@4 // if(*scroll_text_next==0) - // [171] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 -- _deref_pbuz1_neq_0_then_la1 + // [173] if(*((byte*) scroll_text_next#12)!=(byte) 0) goto plex_move::@6 -- _deref_pbuz1_neq_0_then_la1 ldy #0 lda (scroll_text_next),y cmp #0 bne __b3 - // [173] phi from plex_move::@4 to plex_move::@3 [phi:plex_move::@4->plex_move::@3] - // [173] phi (byte*) scroll_text_next#13 = (const byte*) SCROLL_TEXT [phi:plex_move::@4->plex_move::@3#0] -- pbuz1=pbuc1 + // [175] phi from plex_move::@4 to plex_move::@3 [phi:plex_move::@4->plex_move::@3] + // [175] phi (byte*) scroll_text_next#13 = (const byte*) SCROLL_TEXT [phi:plex_move::@4->plex_move::@3#0] -- pbuz1=pbuc1 lda #SCROLL_TEXT sta.z scroll_text_next+1 - // [172] phi from plex_move::@4 to plex_move::@6 [phi:plex_move::@4->plex_move::@6] + // [174] phi from plex_move::@4 to plex_move::@6 [phi:plex_move::@4->plex_move::@6] // plex_move::@6 - // [173] phi from plex_move::@6 to plex_move::@3 [phi:plex_move::@6->plex_move::@3] - // [173] phi (byte*) scroll_text_next#13 = (byte*) scroll_text_next#12 [phi:plex_move::@6->plex_move::@3#0] -- register_copy + // [175] phi from plex_move::@6 to plex_move::@3 [phi:plex_move::@6->plex_move::@3] + // [175] phi (byte*) scroll_text_next#13 = (byte*) scroll_text_next#12 [phi:plex_move::@6->plex_move::@3#0] -- register_copy // plex_move::@3 __b3: // SPRITE_0+*scroll_text_next++ - // [174] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) -- vbuaa=vbuc1_plus__deref_pbuz1 + // [176] (byte~) plex_move::$4 ← (const byte) SPRITE_0#0 + *((byte*) scroll_text_next#13) -- vbuaa=vbuc1_plus__deref_pbuz1 lda #SPRITE_0 clc ldy #0 adc (scroll_text_next),y // PLEX_PTR[s] = SPRITE_0+*scroll_text_next++ - // [175] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 -- pbuc1_derefidx_vbuz1=vbuaa + // [177] *((const byte*) PLEX_PTR + (byte) plex_move::s#2) ← (byte~) plex_move::$4 -- pbuc1_derefidx_vbuz1=vbuaa // Read next char from the scroll text ldy.z s sta PLEX_PTR,y // PLEX_PTR[s] = SPRITE_0+*scroll_text_next++; - // [176] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 -- pbuz1=_inc_pbuz1 + // [178] (byte*) scroll_text_next#3 ← ++ (byte*) scroll_text_next#13 -- pbuz1=_inc_pbuz1 inc.z scroll_text_next bne !+ inc.z scroll_text_next+1 !: - // [177] phi from plex_move::@1 plex_move::@3 to plex_move::@2 [phi:plex_move::@1/plex_move::@3->plex_move::@2] - // [177] phi (byte*) scroll_text_next#14 = (byte*) scroll_text_next#12 [phi:plex_move::@1/plex_move::@3->plex_move::@2#0] -- register_copy + // [179] phi from plex_move::@1 plex_move::@3 to plex_move::@2 [phi:plex_move::@1/plex_move::@3->plex_move::@2] + // [179] phi (byte*) scroll_text_next#14 = (byte*) scroll_text_next#12 [phi:plex_move::@1/plex_move::@3->plex_move::@2#0] -- register_copy // plex_move::@2 __b2: // x_idx +=8 - // [178] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 + // [180] (byte) plex_move::x_idx#1 ← (byte) plex_move::x_idx#2 + (byte) 8 -- vbuz1=vbuz1_plus_vbuc1 lax.z x_idx axs #-[8] stx.z x_idx // for(char s: 0..PLEX_COUNT-1) - // [179] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 -- vbuz1=_inc_vbuz1 + // [181] (byte) plex_move::s#1 ← ++ (byte) plex_move::s#2 -- vbuz1=_inc_vbuz1 inc.z s - // [180] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 -- vbuz1_neq_vbuc1_then_la1 + // [182] if((byte) plex_move::s#1!=(const nomodify byte) PLEX_COUNT-(byte) 1+(byte) 1) goto plex_move::@1 -- vbuz1_neq_vbuc1_then_la1 lda #PLEX_COUNT-1+1 cmp.z s bne __b1 // plex_move::@5 // y_sin_idx += 3 - // [181] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 -- vbuz1=vbuz1_plus_vbuc1 + // [183] (byte) y_sin_idx#13 ← (byte) y_sin_idx#11 + (byte) 3 -- vbuz1=vbuz1_plus_vbuc1 lax.z y_sin_idx axs #-[3] stx.z y_sin_idx // x_movement_idx++; - // [182] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 -- vbuz1=_inc_vbuz1 + // [184] (byte) x_movement_idx#13 ← ++ (byte) x_movement_idx#11 -- vbuz1=_inc_vbuz1 inc.z x_movement_idx // plex_move::@return // } - // [183] return + // [185] return rts } // plexSort @@ -8517,49 +8551,49 @@ plexSort: { .label nxt_idx = $1c .label nxt_y = $1d .label m = $10 - // [185] phi from plexSort to plexSort::@1 [phi:plexSort->plexSort::@1] - // [185] phi (byte) plexSort::m#2 = (byte) 0 [phi:plexSort->plexSort::@1#0] -- vbuz1=vbuc1 + // [187] phi from plexSort to plexSort::@1 [phi:plexSort->plexSort::@1] + // [187] phi (byte) plexSort::m#2 = (byte) 0 [phi:plexSort->plexSort::@1#0] -- vbuz1=vbuc1 lda #0 sta.z m - // [185] phi from plexSort::@2 to plexSort::@1 [phi:plexSort::@2->plexSort::@1] - // [185] phi (byte) plexSort::m#2 = (byte) plexSort::m#1 [phi:plexSort::@2->plexSort::@1#0] -- register_copy + // [187] phi from plexSort::@2 to plexSort::@1 [phi:plexSort::@2->plexSort::@1] + // [187] phi (byte) plexSort::m#2 = (byte) plexSort::m#1 [phi:plexSort::@2->plexSort::@1#0] -- register_copy // plexSort::@1 __b1: // nxt_idx = PLEX_SORTED_IDX[m+1] - // [186] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [188] (byte) plexSort::nxt_idx#0 ← *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::m#2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z m lda PLEX_SORTED_IDX+1,y sta.z nxt_idx // nxt_y = PLEX_YPOS[nxt_idx] - // [187] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) -- vbuz1=pbuc1_derefidx_vbuz2 + // [189] (byte) plexSort::nxt_y#0 ← *((const byte*) PLEX_YPOS + (byte) plexSort::nxt_idx#0) -- vbuz1=pbuc1_derefidx_vbuz2 tay lda PLEX_YPOS,y sta.z nxt_y // if(nxt_y=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1 + // [190] if((byte) plexSort::nxt_y#0>=*((const byte*) PLEX_YPOS + *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::m#2))) goto plexSort::@2 -- vbuz1_ge_pbuc1_derefidx_(pbuc2_derefidx_vbuz2)_then_la1 ldx.z m ldy PLEX_SORTED_IDX,x cmp PLEX_YPOS,y bcs __b2 // plexSort::@5 - // [189] (byte) plexSort::s#6 ← (byte) plexSort::m#2 -- vbuxx=vbuz1 - // [190] phi from plexSort::@5 plexSort::@7 to plexSort::@3 [phi:plexSort::@5/plexSort::@7->plexSort::@3] - // [190] phi (byte) plexSort::s#3 = (byte) plexSort::s#6 [phi:plexSort::@5/plexSort::@7->plexSort::@3#0] -- register_copy + // [191] (byte) plexSort::s#6 ← (byte) plexSort::m#2 -- vbuxx=vbuz1 + // [192] phi from plexSort::@5 plexSort::@7 to plexSort::@3 [phi:plexSort::@5/plexSort::@7->plexSort::@3] + // [192] phi (byte) plexSort::s#3 = (byte) plexSort::s#6 [phi:plexSort::@5/plexSort::@7->plexSort::@3#0] -- register_copy // plexSort::@3 __b3: // PLEX_SORTED_IDX[s+1] = PLEX_SORTED_IDX[s] - // [191] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + // [193] *((const byte*) PLEX_SORTED_IDX+(byte) 1 + (byte) plexSort::s#3) ← *((const byte*) PLEX_SORTED_IDX + (byte) plexSort::s#3) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx lda PLEX_SORTED_IDX,x sta PLEX_SORTED_IDX+1,x // s--; - // [192] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 -- vbuxx=_dec_vbuxx + // [194] (byte) plexSort::s#1 ← -- (byte) plexSort::s#3 -- vbuxx=_dec_vbuxx dex // while((s!=0xff) && (nxt_yplexSort::plexFreePrepare1] + // [204] phi from plexSort::@6 to plexSort::plexFreePrepare1 [phi:plexSort::@6->plexSort::plexFreePrepare1] // plexSort::plexFreePrepare1 - // [203] phi from plexSort::plexFreePrepare1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1] - // [203] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) 0 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1#0] -- vbuxx=vbuc1 + // [205] phi from plexSort::plexFreePrepare1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1] + // [205] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) 0 [phi:plexSort::plexFreePrepare1->plexSort::plexFreePrepare1_@1#0] -- vbuxx=vbuc1 ldx #0 - // [203] phi from plexSort::plexFreePrepare1_@1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1] - // [203] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) plexSort::plexFreePrepare1_s#1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1#0] -- register_copy + // [205] phi from plexSort::plexFreePrepare1_@1 to plexSort::plexFreePrepare1_@1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1] + // [205] phi (byte) plexSort::plexFreePrepare1_s#2 = (byte) plexSort::plexFreePrepare1_s#1 [phi:plexSort::plexFreePrepare1_@1->plexSort::plexFreePrepare1_@1#0] -- register_copy // plexSort::plexFreePrepare1_@1 plexFreePrepare1___b1: // PLEX_FREE_YPOS[s] = 0 - // [204] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 -- pbuc1_derefidx_vbuxx=vbuc2 + // [206] *((const byte*) PLEX_FREE_YPOS + (byte) plexSort::plexFreePrepare1_s#2) ← (byte) 0 -- pbuc1_derefidx_vbuxx=vbuc2 lda #0 sta PLEX_FREE_YPOS,x // for( char s: 0..7) - // [205] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 -- vbuxx=_inc_vbuxx + // [207] (byte) plexSort::plexFreePrepare1_s#1 ← ++ (byte) plexSort::plexFreePrepare1_s#2 -- vbuxx=_inc_vbuxx inx - // [206] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 -- vbuxx_neq_vbuc1_then_la1 + // [208] if((byte) plexSort::plexFreePrepare1_s#1!=(byte) 8) goto plexSort::plexFreePrepare1_@1 -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne plexFreePrepare1___b1 // plexSort::plexFreePrepare1_@2 // plex_free_next = 0 - // [207] (volatile byte) plex_free_next ← (byte) 0 -- vbuz1=vbuc1 + // [209] (volatile byte) plex_free_next ← (byte) 0 -- vbuz1=vbuc1 sta.z plex_free_next // plexSort::@return // } - // [208] return + // [210] return rts } // File Data diff --git a/src/test/ref/complex/spritescroller/spritescroller.sym b/src/test/ref/complex/spritescroller/spritescroller.sym index c0bbe5c28..1c624df19 100644 --- a/src/test/ref/complex/spritescroller/spritescroller.sym +++ b/src/test/ref/complex/spritescroller/spritescroller.sym @@ -135,10 +135,12 @@ (byte*) __start::__init1_toSpritePtr1_sprite (void()) font_2x2((byte*) font_2x2::font_original , (byte*) font_2x2::font_2x2) (byte~) font_2x2::$1 reg byte a 200002.0 -(byte~) font_2x2::$11 reg byte y 20002.0 -(byte~) font_2x2::$12 reg byte a 10001.0 -(byte~) font_2x2::$14 reg byte y 20002.0 -(byte~) font_2x2::$15 reg byte a 10001.0 +(byte~) font_2x2::$10 reg byte a 20002.0 +(byte~) font_2x2::$11 reg byte y 10001.0 +(byte~) font_2x2::$12 reg byte a 20002.0 +(byte~) font_2x2::$13 reg byte a 20002.0 +(byte~) font_2x2::$14 reg byte y 10001.0 +(byte~) font_2x2::$15 reg byte a 20002.0 (word~) font_2x2::$5 zp[2]:23 200002.0 (word~) font_2x2::$7 zp[2]:23 200002.0 (label) font_2x2::@1 @@ -156,7 +158,7 @@ (byte) font_2x2::b#2 reg byte y 20000.2 (byte) font_2x2::c (byte) font_2x2::c#1 c zp[1]:16 1501.5 -(byte) font_2x2::c#11 c zp[1]:16 58.88235294117647 +(byte) font_2x2::c#11 c zp[1]:16 55.611111111111114 (byte*) font_2x2::font_2x2 (byte*) font_2x2::font_original (byte) font_2x2::glyph_bit @@ -167,31 +169,31 @@ (byte) font_2x2::glyph_bits#2 glyph_bits zp[1]:13 34444.88888888889 (word) font_2x2::glyph_bits_2x2 (word) font_2x2::glyph_bits_2x2#1 glyph_bits_2x2 zp[2]:23 200002.0 -(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:23 27500.5 +(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:23 20000.500000000004 (word) font_2x2::glyph_bits_2x2#3 glyph_bits_2x2 zp[2]:23 40000.4 (byte) font_2x2::l (byte) font_2x2::l#1 l zp[1]:29 15001.5 -(byte) font_2x2::l#2 l zp[1]:29 1111.2222222222222 +(byte) font_2x2::l#2 l zp[1]:29 1034.5862068965519 (byte) font_2x2::l2 (byte) font_2x2::l2#1 l2 zp[1]:28 15001.5 -(byte) font_2x2::l2#8 l2 zp[1]:28 2727.5454545454545 +(byte) font_2x2::l2#8 l2 zp[1]:28 2500.25 (byte) font_2x2::l2#9 l2 zp[1]:28 6667.333333333333 (byte*) font_2x2::next_2x2 (byte*) font_2x2::next_2x2#1 next_2x2 zp[2]:26 500.5 (byte*) font_2x2::next_2x2_left -(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:26 750.1875 +(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:26 706.0588235294117 (byte*) font_2x2::next_2x2_left#1 next_2x2_left_1 zp[2]:7 10001.0 (byte*) font_2x2::next_2x2_left#10 next_2x2_left_1 zp[2]:7 2002.0 -(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:7 1708.5416666666665 +(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:7 1577.1153846153845 (byte*) font_2x2::next_2x2_left#8 next_2x2_left_1 zp[2]:7 10001.0 (byte*) font_2x2::next_2x2_right (byte*) font_2x2::next_2x2_right#0 next_2x2_right zp[2]:9 1001.0 (byte*) font_2x2::next_2x2_right#1 next_2x2_right zp[2]:9 20002.0 -(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:9 1708.5416666666665 +(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:9 1577.1153846153845 (byte*) font_2x2::next_2x2_right#8 next_2x2_right zp[2]:9 10001.0 (byte*) font_2x2::next_original (byte*) font_2x2::next_original#1 next_original zp[2]:5 667.3333333333334 -(byte*) font_2x2::next_original#4 next_original zp[2]:5 363.7272727272727 +(byte*) font_2x2::next_original#4 next_original zp[2]:5 342.9428571428572 (void()) font_2x2_to_sprites((byte*) font_2x2_to_sprites::font_2x2 , (byte*) font_2x2_to_sprites::sprites , (byte) font_2x2_to_sprites::num_chars) (byte~) font_2x2_to_sprites::$3 zp[1]:28 10001.0 (label) font_2x2_to_sprites::@1 @@ -418,10 +420,12 @@ reg byte a [ plexShowSprite::$9 ] reg byte x [ plexShowSprite::$5 ] reg byte a [ plexShowSprite::$6 ] reg byte a [ font_2x2::$1 ] -reg byte a [ font_2x2::$12 ] +reg byte a [ font_2x2::$10 ] reg byte y [ font_2x2::$11 ] -reg byte a [ font_2x2::$15 ] +reg byte a [ font_2x2::$12 ] +reg byte a [ font_2x2::$13 ] reg byte y [ font_2x2::$14 ] +reg byte a [ font_2x2::$15 ] reg byte y [ font_2x2_to_sprites::sprite_idx#2 ] reg byte x [ plex_move::$6 ] zp[2]:26 [ plex_move::$7 font_2x2_to_sprites::char_current#2 font_2x2_to_sprites::char_current#1 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] diff --git a/src/test/ref/examples/3d/perspective.asm b/src/test/ref/examples/3d/perspective.asm index a3e1580d2..a9f496882 100644 --- a/src/test/ref/examples/3d/perspective.asm +++ b/src/test/ref/examples/3d/perspective.asm @@ -82,13 +82,7 @@ mulf_init: { // mulf_sqr2[1-i] = val lda.z val sta mulf_sqr2,x - // 1-i - tya - eor #$ff - tax - axs #-1-1 // (mulf_sqr2+$100)[1-i] = val - lda.z val sta mulf_sqr2+$100,x // sqr += add lda.z sqr diff --git a/src/test/ref/examples/3d/perspective.cfg b/src/test/ref/examples/3d/perspective.cfg index 1e6c396e9..2060920a2 100644 --- a/src/test/ref/examples/3d/perspective.cfg +++ b/src/test/ref/examples/3d/perspective.cfg @@ -33,195 +33,194 @@ mulf_init::@1: scope:[mulf_init] from mulf_init mulf_init::@1 [15] *((const byte*) mulf_sqr1+(word) $100 + (byte~) mulf_init::$2) ← (byte) mulf_init::val#0 [16] *((const byte*) mulf_sqr2+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [17] *((const byte*) mulf_sqr2+(word) $100+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 - [18] (byte~) mulf_init::$5 ← (byte) 1 - (byte) mulf_init::i#2 - [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$5) ← (byte) mulf_init::val#0 - [20] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 - [21] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 - [22] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 - [23] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 - [24] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 - [25] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 + [18] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 + [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 + [20] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 + [21] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 + [22] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 + [23] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 + [24] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 to:mulf_init::@return mulf_init::@return: scope:[mulf_init] from mulf_init::@1 - [26] return + [25] return to:@return (void()) print_cls() print_cls: scope:[print_cls] from main::@1 - [27] phi() - [28] call memset + [26] phi() + [27] call memset to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls - [29] return + [28] return to:@return (void()) do_perspective((signed byte) do_perspective::x , (signed byte) do_perspective::y , (signed byte) do_perspective::z) do_perspective: scope:[do_perspective] from main::@2 - [30] phi() - [31] call print_str + [29] phi() + [30] call print_str to:do_perspective::@1 do_perspective::@1: scope:[do_perspective] from do_perspective - [32] phi() - [33] call print_schar + [31] phi() + [32] call print_schar to:do_perspective::@2 do_perspective::@2: scope:[do_perspective] from do_perspective::@1 - [34] phi() - [35] call print_str + [33] phi() + [34] call print_str to:do_perspective::@3 do_perspective::@3: scope:[do_perspective] from do_perspective::@2 - [36] phi() - [37] call print_schar + [35] phi() + [36] call print_schar to:do_perspective::@4 do_perspective::@4: scope:[do_perspective] from do_perspective::@3 - [38] phi() - [39] call print_str + [37] phi() + [38] call print_str to:do_perspective::@5 do_perspective::@5: scope:[do_perspective] from do_perspective::@4 - [40] phi() - [41] call print_schar + [39] phi() + [40] call print_schar to:do_perspective::@6 do_perspective::@6: scope:[do_perspective] from do_perspective::@5 - [42] phi() - [43] call print_str + [41] phi() + [42] call print_str to:do_perspective::@7 do_perspective::@7: scope:[do_perspective] from do_perspective::@6 - [44] phi() - [45] call perspective + [43] phi() + [44] call perspective to:do_perspective::@8 do_perspective::@8: scope:[do_perspective] from do_perspective::@7 - [46] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) - [47] call print_uchar + [45] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) + [46] call print_uchar to:do_perspective::@9 do_perspective::@9: scope:[do_perspective] from do_perspective::@8 - [48] phi() - [49] call print_str + [47] phi() + [48] call print_str to:do_perspective::@10 do_perspective::@10: scope:[do_perspective] from do_perspective::@9 - [50] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) - [51] call print_uchar + [49] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) + [50] call print_uchar to:do_perspective::@11 do_perspective::@11: scope:[do_perspective] from do_perspective::@10 - [52] phi() - [53] call print_str + [51] phi() + [52] call print_str to:do_perspective::@12 do_perspective::@12: scope:[do_perspective] from do_perspective::@11 - [54] phi() - [55] call print_ln + [53] phi() + [54] call print_ln to:do_perspective::@return do_perspective::@return: scope:[do_perspective] from do_perspective::@12 - [56] return + [55] return to:@return (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) memset: scope:[memset] from print_cls - [57] phi() + [56] phi() to:memset::@1 memset::@1: scope:[memset] from memset memset::@2 - [58] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 ) - [59] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 + [57] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 ) + [58] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 to:memset::@return memset::@return: scope:[memset] from memset::@1 - [60] return + [59] return to:@return memset::@2: scope:[memset] from memset::@1 - [61] *((byte*) memset::dst#2) ← (const byte) memset::c#0 - [62] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + [60] *((byte*) memset::dst#2) ← (const byte) memset::c#0 + [61] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 to:memset::@1 (void()) print_str((byte*) print_str::str) print_str: scope:[print_str] from do_perspective do_perspective::@11 do_perspective::@2 do_perspective::@4 do_perspective::@6 do_perspective::@9 - [63] (byte*) print_char_cursor#77 ← phi( do_perspective/(const byte*) print_screen#0 do_perspective::@11/(byte*) print_char_cursor#11 do_perspective::@2/(byte*) print_char_cursor#11 do_perspective::@4/(byte*) print_char_cursor#11 do_perspective::@6/(byte*) print_char_cursor#11 do_perspective::@9/(byte*) print_char_cursor#11 ) - [63] (byte*) print_str::str#10 ← phi( do_perspective/(const byte*) do_perspective::str do_perspective::@11/(const byte*) do_perspective::str5 do_perspective::@2/(const byte*) do_perspective::str1 do_perspective::@4/(const byte*) do_perspective::str1 do_perspective::@6/(const byte*) do_perspective::str3 do_perspective::@9/(const byte*) do_perspective::str1 ) + [62] (byte*) print_char_cursor#77 ← phi( do_perspective/(const byte*) print_screen#0 do_perspective::@11/(byte*) print_char_cursor#11 do_perspective::@2/(byte*) print_char_cursor#11 do_perspective::@4/(byte*) print_char_cursor#11 do_perspective::@6/(byte*) print_char_cursor#11 do_perspective::@9/(byte*) print_char_cursor#11 ) + [62] (byte*) print_str::str#10 ← phi( do_perspective/(const byte*) do_perspective::str do_perspective::@11/(const byte*) do_perspective::str5 do_perspective::@2/(const byte*) do_perspective::str1 do_perspective::@4/(const byte*) do_perspective::str1 do_perspective::@6/(const byte*) do_perspective::str3 do_perspective::@9/(const byte*) do_perspective::str1 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@3 - [64] (byte*) print_char_cursor#1 ← phi( print_str/(byte*) print_char_cursor#77 print_str::@3/(byte*) print_char_cursor#11 ) - [64] (byte*) print_str::str#7 ← phi( print_str/(byte*) print_str::str#10 print_str::@3/(byte*) print_str::str#0 ) - [65] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 + [63] (byte*) print_char_cursor#1 ← phi( print_str/(byte*) print_char_cursor#77 print_str::@3/(byte*) print_char_cursor#11 ) + [63] (byte*) print_str::str#7 ← phi( print_str/(byte*) print_str::str#10 print_str::@3/(byte*) print_str::str#0 ) + [64] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 to:print_str::@return print_str::@return: scope:[print_str] from print_str::@1 - [66] return + [65] return to:@return print_str::@2: scope:[print_str] from print_str::@1 - [67] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) - [68] call print_char + [66] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) + [67] call print_char to:print_str::@3 print_str::@3: scope:[print_str] from print_str::@2 - [69] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 + [68] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 to:print_str::@1 (void()) print_schar((signed byte) print_schar::b) print_schar: scope:[print_schar] from do_perspective::@1 do_perspective::@3 do_perspective::@5 - [70] (signed byte) print_schar::b#4 ← phi( do_perspective::@1/(const signed byte) do_perspective::x#0 do_perspective::@3/(const signed byte) do_perspective::y#0 do_perspective::@5/(const signed byte) do_perspective::z#0 ) - [71] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 + [69] (signed byte) print_schar::b#4 ← phi( do_perspective::@1/(const signed byte) do_perspective::x#0 do_perspective::@3/(const signed byte) do_perspective::y#0 do_perspective::@5/(const signed byte) do_perspective::z#0 ) + [70] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 to:print_schar::@3 print_schar::@3: scope:[print_schar] from print_schar - [72] phi() - [73] call print_char + [71] phi() + [72] call print_char to:print_schar::@2 print_schar::@2: scope:[print_schar] from print_schar::@3 print_schar::@4 - [74] (signed byte) print_schar::b#6 ← phi( print_schar::@4/(signed byte) print_schar::b#0 print_schar::@3/(signed byte) print_schar::b#4 ) - [75] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 - [76] call print_uchar + [73] (signed byte) print_schar::b#6 ← phi( print_schar::@4/(signed byte) print_schar::b#0 print_schar::@3/(signed byte) print_schar::b#4 ) + [74] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 + [75] call print_uchar to:print_schar::@return print_schar::@return: scope:[print_schar] from print_schar::@2 - [77] return + [76] return to:@return print_schar::@1: scope:[print_schar] from print_schar - [78] phi() - [79] call print_char + [77] phi() + [78] call print_char to:print_schar::@4 print_schar::@4: scope:[print_schar] from print_schar::@1 - [80] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 + [79] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 to:print_schar::@2 (void()) perspective((signed byte) perspective::x , (signed byte) perspective::y , (signed byte) perspective::z) perspective: scope:[perspective] from do_perspective::@7 - [81] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 - [82] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 - [83] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 + [80] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 + [81] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 + [82] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 asm { ldazr staPP+1 PP: ldaPERSP_Z stapsp1 eor#$ff stapsp2 clc ldyyr lda(psp1),y sbc(psp2),y adc#$80 stayr clc ldyxr lda(psp1),y sbc(psp2),y adc#$80 staxr } to:perspective::@return perspective::@return: scope:[perspective] from perspective - [85] return + [84] return to:@return (void()) print_uchar((byte) print_uchar::b) print_uchar: scope:[print_uchar] from do_perspective::@10 do_perspective::@8 print_schar::@2 - [86] (byte*) print_char_cursor#72 ← phi( do_perspective::@10/(byte*) print_char_cursor#1 do_perspective::@8/(byte*) print_char_cursor#1 print_schar::@2/(byte*) print_char_cursor#11 ) - [86] (byte) print_uchar::b#3 ← phi( do_perspective::@10/(byte) print_uchar::b#5 do_perspective::@8/(byte) print_uchar::b#6 print_schar::@2/(byte) print_uchar::b#0 ) - [87] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 - [88] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) - [89] call print_char + [85] (byte*) print_char_cursor#72 ← phi( do_perspective::@10/(byte*) print_char_cursor#1 do_perspective::@8/(byte*) print_char_cursor#1 print_schar::@2/(byte*) print_char_cursor#11 ) + [85] (byte) print_uchar::b#3 ← phi( do_perspective::@10/(byte) print_uchar::b#5 do_perspective::@8/(byte) print_uchar::b#6 print_schar::@2/(byte) print_uchar::b#0 ) + [86] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 + [87] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) + [88] call print_char to:print_uchar::@1 print_uchar::@1: scope:[print_uchar] from print_uchar - [90] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f - [91] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) - [92] call print_char + [89] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f + [90] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) + [91] call print_char to:print_uchar::@return print_uchar::@return: scope:[print_uchar] from print_uchar::@1 - [93] return + [92] return to:@return (void()) print_ln() print_ln: scope:[print_ln] from do_perspective::@12 - [94] phi() + [93] phi() to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [95] (byte*) print_line_cursor#12 ← phi( print_ln/(const byte*) print_screen#0 print_ln::@1/(byte*) print_line_cursor#0 ) - [96] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 - [97] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 + [94] (byte*) print_line_cursor#12 ← phi( print_ln/(const byte*) print_screen#0 print_ln::@1/(byte*) print_line_cursor#0 ) + [95] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 + [96] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [98] return + [97] return to:@return (void()) print_char((byte) print_char::ch) print_char: scope:[print_char] from print_schar::@1 print_schar::@3 print_str::@2 print_uchar print_uchar::@1 - [99] (byte*) print_char_cursor#45 ← phi( print_schar::@1/(byte*) print_char_cursor#1 print_schar::@3/(byte*) print_char_cursor#1 print_str::@2/(byte*) print_char_cursor#1 print_uchar/(byte*) print_char_cursor#72 print_uchar::@1/(byte*) print_char_cursor#11 ) - [99] (byte) print_char::ch#5 ← phi( print_schar::@1/(byte) '-' print_schar::@3/(byte) ' ' print_str::@2/(byte) print_char::ch#0 print_uchar/(byte) print_char::ch#3 print_uchar::@1/(byte) print_char::ch#4 ) - [100] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 - [101] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#45 + [98] (byte*) print_char_cursor#45 ← phi( print_schar::@1/(byte*) print_char_cursor#1 print_schar::@3/(byte*) print_char_cursor#1 print_str::@2/(byte*) print_char_cursor#1 print_uchar/(byte*) print_char_cursor#72 print_uchar::@1/(byte*) print_char_cursor#11 ) + [98] (byte) print_char::ch#5 ← phi( print_schar::@1/(byte) '-' print_schar::@3/(byte) ' ' print_str::@2/(byte) print_char::ch#0 print_uchar/(byte) print_char::ch#3 print_uchar::@1/(byte) print_char::ch#4 ) + [99] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 + [100] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#45 to:print_char::@return print_char::@return: scope:[print_char] from print_char - [102] return + [101] return to:@return diff --git a/src/test/ref/examples/3d/perspective.log b/src/test/ref/examples/3d/perspective.log index 0e163e2e1..7ebe249c1 100644 --- a/src/test/ref/examples/3d/perspective.log +++ b/src/test/ref/examples/3d/perspective.log @@ -1101,6 +1101,7 @@ Identical Phi Values (byte*) print_char_cursor#69 (byte*) print_char_cursor#1 Identical Phi Values (byte*) print_char_cursor#71 (byte*) print_char_cursor#11 Successful SSA optimization Pass2IdenticalPhiElimination Identified duplicate assignment right side [196] (byte~) mulf_init::$2 ← - (byte) mulf_init::i#2 +Identified duplicate assignment right side [204] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 Successful SSA optimization Pass2DuplicateRValueIdentification Simple Condition (bool~) memset::$1 [2] if((word) memset::num#0<=(byte) 0) goto memset::@1 Simple Condition (bool~) memset::$3 [9] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@4 @@ -1164,6 +1165,7 @@ Successful SSA optimization PassNCastSimplification Finalized unsigned number type (byte) $81 Successful SSA optimization PassNFinalizeNumberTypeConversions Alias mulf_init::$2 = mulf_init::$1 +Alias mulf_init::$6 = mulf_init::$5 Successful SSA optimization Pass2AliasElimination Constant right-side identified [0] (byte*) memset::end#0 ← (const byte*) memset::$4 + (const word) memset::num#0 Successful SSA optimization Pass2ConstantRValueConsolidation @@ -1237,41 +1239,41 @@ Adding NOP phi() at start of print_ln Adding NOP phi() at start of print_ln::@2 CALL GRAPH Calls in [main] to mulf_init:1 print_cls:4 do_perspective:6 -Calls in [print_cls] to memset:32 -Calls in [do_perspective] to print_str:36 print_schar:38 print_str:40 print_schar:42 print_str:44 print_schar:46 print_str:48 perspective:50 print_uchar:53 print_str:55 print_uchar:58 print_str:60 print_ln:62 -Calls in [print_str] to print_char:83 -Calls in [print_schar] to print_char:90 print_uchar:96 print_char:100 -Calls in [print_uchar] to print_char:113 print_char:118 +Calls in [print_cls] to memset:31 +Calls in [do_perspective] to print_str:35 print_schar:37 print_str:39 print_schar:41 print_str:43 print_schar:45 print_str:47 perspective:49 print_uchar:52 print_str:54 print_uchar:57 print_str:59 print_ln:61 +Calls in [print_str] to print_char:82 +Calls in [print_schar] to print_char:89 print_uchar:95 print_char:99 +Calls in [print_uchar] to print_char:112 print_char:117 Created 15 initial phi equivalence classes -Coalesced [28] mulf_init::sqr#3 ← mulf_init::sqr#1 -Coalesced [29] mulf_init::i#3 ← mulf_init::i#1 -Coalesced [30] mulf_init::add#3 ← mulf_init::add#1 -Coalesced [39] print_char_cursor#81 ← print_char_cursor#11 -Coalesced (already) [43] print_char_cursor#82 ← print_char_cursor#11 -Coalesced (already) [47] print_char_cursor#83 ← print_char_cursor#11 -Coalesced [52] print_char_cursor#88 ← print_char_cursor#1 -Coalesced (already) [54] print_char_cursor#84 ← print_char_cursor#11 -Coalesced (already) [57] print_char_cursor#87 ← print_char_cursor#1 -Coalesced (already) [59] print_char_cursor#80 ← print_char_cursor#11 -Coalesced [73] memset::dst#4 ← memset::dst#1 -Coalesced [75] print_str::str#11 ← print_str::str#10 -Coalesced [76] print_char_cursor#85 ← print_char_cursor#77 -Coalesced [81] print_char::ch#6 ← print_char::ch#0 -Coalesced [82] print_char_cursor#92 ← print_char_cursor#1 -Coalesced [85] print_str::str#12 ← print_str::str#0 -Coalesced (already) [86] print_char_cursor#86 ← print_char_cursor#11 -Coalesced (already) [89] print_char_cursor#91 ← print_char_cursor#1 -Coalesced [91] print_schar::b#11 ← print_schar::b#4 -Coalesced [94] print_uchar::b#7 ← print_uchar::b#0 -Coalesced (already) [95] print_char_cursor#89 ← print_char_cursor#11 -Coalesced (already) [99] print_char_cursor#90 ← print_char_cursor#1 -Coalesced [102] print_schar::b#10 ← print_schar::b#0 -Coalesced [111] print_char::ch#7 ← print_char::ch#3 -Coalesced (already) [112] print_char_cursor#93 ← print_char_cursor#72 -Coalesced [116] print_char::ch#8 ← print_char::ch#4 -Coalesced (already) [117] print_char_cursor#94 ← print_char_cursor#11 -Coalesced [127] print_line_cursor#40 ← print_line_cursor#0 +Coalesced [27] mulf_init::sqr#3 ← mulf_init::sqr#1 +Coalesced [28] mulf_init::i#3 ← mulf_init::i#1 +Coalesced [29] mulf_init::add#3 ← mulf_init::add#1 +Coalesced [38] print_char_cursor#81 ← print_char_cursor#11 +Coalesced (already) [42] print_char_cursor#82 ← print_char_cursor#11 +Coalesced (already) [46] print_char_cursor#83 ← print_char_cursor#11 +Coalesced [51] print_char_cursor#88 ← print_char_cursor#1 +Coalesced (already) [53] print_char_cursor#84 ← print_char_cursor#11 +Coalesced (already) [56] print_char_cursor#87 ← print_char_cursor#1 +Coalesced (already) [58] print_char_cursor#80 ← print_char_cursor#11 +Coalesced [72] memset::dst#4 ← memset::dst#1 +Coalesced [74] print_str::str#11 ← print_str::str#10 +Coalesced [75] print_char_cursor#85 ← print_char_cursor#77 +Coalesced [80] print_char::ch#6 ← print_char::ch#0 +Coalesced [81] print_char_cursor#92 ← print_char_cursor#1 +Coalesced [84] print_str::str#12 ← print_str::str#0 +Coalesced (already) [85] print_char_cursor#86 ← print_char_cursor#11 +Coalesced (already) [88] print_char_cursor#91 ← print_char_cursor#1 +Coalesced [90] print_schar::b#11 ← print_schar::b#4 +Coalesced [93] print_uchar::b#7 ← print_uchar::b#0 +Coalesced (already) [94] print_char_cursor#89 ← print_char_cursor#11 +Coalesced (already) [98] print_char_cursor#90 ← print_char_cursor#1 +Coalesced [101] print_schar::b#10 ← print_schar::b#0 +Coalesced [110] print_char::ch#7 ← print_char::ch#3 +Coalesced (already) [111] print_char_cursor#93 ← print_char_cursor#72 +Coalesced [115] print_char::ch#8 ← print_char::ch#4 +Coalesced (already) [116] print_char_cursor#94 ← print_char_cursor#11 +Coalesced [126] print_line_cursor#40 ← print_line_cursor#0 Coalesced down to 10 phi equivalence classes Culled Empty Block (label) main::@3 Culled Empty Block (label) mulf_init::@2 @@ -1341,197 +1343,196 @@ mulf_init::@1: scope:[mulf_init] from mulf_init mulf_init::@1 [15] *((const byte*) mulf_sqr1+(word) $100 + (byte~) mulf_init::$2) ← (byte) mulf_init::val#0 [16] *((const byte*) mulf_sqr2+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [17] *((const byte*) mulf_sqr2+(word) $100+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 - [18] (byte~) mulf_init::$5 ← (byte) 1 - (byte) mulf_init::i#2 - [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$5) ← (byte) mulf_init::val#0 - [20] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 - [21] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 - [22] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 - [23] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 - [24] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 - [25] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 + [18] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 + [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 + [20] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 + [21] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 + [22] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 + [23] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 + [24] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 to:mulf_init::@return mulf_init::@return: scope:[mulf_init] from mulf_init::@1 - [26] return + [25] return to:@return (void()) print_cls() print_cls: scope:[print_cls] from main::@1 - [27] phi() - [28] call memset + [26] phi() + [27] call memset to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls - [29] return + [28] return to:@return (void()) do_perspective((signed byte) do_perspective::x , (signed byte) do_perspective::y , (signed byte) do_perspective::z) do_perspective: scope:[do_perspective] from main::@2 - [30] phi() - [31] call print_str + [29] phi() + [30] call print_str to:do_perspective::@1 do_perspective::@1: scope:[do_perspective] from do_perspective - [32] phi() - [33] call print_schar + [31] phi() + [32] call print_schar to:do_perspective::@2 do_perspective::@2: scope:[do_perspective] from do_perspective::@1 - [34] phi() - [35] call print_str + [33] phi() + [34] call print_str to:do_perspective::@3 do_perspective::@3: scope:[do_perspective] from do_perspective::@2 - [36] phi() - [37] call print_schar + [35] phi() + [36] call print_schar to:do_perspective::@4 do_perspective::@4: scope:[do_perspective] from do_perspective::@3 - [38] phi() - [39] call print_str + [37] phi() + [38] call print_str to:do_perspective::@5 do_perspective::@5: scope:[do_perspective] from do_perspective::@4 - [40] phi() - [41] call print_schar + [39] phi() + [40] call print_schar to:do_perspective::@6 do_perspective::@6: scope:[do_perspective] from do_perspective::@5 - [42] phi() - [43] call print_str + [41] phi() + [42] call print_str to:do_perspective::@7 do_perspective::@7: scope:[do_perspective] from do_perspective::@6 - [44] phi() - [45] call perspective + [43] phi() + [44] call perspective to:do_perspective::@8 do_perspective::@8: scope:[do_perspective] from do_perspective::@7 - [46] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) - [47] call print_uchar + [45] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) + [46] call print_uchar to:do_perspective::@9 do_perspective::@9: scope:[do_perspective] from do_perspective::@8 - [48] phi() - [49] call print_str + [47] phi() + [48] call print_str to:do_perspective::@10 do_perspective::@10: scope:[do_perspective] from do_perspective::@9 - [50] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) - [51] call print_uchar + [49] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) + [50] call print_uchar to:do_perspective::@11 do_perspective::@11: scope:[do_perspective] from do_perspective::@10 - [52] phi() - [53] call print_str + [51] phi() + [52] call print_str to:do_perspective::@12 do_perspective::@12: scope:[do_perspective] from do_perspective::@11 - [54] phi() - [55] call print_ln + [53] phi() + [54] call print_ln to:do_perspective::@return do_perspective::@return: scope:[do_perspective] from do_perspective::@12 - [56] return + [55] return to:@return (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) memset: scope:[memset] from print_cls - [57] phi() + [56] phi() to:memset::@1 memset::@1: scope:[memset] from memset memset::@2 - [58] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 ) - [59] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 + [57] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 ) + [58] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 to:memset::@return memset::@return: scope:[memset] from memset::@1 - [60] return + [59] return to:@return memset::@2: scope:[memset] from memset::@1 - [61] *((byte*) memset::dst#2) ← (const byte) memset::c#0 - [62] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + [60] *((byte*) memset::dst#2) ← (const byte) memset::c#0 + [61] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 to:memset::@1 (void()) print_str((byte*) print_str::str) print_str: scope:[print_str] from do_perspective do_perspective::@11 do_perspective::@2 do_perspective::@4 do_perspective::@6 do_perspective::@9 - [63] (byte*) print_char_cursor#77 ← phi( do_perspective/(const byte*) print_screen#0 do_perspective::@11/(byte*) print_char_cursor#11 do_perspective::@2/(byte*) print_char_cursor#11 do_perspective::@4/(byte*) print_char_cursor#11 do_perspective::@6/(byte*) print_char_cursor#11 do_perspective::@9/(byte*) print_char_cursor#11 ) - [63] (byte*) print_str::str#10 ← phi( do_perspective/(const byte*) do_perspective::str do_perspective::@11/(const byte*) do_perspective::str5 do_perspective::@2/(const byte*) do_perspective::str1 do_perspective::@4/(const byte*) do_perspective::str1 do_perspective::@6/(const byte*) do_perspective::str3 do_perspective::@9/(const byte*) do_perspective::str1 ) + [62] (byte*) print_char_cursor#77 ← phi( do_perspective/(const byte*) print_screen#0 do_perspective::@11/(byte*) print_char_cursor#11 do_perspective::@2/(byte*) print_char_cursor#11 do_perspective::@4/(byte*) print_char_cursor#11 do_perspective::@6/(byte*) print_char_cursor#11 do_perspective::@9/(byte*) print_char_cursor#11 ) + [62] (byte*) print_str::str#10 ← phi( do_perspective/(const byte*) do_perspective::str do_perspective::@11/(const byte*) do_perspective::str5 do_perspective::@2/(const byte*) do_perspective::str1 do_perspective::@4/(const byte*) do_perspective::str1 do_perspective::@6/(const byte*) do_perspective::str3 do_perspective::@9/(const byte*) do_perspective::str1 ) to:print_str::@1 print_str::@1: scope:[print_str] from print_str print_str::@3 - [64] (byte*) print_char_cursor#1 ← phi( print_str/(byte*) print_char_cursor#77 print_str::@3/(byte*) print_char_cursor#11 ) - [64] (byte*) print_str::str#7 ← phi( print_str/(byte*) print_str::str#10 print_str::@3/(byte*) print_str::str#0 ) - [65] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 + [63] (byte*) print_char_cursor#1 ← phi( print_str/(byte*) print_char_cursor#77 print_str::@3/(byte*) print_char_cursor#11 ) + [63] (byte*) print_str::str#7 ← phi( print_str/(byte*) print_str::str#10 print_str::@3/(byte*) print_str::str#0 ) + [64] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 to:print_str::@return print_str::@return: scope:[print_str] from print_str::@1 - [66] return + [65] return to:@return print_str::@2: scope:[print_str] from print_str::@1 - [67] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) - [68] call print_char + [66] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) + [67] call print_char to:print_str::@3 print_str::@3: scope:[print_str] from print_str::@2 - [69] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 + [68] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 to:print_str::@1 (void()) print_schar((signed byte) print_schar::b) print_schar: scope:[print_schar] from do_perspective::@1 do_perspective::@3 do_perspective::@5 - [70] (signed byte) print_schar::b#4 ← phi( do_perspective::@1/(const signed byte) do_perspective::x#0 do_perspective::@3/(const signed byte) do_perspective::y#0 do_perspective::@5/(const signed byte) do_perspective::z#0 ) - [71] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 + [69] (signed byte) print_schar::b#4 ← phi( do_perspective::@1/(const signed byte) do_perspective::x#0 do_perspective::@3/(const signed byte) do_perspective::y#0 do_perspective::@5/(const signed byte) do_perspective::z#0 ) + [70] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 to:print_schar::@3 print_schar::@3: scope:[print_schar] from print_schar - [72] phi() - [73] call print_char + [71] phi() + [72] call print_char to:print_schar::@2 print_schar::@2: scope:[print_schar] from print_schar::@3 print_schar::@4 - [74] (signed byte) print_schar::b#6 ← phi( print_schar::@4/(signed byte) print_schar::b#0 print_schar::@3/(signed byte) print_schar::b#4 ) - [75] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 - [76] call print_uchar + [73] (signed byte) print_schar::b#6 ← phi( print_schar::@4/(signed byte) print_schar::b#0 print_schar::@3/(signed byte) print_schar::b#4 ) + [74] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 + [75] call print_uchar to:print_schar::@return print_schar::@return: scope:[print_schar] from print_schar::@2 - [77] return + [76] return to:@return print_schar::@1: scope:[print_schar] from print_schar - [78] phi() - [79] call print_char + [77] phi() + [78] call print_char to:print_schar::@4 print_schar::@4: scope:[print_schar] from print_schar::@1 - [80] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 + [79] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 to:print_schar::@2 (void()) perspective((signed byte) perspective::x , (signed byte) perspective::y , (signed byte) perspective::z) perspective: scope:[perspective] from do_perspective::@7 - [81] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 - [82] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 - [83] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 + [80] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 + [81] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 + [82] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 asm { ldazr staPP+1 PP: ldaPERSP_Z stapsp1 eor#$ff stapsp2 clc ldyyr lda(psp1),y sbc(psp2),y adc#$80 stayr clc ldyxr lda(psp1),y sbc(psp2),y adc#$80 staxr } to:perspective::@return perspective::@return: scope:[perspective] from perspective - [85] return + [84] return to:@return (void()) print_uchar((byte) print_uchar::b) print_uchar: scope:[print_uchar] from do_perspective::@10 do_perspective::@8 print_schar::@2 - [86] (byte*) print_char_cursor#72 ← phi( do_perspective::@10/(byte*) print_char_cursor#1 do_perspective::@8/(byte*) print_char_cursor#1 print_schar::@2/(byte*) print_char_cursor#11 ) - [86] (byte) print_uchar::b#3 ← phi( do_perspective::@10/(byte) print_uchar::b#5 do_perspective::@8/(byte) print_uchar::b#6 print_schar::@2/(byte) print_uchar::b#0 ) - [87] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 - [88] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) - [89] call print_char + [85] (byte*) print_char_cursor#72 ← phi( do_perspective::@10/(byte*) print_char_cursor#1 do_perspective::@8/(byte*) print_char_cursor#1 print_schar::@2/(byte*) print_char_cursor#11 ) + [85] (byte) print_uchar::b#3 ← phi( do_perspective::@10/(byte) print_uchar::b#5 do_perspective::@8/(byte) print_uchar::b#6 print_schar::@2/(byte) print_uchar::b#0 ) + [86] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 + [87] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) + [88] call print_char to:print_uchar::@1 print_uchar::@1: scope:[print_uchar] from print_uchar - [90] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f - [91] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) - [92] call print_char + [89] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f + [90] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) + [91] call print_char to:print_uchar::@return print_uchar::@return: scope:[print_uchar] from print_uchar::@1 - [93] return + [92] return to:@return (void()) print_ln() print_ln: scope:[print_ln] from do_perspective::@12 - [94] phi() + [93] phi() to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [95] (byte*) print_line_cursor#12 ← phi( print_ln/(const byte*) print_screen#0 print_ln::@1/(byte*) print_line_cursor#0 ) - [96] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 - [97] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 + [94] (byte*) print_line_cursor#12 ← phi( print_ln/(const byte*) print_screen#0 print_ln::@1/(byte*) print_line_cursor#0 ) + [95] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 + [96] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [98] return + [97] return to:@return (void()) print_char((byte) print_char::ch) print_char: scope:[print_char] from print_schar::@1 print_schar::@3 print_str::@2 print_uchar print_uchar::@1 - [99] (byte*) print_char_cursor#45 ← phi( print_schar::@1/(byte*) print_char_cursor#1 print_schar::@3/(byte*) print_char_cursor#1 print_str::@2/(byte*) print_char_cursor#1 print_uchar/(byte*) print_char_cursor#72 print_uchar::@1/(byte*) print_char_cursor#11 ) - [99] (byte) print_char::ch#5 ← phi( print_schar::@1/(byte) '-' print_schar::@3/(byte) ' ' print_str::@2/(byte) print_char::ch#0 print_uchar/(byte) print_char::ch#3 print_uchar::@1/(byte) print_char::ch#4 ) - [100] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 - [101] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#45 + [98] (byte*) print_char_cursor#45 ← phi( print_schar::@1/(byte*) print_char_cursor#1 print_schar::@3/(byte*) print_char_cursor#1 print_str::@2/(byte*) print_char_cursor#1 print_uchar/(byte*) print_char_cursor#72 print_uchar::@1/(byte*) print_char_cursor#11 ) + [98] (byte) print_char::ch#5 ← phi( print_schar::@1/(byte) '-' print_schar::@3/(byte) ' ' print_str::@2/(byte) print_char::ch#0 print_uchar/(byte) print_char::ch#3 print_uchar::@1/(byte) print_char::ch#4 ) + [99] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 + [100] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#45 to:print_char::@return print_char::@return: scope:[print_char] from print_char - [102] return + [101] return to:@return @@ -1636,19 +1637,18 @@ VARIABLE REGISTER WEIGHTS (void*) memset::str (void()) mulf_init() (byte~) mulf_init::$2 151.5 -(byte~) mulf_init::$5 202.0 -(byte~) mulf_init::$6 202.0 +(byte~) mulf_init::$6 151.5 (signed word) mulf_init::add (signed word) mulf_init::add#1 67.33333333333333 -(signed word) mulf_init::add#2 21.642857142857142 +(signed word) mulf_init::add#2 23.307692307692307 (byte) mulf_init::i (byte) mulf_init::i#1 151.5 -(byte) mulf_init::i#2 60.6 +(byte) mulf_init::i#2 57.714285714285715 (signed word) mulf_init::sqr (signed word) mulf_init::sqr#1 50.5 -(signed word) mulf_init::sqr#2 23.307692307692307 +(signed word) mulf_init::sqr#2 25.25 (byte) mulf_init::val -(byte) mulf_init::val#0 82.63636363636364 +(byte) mulf_init::val#0 90.89999999999999 (void()) perspective((signed byte) perspective::x , (signed byte) perspective::y , (signed byte) perspective::z) (signed byte) perspective::x (signed byte) perspective::y @@ -1703,7 +1703,6 @@ Initial phi equivalence classes [ print_char_cursor#45 print_char_cursor#72 print_char_cursor#1 print_char_cursor#77 print_char_cursor#11 ] Added variable mulf_init::val#0 to live range equivalence class [ mulf_init::val#0 ] Added variable mulf_init::$2 to live range equivalence class [ mulf_init::$2 ] -Added variable mulf_init::$5 to live range equivalence class [ mulf_init::$5 ] Added variable mulf_init::$6 to live range equivalence class [ mulf_init::$6 ] Added variable print_uchar::$0 to live range equivalence class [ print_uchar::$0 ] Added variable print_uchar::$2 to live range equivalence class [ print_uchar::$2 ] @@ -1720,7 +1719,6 @@ Complete equivalence classes [ print_char_cursor#45 print_char_cursor#72 print_char_cursor#1 print_char_cursor#77 print_char_cursor#11 ] [ mulf_init::val#0 ] [ mulf_init::$2 ] -[ mulf_init::$5 ] [ mulf_init::$6 ] [ print_uchar::$0 ] [ print_uchar::$2 ] @@ -1736,10 +1734,9 @@ Allocated zp[1]:15 [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_ch Allocated zp[2]:16 [ print_char_cursor#45 print_char_cursor#72 print_char_cursor#1 print_char_cursor#77 print_char_cursor#11 ] Allocated zp[1]:18 [ mulf_init::val#0 ] Allocated zp[1]:19 [ mulf_init::$2 ] -Allocated zp[1]:20 [ mulf_init::$5 ] -Allocated zp[1]:21 [ mulf_init::$6 ] -Allocated zp[1]:22 [ print_uchar::$0 ] -Allocated zp[1]:23 [ print_uchar::$2 ] +Allocated zp[1]:20 [ mulf_init::$6 ] +Allocated zp[1]:21 [ print_uchar::$0 ] +Allocated zp[1]:22 [ print_uchar::$2 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -1788,7 +1785,7 @@ main: { lda #>mulf_sqr2 sta psp2+1 // [4] call print_cls - // [27] phi from main::@1 to print_cls [phi:main::@1->print_cls] + // [26] phi from main::@1 to print_cls [phi:main::@1->print_cls] print_cls_from___b1: jsr print_cls // [5] phi from main::@1 to main::@2 [phi:main::@1->main::@2] @@ -1797,7 +1794,7 @@ main: { // main::@2 __b2: // [6] call do_perspective - // [30] phi from main::@2 to do_perspective [phi:main::@2->do_perspective] + // [29] phi from main::@2 to do_perspective [phi:main::@2->do_perspective] do_perspective_from___b2: jsr do_perspective jmp __breturn @@ -1810,8 +1807,7 @@ main: { // Initialize the mulf_sqr multiplication tables with f(x)=int(x*x) and g(x) = f(1-x) mulf_init: { .label __2 = $13 - .label __5 = $14 - .label __6 = $15 + .label __6 = $14 .label val = $12 .label sqr = 2 .label add = 5 @@ -1873,25 +1869,20 @@ mulf_init: { lda.z val ldy.z i sta mulf_sqr2+$100+1,y - // [18] (byte~) mulf_init::$5 ← (byte) 1 - (byte) mulf_init::i#2 -- vbuz1=vbuc1_minus_vbuz2 - lda #1 - sec - sbc.z i - sta.z __5 - // [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$5) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuz1=vbuz2 - lda.z val - ldy.z __5 - sta mulf_sqr2,y - // [20] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 -- vbuz1=vbuc1_minus_vbuz2 + // [18] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 -- vbuz1=vbuc1_minus_vbuz2 lda #1 sec sbc.z i sta.z __6 - // [21] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuz1=vbuz2 + // [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuz1=vbuz2 + lda.z val + ldy.z __6 + sta mulf_sqr2,y + // [20] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z val ldy.z __6 sta mulf_sqr2+$100,y - // [22] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 -- vwsz1=vwsz1_plus_vwsz2 + // [21] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 -- vwsz1=vwsz1_plus_vwsz2 lda.z sqr clc adc.z add @@ -1899,7 +1890,7 @@ mulf_init: { lda.z sqr+1 adc.z add+1 sta.z sqr+1 - // [23] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 -- vwsz1=vwsz1_plus_vbsc1 + // [22] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 -- vwsz1=vwsz1_plus_vbsc1 lda.z add clc adc #<2 @@ -1907,29 +1898,29 @@ mulf_init: { lda.z add+1 adc #>2 sta.z add+1 - // [24] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 -- vbuz1=_inc_vbuz1 + // [23] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 -- vbuz1=_inc_vbuz1 inc.z i - // [25] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 -- vbuz1_neq_vbuc1_then_la1 + // [24] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$81 cmp.z i bne __b1_from___b1 jmp __breturn // mulf_init::@return __breturn: - // [26] return + // [25] return rts } // print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { - // [28] call memset - // [57] phi from print_cls to memset [phi:print_cls->memset] + // [27] call memset + // [56] phi from print_cls to memset [phi:print_cls->memset] memset_from_print_cls: jsr memset jmp __breturn // print_cls::@return __breturn: - // [29] return + // [28] return rts } // do_perspective @@ -1937,130 +1928,130 @@ do_perspective: { .label x = $39 .label y = -$47 .label z = $36 - // [31] call print_str - // [63] phi from do_perspective to print_str [phi:do_perspective->print_str] + // [30] call print_str + // [62] phi from do_perspective to print_str [phi:do_perspective->print_str] print_str_from_do_perspective: - // [63] phi (byte*) print_char_cursor#77 = (const byte*) print_screen#0 [phi:do_perspective->print_str#0] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (const byte*) print_screen#0 [phi:do_perspective->print_str#0] -- pbuz1=pbuc1 lda #print_screen sta.z print_char_cursor+1 - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str [phi:do_perspective->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str [phi:do_perspective->print_str#1] -- pbuz1=pbuc1 lda #str sta.z print_str.str+1 jsr print_str - // [32] phi from do_perspective to do_perspective::@1 [phi:do_perspective->do_perspective::@1] + // [31] phi from do_perspective to do_perspective::@1 [phi:do_perspective->do_perspective::@1] __b1_from_do_perspective: jmp __b1 // do_perspective::@1 __b1: - // [33] call print_schar - // [70] phi from do_perspective::@1 to print_schar [phi:do_perspective::@1->print_schar] + // [32] call print_schar + // [69] phi from do_perspective::@1 to print_schar [phi:do_perspective::@1->print_schar] print_schar_from___b1: - // [70] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- vbsz1=vbsc1 + // [69] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- vbsz1=vbsc1 lda #x sta.z print_schar.b jsr print_schar - // [34] phi from do_perspective::@1 to do_perspective::@2 [phi:do_perspective::@1->do_perspective::@2] + // [33] phi from do_perspective::@1 to do_perspective::@2 [phi:do_perspective::@1->do_perspective::@2] __b2_from___b1: jmp __b2 // do_perspective::@2 __b2: - // [35] call print_str - // [63] phi from do_perspective::@2 to print_str [phi:do_perspective::@2->print_str] + // [34] call print_str + // [62] phi from do_perspective::@2 to print_str [phi:do_perspective::@2->print_str] print_str_from___b2: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@2->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@2->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 sta.z print_str.str+1 jsr print_str - // [36] phi from do_perspective::@2 to do_perspective::@3 [phi:do_perspective::@2->do_perspective::@3] + // [35] phi from do_perspective::@2 to do_perspective::@3 [phi:do_perspective::@2->do_perspective::@3] __b3_from___b2: jmp __b3 // do_perspective::@3 __b3: - // [37] call print_schar - // [70] phi from do_perspective::@3 to print_schar [phi:do_perspective::@3->print_schar] + // [36] call print_schar + // [69] phi from do_perspective::@3 to print_schar [phi:do_perspective::@3->print_schar] print_schar_from___b3: - // [70] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- vbsz1=vbsc1 + // [69] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- vbsz1=vbsc1 lda #y sta.z print_schar.b jsr print_schar - // [38] phi from do_perspective::@3 to do_perspective::@4 [phi:do_perspective::@3->do_perspective::@4] + // [37] phi from do_perspective::@3 to do_perspective::@4 [phi:do_perspective::@3->do_perspective::@4] __b4_from___b3: jmp __b4 // do_perspective::@4 __b4: - // [39] call print_str - // [63] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str] + // [38] call print_str + // [62] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str] print_str_from___b4: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@4->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@4->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1 lda #str1 sta.z print_str.str+1 jsr print_str - // [40] phi from do_perspective::@4 to do_perspective::@5 [phi:do_perspective::@4->do_perspective::@5] + // [39] phi from do_perspective::@4 to do_perspective::@5 [phi:do_perspective::@4->do_perspective::@5] __b5_from___b4: jmp __b5 // do_perspective::@5 __b5: - // [41] call print_schar - // [70] phi from do_perspective::@5 to print_schar [phi:do_perspective::@5->print_schar] + // [40] call print_schar + // [69] phi from do_perspective::@5 to print_schar [phi:do_perspective::@5->print_schar] print_schar_from___b5: - // [70] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- vbsz1=vbsc1 + // [69] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- vbsz1=vbsc1 lda #z sta.z print_schar.b jsr print_schar - // [42] phi from do_perspective::@5 to do_perspective::@6 [phi:do_perspective::@5->do_perspective::@6] + // [41] phi from do_perspective::@5 to do_perspective::@6 [phi:do_perspective::@5->do_perspective::@6] __b6_from___b5: jmp __b6 // do_perspective::@6 __b6: - // [43] call print_str - // [63] phi from do_perspective::@6 to print_str [phi:do_perspective::@6->print_str] + // [42] call print_str + // [62] phi from do_perspective::@6 to print_str [phi:do_perspective::@6->print_str] print_str_from___b6: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@6->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@6->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 sta.z print_str.str+1 jsr print_str - // [44] phi from do_perspective::@6 to do_perspective::@7 [phi:do_perspective::@6->do_perspective::@7] + // [43] phi from do_perspective::@6 to do_perspective::@7 [phi:do_perspective::@6->do_perspective::@7] __b7_from___b6: jmp __b7 // do_perspective::@7 __b7: - // [45] call perspective + // [44] call perspective jsr perspective jmp __b8 // do_perspective::@8 __b8: - // [46] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) -- vbuz1=_deref_pbuc1 + // [45] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) -- vbuz1=_deref_pbuc1 lda xr sta.z print_uchar.b - // [47] call print_uchar - // [86] phi from do_perspective::@8 to print_uchar [phi:do_perspective::@8->print_uchar] + // [46] call print_uchar + // [85] phi from do_perspective::@8 to print_uchar [phi:do_perspective::@8->print_uchar] print_uchar_from___b8: - // [86] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@8->print_uchar#0] -- register_copy - // [86] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#6 [phi:do_perspective::@8->print_uchar#1] -- register_copy + // [85] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@8->print_uchar#0] -- register_copy + // [85] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#6 [phi:do_perspective::@8->print_uchar#1] -- register_copy jsr print_uchar - // [48] phi from do_perspective::@8 to do_perspective::@9 [phi:do_perspective::@8->do_perspective::@9] + // [47] phi from do_perspective::@8 to do_perspective::@9 [phi:do_perspective::@8->do_perspective::@9] __b9_from___b8: jmp __b9 // do_perspective::@9 __b9: - // [49] call print_str - // [63] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str] + // [48] call print_str + // [62] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str] print_str_from___b9: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@9->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@9->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -2069,43 +2060,43 @@ do_perspective: { jmp __b10 // do_perspective::@10 __b10: - // [50] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) -- vbuz1=_deref_pbuc1 + // [49] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) -- vbuz1=_deref_pbuc1 lda yr sta.z print_uchar.b - // [51] call print_uchar - // [86] phi from do_perspective::@10 to print_uchar [phi:do_perspective::@10->print_uchar] + // [50] call print_uchar + // [85] phi from do_perspective::@10 to print_uchar [phi:do_perspective::@10->print_uchar] print_uchar_from___b10: - // [86] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@10->print_uchar#0] -- register_copy - // [86] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#5 [phi:do_perspective::@10->print_uchar#1] -- register_copy + // [85] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@10->print_uchar#0] -- register_copy + // [85] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#5 [phi:do_perspective::@10->print_uchar#1] -- register_copy jsr print_uchar - // [52] phi from do_perspective::@10 to do_perspective::@11 [phi:do_perspective::@10->do_perspective::@11] + // [51] phi from do_perspective::@10 to do_perspective::@11 [phi:do_perspective::@10->do_perspective::@11] __b11_from___b10: jmp __b11 // do_perspective::@11 __b11: - // [53] call print_str - // [63] phi from do_perspective::@11 to print_str [phi:do_perspective::@11->print_str] + // [52] call print_str + // [62] phi from do_perspective::@11 to print_str [phi:do_perspective::@11->print_str] print_str_from___b11: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@11->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@11->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- pbuz1=pbuc1 lda #str5 sta.z print_str.str+1 jsr print_str - // [54] phi from do_perspective::@11 to do_perspective::@12 [phi:do_perspective::@11->do_perspective::@12] + // [53] phi from do_perspective::@11 to do_perspective::@12 [phi:do_perspective::@11->do_perspective::@12] __b12_from___b11: jmp __b12 // do_perspective::@12 __b12: - // [55] call print_ln - // [94] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln] + // [54] call print_ln + // [93] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln] print_ln_from___b12: jsr print_ln jmp __breturn // do_perspective::@return __breturn: - // [56] return + // [55] return rts str: .text "(" .byte 0 @@ -2124,9 +2115,9 @@ memset: { .label str = print_screen .label end = str+num .label dst = 7 - // [58] phi from memset to memset::@1 [phi:memset->memset::@1] + // [57] phi from memset to memset::@1 [phi:memset->memset::@1] __b1_from_memset: - // [58] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 + // [57] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 lda #str @@ -2134,7 +2125,7 @@ memset: { jmp __b1 // memset::@1 __b1: - // [59] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 + // [58] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 lda.z dst+1 cmp #>end bne __b2 @@ -2144,22 +2135,22 @@ memset: { jmp __breturn // memset::@return __breturn: - // [60] return + // [59] return rts // memset::@2 __b2: - // [61] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 + // [60] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 lda #c ldy #0 sta (dst),y - // [62] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [61] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 !: - // [58] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] + // [57] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] __b1_from___b2: - // [58] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy + // [57] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy jmp __b1 } // print_str @@ -2167,15 +2158,15 @@ memset: { // print_str(byte* zp(9) str) print_str: { .label str = 9 - // [64] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1] + // [63] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1] __b1_from_print_str: __b1_from___b3: - // [64] phi (byte*) print_char_cursor#1 = (byte*) print_char_cursor#77 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy - // [64] phi (byte*) print_str::str#7 = (byte*) print_str::str#10 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy + // [63] phi (byte*) print_char_cursor#1 = (byte*) print_char_cursor#77 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy + // [63] phi (byte*) print_str::str#7 = (byte*) print_str::str#10 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy jmp __b1 // print_str::@1 __b1: - // [65] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + // [64] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 -- vbuc1_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 @@ -2183,24 +2174,24 @@ print_str: { jmp __breturn // print_str::@return __breturn: - // [66] return + // [65] return rts // print_str::@2 __b2: - // [67] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) -- vbuz1=_deref_pbuz2 + // [66] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) -- vbuz1=_deref_pbuz2 ldy #0 lda (str),y sta.z print_char.ch - // [68] call print_char - // [99] phi from print_str::@2 to print_char [phi:print_str::@2->print_char] + // [67] call print_char + // [98] phi from print_str::@2 to print_char [phi:print_str::@2->print_char] print_char_from___b2: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy jsr print_char jmp __b3 // print_str::@3 __b3: - // [69] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 -- pbuz1=_inc_pbuz1 + // [68] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 @@ -2212,60 +2203,60 @@ print_str: { // print_schar(signed byte zp($b) b) print_schar: { .label b = $b - // [71] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 -- vbsz1_lt_0_then_la1 + // [70] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 -- vbsz1_lt_0_then_la1 lda.z b bmi __b1_from_print_schar - // [72] phi from print_schar to print_schar::@3 [phi:print_schar->print_schar::@3] + // [71] phi from print_schar to print_schar::@3 [phi:print_schar->print_schar::@3] __b3_from_print_schar: jmp __b3 // print_schar::@3 __b3: - // [73] call print_char - // [99] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char] + // [72] call print_char + // [98] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char] print_char_from___b3: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@3->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) ' ' [phi:print_schar::@3->print_char#1] -- vbuz1=vbuc1 + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@3->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) ' ' [phi:print_schar::@3->print_char#1] -- vbuz1=vbuc1 lda #' ' sta.z print_char.ch jsr print_char - // [74] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2] + // [73] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2] __b2_from___b3: __b2_from___b4: - // [74] phi (signed byte) print_schar::b#6 = (signed byte) print_schar::b#4 [phi:print_schar::@3/print_schar::@4->print_schar::@2#0] -- register_copy + // [73] phi (signed byte) print_schar::b#6 = (signed byte) print_schar::b#4 [phi:print_schar::@3/print_schar::@4->print_schar::@2#0] -- register_copy jmp __b2 // print_schar::@2 __b2: - // [75] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 -- vbuz1=vbuz2 + // [74] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 -- vbuz1=vbuz2 lda.z b sta.z print_uchar.b - // [76] call print_uchar - // [86] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar] + // [75] call print_uchar + // [85] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar] print_uchar_from___b2: - // [86] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#11 [phi:print_schar::@2->print_uchar#0] -- register_copy - // [86] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy + // [85] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#11 [phi:print_schar::@2->print_uchar#0] -- register_copy + // [85] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy jsr print_uchar jmp __breturn // print_schar::@return __breturn: - // [77] return + // [76] return rts - // [78] phi from print_schar to print_schar::@1 [phi:print_schar->print_schar::@1] + // [77] phi from print_schar to print_schar::@1 [phi:print_schar->print_schar::@1] __b1_from_print_schar: jmp __b1 // print_schar::@1 __b1: - // [79] call print_char - // [99] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char] + // [78] call print_char + // [98] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char] print_char_from___b1: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@1->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) '-' [phi:print_schar::@1->print_char#1] -- vbuz1=vbuc1 + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@1->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) '-' [phi:print_schar::@1->print_char#1] -- vbuz1=vbuc1 lda #'-' sta.z print_char.ch jsr print_char jmp __b4 // print_schar::@4 __b4: - // [80] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 -- vbsz1=_neg_vbsz1 + // [79] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 -- vbsz1=_neg_vbsz1 lda.z b eor #$ff clc @@ -2277,13 +2268,13 @@ print_schar: { // Apply perspective to a 3d-point. Result is returned in (*xr,*yr) // Implemented in assembler to utilize seriously fast multiplication perspective: { - // [81] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 -- _deref_pbsc1=vbsc2 + // [80] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 -- _deref_pbsc1=vbsc2 lda #do_perspective.x sta xr - // [82] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 -- _deref_pbsc1=vbsc2 + // [81] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 -- _deref_pbsc1=vbsc2 lda #do_perspective.y sta yr - // [83] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 -- _deref_pbsc1=vbsc2 + // [82] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 -- _deref_pbsc1=vbsc2 lda #do_perspective.z sta zr // asm { ldazr staPP+1 PP: ldaPERSP_Z stapsp1 eor#$ff stapsp2 clc ldyyr lda(psp1),y sbc(psp2),y adc#$80 stayr clc ldyxr lda(psp1),y sbc(psp2),y adc#$80 staxr } @@ -2309,75 +2300,75 @@ perspective: { jmp __breturn // perspective::@return __breturn: - // [85] return + // [84] return rts } // print_uchar // Print a char as HEX // print_uchar(byte zp($c) b) print_uchar: { - .label __0 = $16 - .label __2 = $17 + .label __0 = $15 + .label __2 = $16 .label b = $c - // [87] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 -- vbuz1=vbuz2_ror_4 + // [86] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 -- vbuz1=vbuz2_ror_4 lda.z b lsr lsr lsr lsr sta.z __0 - // [88] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) -- vbuz1=pbuc1_derefidx_vbuz2 + // [87] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z __0 lda print_hextab,y sta.z print_char.ch - // [89] call print_char + // [88] call print_char // Table of hexadecimal digits - // [99] phi from print_uchar to print_char [phi:print_uchar->print_char] + // [98] phi from print_uchar to print_char [phi:print_uchar->print_char] print_char_from_print_uchar: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#72 [phi:print_uchar->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) print_char::ch#3 [phi:print_uchar->print_char#1] -- register_copy + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#72 [phi:print_uchar->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) print_char::ch#3 [phi:print_uchar->print_char#1] -- register_copy jsr print_char jmp __b1 // print_uchar::@1 __b1: - // [90] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 + // [89] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and.z b sta.z __2 - // [91] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) -- vbuz1=pbuc1_derefidx_vbuz2 + // [90] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) -- vbuz1=pbuc1_derefidx_vbuz2 ldy.z __2 lda print_hextab,y sta.z print_char.ch - // [92] call print_char - // [99] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char] + // [91] call print_char + // [98] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char] print_char_from___b1: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#11 [phi:print_uchar::@1->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- register_copy + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#11 [phi:print_uchar::@1->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- register_copy jsr print_char jmp __breturn // print_uchar::@return __breturn: - // [93] return + // [92] return rts } // print_ln // Print a newline print_ln: { - // [95] phi from print_ln to print_ln::@1 [phi:print_ln->print_ln::@1] + // [94] phi from print_ln to print_ln::@1 [phi:print_ln->print_ln::@1] __b1_from_print_ln: - // [95] phi (byte*) print_line_cursor#12 = (const byte*) print_screen#0 [phi:print_ln->print_ln::@1#0] -- pbuz1=pbuc1 + // [94] phi (byte*) print_line_cursor#12 = (const byte*) print_screen#0 [phi:print_ln->print_ln::@1#0] -- pbuz1=pbuc1 lda #print_screen sta.z print_line_cursor+1 jmp __b1 - // [95] phi from print_ln::@1 to print_ln::@1 [phi:print_ln::@1->print_ln::@1] + // [94] phi from print_ln::@1 to print_ln::@1 [phi:print_ln::@1->print_ln::@1] __b1_from___b1: - // [95] phi (byte*) print_line_cursor#12 = (byte*) print_line_cursor#0 [phi:print_ln::@1->print_ln::@1#0] -- register_copy + // [94] phi (byte*) print_line_cursor#12 = (byte*) print_line_cursor#0 [phi:print_ln::@1->print_ln::@1#0] -- register_copy jmp __b1 // print_ln::@1 __b1: - // [96] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [95] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc.z print_line_cursor @@ -2385,7 +2376,7 @@ print_ln: { bcc !+ inc.z print_line_cursor+1 !: - // [97] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + // [96] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 lda.z print_line_cursor+1 cmp.z print_char_cursor+1 bcc __b1_from___b1 @@ -2397,7 +2388,7 @@ print_ln: { jmp __breturn // print_ln::@return __breturn: - // [98] return + // [97] return rts } // print_char @@ -2405,11 +2396,11 @@ print_ln: { // print_char(byte zp($f) ch) print_char: { .label ch = $f - // [100] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuz2 + // [99] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuz2 lda.z ch ldy #0 sta (print_char_cursor),y - // [101] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#45 -- pbuz1=_inc_pbuz1 + // [100] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#45 -- pbuz1=_inc_pbuz1 inc.z print_char_cursor bne !+ inc.z print_char_cursor+1 @@ -2417,7 +2408,7 @@ print_char: { jmp __breturn // print_char::@return __breturn: - // [102] return + // [101] return rts } // File Data @@ -2464,27 +2455,27 @@ Removing always clobbered register reg byte a as potential for zp[1]:19 [ mulf_i Statement [15] *((const byte*) mulf_sqr1+(word) $100 + (byte~) mulf_init::$2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] { } ) always clobbers reg byte a Statement [16] *((const byte*) mulf_sqr2+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] { } ) always clobbers reg byte a Statement [17] *((const byte*) mulf_sqr2+(word) $100+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] { } ) always clobbers reg byte a -Statement [18] (byte~) mulf_init::$5 ← (byte) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$5 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$5 ] { } ) always clobbers reg byte a -Statement [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$5) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] { } ) always clobbers reg byte a -Statement [20] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] { } ) always clobbers reg byte a -Statement [21] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] { } ) always clobbers reg byte a -Statement [22] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ( mulf_init:1 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] { } ) always clobbers reg byte a -Statement [23] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ( mulf_init:1 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] { } ) always clobbers reg byte a -Statement [59] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:4::memset:28 [ memset::dst#2 ] { } ) always clobbers reg byte a -Statement [61] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::dst#2 ] ( print_cls:4::memset:28 [ memset::dst#2 ] { } ) always clobbers reg byte a reg byte y -Statement [65] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 [ print_str::str#7 print_char_cursor#1 ] ( do_perspective:6::print_str:31 [ print_str::str#7 print_char_cursor#1 ] { } do_perspective:6::print_str:35 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:39 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:43 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:49 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:53 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } ) always clobbers reg byte a reg byte y -Statement [67] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] ( do_perspective:6::print_str:31 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:35 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:39 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:43 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:49 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:53 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } ) always clobbers reg byte a reg byte y -Statement [80] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 [ print_char_cursor#11 print_schar::b#0 ] ( do_perspective:6::print_schar:33 [ print_char_cursor#11 print_schar::b#0 ] { } do_perspective:6::print_schar:37 [ print_char_cursor#11 print_schar::b#0 ] { } do_perspective:6::print_schar:41 [ print_char_cursor#11 print_schar::b#0 ] { } ) always clobbers reg byte a -Statement [81] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 [ ] ( do_perspective:6::perspective:45 [ print_char_cursor#1 ] { } ) always clobbers reg byte a -Statement [82] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 [ ] ( do_perspective:6::perspective:45 [ print_char_cursor#1 ] { } ) always clobbers reg byte a -Statement [83] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 [ ] ( do_perspective:6::perspective:45 [ print_char_cursor#1 ] { } ) always clobbers reg byte a +Statement [18] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] { } ) always clobbers reg byte a +Statement [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:20 [ mulf_init::$6 ] +Statement [20] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] { } ) always clobbers reg byte a +Statement [21] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ( mulf_init:1 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] { } ) always clobbers reg byte a +Statement [22] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ( mulf_init:1 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] { } ) always clobbers reg byte a +Statement [58] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:4::memset:27 [ memset::dst#2 ] { } ) always clobbers reg byte a +Statement [60] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::dst#2 ] ( print_cls:4::memset:27 [ memset::dst#2 ] { } ) always clobbers reg byte a reg byte y +Statement [64] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 [ print_str::str#7 print_char_cursor#1 ] ( do_perspective:6::print_str:30 [ print_str::str#7 print_char_cursor#1 ] { } do_perspective:6::print_str:34 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:38 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:42 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:48 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:52 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } ) always clobbers reg byte a reg byte y +Statement [66] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] ( do_perspective:6::print_str:30 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:34 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:38 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:42 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:48 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:52 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } ) always clobbers reg byte a reg byte y +Statement [79] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 [ print_char_cursor#11 print_schar::b#0 ] ( do_perspective:6::print_schar:32 [ print_char_cursor#11 print_schar::b#0 ] { } do_perspective:6::print_schar:36 [ print_char_cursor#11 print_schar::b#0 ] { } do_perspective:6::print_schar:40 [ print_char_cursor#11 print_schar::b#0 ] { } ) always clobbers reg byte a +Statement [80] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 [ ] ( do_perspective:6::perspective:44 [ print_char_cursor#1 ] { } ) always clobbers reg byte a +Statement [81] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 [ ] ( do_perspective:6::perspective:44 [ print_char_cursor#1 ] { } ) always clobbers reg byte a +Statement [82] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 [ ] ( do_perspective:6::perspective:44 [ print_char_cursor#1 ] { } ) always clobbers reg byte a Statement asm { ldazr staPP+1 PP: ldaPERSP_Z stapsp1 eor#$ff stapsp2 clc ldyyr lda(psp1),y sbc(psp2),y adc#$80 stayr clc ldyxr lda(psp1),y sbc(psp2),y adc#$80 staxr } always clobbers reg byte a reg byte y -Statement [87] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] ( do_perspective:6::print_uchar:47 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:51 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:33::print_uchar:76 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:37::print_uchar:76 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:41::print_uchar:76 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } ) always clobbers reg byte a +Statement [86] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] ( do_perspective:6::print_uchar:46 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:50 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:32::print_uchar:75 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:36::print_uchar:75 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:40::print_uchar:75 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:12 [ print_uchar::b#3 print_uchar::b#5 print_uchar::b#6 print_uchar::b#0 ] -Statement [90] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f [ print_char_cursor#11 print_uchar::$2 ] ( do_perspective:6::print_uchar:47 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_uchar:51 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_schar:33::print_uchar:76 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:37::print_uchar:76 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:41::print_uchar:76 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } ) always clobbers reg byte a -Statement [96] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 [ print_char_cursor#1 print_line_cursor#0 ] ( do_perspective:6::print_ln:55 [ print_char_cursor#1 print_line_cursor#0 ] { } ) always clobbers reg byte a -Statement [97] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 [ print_char_cursor#1 print_line_cursor#0 ] ( do_perspective:6::print_ln:55 [ print_char_cursor#1 print_line_cursor#0 ] { } ) always clobbers reg byte a -Statement [100] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 [ print_char_cursor#45 ] ( do_perspective:6::print_str:31::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:35::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:39::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:43::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:49::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:53::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:33::print_char:73 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:37::print_char:73 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:41::print_char:73 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:33::print_char:79 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:37::print_char:79 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:41::print_char:79 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_uchar:47::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:51::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:33::print_uchar:76::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:37::print_uchar:76::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:41::print_uchar:76::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:47::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_uchar:51::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_schar:33::print_uchar:76::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:37::print_uchar:76::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:41::print_uchar:76::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } ) always clobbers reg byte y +Statement [89] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f [ print_char_cursor#11 print_uchar::$2 ] ( do_perspective:6::print_uchar:46 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_uchar:50 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_schar:32::print_uchar:75 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:36::print_uchar:75 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:40::print_uchar:75 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } ) always clobbers reg byte a +Statement [95] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 [ print_char_cursor#1 print_line_cursor#0 ] ( do_perspective:6::print_ln:54 [ print_char_cursor#1 print_line_cursor#0 ] { } ) always clobbers reg byte a +Statement [96] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 [ print_char_cursor#1 print_line_cursor#0 ] ( do_perspective:6::print_ln:54 [ print_char_cursor#1 print_line_cursor#0 ] { } ) always clobbers reg byte a +Statement [99] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 [ print_char_cursor#45 ] ( do_perspective:6::print_str:30::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:34::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:38::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:42::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:48::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:52::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:32::print_char:72 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:36::print_char:72 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:40::print_char:72 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:32::print_char:78 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:36::print_char:78 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:40::print_char:78 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_uchar:46::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:50::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:32::print_uchar:75::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:36::print_uchar:75::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:40::print_uchar:75::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:46::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_uchar:50::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_schar:32::print_uchar:75::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:36::print_uchar:75::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:40::print_uchar:75::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp[1]:11 [ print_schar::b#6 print_schar::b#0 print_schar::b#4 ] Removing always clobbered register reg byte y as potential for zp[1]:12 [ print_uchar::b#3 print_uchar::b#5 print_uchar::b#6 print_uchar::b#0 ] Statement [2] *((const word*) psp1) ← (word)(const byte*) mulf_sqr1 [ ] ( [ ] { } ) always clobbers reg byte a @@ -2496,26 +2487,25 @@ Statement [14] *((const byte*) mulf_sqr1 + (byte~) mulf_init::$2) ← (byte) mul Statement [15] *((const byte*) mulf_sqr1+(word) $100 + (byte~) mulf_init::$2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] { } ) always clobbers reg byte a Statement [16] *((const byte*) mulf_sqr2+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] { } ) always clobbers reg byte a Statement [17] *((const byte*) mulf_sqr2+(word) $100+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] { } ) always clobbers reg byte a -Statement [18] (byte~) mulf_init::$5 ← (byte) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$5 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$5 ] { } ) always clobbers reg byte a -Statement [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$5) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] { } ) always clobbers reg byte a -Statement [20] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] { } ) always clobbers reg byte a -Statement [21] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] { } ) always clobbers reg byte a -Statement [22] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ( mulf_init:1 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] { } ) always clobbers reg byte a -Statement [23] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ( mulf_init:1 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] { } ) always clobbers reg byte a -Statement [59] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:4::memset:28 [ memset::dst#2 ] { } ) always clobbers reg byte a -Statement [61] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::dst#2 ] ( print_cls:4::memset:28 [ memset::dst#2 ] { } ) always clobbers reg byte a reg byte y -Statement [65] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 [ print_str::str#7 print_char_cursor#1 ] ( do_perspective:6::print_str:31 [ print_str::str#7 print_char_cursor#1 ] { } do_perspective:6::print_str:35 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:39 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:43 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:49 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:53 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } ) always clobbers reg byte a reg byte y -Statement [67] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] ( do_perspective:6::print_str:31 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:35 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:39 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:43 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:49 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:53 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } ) always clobbers reg byte a reg byte y -Statement [80] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 [ print_char_cursor#11 print_schar::b#0 ] ( do_perspective:6::print_schar:33 [ print_char_cursor#11 print_schar::b#0 ] { } do_perspective:6::print_schar:37 [ print_char_cursor#11 print_schar::b#0 ] { } do_perspective:6::print_schar:41 [ print_char_cursor#11 print_schar::b#0 ] { } ) always clobbers reg byte a -Statement [81] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 [ ] ( do_perspective:6::perspective:45 [ print_char_cursor#1 ] { } ) always clobbers reg byte a -Statement [82] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 [ ] ( do_perspective:6::perspective:45 [ print_char_cursor#1 ] { } ) always clobbers reg byte a -Statement [83] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 [ ] ( do_perspective:6::perspective:45 [ print_char_cursor#1 ] { } ) always clobbers reg byte a +Statement [18] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] { } ) always clobbers reg byte a +Statement [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$6 ] { } ) always clobbers reg byte a +Statement [20] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( mulf_init:1 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] { } ) always clobbers reg byte a +Statement [21] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ( mulf_init:1 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] { } ) always clobbers reg byte a +Statement [22] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ( mulf_init:1 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] { } ) always clobbers reg byte a +Statement [58] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:4::memset:27 [ memset::dst#2 ] { } ) always clobbers reg byte a +Statement [60] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [ memset::dst#2 ] ( print_cls:4::memset:27 [ memset::dst#2 ] { } ) always clobbers reg byte a reg byte y +Statement [64] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 [ print_str::str#7 print_char_cursor#1 ] ( do_perspective:6::print_str:30 [ print_str::str#7 print_char_cursor#1 ] { } do_perspective:6::print_str:34 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:38 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:42 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:48 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } do_perspective:6::print_str:52 [ print_str::str#7 print_char_cursor#1 ] { { print_char_cursor#11 = print_char_cursor#77 } } ) always clobbers reg byte a reg byte y +Statement [66] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] ( do_perspective:6::print_str:30 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:34 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:38 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:42 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:48 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:52 [ print_str::str#7 print_char_cursor#1 print_char::ch#0 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } ) always clobbers reg byte a reg byte y +Statement [79] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 [ print_char_cursor#11 print_schar::b#0 ] ( do_perspective:6::print_schar:32 [ print_char_cursor#11 print_schar::b#0 ] { } do_perspective:6::print_schar:36 [ print_char_cursor#11 print_schar::b#0 ] { } do_perspective:6::print_schar:40 [ print_char_cursor#11 print_schar::b#0 ] { } ) always clobbers reg byte a +Statement [80] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 [ ] ( do_perspective:6::perspective:44 [ print_char_cursor#1 ] { } ) always clobbers reg byte a +Statement [81] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 [ ] ( do_perspective:6::perspective:44 [ print_char_cursor#1 ] { } ) always clobbers reg byte a +Statement [82] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 [ ] ( do_perspective:6::perspective:44 [ print_char_cursor#1 ] { } ) always clobbers reg byte a Statement asm { ldazr staPP+1 PP: ldaPERSP_Z stapsp1 eor#$ff stapsp2 clc ldyyr lda(psp1),y sbc(psp2),y adc#$80 stayr clc ldyxr lda(psp1),y sbc(psp2),y adc#$80 staxr } always clobbers reg byte a reg byte y -Statement [87] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] ( do_perspective:6::print_uchar:47 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:51 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:33::print_uchar:76 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:37::print_uchar:76 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:41::print_uchar:76 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } ) always clobbers reg byte a -Statement [90] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f [ print_char_cursor#11 print_uchar::$2 ] ( do_perspective:6::print_uchar:47 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_uchar:51 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_schar:33::print_uchar:76 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:37::print_uchar:76 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:41::print_uchar:76 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } ) always clobbers reg byte a -Statement [96] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 [ print_char_cursor#1 print_line_cursor#0 ] ( do_perspective:6::print_ln:55 [ print_char_cursor#1 print_line_cursor#0 ] { } ) always clobbers reg byte a -Statement [97] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 [ print_char_cursor#1 print_line_cursor#0 ] ( do_perspective:6::print_ln:55 [ print_char_cursor#1 print_line_cursor#0 ] { } ) always clobbers reg byte a -Statement [100] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 [ print_char_cursor#45 ] ( do_perspective:6::print_str:31::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:35::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:39::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:43::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:49::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:53::print_char:68 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:33::print_char:73 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:37::print_char:73 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:41::print_char:73 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:33::print_char:79 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:37::print_char:79 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:41::print_char:79 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_uchar:47::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:51::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:33::print_uchar:76::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:37::print_uchar:76::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:41::print_uchar:76::print_char:89 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:47::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_uchar:51::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_schar:33::print_uchar:76::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:37::print_uchar:76::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:41::print_uchar:76::print_char:92 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } ) always clobbers reg byte y +Statement [86] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] ( do_perspective:6::print_uchar:46 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:50 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:32::print_uchar:75 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:36::print_uchar:75 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:40::print_uchar:75 [ print_uchar::b#3 print_char_cursor#72 print_uchar::$0 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } ) always clobbers reg byte a +Statement [89] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f [ print_char_cursor#11 print_uchar::$2 ] ( do_perspective:6::print_uchar:46 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_uchar:50 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_schar:32::print_uchar:75 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:36::print_uchar:75 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:40::print_uchar:75 [ print_char_cursor#11 print_uchar::$2 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } ) always clobbers reg byte a +Statement [95] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 [ print_char_cursor#1 print_line_cursor#0 ] ( do_perspective:6::print_ln:54 [ print_char_cursor#1 print_line_cursor#0 ] { } ) always clobbers reg byte a +Statement [96] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 [ print_char_cursor#1 print_line_cursor#0 ] ( do_perspective:6::print_ln:54 [ print_char_cursor#1 print_line_cursor#0 ] { } ) always clobbers reg byte a +Statement [99] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 [ print_char_cursor#45 ] ( do_perspective:6::print_str:30::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:34::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:38::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:42::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:48::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_str:52::print_char:67 [ print_str::str#7 print_char_cursor#45 ] { { print_char_cursor#11 = print_char_cursor#77 } { print_char::ch#0 = print_char::ch#5 } { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:32::print_char:72 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:36::print_char:72 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:40::print_char:72 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:32::print_char:78 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:36::print_char:78 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_schar:40::print_char:78 [ print_schar::b#4 print_char_cursor#45 ] { { print_char_cursor#1 = print_char_cursor#45 } } do_perspective:6::print_uchar:46::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:50::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:32::print_uchar:75::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:36::print_uchar:75::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_schar:40::print_uchar:75::print_char:88 [ print_uchar::b#3 print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#3 = print_char::ch#5 } } do_perspective:6::print_uchar:46::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#6 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_uchar:50::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#3 = print_uchar::b#5 } { print_char_cursor#1 = print_char_cursor#72 } { print_char::ch#4 = print_char::ch#5 } { print_char_cursor#11 = print_char_cursor#45 } } do_perspective:6::print_schar:32::print_uchar:75::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:36::print_uchar:75::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } do_perspective:6::print_schar:40::print_uchar:75::print_char:91 [ print_char_cursor#45 ] { { print_uchar::b#0 = print_uchar::b#3 } { print_char_cursor#11 = print_char_cursor#72 print_char_cursor#45 } { print_char::ch#4 = print_char::ch#5 } } ) always clobbers reg byte y Potential registers zp[2]:2 [ mulf_init::sqr#2 mulf_init::sqr#1 ] : zp[2]:2 , Potential registers zp[1]:4 [ mulf_init::i#2 mulf_init::i#1 ] : zp[1]:4 , reg byte x , reg byte y , Potential registers zp[2]:5 [ mulf_init::add#2 mulf_init::add#1 ] : zp[2]:5 , @@ -2528,18 +2518,17 @@ Potential registers zp[1]:15 [ print_char::ch#5 print_char::ch#0 print_char::ch# Potential registers zp[2]:16 [ print_char_cursor#45 print_char_cursor#72 print_char_cursor#1 print_char_cursor#77 print_char_cursor#11 ] : zp[2]:16 , Potential registers zp[1]:18 [ mulf_init::val#0 ] : zp[1]:18 , reg byte x , reg byte y , Potential registers zp[1]:19 [ mulf_init::$2 ] : zp[1]:19 , reg byte x , reg byte y , -Potential registers zp[1]:20 [ mulf_init::$5 ] : zp[1]:20 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:21 [ mulf_init::$6 ] : zp[1]:21 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:22 [ print_uchar::$0 ] : zp[1]:22 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:23 [ print_uchar::$2 ] : zp[1]:23 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:20 [ mulf_init::$6 ] : zp[1]:20 , reg byte x , reg byte y , +Potential registers zp[1]:21 [ print_uchar::$0 ] : zp[1]:21 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:22 [ print_uchar::$2 ] : zp[1]:22 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES Uplift Scope [print_char] 19,010: zp[1]:15 [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 ] Uplift Scope [] 12,729.82: zp[2]:16 [ print_char_cursor#45 print_char_cursor#72 print_char_cursor#1 print_char_cursor#77 print_char_cursor#11 ] 3,503.5: zp[2]:13 [ print_line_cursor#12 print_line_cursor#0 ] -Uplift Scope [print_uchar] 2,002: zp[1]:22 [ print_uchar::$0 ] 2,002: zp[1]:23 [ print_uchar::$2 ] 777.25: zp[1]:12 [ print_uchar::b#3 print_uchar::b#5 print_uchar::b#6 print_uchar::b#0 ] +Uplift Scope [print_uchar] 2,002: zp[1]:21 [ print_uchar::$0 ] 2,002: zp[1]:22 [ print_uchar::$2 ] 777.25: zp[1]:12 [ print_uchar::b#3 print_uchar::b#5 print_uchar::b#6 print_uchar::b#0 ] Uplift Scope [memset] 3,336.67: zp[2]:7 [ memset::dst#2 memset::dst#1 ] Uplift Scope [print_str] 3,129.25: zp[2]:9 [ print_str::str#7 print_str::str#10 print_str::str#0 ] -Uplift Scope [mulf_init] 212.1: zp[1]:4 [ mulf_init::i#2 mulf_init::i#1 ] 202: zp[1]:20 [ mulf_init::$5 ] 202: zp[1]:21 [ mulf_init::$6 ] 151.5: zp[1]:19 [ mulf_init::$2 ] 88.98: zp[2]:5 [ mulf_init::add#2 mulf_init::add#1 ] 82.64: zp[1]:18 [ mulf_init::val#0 ] 73.81: zp[2]:2 [ mulf_init::sqr#2 mulf_init::sqr#1 ] +Uplift Scope [mulf_init] 209.21: zp[1]:4 [ mulf_init::i#2 mulf_init::i#1 ] 151.5: zp[1]:19 [ mulf_init::$2 ] 151.5: zp[1]:20 [ mulf_init::$6 ] 90.9: zp[1]:18 [ mulf_init::val#0 ] 90.64: zp[2]:5 [ mulf_init::add#2 mulf_init::add#1 ] 75.75: zp[2]:2 [ mulf_init::sqr#2 mulf_init::sqr#1 ] Uplift Scope [print_schar] 454.5: zp[1]:11 [ print_schar::b#6 print_schar::b#0 print_schar::b#4 ] Uplift Scope [MOS6526_CIA] Uplift Scope [MOS6569_VICII] @@ -2551,25 +2540,24 @@ Uplift Scope [main] Uplift Scope [do_perspective] Uplift Scope [perspective] -Uplifting [print_char] best 4222 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 ] -Uplifting [] best 4222 combination zp[2]:16 [ print_char_cursor#45 print_char_cursor#72 print_char_cursor#1 print_char_cursor#77 print_char_cursor#11 ] zp[2]:13 [ print_line_cursor#12 print_line_cursor#0 ] -Uplifting [print_uchar] best 4201 combination reg byte a [ print_uchar::$0 ] reg byte x [ print_uchar::$2 ] reg byte x [ print_uchar::b#3 print_uchar::b#5 print_uchar::b#6 print_uchar::b#0 ] -Uplifting [memset] best 4201 combination zp[2]:7 [ memset::dst#2 memset::dst#1 ] -Uplifting [print_str] best 4201 combination zp[2]:9 [ print_str::str#7 print_str::str#10 print_str::str#0 ] -Uplifting [mulf_init] best 3791 combination reg byte y [ mulf_init::i#2 mulf_init::i#1 ] reg byte x [ mulf_init::$5 ] reg byte x [ mulf_init::$6 ] reg byte x [ mulf_init::$2 ] zp[2]:5 [ mulf_init::add#2 mulf_init::add#1 ] zp[1]:18 [ mulf_init::val#0 ] zp[2]:2 [ mulf_init::sqr#2 mulf_init::sqr#1 ] -Limited combination testing to 100 combinations of 432 possible. -Uplifting [print_schar] best 3776 combination reg byte x [ print_schar::b#6 print_schar::b#0 print_schar::b#4 ] -Uplifting [MOS6526_CIA] best 3776 combination -Uplifting [MOS6569_VICII] best 3776 combination -Uplifting [MOS6581_SID] best 3776 combination -Uplifting [RADIX] best 3776 combination -Uplifting [print_ln] best 3776 combination -Uplifting [print_cls] best 3776 combination -Uplifting [main] best 3776 combination -Uplifting [do_perspective] best 3776 combination -Uplifting [perspective] best 3776 combination +Uplifting [print_char] best 4122 combination reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 ] +Uplifting [] best 4122 combination zp[2]:16 [ print_char_cursor#45 print_char_cursor#72 print_char_cursor#1 print_char_cursor#77 print_char_cursor#11 ] zp[2]:13 [ print_line_cursor#12 print_line_cursor#0 ] +Uplifting [print_uchar] best 4101 combination reg byte a [ print_uchar::$0 ] reg byte x [ print_uchar::$2 ] reg byte x [ print_uchar::b#3 print_uchar::b#5 print_uchar::b#6 print_uchar::b#0 ] +Uplifting [memset] best 4101 combination zp[2]:7 [ memset::dst#2 memset::dst#1 ] +Uplifting [print_str] best 4101 combination zp[2]:9 [ print_str::str#7 print_str::str#10 print_str::str#0 ] +Uplifting [mulf_init] best 3711 combination reg byte y [ mulf_init::i#2 mulf_init::i#1 ] reg byte x [ mulf_init::$2 ] reg byte x [ mulf_init::$6 ] zp[1]:18 [ mulf_init::val#0 ] zp[2]:5 [ mulf_init::add#2 mulf_init::add#1 ] zp[2]:2 [ mulf_init::sqr#2 mulf_init::sqr#1 ] +Uplifting [print_schar] best 3696 combination reg byte x [ print_schar::b#6 print_schar::b#0 print_schar::b#4 ] +Uplifting [MOS6526_CIA] best 3696 combination +Uplifting [MOS6569_VICII] best 3696 combination +Uplifting [MOS6581_SID] best 3696 combination +Uplifting [RADIX] best 3696 combination +Uplifting [print_ln] best 3696 combination +Uplifting [print_cls] best 3696 combination +Uplifting [main] best 3696 combination +Uplifting [do_perspective] best 3696 combination +Uplifting [perspective] best 3696 combination Attempting to uplift remaining variables inzp[1]:18 [ mulf_init::val#0 ] -Uplifting [mulf_init] best 3776 combination zp[1]:18 [ mulf_init::val#0 ] +Uplifting [mulf_init] best 3696 combination zp[1]:18 [ mulf_init::val#0 ] Coalescing zero page register [ zp[2]:7 [ memset::dst#2 memset::dst#1 ] ] with [ zp[2]:2 [ mulf_init::sqr#2 mulf_init::sqr#1 ] ] Coalescing zero page register [ zp[2]:9 [ print_str::str#7 print_str::str#10 print_str::str#0 ] ] with [ zp[2]:5 [ mulf_init::add#2 mulf_init::add#1 ] ] Coalescing zero page register [ zp[2]:13 [ print_line_cursor#12 print_line_cursor#0 ] ] with [ zp[2]:7 [ memset::dst#2 memset::dst#1 mulf_init::sqr#2 mulf_init::sqr#1 ] ] @@ -2624,7 +2612,7 @@ main: { lda #>mulf_sqr2 sta psp2+1 // [4] call print_cls - // [27] phi from main::@1 to print_cls [phi:main::@1->print_cls] + // [26] phi from main::@1 to print_cls [phi:main::@1->print_cls] print_cls_from___b1: jsr print_cls // [5] phi from main::@1 to main::@2 [phi:main::@1->main::@2] @@ -2633,7 +2621,7 @@ main: { // main::@2 __b2: // [6] call do_perspective - // [30] phi from main::@2 to do_perspective [phi:main::@2->do_perspective] + // [29] phi from main::@2 to do_perspective [phi:main::@2->do_perspective] do_perspective_from___b2: jsr do_perspective jmp __breturn @@ -2697,23 +2685,18 @@ mulf_init: { // [17] *((const byte*) mulf_sqr2+(word) $100+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuyy=vbuz1 lda.z val sta mulf_sqr2+$100+1,y - // [18] (byte~) mulf_init::$5 ← (byte) 1 - (byte) mulf_init::i#2 -- vbuxx=vbuc1_minus_vbuyy + // [18] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 -- vbuxx=vbuc1_minus_vbuyy tya eor #$ff tax axs #-1-1 - // [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$5) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuxx=vbuz1 + // [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuxx=vbuz1 lda.z val sta mulf_sqr2,x - // [20] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 -- vbuxx=vbuc1_minus_vbuyy - tya - eor #$ff - tax - axs #-1-1 - // [21] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuxx=vbuz1 + // [20] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuxx=vbuz1 lda.z val sta mulf_sqr2+$100,x - // [22] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 -- vwsz1=vwsz1_plus_vwsz2 + // [21] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 -- vwsz1=vwsz1_plus_vwsz2 lda.z sqr clc adc.z add @@ -2721,7 +2704,7 @@ mulf_init: { lda.z sqr+1 adc.z add+1 sta.z sqr+1 - // [23] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 -- vwsz1=vwsz1_plus_vbsc1 + // [22] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 -- vwsz1=vwsz1_plus_vbsc1 lda.z add clc adc #<2 @@ -2729,28 +2712,28 @@ mulf_init: { lda.z add+1 adc #>2 sta.z add+1 - // [24] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 -- vbuyy=_inc_vbuyy + // [23] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 -- vbuyy=_inc_vbuyy iny - // [25] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 -- vbuyy_neq_vbuc1_then_la1 + // [24] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 -- vbuyy_neq_vbuc1_then_la1 cpy #$81 bne __b1_from___b1 jmp __breturn // mulf_init::@return __breturn: - // [26] return + // [25] return rts } // print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { - // [28] call memset - // [57] phi from print_cls to memset [phi:print_cls->memset] + // [27] call memset + // [56] phi from print_cls to memset [phi:print_cls->memset] memset_from_print_cls: jsr memset jmp __breturn // print_cls::@return __breturn: - // [29] return + // [28] return rts } // do_perspective @@ -2758,126 +2741,126 @@ do_perspective: { .label x = $39 .label y = -$47 .label z = $36 - // [31] call print_str - // [63] phi from do_perspective to print_str [phi:do_perspective->print_str] + // [30] call print_str + // [62] phi from do_perspective to print_str [phi:do_perspective->print_str] print_str_from_do_perspective: - // [63] phi (byte*) print_char_cursor#77 = (const byte*) print_screen#0 [phi:do_perspective->print_str#0] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (const byte*) print_screen#0 [phi:do_perspective->print_str#0] -- pbuz1=pbuc1 lda #print_screen sta.z print_char_cursor+1 - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str [phi:do_perspective->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str [phi:do_perspective->print_str#1] -- pbuz1=pbuc1 lda #str sta.z print_str.str+1 jsr print_str - // [32] phi from do_perspective to do_perspective::@1 [phi:do_perspective->do_perspective::@1] + // [31] phi from do_perspective to do_perspective::@1 [phi:do_perspective->do_perspective::@1] __b1_from_do_perspective: jmp __b1 // do_perspective::@1 __b1: - // [33] call print_schar - // [70] phi from do_perspective::@1 to print_schar [phi:do_perspective::@1->print_schar] + // [32] call print_schar + // [69] phi from do_perspective::@1 to print_schar [phi:do_perspective::@1->print_schar] print_schar_from___b1: - // [70] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- vbsxx=vbsc1 + // [69] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- vbsxx=vbsc1 ldx #x jsr print_schar - // [34] phi from do_perspective::@1 to do_perspective::@2 [phi:do_perspective::@1->do_perspective::@2] + // [33] phi from do_perspective::@1 to do_perspective::@2 [phi:do_perspective::@1->do_perspective::@2] __b2_from___b1: jmp __b2 // do_perspective::@2 __b2: - // [35] call print_str - // [63] phi from do_perspective::@2 to print_str [phi:do_perspective::@2->print_str] + // [34] call print_str + // [62] phi from do_perspective::@2 to print_str [phi:do_perspective::@2->print_str] print_str_from___b2: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@2->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@2->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 sta.z print_str.str+1 jsr print_str - // [36] phi from do_perspective::@2 to do_perspective::@3 [phi:do_perspective::@2->do_perspective::@3] + // [35] phi from do_perspective::@2 to do_perspective::@3 [phi:do_perspective::@2->do_perspective::@3] __b3_from___b2: jmp __b3 // do_perspective::@3 __b3: - // [37] call print_schar - // [70] phi from do_perspective::@3 to print_schar [phi:do_perspective::@3->print_schar] + // [36] call print_schar + // [69] phi from do_perspective::@3 to print_schar [phi:do_perspective::@3->print_schar] print_schar_from___b3: - // [70] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- vbsxx=vbsc1 + // [69] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- vbsxx=vbsc1 ldx #y jsr print_schar - // [38] phi from do_perspective::@3 to do_perspective::@4 [phi:do_perspective::@3->do_perspective::@4] + // [37] phi from do_perspective::@3 to do_perspective::@4 [phi:do_perspective::@3->do_perspective::@4] __b4_from___b3: jmp __b4 // do_perspective::@4 __b4: - // [39] call print_str - // [63] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str] + // [38] call print_str + // [62] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str] print_str_from___b4: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@4->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@4->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1 lda #str1 sta.z print_str.str+1 jsr print_str - // [40] phi from do_perspective::@4 to do_perspective::@5 [phi:do_perspective::@4->do_perspective::@5] + // [39] phi from do_perspective::@4 to do_perspective::@5 [phi:do_perspective::@4->do_perspective::@5] __b5_from___b4: jmp __b5 // do_perspective::@5 __b5: - // [41] call print_schar - // [70] phi from do_perspective::@5 to print_schar [phi:do_perspective::@5->print_schar] + // [40] call print_schar + // [69] phi from do_perspective::@5 to print_schar [phi:do_perspective::@5->print_schar] print_schar_from___b5: - // [70] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- vbsxx=vbsc1 + // [69] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- vbsxx=vbsc1 ldx #z jsr print_schar - // [42] phi from do_perspective::@5 to do_perspective::@6 [phi:do_perspective::@5->do_perspective::@6] + // [41] phi from do_perspective::@5 to do_perspective::@6 [phi:do_perspective::@5->do_perspective::@6] __b6_from___b5: jmp __b6 // do_perspective::@6 __b6: - // [43] call print_str - // [63] phi from do_perspective::@6 to print_str [phi:do_perspective::@6->print_str] + // [42] call print_str + // [62] phi from do_perspective::@6 to print_str [phi:do_perspective::@6->print_str] print_str_from___b6: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@6->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@6->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 sta.z print_str.str+1 jsr print_str - // [44] phi from do_perspective::@6 to do_perspective::@7 [phi:do_perspective::@6->do_perspective::@7] + // [43] phi from do_perspective::@6 to do_perspective::@7 [phi:do_perspective::@6->do_perspective::@7] __b7_from___b6: jmp __b7 // do_perspective::@7 __b7: - // [45] call perspective + // [44] call perspective jsr perspective jmp __b8 // do_perspective::@8 __b8: - // [46] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) -- vbuxx=_deref_pbuc1 + // [45] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) -- vbuxx=_deref_pbuc1 ldx xr - // [47] call print_uchar - // [86] phi from do_perspective::@8 to print_uchar [phi:do_perspective::@8->print_uchar] + // [46] call print_uchar + // [85] phi from do_perspective::@8 to print_uchar [phi:do_perspective::@8->print_uchar] print_uchar_from___b8: - // [86] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@8->print_uchar#0] -- register_copy - // [86] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#6 [phi:do_perspective::@8->print_uchar#1] -- register_copy + // [85] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@8->print_uchar#0] -- register_copy + // [85] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#6 [phi:do_perspective::@8->print_uchar#1] -- register_copy jsr print_uchar - // [48] phi from do_perspective::@8 to do_perspective::@9 [phi:do_perspective::@8->do_perspective::@9] + // [47] phi from do_perspective::@8 to do_perspective::@9 [phi:do_perspective::@8->do_perspective::@9] __b9_from___b8: jmp __b9 // do_perspective::@9 __b9: - // [49] call print_str - // [63] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str] + // [48] call print_str + // [62] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str] print_str_from___b9: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@9->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@9->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1 lda #str1 @@ -2886,42 +2869,42 @@ do_perspective: { jmp __b10 // do_perspective::@10 __b10: - // [50] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) -- vbuxx=_deref_pbuc1 + // [49] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) -- vbuxx=_deref_pbuc1 ldx yr - // [51] call print_uchar - // [86] phi from do_perspective::@10 to print_uchar [phi:do_perspective::@10->print_uchar] + // [50] call print_uchar + // [85] phi from do_perspective::@10 to print_uchar [phi:do_perspective::@10->print_uchar] print_uchar_from___b10: - // [86] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@10->print_uchar#0] -- register_copy - // [86] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#5 [phi:do_perspective::@10->print_uchar#1] -- register_copy + // [85] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@10->print_uchar#0] -- register_copy + // [85] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#5 [phi:do_perspective::@10->print_uchar#1] -- register_copy jsr print_uchar - // [52] phi from do_perspective::@10 to do_perspective::@11 [phi:do_perspective::@10->do_perspective::@11] + // [51] phi from do_perspective::@10 to do_perspective::@11 [phi:do_perspective::@10->do_perspective::@11] __b11_from___b10: jmp __b11 // do_perspective::@11 __b11: - // [53] call print_str - // [63] phi from do_perspective::@11 to print_str [phi:do_perspective::@11->print_str] + // [52] call print_str + // [62] phi from do_perspective::@11 to print_str [phi:do_perspective::@11->print_str] print_str_from___b11: - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@11->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@11->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- pbuz1=pbuc1 lda #str5 sta.z print_str.str+1 jsr print_str - // [54] phi from do_perspective::@11 to do_perspective::@12 [phi:do_perspective::@11->do_perspective::@12] + // [53] phi from do_perspective::@11 to do_perspective::@12 [phi:do_perspective::@11->do_perspective::@12] __b12_from___b11: jmp __b12 // do_perspective::@12 __b12: - // [55] call print_ln - // [94] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln] + // [54] call print_ln + // [93] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln] print_ln_from___b12: jsr print_ln jmp __breturn // do_perspective::@return __breturn: - // [56] return + // [55] return rts str: .text "(" .byte 0 @@ -2940,9 +2923,9 @@ memset: { .label str = print_screen .label end = str+num .label dst = 4 - // [58] phi from memset to memset::@1 [phi:memset->memset::@1] + // [57] phi from memset to memset::@1 [phi:memset->memset::@1] __b1_from_memset: - // [58] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 + // [57] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 lda #str @@ -2950,7 +2933,7 @@ memset: { jmp __b1 // memset::@1 __b1: - // [59] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 + // [58] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 lda.z dst+1 cmp #>end bne __b2 @@ -2960,22 +2943,22 @@ memset: { jmp __breturn // memset::@return __breturn: - // [60] return + // [59] return rts // memset::@2 __b2: - // [61] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 + // [60] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 lda #c ldy #0 sta (dst),y - // [62] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [61] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 !: - // [58] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] + // [57] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] __b1_from___b2: - // [58] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy + // [57] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy jmp __b1 } // print_str @@ -2983,15 +2966,15 @@ memset: { // print_str(byte* zp(2) str) print_str: { .label str = 2 - // [64] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1] + // [63] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1] __b1_from_print_str: __b1_from___b3: - // [64] phi (byte*) print_char_cursor#1 = (byte*) print_char_cursor#77 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy - // [64] phi (byte*) print_str::str#7 = (byte*) print_str::str#10 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy + // [63] phi (byte*) print_char_cursor#1 = (byte*) print_char_cursor#77 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy + // [63] phi (byte*) print_str::str#7 = (byte*) print_str::str#10 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy jmp __b1 // print_str::@1 __b1: - // [65] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + // [64] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 -- vbuc1_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 @@ -2999,23 +2982,23 @@ print_str: { jmp __breturn // print_str::@return __breturn: - // [66] return + // [65] return rts // print_str::@2 __b2: - // [67] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) -- vbuaa=_deref_pbuz1 + // [66] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - // [68] call print_char - // [99] phi from print_str::@2 to print_char [phi:print_str::@2->print_char] + // [67] call print_char + // [98] phi from print_str::@2 to print_char [phi:print_str::@2->print_char] print_char_from___b2: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy jsr print_char jmp __b3 // print_str::@3 __b3: - // [69] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 -- pbuz1=_inc_pbuz1 + // [68] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 @@ -3026,56 +3009,56 @@ print_str: { // Print a signed char as HEX // print_schar(signed byte register(X) b) print_schar: { - // [71] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 -- vbsxx_lt_0_then_la1 + // [70] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 -- vbsxx_lt_0_then_la1 cpx #0 bmi __b1_from_print_schar - // [72] phi from print_schar to print_schar::@3 [phi:print_schar->print_schar::@3] + // [71] phi from print_schar to print_schar::@3 [phi:print_schar->print_schar::@3] __b3_from_print_schar: jmp __b3 // print_schar::@3 __b3: - // [73] call print_char - // [99] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char] + // [72] call print_char + // [98] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char] print_char_from___b3: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@3->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) ' ' [phi:print_schar::@3->print_char#1] -- vbuaa=vbuc1 + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@3->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) ' ' [phi:print_schar::@3->print_char#1] -- vbuaa=vbuc1 lda #' ' jsr print_char - // [74] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2] + // [73] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2] __b2_from___b3: __b2_from___b4: - // [74] phi (signed byte) print_schar::b#6 = (signed byte) print_schar::b#4 [phi:print_schar::@3/print_schar::@4->print_schar::@2#0] -- register_copy + // [73] phi (signed byte) print_schar::b#6 = (signed byte) print_schar::b#4 [phi:print_schar::@3/print_schar::@4->print_schar::@2#0] -- register_copy jmp __b2 // print_schar::@2 __b2: - // [75] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 - // [76] call print_uchar - // [86] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar] + // [74] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 + // [75] call print_uchar + // [85] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar] print_uchar_from___b2: - // [86] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#11 [phi:print_schar::@2->print_uchar#0] -- register_copy - // [86] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy + // [85] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#11 [phi:print_schar::@2->print_uchar#0] -- register_copy + // [85] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy jsr print_uchar jmp __breturn // print_schar::@return __breturn: - // [77] return + // [76] return rts - // [78] phi from print_schar to print_schar::@1 [phi:print_schar->print_schar::@1] + // [77] phi from print_schar to print_schar::@1 [phi:print_schar->print_schar::@1] __b1_from_print_schar: jmp __b1 // print_schar::@1 __b1: - // [79] call print_char - // [99] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char] + // [78] call print_char + // [98] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char] print_char_from___b1: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@1->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1 + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@1->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1 lda #'-' jsr print_char jmp __b4 // print_schar::@4 __b4: - // [80] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 -- vbsxx=_neg_vbsxx + // [79] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 -- vbsxx=_neg_vbsxx txa eor #$ff clc @@ -3087,13 +3070,13 @@ print_schar: { // Apply perspective to a 3d-point. Result is returned in (*xr,*yr) // Implemented in assembler to utilize seriously fast multiplication perspective: { - // [81] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 -- _deref_pbsc1=vbsc2 + // [80] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 -- _deref_pbsc1=vbsc2 lda #do_perspective.x sta xr - // [82] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 -- _deref_pbsc1=vbsc2 + // [81] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 -- _deref_pbsc1=vbsc2 lda #do_perspective.y sta yr - // [83] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 -- _deref_pbsc1=vbsc2 + // [82] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 -- _deref_pbsc1=vbsc2 lda #do_perspective.z sta zr // asm { ldazr staPP+1 PP: ldaPERSP_Z stapsp1 eor#$ff stapsp2 clc ldyyr lda(psp1),y sbc(psp2),y adc#$80 stayr clc ldyxr lda(psp1),y sbc(psp2),y adc#$80 staxr } @@ -3119,67 +3102,67 @@ perspective: { jmp __breturn // perspective::@return __breturn: - // [85] return + // [84] return rts } // print_uchar // Print a char as HEX // print_uchar(byte register(X) b) print_uchar: { - // [87] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 -- vbuaa=vbuxx_ror_4 + // [86] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 -- vbuaa=vbuxx_ror_4 txa lsr lsr lsr lsr - // [88] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) -- vbuaa=pbuc1_derefidx_vbuaa + // [87] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) -- vbuaa=pbuc1_derefidx_vbuaa tay lda print_hextab,y - // [89] call print_char + // [88] call print_char // Table of hexadecimal digits - // [99] phi from print_uchar to print_char [phi:print_uchar->print_char] + // [98] phi from print_uchar to print_char [phi:print_uchar->print_char] print_char_from_print_uchar: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#72 [phi:print_uchar->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) print_char::ch#3 [phi:print_uchar->print_char#1] -- register_copy + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#72 [phi:print_uchar->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) print_char::ch#3 [phi:print_uchar->print_char#1] -- register_copy jsr print_char jmp __b1 // print_uchar::@1 __b1: - // [90] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f -- vbuxx=vbuxx_band_vbuc1 + // [89] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f -- vbuxx=vbuxx_band_vbuc1 lda #$f axs #0 - // [91] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) -- vbuaa=pbuc1_derefidx_vbuxx + // [90] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) -- vbuaa=pbuc1_derefidx_vbuxx lda print_hextab,x - // [92] call print_char - // [99] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char] + // [91] call print_char + // [98] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char] print_char_from___b1: - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#11 [phi:print_uchar::@1->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- register_copy + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#11 [phi:print_uchar::@1->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- register_copy jsr print_char jmp __breturn // print_uchar::@return __breturn: - // [93] return + // [92] return rts } // print_ln // Print a newline print_ln: { - // [95] phi from print_ln to print_ln::@1 [phi:print_ln->print_ln::@1] + // [94] phi from print_ln to print_ln::@1 [phi:print_ln->print_ln::@1] __b1_from_print_ln: - // [95] phi (byte*) print_line_cursor#12 = (const byte*) print_screen#0 [phi:print_ln->print_ln::@1#0] -- pbuz1=pbuc1 + // [94] phi (byte*) print_line_cursor#12 = (const byte*) print_screen#0 [phi:print_ln->print_ln::@1#0] -- pbuz1=pbuc1 lda #print_screen sta.z print_line_cursor+1 jmp __b1 - // [95] phi from print_ln::@1 to print_ln::@1 [phi:print_ln::@1->print_ln::@1] + // [94] phi from print_ln::@1 to print_ln::@1 [phi:print_ln::@1->print_ln::@1] __b1_from___b1: - // [95] phi (byte*) print_line_cursor#12 = (byte*) print_line_cursor#0 [phi:print_ln::@1->print_ln::@1#0] -- register_copy + // [94] phi (byte*) print_line_cursor#12 = (byte*) print_line_cursor#0 [phi:print_ln::@1->print_ln::@1#0] -- register_copy jmp __b1 // print_ln::@1 __b1: - // [96] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [95] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc.z print_line_cursor @@ -3187,7 +3170,7 @@ print_ln: { bcc !+ inc.z print_line_cursor+1 !: - // [97] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 + // [96] if((byte*) print_line_cursor#0<(byte*) print_char_cursor#1) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 lda.z print_line_cursor+1 cmp.z print_char_cursor+1 bcc __b1_from___b1 @@ -3199,17 +3182,17 @@ print_ln: { jmp __breturn // print_ln::@return __breturn: - // [98] return + // [97] return rts } // print_char // Print a single char // print_char(byte register(A) ch) print_char: { - // [100] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuaa + // [99] *((byte*) print_char_cursor#45) ← (byte) print_char::ch#5 -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - // [101] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#45 -- pbuz1=_inc_pbuz1 + // [100] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#45 -- pbuz1=_inc_pbuz1 inc.z print_char_cursor bne !+ inc.z print_char_cursor+1 @@ -3217,7 +3200,7 @@ print_char: { jmp __breturn // print_char::@return __breturn: - // [102] return + // [101] return rts } // File Data @@ -3298,6 +3281,7 @@ Removing instruction lda.z val Removing instruction lda.z val Removing instruction lda.z val Removing instruction lda.z val +Removing instruction lda.z val Removing instruction lda zr Succesful ASM optimization Pass5UnnecesaryLoadElimination Replacing label __b1_from___b1 with __b1 @@ -3533,21 +3517,20 @@ FINAL SYMBOL TABLE (const void*) memset::str#0 str = (void*)(const byte*) print_screen#0 (void()) mulf_init() (byte~) mulf_init::$2 reg byte x 151.5 -(byte~) mulf_init::$5 reg byte x 202.0 -(byte~) mulf_init::$6 reg byte x 202.0 +(byte~) mulf_init::$6 reg byte x 151.5 (label) mulf_init::@1 (label) mulf_init::@return (signed word) mulf_init::add (signed word) mulf_init::add#1 add zp[2]:2 67.33333333333333 -(signed word) mulf_init::add#2 add zp[2]:2 21.642857142857142 +(signed word) mulf_init::add#2 add zp[2]:2 23.307692307692307 (byte) mulf_init::i (byte) mulf_init::i#1 reg byte y 151.5 -(byte) mulf_init::i#2 reg byte y 60.6 +(byte) mulf_init::i#2 reg byte y 57.714285714285715 (signed word) mulf_init::sqr (signed word) mulf_init::sqr#1 sqr zp[2]:4 50.5 -(signed word) mulf_init::sqr#2 sqr zp[2]:4 23.307692307692307 +(signed word) mulf_init::sqr#2 sqr zp[2]:4 25.25 (byte) mulf_init::val -(byte) mulf_init::val#0 val zp[1]:8 82.63636363636364 +(byte) mulf_init::val#0 val zp[1]:8 90.89999999999999 (const byte*) mulf_sqr1[(number) $200] = { fill( $200, 0) } (const byte*) mulf_sqr2[(number) $200] = { fill( $200, 0) } (void()) perspective((signed byte) perspective::x , (signed byte) perspective::y , (signed byte) perspective::z) @@ -3623,14 +3606,13 @@ reg byte a [ print_char::ch#5 print_char::ch#0 print_char::ch#3 print_char::ch#4 zp[2]:6 [ print_char_cursor#45 print_char_cursor#72 print_char_cursor#1 print_char_cursor#77 print_char_cursor#11 ] zp[1]:8 [ mulf_init::val#0 ] reg byte x [ mulf_init::$2 ] -reg byte x [ mulf_init::$5 ] reg byte x [ mulf_init::$6 ] reg byte a [ print_uchar::$0 ] reg byte x [ print_uchar::$2 ] FINAL ASSEMBLER -Score: 3201 +Score: 3091 // File Comments // 3D Rotation using a Rotation Matrix @@ -3679,13 +3661,13 @@ main: { sta psp2+1 // print_cls() // [4] call print_cls - // [27] phi from main::@1 to print_cls [phi:main::@1->print_cls] + // [26] phi from main::@1 to print_cls [phi:main::@1->print_cls] jsr print_cls // [5] phi from main::@1 to main::@2 [phi:main::@1->main::@2] // main::@2 // do_perspective($39, -$47, $36) // [6] call do_perspective - // [30] phi from main::@2 to do_perspective [phi:main::@2->do_perspective] + // [29] phi from main::@2 to do_perspective [phi:main::@2->do_perspective] jsr do_perspective // main::@return // } @@ -3745,27 +3727,20 @@ mulf_init: { // [17] *((const byte*) mulf_sqr2+(word) $100+(byte) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuyy=vbuz1 sta mulf_sqr2+$100+1,y // 1-i - // [18] (byte~) mulf_init::$5 ← (byte) 1 - (byte) mulf_init::i#2 -- vbuxx=vbuc1_minus_vbuyy + // [18] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 -- vbuxx=vbuc1_minus_vbuyy tya eor #$ff tax axs #-1-1 // mulf_sqr2[1-i] = val - // [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$5) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuxx=vbuz1 + // [19] *((const byte*) mulf_sqr2 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuxx=vbuz1 lda.z val sta mulf_sqr2,x - // 1-i - // [20] (byte~) mulf_init::$6 ← (byte) 1 - (byte) mulf_init::i#2 -- vbuxx=vbuc1_minus_vbuyy - tya - eor #$ff - tax - axs #-1-1 // (mulf_sqr2+$100)[1-i] = val - // [21] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuxx=vbuz1 - lda.z val + // [20] *((const byte*) mulf_sqr2+(word) $100 + (byte~) mulf_init::$6) ← (byte) mulf_init::val#0 -- pbuc1_derefidx_vbuxx=vbuz1 sta mulf_sqr2+$100,x // sqr += add - // [22] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 -- vwsz1=vwsz1_plus_vwsz2 + // [21] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 -- vwsz1=vwsz1_plus_vwsz2 lda.z sqr clc adc.z add @@ -3774,7 +3749,7 @@ mulf_init: { adc.z add+1 sta.z sqr+1 // add +=2 - // [23] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 -- vwsz1=vwsz1_plus_vbsc1 + // [22] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (signed byte) 2 -- vwsz1=vwsz1_plus_vbsc1 lda.z add clc adc #<2 @@ -3783,26 +3758,26 @@ mulf_init: { adc #>2 sta.z add+1 // for( char i:0..128) - // [24] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 -- vbuyy=_inc_vbuyy + // [23] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 -- vbuyy=_inc_vbuyy iny - // [25] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 -- vbuyy_neq_vbuc1_then_la1 + // [24] if((byte) mulf_init::i#1!=(byte) $81) goto mulf_init::@1 -- vbuyy_neq_vbuc1_then_la1 cpy #$81 bne __b1 // mulf_init::@return // } - // [26] return + // [25] return rts } // print_cls // Clear the screen. Also resets current line/char cursor. print_cls: { // memset(print_screen, ' ', 1000) - // [28] call memset - // [57] phi from print_cls to memset [phi:print_cls->memset] + // [27] call memset + // [56] phi from print_cls to memset [phi:print_cls->memset] jsr memset // print_cls::@return // } - // [29] return + // [28] return rts } // do_perspective @@ -3811,135 +3786,135 @@ do_perspective: { .label y = -$47 .label z = $36 // print_str("(") - // [31] call print_str - // [63] phi from do_perspective to print_str [phi:do_perspective->print_str] - // [63] phi (byte*) print_char_cursor#77 = (const byte*) print_screen#0 [phi:do_perspective->print_str#0] -- pbuz1=pbuc1 + // [30] call print_str + // [62] phi from do_perspective to print_str [phi:do_perspective->print_str] + // [62] phi (byte*) print_char_cursor#77 = (const byte*) print_screen#0 [phi:do_perspective->print_str#0] -- pbuz1=pbuc1 lda #print_screen sta.z print_char_cursor+1 - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str [phi:do_perspective->print_str#1] -- pbuz1=pbuc1 + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str [phi:do_perspective->print_str#1] -- pbuz1=pbuc1 lda #str sta.z print_str.str+1 jsr print_str - // [32] phi from do_perspective to do_perspective::@1 [phi:do_perspective->do_perspective::@1] + // [31] phi from do_perspective to do_perspective::@1 [phi:do_perspective->do_perspective::@1] // do_perspective::@1 // print_schar(x) - // [33] call print_schar - // [70] phi from do_perspective::@1 to print_schar [phi:do_perspective::@1->print_schar] - // [70] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- vbsxx=vbsc1 + // [32] call print_schar + // [69] phi from do_perspective::@1 to print_schar [phi:do_perspective::@1->print_schar] + // [69] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::x#0 [phi:do_perspective::@1->print_schar#0] -- vbsxx=vbsc1 ldx #x jsr print_schar - // [34] phi from do_perspective::@1 to do_perspective::@2 [phi:do_perspective::@1->do_perspective::@2] + // [33] phi from do_perspective::@1 to do_perspective::@2 [phi:do_perspective::@1->do_perspective::@2] // do_perspective::@2 // print_str(",") - // [35] call print_str - // [63] phi from do_perspective::@2 to print_str [phi:do_perspective::@2->print_str] - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@2->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- pbuz1=pbuc1 + // [34] call print_str + // [62] phi from do_perspective::@2 to print_str [phi:do_perspective::@2->print_str] + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@2->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@2->print_str#1] -- pbuz1=pbuc1 lda #str1 sta.z print_str.str+1 jsr print_str - // [36] phi from do_perspective::@2 to do_perspective::@3 [phi:do_perspective::@2->do_perspective::@3] + // [35] phi from do_perspective::@2 to do_perspective::@3 [phi:do_perspective::@2->do_perspective::@3] // do_perspective::@3 // print_schar(y) - // [37] call print_schar - // [70] phi from do_perspective::@3 to print_schar [phi:do_perspective::@3->print_schar] - // [70] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- vbsxx=vbsc1 + // [36] call print_schar + // [69] phi from do_perspective::@3 to print_schar [phi:do_perspective::@3->print_schar] + // [69] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::y#0 [phi:do_perspective::@3->print_schar#0] -- vbsxx=vbsc1 ldx #y jsr print_schar - // [38] phi from do_perspective::@3 to do_perspective::@4 [phi:do_perspective::@3->do_perspective::@4] + // [37] phi from do_perspective::@3 to do_perspective::@4 [phi:do_perspective::@3->do_perspective::@4] // do_perspective::@4 // print_str(",") - // [39] call print_str - // [63] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str] - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@4->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1 + // [38] call print_str + // [62] phi from do_perspective::@4 to print_str [phi:do_perspective::@4->print_str] + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@4->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@4->print_str#1] -- pbuz1=pbuc1 lda #str1 sta.z print_str.str+1 jsr print_str - // [40] phi from do_perspective::@4 to do_perspective::@5 [phi:do_perspective::@4->do_perspective::@5] + // [39] phi from do_perspective::@4 to do_perspective::@5 [phi:do_perspective::@4->do_perspective::@5] // do_perspective::@5 // print_schar(z) - // [41] call print_schar - // [70] phi from do_perspective::@5 to print_schar [phi:do_perspective::@5->print_schar] - // [70] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- vbsxx=vbsc1 + // [40] call print_schar + // [69] phi from do_perspective::@5 to print_schar [phi:do_perspective::@5->print_schar] + // [69] phi (signed byte) print_schar::b#4 = (const signed byte) do_perspective::z#0 [phi:do_perspective::@5->print_schar#0] -- vbsxx=vbsc1 ldx #z jsr print_schar - // [42] phi from do_perspective::@5 to do_perspective::@6 [phi:do_perspective::@5->do_perspective::@6] + // [41] phi from do_perspective::@5 to do_perspective::@6 [phi:do_perspective::@5->do_perspective::@6] // do_perspective::@6 // print_str(") -> (") - // [43] call print_str - // [63] phi from do_perspective::@6 to print_str [phi:do_perspective::@6->print_str] - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@6->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- pbuz1=pbuc1 + // [42] call print_str + // [62] phi from do_perspective::@6 to print_str [phi:do_perspective::@6->print_str] + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@6->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str3 [phi:do_perspective::@6->print_str#1] -- pbuz1=pbuc1 lda #str3 sta.z print_str.str+1 jsr print_str - // [44] phi from do_perspective::@6 to do_perspective::@7 [phi:do_perspective::@6->do_perspective::@7] + // [43] phi from do_perspective::@6 to do_perspective::@7 [phi:do_perspective::@6->do_perspective::@7] // do_perspective::@7 // perspective(x, y, z) - // [45] call perspective + // [44] call perspective jsr perspective // do_perspective::@8 - // [46] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) -- vbuxx=_deref_pbuc1 + // [45] (byte) print_uchar::b#6 ← (byte)*((const signed byte*) xr) -- vbuxx=_deref_pbuc1 ldx xr // print_uchar((byte)*xr) - // [47] call print_uchar - // [86] phi from do_perspective::@8 to print_uchar [phi:do_perspective::@8->print_uchar] - // [86] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@8->print_uchar#0] -- register_copy - // [86] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#6 [phi:do_perspective::@8->print_uchar#1] -- register_copy + // [46] call print_uchar + // [85] phi from do_perspective::@8 to print_uchar [phi:do_perspective::@8->print_uchar] + // [85] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@8->print_uchar#0] -- register_copy + // [85] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#6 [phi:do_perspective::@8->print_uchar#1] -- register_copy jsr print_uchar - // [48] phi from do_perspective::@8 to do_perspective::@9 [phi:do_perspective::@8->do_perspective::@9] + // [47] phi from do_perspective::@8 to do_perspective::@9 [phi:do_perspective::@8->do_perspective::@9] // do_perspective::@9 // print_str(",") - // [49] call print_str - // [63] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str] - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@9->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1 + // [48] call print_str + // [62] phi from do_perspective::@9 to print_str [phi:do_perspective::@9->print_str] + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@9->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str1 [phi:do_perspective::@9->print_str#1] -- pbuz1=pbuc1 lda #str1 sta.z print_str.str+1 jsr print_str // do_perspective::@10 - // [50] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) -- vbuxx=_deref_pbuc1 + // [49] (byte) print_uchar::b#5 ← (byte)*((const signed byte*) yr) -- vbuxx=_deref_pbuc1 ldx yr // print_uchar((byte)*yr) - // [51] call print_uchar - // [86] phi from do_perspective::@10 to print_uchar [phi:do_perspective::@10->print_uchar] - // [86] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@10->print_uchar#0] -- register_copy - // [86] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#5 [phi:do_perspective::@10->print_uchar#1] -- register_copy + // [50] call print_uchar + // [85] phi from do_perspective::@10 to print_uchar [phi:do_perspective::@10->print_uchar] + // [85] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#1 [phi:do_perspective::@10->print_uchar#0] -- register_copy + // [85] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#5 [phi:do_perspective::@10->print_uchar#1] -- register_copy jsr print_uchar - // [52] phi from do_perspective::@10 to do_perspective::@11 [phi:do_perspective::@10->do_perspective::@11] + // [51] phi from do_perspective::@10 to do_perspective::@11 [phi:do_perspective::@10->do_perspective::@11] // do_perspective::@11 // print_str(")") - // [53] call print_str - // [63] phi from do_perspective::@11 to print_str [phi:do_perspective::@11->print_str] - // [63] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@11->print_str#0] -- register_copy - // [63] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- pbuz1=pbuc1 + // [52] call print_str + // [62] phi from do_perspective::@11 to print_str [phi:do_perspective::@11->print_str] + // [62] phi (byte*) print_char_cursor#77 = (byte*) print_char_cursor#11 [phi:do_perspective::@11->print_str#0] -- register_copy + // [62] phi (byte*) print_str::str#10 = (const byte*) do_perspective::str5 [phi:do_perspective::@11->print_str#1] -- pbuz1=pbuc1 lda #str5 sta.z print_str.str+1 jsr print_str - // [54] phi from do_perspective::@11 to do_perspective::@12 [phi:do_perspective::@11->do_perspective::@12] + // [53] phi from do_perspective::@11 to do_perspective::@12 [phi:do_perspective::@11->do_perspective::@12] // do_perspective::@12 // print_ln() - // [55] call print_ln - // [94] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln] + // [54] call print_ln + // [93] phi from do_perspective::@12 to print_ln [phi:do_perspective::@12->print_ln] jsr print_ln // do_perspective::@return // } - // [56] return + // [55] return rts str: .text "(" .byte 0 @@ -3958,8 +3933,8 @@ memset: { .label str = print_screen .label end = str+num .label dst = 4 - // [58] phi from memset to memset::@1 [phi:memset->memset::@1] - // [58] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 + // [57] phi from memset to memset::@1 [phi:memset->memset::@1] + // [57] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 lda #str @@ -3967,7 +3942,7 @@ memset: { // memset::@1 __b1: // for(char* dst = str; dst!=end; dst++) - // [59] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 + // [58] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 lda.z dst+1 cmp #>end bne __b2 @@ -3976,23 +3951,23 @@ memset: { bne __b2 // memset::@return // } - // [60] return + // [59] return rts // memset::@2 __b2: // *dst = c - // [61] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 + // [60] *((byte*) memset::dst#2) ← (const byte) memset::c#0 -- _deref_pbuz1=vbuc1 lda #c ldy #0 sta (dst),y // for(char* dst = str; dst!=end; dst++) - // [62] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [61] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 !: - // [58] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] - // [58] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy + // [57] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] + // [57] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy jmp __b1 } // print_str @@ -4000,35 +3975,35 @@ memset: { // print_str(byte* zp(2) str) print_str: { .label str = 2 - // [64] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1] - // [64] phi (byte*) print_char_cursor#1 = (byte*) print_char_cursor#77 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy - // [64] phi (byte*) print_str::str#7 = (byte*) print_str::str#10 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy + // [63] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1] + // [63] phi (byte*) print_char_cursor#1 = (byte*) print_char_cursor#77 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy + // [63] phi (byte*) print_str::str#7 = (byte*) print_str::str#10 [phi:print_str/print_str::@3->print_str::@1#1] -- register_copy // print_str::@1 __b1: // while(*str) - // [65] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 -- vbuc1_neq__deref_pbuz1_then_la1 + // [64] if((byte) 0!=*((byte*) print_str::str#7)) goto print_str::@2 -- vbuc1_neq__deref_pbuz1_then_la1 ldy #0 lda (str),y cmp #0 bne __b2 // print_str::@return // } - // [66] return + // [65] return rts // print_str::@2 __b2: // print_char(*(str++)) - // [67] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) -- vbuaa=_deref_pbuz1 + // [66] (byte) print_char::ch#0 ← *((byte*) print_str::str#7) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - // [68] call print_char - // [99] phi from print_str::@2 to print_char [phi:print_str::@2->print_char] - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy + // [67] call print_char + // [98] phi from print_str::@2 to print_char [phi:print_str::@2->print_char] + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_str::@2->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy jsr print_char // print_str::@3 // print_char(*(str++)); - // [69] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 -- pbuz1=_inc_pbuz1 + // [68] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 -- pbuz1=_inc_pbuz1 inc.z str bne !+ inc.z str+1 @@ -4040,46 +4015,46 @@ print_str: { // print_schar(signed byte register(X) b) print_schar: { // if(b<0) - // [71] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 -- vbsxx_lt_0_then_la1 + // [70] if((signed byte) print_schar::b#4<(signed byte) 0) goto print_schar::@1 -- vbsxx_lt_0_then_la1 cpx #0 bmi __b1 - // [72] phi from print_schar to print_schar::@3 [phi:print_schar->print_schar::@3] + // [71] phi from print_schar to print_schar::@3 [phi:print_schar->print_schar::@3] // print_schar::@3 // print_char(' ') - // [73] call print_char - // [99] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char] - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@3->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) ' ' [phi:print_schar::@3->print_char#1] -- vbuaa=vbuc1 + // [72] call print_char + // [98] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char] + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@3->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) ' ' [phi:print_schar::@3->print_char#1] -- vbuaa=vbuc1 lda #' ' jsr print_char - // [74] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2] - // [74] phi (signed byte) print_schar::b#6 = (signed byte) print_schar::b#4 [phi:print_schar::@3/print_schar::@4->print_schar::@2#0] -- register_copy + // [73] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2] + // [73] phi (signed byte) print_schar::b#6 = (signed byte) print_schar::b#4 [phi:print_schar::@3/print_schar::@4->print_schar::@2#0] -- register_copy // print_schar::@2 __b2: // print_uchar((char)b) - // [75] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 - // [76] call print_uchar - // [86] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar] - // [86] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#11 [phi:print_schar::@2->print_uchar#0] -- register_copy - // [86] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy + // [74] (byte) print_uchar::b#0 ← (byte)(signed byte) print_schar::b#6 + // [75] call print_uchar + // [85] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar] + // [85] phi (byte*) print_char_cursor#72 = (byte*) print_char_cursor#11 [phi:print_schar::@2->print_uchar#0] -- register_copy + // [85] phi (byte) print_uchar::b#3 = (byte) print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy jsr print_uchar // print_schar::@return // } - // [77] return + // [76] return rts - // [78] phi from print_schar to print_schar::@1 [phi:print_schar->print_schar::@1] + // [77] phi from print_schar to print_schar::@1 [phi:print_schar->print_schar::@1] // print_schar::@1 __b1: // print_char('-') - // [79] call print_char - // [99] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char] - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@1->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1 + // [78] call print_char + // [98] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char] + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#1 [phi:print_schar::@1->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1 lda #'-' jsr print_char // print_schar::@4 // b = -b - // [80] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 -- vbsxx=_neg_vbsxx + // [79] (signed byte) print_schar::b#0 ← - (signed byte) print_schar::b#4 -- vbsxx=_neg_vbsxx txa eor #$ff clc @@ -4092,15 +4067,15 @@ print_schar: { // Implemented in assembler to utilize seriously fast multiplication perspective: { // *xr = x - // [81] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 -- _deref_pbsc1=vbsc2 + // [80] *((const signed byte*) xr) ← (const signed byte) do_perspective::x#0 -- _deref_pbsc1=vbsc2 lda #do_perspective.x sta xr // *yr = y - // [82] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 -- _deref_pbsc1=vbsc2 + // [81] *((const signed byte*) yr) ← (const signed byte) do_perspective::y#0 -- _deref_pbsc1=vbsc2 lda #do_perspective.y sta yr // *zr = z - // [83] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 -- _deref_pbsc1=vbsc2 + // [82] *((const signed byte*) zr) ← (const signed byte) do_perspective::z#0 -- _deref_pbsc1=vbsc2 lda #do_perspective.z sta zr // asm @@ -4125,7 +4100,7 @@ perspective: { sta xr // perspective::@return // } - // [85] return + // [84] return rts } // print_uchar @@ -4133,55 +4108,55 @@ perspective: { // print_uchar(byte register(X) b) print_uchar: { // b>>4 - // [87] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 -- vbuaa=vbuxx_ror_4 + // [86] (byte~) print_uchar::$0 ← (byte) print_uchar::b#3 >> (byte) 4 -- vbuaa=vbuxx_ror_4 txa lsr lsr lsr lsr // print_char(print_hextab[b>>4]) - // [88] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) -- vbuaa=pbuc1_derefidx_vbuaa + // [87] (byte) print_char::ch#3 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$0) -- vbuaa=pbuc1_derefidx_vbuaa tay lda print_hextab,y - // [89] call print_char + // [88] call print_char // Table of hexadecimal digits - // [99] phi from print_uchar to print_char [phi:print_uchar->print_char] - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#72 [phi:print_uchar->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) print_char::ch#3 [phi:print_uchar->print_char#1] -- register_copy + // [98] phi from print_uchar to print_char [phi:print_uchar->print_char] + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#72 [phi:print_uchar->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) print_char::ch#3 [phi:print_uchar->print_char#1] -- register_copy jsr print_char // print_uchar::@1 // b&$f - // [90] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f -- vbuxx=vbuxx_band_vbuc1 + // [89] (byte~) print_uchar::$2 ← (byte) print_uchar::b#3 & (byte) $f -- vbuxx=vbuxx_band_vbuc1 lda #$f axs #0 // print_char(print_hextab[b&$f]) - // [91] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) -- vbuaa=pbuc1_derefidx_vbuxx + // [90] (byte) print_char::ch#4 ← *((const to_nomodify byte*) print_hextab + (byte~) print_uchar::$2) -- vbuaa=pbuc1_derefidx_vbuxx lda print_hextab,x - // [92] call print_char - // [99] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char] - // [99] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#11 [phi:print_uchar::@1->print_char#0] -- register_copy - // [99] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- register_copy + // [91] call print_char + // [98] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char] + // [98] phi (byte*) print_char_cursor#45 = (byte*) print_char_cursor#11 [phi:print_uchar::@1->print_char#0] -- register_copy + // [98] phi (byte) print_char::ch#5 = (byte) print_char::ch#4 [phi:print_uchar::@1->print_char#1] -- register_copy jsr print_char // print_uchar::@return // } - // [93] return + // [92] return rts } // print_ln // Print a newline print_ln: { - // [95] phi from print_ln to print_ln::@1 [phi:print_ln->print_ln::@1] - // [95] phi (byte*) print_line_cursor#12 = (const byte*) print_screen#0 [phi:print_ln->print_ln::@1#0] -- pbuz1=pbuc1 + // [94] phi from print_ln to print_ln::@1 [phi:print_ln->print_ln::@1] + // [94] phi (byte*) print_line_cursor#12 = (const byte*) print_screen#0 [phi:print_ln->print_ln::@1#0] -- pbuz1=pbuc1 lda #print_screen sta.z print_line_cursor+1 - // [95] phi from print_ln::@1 to print_ln::@1 [phi:print_ln::@1->print_ln::@1] - // [95] phi (byte*) print_line_cursor#12 = (byte*) print_line_cursor#0 [phi:print_ln::@1->print_ln::@1#0] -- register_copy + // [94] phi from print_ln::@1 to print_ln::@1 [phi:print_ln::@1->print_ln::@1] + // [94] phi (byte*) print_line_cursor#12 = (byte*) print_line_cursor#0 [phi:print_ln::@1->print_ln::@1#0] -- register_copy // print_ln::@1 __b1: // print_line_cursor + $28 - // [96] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [95] (byte*) print_line_cursor#0 ← (byte*) print_line_cursor#12 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 lda #$28 clc adc.z print_line_cursor @@ -4190,7 +4165,7 @@ print_ln: { inc.z print_line_cursor+1 !: // while (print_line_cursorglyph_bits_2x2 // next_2x2_left[l2+1] = >glyph_bits_2x2 sta (next_2x2_left_1),y // (word) font_2x2::glyph_bits_2x2#2 - [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 + [40] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 + [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 [42] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 - [43] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 - [44] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 - [45] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15 - [46] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 - [47] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 - [48] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 - [49] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 + [43] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 + [44] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 + [45] (byte~) font_2x2::$13 ← < (word) font_2x2::glyph_bits_2x2#2 + [46] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$13 + [47] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 + [48] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 + [49] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 + [50] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 + [51] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 to:font_2x2::@7 font_2x2::@7: scope:[font_2x2] from font_2x2::@6 - [50] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 - [51] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 + [52] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 + [53] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 to:font_2x2::@8 font_2x2::@8: scope:[font_2x2] from font_2x2::@6 font_2x2::@7 - [52] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 ) - [52] (byte) font_2x2::l2#9 ← phi( font_2x2::@6/(byte) font_2x2::l2#1 font_2x2::@7/(byte) 0 ) - [52] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 ) - [53] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 - [54] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 + [54] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 ) + [54] (byte) font_2x2::l2#9 ← phi( font_2x2::@6/(byte) font_2x2::l2#1 font_2x2::@7/(byte) 0 ) + [54] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 ) + [55] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 + [56] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 to:font_2x2::@9 font_2x2::@9: scope:[font_2x2] from font_2x2::@8 - [55] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 - [56] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 - [57] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 - [58] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 + [57] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 + [58] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 + [59] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 + [60] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 to:font_2x2::@return font_2x2::@return: scope:[font_2x2] from font_2x2::@9 - [59] return + [61] return to:@return (byte()) font_compress((byte*) font_compress::font_original , (byte*) font_compress::font_compressed , (byte*) font_compress::compress_mapping) font_compress: scope:[font_compress] from main::@6 - [60] phi() + [62] phi() to:font_compress::@1 font_compress::@1: scope:[font_compress] from font_compress font_compress::@6 - [61] (byte*) font_compress::next_compressed#4 ← phi( font_compress/(const nomodify byte*) FONT_COMPRESSED font_compress::@6/(byte*) font_compress::next_compressed#7 ) - [61] (byte) font_compress::i#4 ← phi( font_compress/(byte) 0 font_compress::@6/(byte) font_compress::i#1 ) - [61] (byte) font_compress::font_size#2 ← phi( font_compress/(byte) 0 font_compress::@6/(byte) font_compress::font_size#9 ) - [61] (byte*) font_compress::next_original#2 ← phi( font_compress/(const nomodify byte*) FONT_ORIGINAL font_compress::@6/(byte*) font_compress::next_original#1 ) - [62] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 - [63] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 - [64] call font_find - [65] (byte) font_find::return#0 ← (byte) font_find::return#3 + [63] (byte*) font_compress::next_compressed#4 ← phi( font_compress/(const nomodify byte*) FONT_COMPRESSED font_compress::@6/(byte*) font_compress::next_compressed#7 ) + [63] (byte) font_compress::i#4 ← phi( font_compress/(byte) 0 font_compress::@6/(byte) font_compress::i#1 ) + [63] (byte) font_compress::font_size#2 ← phi( font_compress/(byte) 0 font_compress::@6/(byte) font_compress::font_size#9 ) + [63] (byte*) font_compress::next_original#2 ← phi( font_compress/(const nomodify byte*) FONT_ORIGINAL font_compress::@6/(byte*) font_compress::next_original#1 ) + [64] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 + [65] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 + [66] call font_find + [67] (byte) font_find::return#0 ← (byte) font_find::return#3 to:font_compress::@5 font_compress::@5: scope:[font_compress] from font_compress::@1 - [66] (byte) font_compress::found#0 ← (byte) font_find::return#0 - [67] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 + [68] (byte) font_compress::found#0 ← (byte) font_find::return#0 + [69] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 to:font_compress::@3 font_compress::@3: scope:[font_compress] from font_compress::@3 font_compress::@5 - [68] (byte) font_compress::l#2 ← phi( font_compress::@3/(byte) font_compress::l#1 font_compress::@5/(byte) 0 ) - [69] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) - [70] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 - [71] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 + [70] (byte) font_compress::l#2 ← phi( font_compress::@3/(byte) font_compress::l#1 font_compress::@5/(byte) 0 ) + [71] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) + [72] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 + [73] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 to:font_compress::@4 font_compress::@4: scope:[font_compress] from font_compress::@3 - [72] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 - [73] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 - [74] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 + [74] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 + [75] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 + [76] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 to:font_compress::@2 font_compress::@2: scope:[font_compress] from font_compress::@4 font_compress::@7 - [75] (byte*) font_compress::next_compressed#7 ← phi( font_compress::@4/(byte*) font_compress::next_compressed#1 font_compress::@7/(byte*) font_compress::next_compressed#4 ) - [75] (byte) font_compress::return#1 ← phi( font_compress::@4/(byte) font_compress::font_size#1 font_compress::@7/(byte) font_compress::return#5 ) - [75] (byte) font_compress::found#2 ← phi( font_compress::@4/(byte) font_compress::found#3 font_compress::@7/(byte) font_compress::found#0 ) - [76] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 - [77] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 - [78] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 - [79] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 + [77] (byte*) font_compress::next_compressed#7 ← phi( font_compress::@4/(byte*) font_compress::next_compressed#1 font_compress::@7/(byte*) font_compress::next_compressed#4 ) + [77] (byte) font_compress::return#1 ← phi( font_compress::@4/(byte) font_compress::font_size#1 font_compress::@7/(byte) font_compress::return#5 ) + [77] (byte) font_compress::found#2 ← phi( font_compress::@4/(byte) font_compress::found#3 font_compress::@7/(byte) font_compress::found#0 ) + [78] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 + [79] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 + [80] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 + [81] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 to:font_compress::@return font_compress::@return: scope:[font_compress] from font_compress::@2 - [80] return + [82] return to:@return font_compress::@6: scope:[font_compress] from font_compress::@2 - [81] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 + [83] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 to:font_compress::@1 font_compress::@7: scope:[font_compress] from font_compress::@5 - [82] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 + [84] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 to:font_compress::@2 (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) memset: scope:[memset] from main::@5 - [83] phi() + [85] phi() to:memset::@1 memset::@1: scope:[memset] from memset memset::@2 - [84] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 ) - [85] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 + [86] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 ) + [87] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 to:memset::@return memset::@return: scope:[memset] from memset::@1 - [86] return + [88] return to:@return memset::@2: scope:[memset] from memset::@1 - [87] *((byte*) memset::dst#2) ← (byte) memset::c#0 - [88] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + [89] *((byte*) memset::dst#2) ← (byte) memset::c#0 + [90] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 to:memset::@1 (void()) show((byte) show::c , (byte) show::x , (byte) show::y , (byte*) show::font_mapping) show: scope:[show] from main::@2 - [89] (word~) show::$7 ← (word)(byte) show::y#0 - [90] (word~) show::$8 ← (word~) show::$7 << (byte) 2 - [91] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 - [92] (word~) show::$0 ← (word~) show::$9 << (byte) 4 - [93] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 - [94] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 - [95] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 - [96] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) - [97] (byte~) show::$4 ← (byte) show::c#0 - [98] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) - [99] (byte~) show::$5 ← (byte) show::c#0 - [100] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) - [101] (byte~) show::$6 ← (byte) show::c#0 - [102] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) + [91] (word~) show::$7 ← (word)(byte) show::y#0 + [92] (word~) show::$8 ← (word~) show::$7 << (byte) 2 + [93] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 + [94] (word~) show::$0 ← (word~) show::$9 << (byte) 4 + [95] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 + [96] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 + [97] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 + [98] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) + [99] (byte~) show::$4 ← (byte) show::c#0 + [100] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) + [101] (byte~) show::$5 ← (byte) show::c#0 + [102] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) + [103] (byte~) show::$6 ← (byte) show::c#0 + [104] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) to:show::@return show::@return: scope:[show] from show - [103] return + [105] return to:@return (byte()) font_find((byte*) font_find::glyph , (byte*) font_find::font , (byte) font_find::font_size) font_find: scope:[font_find] from font_compress::@1 - [104] phi() + [106] phi() to:font_find::@1 font_find::@1: scope:[font_find] from font_find font_find::@5 - [105] (byte*) font_find::font#4 ← phi( font_find/(const nomodify byte*) FONT_COMPRESSED font_find::@5/(byte*) font_find::font#1 ) - [105] (byte) font_find::i#2 ← phi( font_find/(byte) 0 font_find::@5/(byte) font_find::i#1 ) - [106] if((byte) font_find::i#2<(byte) font_find::font_size#0) goto font_find::@2 + [107] (byte*) font_find::font#4 ← phi( font_find/(const nomodify byte*) FONT_COMPRESSED font_find::@5/(byte*) font_find::font#1 ) + [107] (byte) font_find::i#2 ← phi( font_find/(byte) 0 font_find::@5/(byte) font_find::i#1 ) + [108] if((byte) font_find::i#2<(byte) font_find::font_size#0) goto font_find::@2 to:font_find::@return font_find::@return: scope:[font_find] from font_find::@1 font_find::@4 - [107] (byte) font_find::return#3 ← phi( font_find::@1/(byte) $ff font_find::@4/(byte) font_find::i#2 ) - [108] return + [109] (byte) font_find::return#3 ← phi( font_find::@1/(byte) $ff font_find::@4/(byte) font_find::i#2 ) + [110] return to:@return font_find::@2: scope:[font_find] from font_find::@1 font_find::@3 - [109] (byte) font_find::l#2 ← phi( font_find::@1/(byte) 0 font_find::@3/(byte) font_find::l#1 ) - [110] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 + [111] (byte) font_find::l#2 ← phi( font_find::@1/(byte) 0 font_find::@3/(byte) font_find::l#1 ) + [112] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 to:font_find::@4 font_find::@3: scope:[font_find] from font_find::@2 - [111] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 - [112] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 + [113] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 + [114] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 to:font_find::@4 font_find::@4: scope:[font_find] from font_find::@2 font_find::@3 - [113] (byte) font_find::found#2 ← phi( font_find::@3/(byte) 1 font_find::@2/(byte) 0 ) - [114] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 + [115] (byte) font_find::found#2 ← phi( font_find::@3/(byte) 1 font_find::@2/(byte) 0 ) + [116] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 to:font_find::@return font_find::@5: scope:[font_find] from font_find::@4 - [115] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 - [116] (byte) font_find::i#1 ← ++ (byte) font_find::i#2 + [117] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 + [118] (byte) font_find::i#1 ← ++ (byte) font_find::i#2 to:font_find::@1 diff --git a/src/test/ref/examples/font-2x2/font-2x2.log b/src/test/ref/examples/font-2x2/font-2x2.log index 8645b611e..a8a2461e3 100644 --- a/src/test/ref/examples/font-2x2/font-2x2.log +++ b/src/test/ref/examples/font-2x2/font-2x2.log @@ -1338,9 +1338,6 @@ Successful SSA optimization Pass2IdenticalPhiElimination Identical Phi Values (byte*) font_compress::font_compressed#2 (byte*) font_compress::font_compressed#0 Identical Phi Values (byte*) font_compress::compress_mapping#3 (byte*) font_compress::compress_mapping#0 Successful SSA optimization Pass2IdenticalPhiElimination -Identified duplicate assignment right side [129] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -Identified duplicate assignment right side [134] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 -Successful SSA optimization Pass2DuplicateRValueIdentification Simple Condition (bool~) memset::$1 [2] if((word) memset::num#0<=(byte) 0) goto memset::@1 Simple Condition (bool~) memset::$3 [9] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@4 Simple Condition (bool~) main::$5 [54] if((byte) main::x#1!=rangelast(0,7)) goto main::@2 @@ -1454,9 +1451,6 @@ Finalized unsigned number type (byte) 0 Finalized unsigned number type (byte) 8 Finalized unsigned number type (byte) 8 Successful SSA optimization PassNFinalizeNumberTypeConversions -Alias font_2x2::$12 = font_2x2::$10 -Alias font_2x2::$15 = font_2x2::$13 -Successful SSA optimization Pass2AliasElimination Constant right-side identified [0] (byte*) memset::end#0 ← (const byte*) memset::$4 + (const word) memset::num#0 Constant right-side identified [12] (word~) main::toD0181_$0 ← (const word) main::toD0181_$7 & (word) $3fff Constant right-side identified [15] (byte~) main::toD0181_$3 ← > (word)(const byte*) main::toD0181_gfx#0 @@ -1578,7 +1572,7 @@ Adding NOP phi() at start of font_find::@2 Adding NOP phi() at start of font_find::@7 CALL GRAPH Calls in [main] to font_2x2:2 font_compress:5 memset:11 show:19 -Calls in [font_compress] to font_find:91 +Calls in [font_compress] to font_find:93 Created 32 initial phi equivalence classes Coalesced [14] main::c#7 ← main::c#4 @@ -1589,37 +1583,37 @@ Coalesced [30] main::x#4 ← main::x#1 Not coalescing [34] font_2x2::next_2x2_left#10 ← font_2x2::next_2x2_left#0 Coalesced [35] font_2x2::next_2x2_right#9 ← font_2x2::next_2x2_right#0 Coalesced [38] font_2x2::glyph_bits#6 ← font_2x2::glyph_bits#0 -Coalesced [63] font_2x2::next_2x2_left#13 ← font_2x2::next_2x2_left#1 -Coalesced [64] font_2x2::next_2x2_right#12 ← font_2x2::next_2x2_right#1 -Coalesced [73] font_2x2::next_2x2_left#9 ← font_2x2::next_2x2#1 -Coalesced [74] font_2x2::next_original#12 ← font_2x2::next_original#1 -Coalesced [75] font_2x2::c#12 ← font_2x2::c#1 -Coalesced [76] font_2x2::l#10 ← font_2x2::l#1 -Coalesced [77] font_2x2::next_2x2_left#11 ← font_2x2::next_2x2_left#8 -Coalesced [78] font_2x2::l2#10 ← font_2x2::l2#9 -Coalesced [79] font_2x2::next_2x2_right#10 ← font_2x2::next_2x2_right#8 -Coalesced (already) [80] font_2x2::next_2x2_left#12 ← font_2x2::next_2x2_left#7 -Coalesced [81] font_2x2::l2#11 ← font_2x2::l2#1 -Coalesced (already) [82] font_2x2::next_2x2_right#11 ← font_2x2::next_2x2_right#7 -Coalesced [83] font_2x2::glyph_bits#7 ← font_2x2::glyph_bits#1 -Coalesced [84] font_2x2::glyph_bits_2x2#8 ← font_2x2::glyph_bits_2x2#2 -Coalesced [85] font_2x2::b#6 ← font_2x2::b#1 -Not coalescing [102] font_compress::found#3 ← font_compress::font_size#2 -Coalesced [103] font_compress::return#4 ← font_compress::font_size#1 -Coalesced [104] font_compress::next_compressed#9 ← font_compress::next_compressed#1 -Coalesced [112] font_compress::next_original#8 ← font_compress::next_original#1 -Not coalescing [113] font_compress::font_size#9 ← font_compress::return#1 -Coalesced [114] font_compress::i#8 ← font_compress::i#1 -Coalesced [115] font_compress::next_compressed#8 ← font_compress::next_compressed#7 -Coalesced [116] font_compress::l#3 ← font_compress::l#1 -Coalesced [117] font_compress::found#4 ← font_compress::found#0 -Not coalescing [118] font_compress::return#5 ← font_compress::font_size#2 -Coalesced (already) [119] font_compress::next_compressed#10 ← font_compress::next_compressed#4 -Coalesced [128] memset::dst#4 ← memset::dst#1 -Coalesced [156] font_find::return#6 ← font_find::i#2 -Coalesced [159] font_find::i#10 ← font_find::i#1 -Coalesced [160] font_find::font#10 ← font_find::font#1 -Coalesced [163] font_find::l#4 ← font_find::l#1 +Coalesced [65] font_2x2::next_2x2_left#13 ← font_2x2::next_2x2_left#1 +Coalesced [66] font_2x2::next_2x2_right#12 ← font_2x2::next_2x2_right#1 +Coalesced [75] font_2x2::next_2x2_left#9 ← font_2x2::next_2x2#1 +Coalesced [76] font_2x2::next_original#12 ← font_2x2::next_original#1 +Coalesced [77] font_2x2::c#12 ← font_2x2::c#1 +Coalesced [78] font_2x2::l#10 ← font_2x2::l#1 +Coalesced [79] font_2x2::next_2x2_left#11 ← font_2x2::next_2x2_left#8 +Coalesced [80] font_2x2::l2#10 ← font_2x2::l2#9 +Coalesced [81] font_2x2::next_2x2_right#10 ← font_2x2::next_2x2_right#8 +Coalesced (already) [82] font_2x2::next_2x2_left#12 ← font_2x2::next_2x2_left#7 +Coalesced [83] font_2x2::l2#11 ← font_2x2::l2#1 +Coalesced (already) [84] font_2x2::next_2x2_right#11 ← font_2x2::next_2x2_right#7 +Coalesced [85] font_2x2::glyph_bits#7 ← font_2x2::glyph_bits#1 +Coalesced [86] font_2x2::glyph_bits_2x2#8 ← font_2x2::glyph_bits_2x2#2 +Coalesced [87] font_2x2::b#6 ← font_2x2::b#1 +Not coalescing [104] font_compress::found#3 ← font_compress::font_size#2 +Coalesced [105] font_compress::return#4 ← font_compress::font_size#1 +Coalesced [106] font_compress::next_compressed#9 ← font_compress::next_compressed#1 +Coalesced [114] font_compress::next_original#8 ← font_compress::next_original#1 +Not coalescing [115] font_compress::font_size#9 ← font_compress::return#1 +Coalesced [116] font_compress::i#8 ← font_compress::i#1 +Coalesced [117] font_compress::next_compressed#8 ← font_compress::next_compressed#7 +Coalesced [118] font_compress::l#3 ← font_compress::l#1 +Coalesced [119] font_compress::found#4 ← font_compress::found#0 +Not coalescing [120] font_compress::return#5 ← font_compress::font_size#2 +Coalesced (already) [121] font_compress::next_compressed#10 ← font_compress::next_compressed#4 +Coalesced [130] memset::dst#4 ← memset::dst#1 +Coalesced [158] font_find::return#6 ← font_find::i#2 +Coalesced [161] font_find::i#10 ← font_find::i#1 +Coalesced [162] font_find::font#10 ← font_find::font#1 +Coalesced [165] font_find::l#4 ← font_find::l#1 Coalesced down to 26 phi equivalence classes Culled Empty Block (label) main::@8 Culled Empty Block (label) main::toD0181_@return @@ -1752,151 +1746,153 @@ font_2x2::@5: scope:[font_2x2] from font_2x2::@3 font_2x2::@4 [39] if((byte) font_2x2::b#1!=(byte) 8) goto font_2x2::@3 to:font_2x2::@6 font_2x2::@6: scope:[font_2x2] from font_2x2::@5 - [40] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 - [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 + [40] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 + [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 [42] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 - [43] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 - [44] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 - [45] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15 - [46] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 - [47] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 - [48] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 - [49] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 + [43] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 + [44] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 + [45] (byte~) font_2x2::$13 ← < (word) font_2x2::glyph_bits_2x2#2 + [46] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$13 + [47] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 + [48] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 + [49] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 + [50] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 + [51] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 to:font_2x2::@7 font_2x2::@7: scope:[font_2x2] from font_2x2::@6 - [50] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 - [51] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 + [52] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 + [53] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 to:font_2x2::@8 font_2x2::@8: scope:[font_2x2] from font_2x2::@6 font_2x2::@7 - [52] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 ) - [52] (byte) font_2x2::l2#9 ← phi( font_2x2::@6/(byte) font_2x2::l2#1 font_2x2::@7/(byte) 0 ) - [52] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 ) - [53] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 - [54] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 + [54] (byte*) font_2x2::next_2x2_right#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_right#7 font_2x2::@7/(byte*) font_2x2::next_2x2_right#1 ) + [54] (byte) font_2x2::l2#9 ← phi( font_2x2::@6/(byte) font_2x2::l2#1 font_2x2::@7/(byte) 0 ) + [54] (byte*) font_2x2::next_2x2_left#8 ← phi( font_2x2::@6/(byte*) font_2x2::next_2x2_left#7 font_2x2::@7/(byte*) font_2x2::next_2x2_left#1 ) + [55] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 + [56] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 to:font_2x2::@9 font_2x2::@9: scope:[font_2x2] from font_2x2::@8 - [55] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 - [56] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 - [57] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 - [58] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 + [57] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 + [58] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 + [59] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 + [60] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 to:font_2x2::@return font_2x2::@return: scope:[font_2x2] from font_2x2::@9 - [59] return + [61] return to:@return (byte()) font_compress((byte*) font_compress::font_original , (byte*) font_compress::font_compressed , (byte*) font_compress::compress_mapping) font_compress: scope:[font_compress] from main::@6 - [60] phi() + [62] phi() to:font_compress::@1 font_compress::@1: scope:[font_compress] from font_compress font_compress::@6 - [61] (byte*) font_compress::next_compressed#4 ← phi( font_compress/(const nomodify byte*) FONT_COMPRESSED font_compress::@6/(byte*) font_compress::next_compressed#7 ) - [61] (byte) font_compress::i#4 ← phi( font_compress/(byte) 0 font_compress::@6/(byte) font_compress::i#1 ) - [61] (byte) font_compress::font_size#2 ← phi( font_compress/(byte) 0 font_compress::@6/(byte) font_compress::font_size#9 ) - [61] (byte*) font_compress::next_original#2 ← phi( font_compress/(const nomodify byte*) FONT_ORIGINAL font_compress::@6/(byte*) font_compress::next_original#1 ) - [62] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 - [63] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 - [64] call font_find - [65] (byte) font_find::return#0 ← (byte) font_find::return#3 + [63] (byte*) font_compress::next_compressed#4 ← phi( font_compress/(const nomodify byte*) FONT_COMPRESSED font_compress::@6/(byte*) font_compress::next_compressed#7 ) + [63] (byte) font_compress::i#4 ← phi( font_compress/(byte) 0 font_compress::@6/(byte) font_compress::i#1 ) + [63] (byte) font_compress::font_size#2 ← phi( font_compress/(byte) 0 font_compress::@6/(byte) font_compress::font_size#9 ) + [63] (byte*) font_compress::next_original#2 ← phi( font_compress/(const nomodify byte*) FONT_ORIGINAL font_compress::@6/(byte*) font_compress::next_original#1 ) + [64] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 + [65] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 + [66] call font_find + [67] (byte) font_find::return#0 ← (byte) font_find::return#3 to:font_compress::@5 font_compress::@5: scope:[font_compress] from font_compress::@1 - [66] (byte) font_compress::found#0 ← (byte) font_find::return#0 - [67] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 + [68] (byte) font_compress::found#0 ← (byte) font_find::return#0 + [69] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 to:font_compress::@3 font_compress::@3: scope:[font_compress] from font_compress::@3 font_compress::@5 - [68] (byte) font_compress::l#2 ← phi( font_compress::@3/(byte) font_compress::l#1 font_compress::@5/(byte) 0 ) - [69] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) - [70] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 - [71] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 + [70] (byte) font_compress::l#2 ← phi( font_compress::@3/(byte) font_compress::l#1 font_compress::@5/(byte) 0 ) + [71] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) + [72] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 + [73] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 to:font_compress::@4 font_compress::@4: scope:[font_compress] from font_compress::@3 - [72] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 - [73] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 - [74] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 + [74] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 + [75] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 + [76] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 to:font_compress::@2 font_compress::@2: scope:[font_compress] from font_compress::@4 font_compress::@7 - [75] (byte*) font_compress::next_compressed#7 ← phi( font_compress::@4/(byte*) font_compress::next_compressed#1 font_compress::@7/(byte*) font_compress::next_compressed#4 ) - [75] (byte) font_compress::return#1 ← phi( font_compress::@4/(byte) font_compress::font_size#1 font_compress::@7/(byte) font_compress::return#5 ) - [75] (byte) font_compress::found#2 ← phi( font_compress::@4/(byte) font_compress::found#3 font_compress::@7/(byte) font_compress::found#0 ) - [76] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 - [77] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 - [78] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 - [79] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 + [77] (byte*) font_compress::next_compressed#7 ← phi( font_compress::@4/(byte*) font_compress::next_compressed#1 font_compress::@7/(byte*) font_compress::next_compressed#4 ) + [77] (byte) font_compress::return#1 ← phi( font_compress::@4/(byte) font_compress::font_size#1 font_compress::@7/(byte) font_compress::return#5 ) + [77] (byte) font_compress::found#2 ← phi( font_compress::@4/(byte) font_compress::found#3 font_compress::@7/(byte) font_compress::found#0 ) + [78] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 + [79] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 + [80] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 + [81] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 to:font_compress::@return font_compress::@return: scope:[font_compress] from font_compress::@2 - [80] return + [82] return to:@return font_compress::@6: scope:[font_compress] from font_compress::@2 - [81] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 + [83] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 to:font_compress::@1 font_compress::@7: scope:[font_compress] from font_compress::@5 - [82] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 + [84] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 to:font_compress::@2 (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) memset: scope:[memset] from main::@5 - [83] phi() + [85] phi() to:memset::@1 memset::@1: scope:[memset] from memset memset::@2 - [84] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 ) - [85] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 + [86] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 ) + [87] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 to:memset::@return memset::@return: scope:[memset] from memset::@1 - [86] return + [88] return to:@return memset::@2: scope:[memset] from memset::@1 - [87] *((byte*) memset::dst#2) ← (byte) memset::c#0 - [88] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 + [89] *((byte*) memset::dst#2) ← (byte) memset::c#0 + [90] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 to:memset::@1 (void()) show((byte) show::c , (byte) show::x , (byte) show::y , (byte*) show::font_mapping) show: scope:[show] from main::@2 - [89] (word~) show::$7 ← (word)(byte) show::y#0 - [90] (word~) show::$8 ← (word~) show::$7 << (byte) 2 - [91] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 - [92] (word~) show::$0 ← (word~) show::$9 << (byte) 4 - [93] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 - [94] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 - [95] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 - [96] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) - [97] (byte~) show::$4 ← (byte) show::c#0 - [98] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) - [99] (byte~) show::$5 ← (byte) show::c#0 - [100] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) - [101] (byte~) show::$6 ← (byte) show::c#0 - [102] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) + [91] (word~) show::$7 ← (word)(byte) show::y#0 + [92] (word~) show::$8 ← (word~) show::$7 << (byte) 2 + [93] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 + [94] (word~) show::$0 ← (word~) show::$9 << (byte) 4 + [95] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 + [96] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 + [97] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 + [98] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) + [99] (byte~) show::$4 ← (byte) show::c#0 + [100] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) + [101] (byte~) show::$5 ← (byte) show::c#0 + [102] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) + [103] (byte~) show::$6 ← (byte) show::c#0 + [104] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) to:show::@return show::@return: scope:[show] from show - [103] return + [105] return to:@return (byte()) font_find((byte*) font_find::glyph , (byte*) font_find::font , (byte) font_find::font_size) font_find: scope:[font_find] from font_compress::@1 - [104] phi() + [106] phi() to:font_find::@1 font_find::@1: scope:[font_find] from font_find font_find::@5 - [105] (byte*) font_find::font#4 ← phi( font_find/(const nomodify byte*) FONT_COMPRESSED font_find::@5/(byte*) font_find::font#1 ) - [105] (byte) font_find::i#2 ← phi( font_find/(byte) 0 font_find::@5/(byte) font_find::i#1 ) - [106] if((byte) font_find::i#2<(byte) font_find::font_size#0) goto font_find::@2 + [107] (byte*) font_find::font#4 ← phi( font_find/(const nomodify byte*) FONT_COMPRESSED font_find::@5/(byte*) font_find::font#1 ) + [107] (byte) font_find::i#2 ← phi( font_find/(byte) 0 font_find::@5/(byte) font_find::i#1 ) + [108] if((byte) font_find::i#2<(byte) font_find::font_size#0) goto font_find::@2 to:font_find::@return font_find::@return: scope:[font_find] from font_find::@1 font_find::@4 - [107] (byte) font_find::return#3 ← phi( font_find::@1/(byte) $ff font_find::@4/(byte) font_find::i#2 ) - [108] return + [109] (byte) font_find::return#3 ← phi( font_find::@1/(byte) $ff font_find::@4/(byte) font_find::i#2 ) + [110] return to:@return font_find::@2: scope:[font_find] from font_find::@1 font_find::@3 - [109] (byte) font_find::l#2 ← phi( font_find::@1/(byte) 0 font_find::@3/(byte) font_find::l#1 ) - [110] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 + [111] (byte) font_find::l#2 ← phi( font_find::@1/(byte) 0 font_find::@3/(byte) font_find::l#1 ) + [112] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 to:font_find::@4 font_find::@3: scope:[font_find] from font_find::@2 - [111] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 - [112] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 + [113] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 + [114] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 to:font_find::@4 font_find::@4: scope:[font_find] from font_find::@2 font_find::@3 - [113] (byte) font_find::found#2 ← phi( font_find::@3/(byte) 1 font_find::@2/(byte) 0 ) - [114] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 + [115] (byte) font_find::found#2 ← phi( font_find::@3/(byte) 1 font_find::@2/(byte) 0 ) + [116] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 to:font_find::@return font_find::@5: scope:[font_find] from font_find::@4 - [115] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 - [116] (byte) font_find::i#1 ← ++ (byte) font_find::i#2 + [117] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 + [118] (byte) font_find::i#1 ← ++ (byte) font_find::i#2 to:font_find::@1 @@ -1987,10 +1983,12 @@ VARIABLE REGISTER WEIGHTS (byte) MOS6581_SID::VOLUME_FILTER_MODE (void()) font_2x2((byte*) font_2x2::font_original , (byte*) font_2x2::font_2x2) (byte~) font_2x2::$1 20002.0 -(byte~) font_2x2::$11 2002.0 -(byte~) font_2x2::$12 1001.0 -(byte~) font_2x2::$14 2002.0 -(byte~) font_2x2::$15 1001.0 +(byte~) font_2x2::$10 2002.0 +(byte~) font_2x2::$11 1001.0 +(byte~) font_2x2::$12 2002.0 +(byte~) font_2x2::$13 2002.0 +(byte~) font_2x2::$14 1001.0 +(byte~) font_2x2::$15 2002.0 (word~) font_2x2::$5 20002.0 (word~) font_2x2::$7 20002.0 (byte) font_2x2::b @@ -1998,7 +1996,7 @@ VARIABLE REGISTER WEIGHTS (byte) font_2x2::b#2 2000.2 (byte) font_2x2::c (byte) font_2x2::c#1 151.5 -(byte) font_2x2::c#11 5.9411764705882355 +(byte) font_2x2::c#11 5.611111111111111 (byte*) font_2x2::font_2x2 (byte*) font_2x2::font_original (byte) font_2x2::glyph_bit @@ -2009,31 +2007,31 @@ VARIABLE REGISTER WEIGHTS (byte) font_2x2::glyph_bits#2 3444.8888888888887 (word) font_2x2::glyph_bits_2x2 (word) font_2x2::glyph_bits_2x2#1 20002.0 -(word) font_2x2::glyph_bits_2x2#2 2750.5 +(word) font_2x2::glyph_bits_2x2#2 2000.5000000000002 (word) font_2x2::glyph_bits_2x2#3 4000.4 (byte) font_2x2::l (byte) font_2x2::l#1 1501.5 -(byte) font_2x2::l#2 111.22222222222223 +(byte) font_2x2::l#2 103.55172413793102 (byte) font_2x2::l2 (byte) font_2x2::l2#1 1501.5 -(byte) font_2x2::l2#8 273.0 +(byte) font_2x2::l2#8 250.25000000000003 (byte) font_2x2::l2#9 667.3333333333334 (byte*) font_2x2::next_2x2 (byte*) font_2x2::next_2x2#1 50.5 (byte*) font_2x2::next_2x2_left -(byte*) font_2x2::next_2x2_left#0 75.1875 +(byte*) font_2x2::next_2x2_left#0 70.76470588235294 (byte*) font_2x2::next_2x2_left#1 1001.0 (byte*) font_2x2::next_2x2_left#10 202.0 -(byte*) font_2x2::next_2x2_left#7 171.04166666666669 +(byte*) font_2x2::next_2x2_left#7 157.8846153846154 (byte*) font_2x2::next_2x2_left#8 1001.0 (byte*) font_2x2::next_2x2_right (byte*) font_2x2::next_2x2_right#0 101.0 (byte*) font_2x2::next_2x2_right#1 2002.0 -(byte*) font_2x2::next_2x2_right#7 171.04166666666669 +(byte*) font_2x2::next_2x2_right#7 157.8846153846154 (byte*) font_2x2::next_2x2_right#8 1001.0 (byte*) font_2x2::next_original (byte*) font_2x2::next_original#1 67.33333333333333 -(byte*) font_2x2::next_original#4 36.45454545454545 +(byte*) font_2x2::next_original#4 34.371428571428574 (byte()) font_compress((byte*) font_compress::font_original , (byte*) font_compress::font_compressed , (byte*) font_compress::compress_mapping) (byte*) font_compress::compress_mapping (byte*) font_compress::font_compressed @@ -2160,10 +2158,12 @@ Added variable font_2x2::$1 to live range equivalence class [ font_2x2::$1 ] Added variable font_2x2::$5 to live range equivalence class [ font_2x2::$5 ] Added variable font_2x2::glyph_bits_2x2#1 to live range equivalence class [ font_2x2::glyph_bits_2x2#1 ] Added variable font_2x2::$7 to live range equivalence class [ font_2x2::$7 ] -Added variable font_2x2::$12 to live range equivalence class [ font_2x2::$12 ] +Added variable font_2x2::$10 to live range equivalence class [ font_2x2::$10 ] Added variable font_2x2::$11 to live range equivalence class [ font_2x2::$11 ] -Added variable font_2x2::$15 to live range equivalence class [ font_2x2::$15 ] +Added variable font_2x2::$12 to live range equivalence class [ font_2x2::$12 ] +Added variable font_2x2::$13 to live range equivalence class [ font_2x2::$13 ] Added variable font_2x2::$14 to live range equivalence class [ font_2x2::$14 ] +Added variable font_2x2::$15 to live range equivalence class [ font_2x2::$15 ] Added variable font_find::glyph#0 to live range equivalence class [ font_find::glyph#0 ] Added variable font_find::font_size#0 to live range equivalence class [ font_find::font_size#0 ] Added variable font_find::return#0 to live range equivalence class [ font_find::return#0 ] @@ -2212,10 +2212,12 @@ Complete equivalence classes [ font_2x2::$5 ] [ font_2x2::glyph_bits_2x2#1 ] [ font_2x2::$7 ] -[ font_2x2::$12 ] +[ font_2x2::$10 ] [ font_2x2::$11 ] -[ font_2x2::$15 ] +[ font_2x2::$12 ] +[ font_2x2::$13 ] [ font_2x2::$14 ] +[ font_2x2::$15 ] [ font_find::glyph#0 ] [ font_find::font_size#0 ] [ font_find::return#0 ] @@ -2263,23 +2265,25 @@ Allocated zp[1]:41 [ font_2x2::$1 ] Allocated zp[2]:42 [ font_2x2::$5 ] Allocated zp[2]:44 [ font_2x2::glyph_bits_2x2#1 ] Allocated zp[2]:46 [ font_2x2::$7 ] -Allocated zp[1]:48 [ font_2x2::$12 ] +Allocated zp[1]:48 [ font_2x2::$10 ] Allocated zp[1]:49 [ font_2x2::$11 ] -Allocated zp[1]:50 [ font_2x2::$15 ] -Allocated zp[1]:51 [ font_2x2::$14 ] -Allocated zp[2]:52 [ font_find::glyph#0 ] -Allocated zp[1]:54 [ font_find::font_size#0 ] -Allocated zp[1]:55 [ font_find::return#0 ] -Allocated zp[2]:56 [ show::$7 ] -Allocated zp[2]:58 [ show::$8 ] -Allocated zp[2]:60 [ show::$9 ] -Allocated zp[2]:62 [ show::$0 ] -Allocated zp[2]:64 [ show::$1 ] -Allocated zp[1]:66 [ show::$2 ] -Allocated zp[2]:67 [ show::ptr#0 ] -Allocated zp[1]:69 [ show::$4 ] -Allocated zp[1]:70 [ show::$5 ] -Allocated zp[1]:71 [ show::$6 ] +Allocated zp[1]:50 [ font_2x2::$12 ] +Allocated zp[1]:51 [ font_2x2::$13 ] +Allocated zp[1]:52 [ font_2x2::$14 ] +Allocated zp[1]:53 [ font_2x2::$15 ] +Allocated zp[2]:54 [ font_find::glyph#0 ] +Allocated zp[1]:56 [ font_find::font_size#0 ] +Allocated zp[1]:57 [ font_find::return#0 ] +Allocated zp[2]:58 [ show::$7 ] +Allocated zp[2]:60 [ show::$8 ] +Allocated zp[2]:62 [ show::$9 ] +Allocated zp[2]:64 [ show::$0 ] +Allocated zp[2]:66 [ show::$1 ] +Allocated zp[1]:68 [ show::$2 ] +Allocated zp[2]:69 [ show::ptr#0 ] +Allocated zp[1]:71 [ show::$4 ] +Allocated zp[1]:72 [ show::$5 ] +Allocated zp[1]:73 [ show::$6 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -2327,7 +2331,7 @@ main: { // asm { cli } cli // [5] call font_compress - // [60] phi from main::@6 to font_compress [phi:main::@6->font_compress] + // [62] phi from main::@6 to font_compress [phi:main::@6->font_compress] font_compress_from___b6: jsr font_compress // [6] phi from main::@6 to main::toD0181 [phi:main::@6->main::toD0181] @@ -2347,7 +2351,7 @@ main: { sta.z memset.c // [9] call memset // Clear the screen - // [83] phi from main::@5 to memset [phi:main::@5->memset] + // [85] phi from main::@5 to memset [phi:main::@5->memset] memset_from___b5: jsr memset // [10] phi from main::@5 to main::@1 [phi:main::@5->main::@1] @@ -2424,10 +2428,12 @@ font_2x2: { .label __1 = $29 .label __5 = $2a .label __7 = $2e + .label __10 = $30 .label __11 = $31 - .label __12 = $30 - .label __14 = $33 - .label __15 = $32 + .label __12 = $32 + .label __13 = $33 + .label __14 = $34 + .label __15 = $35 .label next_2x2_left = 5 .label next_2x2_right = $e .label glyph_bits = $10 @@ -2587,50 +2593,56 @@ font_2x2: { jmp __b6 // font_2x2::@6 __b6: - // [40] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_hi_vwuz2 + // [40] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_hi_vwuz2 lda.z glyph_bits_2x2_1+1 - sta.z __12 - // [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuz3 + sta.z __10 + // [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 -- pbuz1_derefidx_vbuz2=vbuz3 // Put the generated 2x2-line into the 2x2-font twice - lda.z __12 + lda.z __10 ldy.z l2 sta (next_2x2_left_1),y // [42] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuz1=vbuz2_plus_1 ldy.z l2 iny sty.z __11 - // [43] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuz3 + // [43] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_hi_vwuz2 + lda.z glyph_bits_2x2_1+1 + sta.z __12 + // [44] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuz3 lda.z __12 ldy.z __11 sta (next_2x2_left_1),y - // [44] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_lo_vwuz2 + // [45] (byte~) font_2x2::$13 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_lo_vwuz2 lda.z glyph_bits_2x2_1 - sta.z __15 - // [45] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuz2=vbuz3 - lda.z __15 + sta.z __13 + // [46] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$13 -- pbuz1_derefidx_vbuz2=vbuz3 + lda.z __13 ldy.z l2 sta (next_2x2_right),y - // [46] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuz1=vbuz2_plus_1 + // [47] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuz1=vbuz2_plus_1 ldy.z l2 iny sty.z __14 - // [47] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuz2=vbuz3 + // [48] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuz1=_lo_vwuz2 + lda.z glyph_bits_2x2_1 + sta.z __15 + // [49] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuz2=vbuz3 lda.z __15 ldy.z __14 sta (next_2x2_right),y - // [48] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 -- vbuz1=vbuz1_plus_2 + // [50] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 -- vbuz1=vbuz1_plus_2 lda.z l2 clc adc #2 sta.z l2 - // [49] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 -- vbuz1_neq_vbuc1_then_la1 + // [51] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l2 bne __b8_from___b6 jmp __b7 // font_2x2::@7 __b7: - // [50] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [52] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$80*8 @@ -2638,7 +2650,7 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$80*8 sta.z next_2x2_left_1+1 - // [51] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [53] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$c0*8 @@ -2646,32 +2658,32 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$c0*8 sta.z next_2x2_right+1 - // [52] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] + // [54] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] __b8_from___b7: - // [52] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy - // [52] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 + // [54] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy + // [54] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 lda #0 sta.z l2 - // [52] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy + // [54] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy jmp __b8 - // [52] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] + // [54] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] __b8_from___b6: - // [52] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy - // [52] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy - // [52] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy + // [54] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy + // [54] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy + // [54] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy jmp __b8 // font_2x2::@8 __b8: - // [53] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 + // [55] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [54] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 + // [56] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l bne __b2_from___b8 jmp __b9 // font_2x2::@9 __b9: - // [55] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [57] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_2x2 @@ -2679,7 +2691,7 @@ font_2x2: { bcc !+ inc.z next_2x2+1 !: - // [56] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [58] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_original @@ -2687,16 +2699,16 @@ font_2x2: { bcc !+ inc.z next_original+1 !: - // [57] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 + // [59] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 inc.z c - // [58] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [60] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$40 cmp.z c bne __b1_from___b9 jmp __breturn // font_2x2::@return __breturn: - // [59] return + // [61] return rts } // font_compress @@ -2713,20 +2725,20 @@ font_compress: { .label font_size = $1d .label return = $1d .label font_size_1 = $17 - // [61] phi from font_compress to font_compress::@1 [phi:font_compress->font_compress::@1] + // [63] phi from font_compress to font_compress::@1 [phi:font_compress->font_compress::@1] __b1_from_font_compress: - // [61] phi (byte*) font_compress::next_compressed#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_compress->font_compress::@1#0] -- pbuz1=pbuc1 + // [63] phi (byte*) font_compress::next_compressed#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_compress->font_compress::@1#0] -- pbuz1=pbuc1 lda #FONT_COMPRESSED sta.z next_compressed+1 - // [61] phi (byte) font_compress::i#4 = (byte) 0 [phi:font_compress->font_compress::@1#1] -- vbuz1=vbuc1 + // [63] phi (byte) font_compress::i#4 = (byte) 0 [phi:font_compress->font_compress::@1#1] -- vbuz1=vbuc1 lda #0 sta.z i - // [61] phi (byte) font_compress::font_size#2 = (byte) 0 [phi:font_compress->font_compress::@1#2] -- vbuz1=vbuc1 + // [63] phi (byte) font_compress::font_size#2 = (byte) 0 [phi:font_compress->font_compress::@1#2] -- vbuz1=vbuc1 lda #0 sta.z font_size_1 - // [61] phi (byte*) font_compress::next_original#2 = (const nomodify byte*) FONT_ORIGINAL [phi:font_compress->font_compress::@1#3] -- pbuz1=pbuc1 + // [63] phi (byte*) font_compress::next_original#2 = (const nomodify byte*) FONT_ORIGINAL [phi:font_compress->font_compress::@1#3] -- pbuz1=pbuc1 lda #FONT_ORIGINAL @@ -2734,58 +2746,58 @@ font_compress: { jmp __b1 // font_compress::@1 __b1: - // [62] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 -- pbuz1=pbuz2 + // [64] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 -- pbuz1=pbuz2 lda.z next_original sta.z font_find.glyph lda.z next_original+1 sta.z font_find.glyph+1 - // [63] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 -- vbuz1=vbuz2 + // [65] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 -- vbuz1=vbuz2 lda.z font_size_1 sta.z font_find.font_size - // [64] call font_find - // [104] phi from font_compress::@1 to font_find [phi:font_compress::@1->font_find] + // [66] call font_find + // [106] phi from font_compress::@1 to font_find [phi:font_compress::@1->font_find] font_find_from___b1: jsr font_find - // [65] (byte) font_find::return#0 ← (byte) font_find::return#3 -- vbuz1=vbuz2 + // [67] (byte) font_find::return#0 ← (byte) font_find::return#3 -- vbuz1=vbuz2 lda.z font_find.return_1 sta.z font_find.return jmp __b5 // font_compress::@5 __b5: - // [66] (byte) font_compress::found#0 ← (byte) font_find::return#0 -- vbuz1=vbuz2 + // [68] (byte) font_compress::found#0 ← (byte) font_find::return#0 -- vbuz1=vbuz2 lda.z font_find.return sta.z found - // [67] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 -- vbuz1_neq_vbuc1_then_la1 + // [69] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 -- vbuz1_neq_vbuc1_then_la1 lda #$ff cmp.z found bne __b7 - // [68] phi from font_compress::@5 to font_compress::@3 [phi:font_compress::@5->font_compress::@3] + // [70] phi from font_compress::@5 to font_compress::@3 [phi:font_compress::@5->font_compress::@3] __b3_from___b5: - // [68] phi (byte) font_compress::l#2 = (byte) 0 [phi:font_compress::@5->font_compress::@3#0] -- vbuz1=vbuc1 + // [70] phi (byte) font_compress::l#2 = (byte) 0 [phi:font_compress::@5->font_compress::@3#0] -- vbuz1=vbuc1 lda #0 sta.z l jmp __b3 // Glyph not found - create it - // [68] phi from font_compress::@3 to font_compress::@3 [phi:font_compress::@3->font_compress::@3] + // [70] phi from font_compress::@3 to font_compress::@3 [phi:font_compress::@3->font_compress::@3] __b3_from___b3: - // [68] phi (byte) font_compress::l#2 = (byte) font_compress::l#1 [phi:font_compress::@3->font_compress::@3#0] -- register_copy + // [70] phi (byte) font_compress::l#2 = (byte) font_compress::l#1 [phi:font_compress::@3->font_compress::@3#0] -- register_copy jmp __b3 // font_compress::@3 __b3: - // [69] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz2 + // [71] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) -- pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz2 ldy.z l lda (next_original),y sta (next_compressed),y - // [70] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 -- vbuz1=_inc_vbuz1 + // [72] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [71] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 -- vbuz1_neq_vbuc1_then_la1 + // [73] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l bne __b3_from___b3 jmp __b4 // font_compress::@4 __b4: - // [72] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [74] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_compressed @@ -2793,27 +2805,27 @@ font_compress: { bcc !+ inc.z next_compressed+1 !: - // [73] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 -- vbuz1=_inc_vbuz2 + // [75] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 -- vbuz1=_inc_vbuz2 ldy.z font_size_1 iny sty.z font_size - // [74] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 -- vbuz1=vbuz2 + // [76] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 -- vbuz1=vbuz2 lda.z font_size_1 sta.z found - // [75] phi from font_compress::@4 font_compress::@7 to font_compress::@2 [phi:font_compress::@4/font_compress::@7->font_compress::@2] + // [77] phi from font_compress::@4 font_compress::@7 to font_compress::@2 [phi:font_compress::@4/font_compress::@7->font_compress::@2] __b2_from___b4: __b2_from___b7: - // [75] phi (byte*) font_compress::next_compressed#7 = (byte*) font_compress::next_compressed#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#0] -- register_copy - // [75] phi (byte) font_compress::return#1 = (byte) font_compress::font_size#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#1] -- register_copy - // [75] phi (byte) font_compress::found#2 = (byte) font_compress::found#3 [phi:font_compress::@4/font_compress::@7->font_compress::@2#2] -- register_copy + // [77] phi (byte*) font_compress::next_compressed#7 = (byte*) font_compress::next_compressed#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#0] -- register_copy + // [77] phi (byte) font_compress::return#1 = (byte) font_compress::font_size#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#1] -- register_copy + // [77] phi (byte) font_compress::found#2 = (byte) font_compress::found#3 [phi:font_compress::@4/font_compress::@7->font_compress::@2#2] -- register_copy jmp __b2 // font_compress::@2 __b2: - // [76] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 -- pbuc1_derefidx_vbuz1=vbuz2 + // [78] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z found ldy.z i sta FONT_COMPRESSED_MAP,y - // [77] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [79] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_original @@ -2821,32 +2833,32 @@ font_compress: { bcc !+ inc.z next_original+1 !: - // [78] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 -- vbuz1=_inc_vbuz1 + // [80] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 -- vbuz1=_inc_vbuz1 inc.z i - // [79] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 -- vbuz1_neq_0_then_la1 + // [81] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 -- vbuz1_neq_0_then_la1 lda.z i cmp #0 bne __b6 jmp __breturn // font_compress::@return __breturn: - // [80] return + // [82] return rts // font_compress::@6 __b6: - // [81] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 -- vbuz1=vbuz2 + // [83] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 -- vbuz1=vbuz2 lda.z return sta.z font_size_1 - // [61] phi from font_compress::@6 to font_compress::@1 [phi:font_compress::@6->font_compress::@1] + // [63] phi from font_compress::@6 to font_compress::@1 [phi:font_compress::@6->font_compress::@1] __b1_from___b6: - // [61] phi (byte*) font_compress::next_compressed#4 = (byte*) font_compress::next_compressed#7 [phi:font_compress::@6->font_compress::@1#0] -- register_copy - // [61] phi (byte) font_compress::i#4 = (byte) font_compress::i#1 [phi:font_compress::@6->font_compress::@1#1] -- register_copy - // [61] phi (byte) font_compress::font_size#2 = (byte) font_compress::font_size#9 [phi:font_compress::@6->font_compress::@1#2] -- register_copy - // [61] phi (byte*) font_compress::next_original#2 = (byte*) font_compress::next_original#1 [phi:font_compress::@6->font_compress::@1#3] -- register_copy + // [63] phi (byte*) font_compress::next_compressed#4 = (byte*) font_compress::next_compressed#7 [phi:font_compress::@6->font_compress::@1#0] -- register_copy + // [63] phi (byte) font_compress::i#4 = (byte) font_compress::i#1 [phi:font_compress::@6->font_compress::@1#1] -- register_copy + // [63] phi (byte) font_compress::font_size#2 = (byte) font_compress::font_size#9 [phi:font_compress::@6->font_compress::@1#2] -- register_copy + // [63] phi (byte*) font_compress::next_original#2 = (byte*) font_compress::next_original#1 [phi:font_compress::@6->font_compress::@1#3] -- register_copy jmp __b1 // font_compress::@7 __b7: - // [82] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 -- vbuz1=vbuz2 + // [84] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 -- vbuz1=vbuz2 lda.z font_size_1 sta.z return jmp __b2_from___b7 @@ -2860,9 +2872,9 @@ memset: { .label end = str+num .label dst = $1e .label c = $25 - // [84] phi from memset to memset::@1 [phi:memset->memset::@1] + // [86] phi from memset to memset::@1 [phi:memset->memset::@1] __b1_from_memset: - // [84] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 + // [86] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 lda #str @@ -2870,7 +2882,7 @@ memset: { jmp __b1 // memset::@1 __b1: - // [85] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 + // [87] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 lda.z dst+1 cmp #>end bne __b2 @@ -2880,47 +2892,47 @@ memset: { jmp __breturn // memset::@return __breturn: - // [86] return + // [88] return rts // memset::@2 __b2: - // [87] *((byte*) memset::dst#2) ← (byte) memset::c#0 -- _deref_pbuz1=vbuz2 + // [89] *((byte*) memset::dst#2) ← (byte) memset::c#0 -- _deref_pbuz1=vbuz2 lda.z c ldy #0 sta (dst),y - // [88] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [90] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 !: - // [84] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] + // [86] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] __b1_from___b2: - // [84] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy + // [86] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy jmp __b1 } // show // Show a 2x2 char on the screen at 2x2-position (x, y) using a font compress mapping // show(byte zp($26) c, byte zp($27) x, byte zp($28) y) show: { - .label __0 = $3e - .label __1 = $40 - .label __2 = $42 - .label __4 = $45 - .label __5 = $46 - .label __6 = $47 - .label __7 = $38 + .label __0 = $40 + .label __1 = $42 + .label __2 = $44 + .label __4 = $47 + .label __5 = $48 + .label __6 = $49 + .label __7 = $3a .label c = $26 .label x = $27 .label y = $28 - .label ptr = $43 - .label __8 = $3a - .label __9 = $3c - // [89] (word~) show::$7 ← (word)(byte) show::y#0 -- vwuz1=_word_vbuz2 + .label ptr = $45 + .label __8 = $3c + .label __9 = $3e + // [91] (word~) show::$7 ← (word)(byte) show::y#0 -- vwuz1=_word_vbuz2 lda.z y sta.z __7 lda #0 sta.z __7+1 - // [90] (word~) show::$8 ← (word~) show::$7 << (byte) 2 -- vwuz1=vwuz2_rol_2 + // [92] (word~) show::$8 ← (word~) show::$7 << (byte) 2 -- vwuz1=vwuz2_rol_2 lda.z __7 asl sta.z __8 @@ -2929,7 +2941,7 @@ show: { sta.z __8+1 asl.z __8 rol.z __8+1 - // [91] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 -- vwuz1=vwuz2_plus_vwuz3 + // [93] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 -- vwuz1=vwuz2_plus_vwuz3 lda.z __8 clc adc.z __7 @@ -2937,7 +2949,7 @@ show: { lda.z __8+1 adc.z __7+1 sta.z __9+1 - // [92] (word~) show::$0 ← (word~) show::$9 << (byte) 4 -- vwuz1=vwuz2_rol_4 + // [94] (word~) show::$0 ← (word~) show::$9 << (byte) 4 -- vwuz1=vwuz2_rol_4 lda.z __9 asl sta.z __0 @@ -2950,7 +2962,7 @@ show: { rol.z __0+1 asl.z __0 rol.z __0+1 - // [93] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 -- pbuz1=pbuc1_plus_vwuz2 + // [95] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 -- pbuz1=pbuc1_plus_vwuz2 lda.z __0 clc adc #SCREEN sta.z __1+1 - // [94] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 -- vbuz1=vbuz2_rol_1 + // [96] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 -- vbuz1=vbuz2_rol_1 lda.z x asl sta.z __2 - // [95] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 -- pbuz1=pbuz2_plus_vbuz3 + // [97] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 -- pbuz1=pbuz2_plus_vbuz3 lda.z __2 clc adc.z __1 @@ -2970,31 +2982,31 @@ show: { lda #0 adc.z __1+1 sta.z ptr+1 - // [96] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + // [98] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy.z c lda FONT_COMPRESSED_MAP,y ldy #0 sta (ptr),y - // [97] (byte~) show::$4 ← (byte) show::c#0 -- vbuz1=vbuz2 + // [99] (byte~) show::$4 ← (byte) show::c#0 -- vbuz1=vbuz2 lda.z c sta.z __4 - // [98] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuz2 + // [100] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuz2 ldy.z __4 lda FONT_COMPRESSED_MAP+$40,y ldy #1 sta (ptr),y - // [99] (byte~) show::$5 ← (byte) show::c#0 -- vbuz1=vbuz2 + // [101] (byte~) show::$5 ← (byte) show::c#0 -- vbuz1=vbuz2 lda.z c sta.z __5 - // [100] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuz2 + // [102] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuz2 ldy.z __5 lda FONT_COMPRESSED_MAP+$80,y ldy #$28 sta (ptr),y - // [101] (byte~) show::$6 ← (byte) show::c#0 -- vbuz1=vbuz2 + // [103] (byte~) show::$6 ← (byte) show::c#0 -- vbuz1=vbuz2 lda.z c sta.z __6 - // [102] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuz2 + // [104] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuz2 ldy.z __6 lda FONT_COMPRESSED_MAP+$c0,y ldy #$29 @@ -3002,102 +3014,102 @@ show: { jmp __breturn // show::@return __breturn: - // [103] return + // [105] return rts } // font_find // Look for a glyph within a font // Only looks at the first font_size glyphs // Returns the index of the glyph within the font. Returns 0xff if the glyph is not found. -// font_find(byte* zp($34) glyph, byte* zp($20) font, byte zp($36) font_size) +// font_find(byte* zp($36) glyph, byte* zp($20) font, byte zp($38) font_size) font_find: { - .label glyph = $34 - .label font_size = $36 + .label glyph = $36 + .label font_size = $38 // Not found - .label return = $37 + .label return = $39 .label l = $23 .label font = $20 .label i = $22 // Not found .label return_1 = $22 .label found = $24 - // [105] phi from font_find to font_find::@1 [phi:font_find->font_find::@1] + // [107] phi from font_find to font_find::@1 [phi:font_find->font_find::@1] __b1_from_font_find: - // [105] phi (byte*) font_find::font#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_find->font_find::@1#0] -- pbuz1=pbuc1 + // [107] phi (byte*) font_find::font#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_find->font_find::@1#0] -- pbuz1=pbuc1 lda #FONT_COMPRESSED sta.z font+1 - // [105] phi (byte) font_find::i#2 = (byte) 0 [phi:font_find->font_find::@1#1] -- vbuz1=vbuc1 + // [107] phi (byte) font_find::i#2 = (byte) 0 [phi:font_find->font_find::@1#1] -- vbuz1=vbuc1 lda #0 sta.z i jmp __b1 // font_find::@1 __b1: - // [106] if((byte) font_find::i#2<(byte) font_find::font_size#0) goto font_find::@2 -- vbuz1_lt_vbuz2_then_la1 + // [108] if((byte) font_find::i#2<(byte) font_find::font_size#0) goto font_find::@2 -- vbuz1_lt_vbuz2_then_la1 lda.z i cmp.z font_size bcc __b2_from___b1 - // [107] phi from font_find::@1 to font_find::@return [phi:font_find::@1->font_find::@return] + // [109] phi from font_find::@1 to font_find::@return [phi:font_find::@1->font_find::@return] __breturn_from___b1: - // [107] phi (byte) font_find::return#3 = (byte) $ff [phi:font_find::@1->font_find::@return#0] -- vbuz1=vbuc1 + // [109] phi (byte) font_find::return#3 = (byte) $ff [phi:font_find::@1->font_find::@return#0] -- vbuz1=vbuc1 lda #$ff sta.z return_1 jmp __breturn // font_find::@return __breturn: - // [108] return + // [110] return rts - // [109] phi from font_find::@1 to font_find::@2 [phi:font_find::@1->font_find::@2] + // [111] phi from font_find::@1 to font_find::@2 [phi:font_find::@1->font_find::@2] __b2_from___b1: - // [109] phi (byte) font_find::l#2 = (byte) 0 [phi:font_find::@1->font_find::@2#0] -- vbuz1=vbuc1 + // [111] phi (byte) font_find::l#2 = (byte) 0 [phi:font_find::@1->font_find::@2#0] -- vbuz1=vbuc1 lda #0 sta.z l jmp __b2 - // [109] phi from font_find::@3 to font_find::@2 [phi:font_find::@3->font_find::@2] + // [111] phi from font_find::@3 to font_find::@2 [phi:font_find::@3->font_find::@2] __b2_from___b3: - // [109] phi (byte) font_find::l#2 = (byte) font_find::l#1 [phi:font_find::@3->font_find::@2#0] -- register_copy + // [111] phi (byte) font_find::l#2 = (byte) font_find::l#1 [phi:font_find::@3->font_find::@2#0] -- register_copy jmp __b2 // font_find::@2 __b2: - // [110] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 -- pbuz1_derefidx_vbuz2_eq_pbuz3_derefidx_vbuz2_then_la1 + // [112] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 -- pbuz1_derefidx_vbuz2_eq_pbuz3_derefidx_vbuz2_then_la1 ldy.z l lda (glyph),y cmp (font),y beq __b3 - // [113] phi from font_find::@2 to font_find::@4 [phi:font_find::@2->font_find::@4] + // [115] phi from font_find::@2 to font_find::@4 [phi:font_find::@2->font_find::@4] __b4_from___b2: - // [113] phi (byte) font_find::found#2 = (byte) 0 [phi:font_find::@2->font_find::@4#0] -- vbuz1=vbuc1 + // [115] phi (byte) font_find::found#2 = (byte) 0 [phi:font_find::@2->font_find::@4#0] -- vbuz1=vbuc1 lda #0 sta.z found jmp __b4 // font_find::@3 __b3: - // [111] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 -- vbuz1=_inc_vbuz1 + // [113] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [112] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 -- vbuz1_neq_vbuc1_then_la1 + // [114] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l bne __b2_from___b3 - // [113] phi from font_find::@3 to font_find::@4 [phi:font_find::@3->font_find::@4] + // [115] phi from font_find::@3 to font_find::@4 [phi:font_find::@3->font_find::@4] __b4_from___b3: - // [113] phi (byte) font_find::found#2 = (byte) 1 [phi:font_find::@3->font_find::@4#0] -- vbuz1=vbuc1 + // [115] phi (byte) font_find::found#2 = (byte) 1 [phi:font_find::@3->font_find::@4#0] -- vbuz1=vbuc1 lda #1 sta.z found jmp __b4 // font_find::@4 __b4: - // [114] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 -- vbuc1_eq_vbuz1_then_la1 + // [116] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 -- vbuc1_eq_vbuz1_then_la1 lda #0 cmp.z found beq __b5 - // [107] phi from font_find::@4 to font_find::@return [phi:font_find::@4->font_find::@return] + // [109] phi from font_find::@4 to font_find::@return [phi:font_find::@4->font_find::@return] __breturn_from___b4: - // [107] phi (byte) font_find::return#3 = (byte) font_find::i#2 [phi:font_find::@4->font_find::@return#0] -- register_copy + // [109] phi (byte) font_find::return#3 = (byte) font_find::i#2 [phi:font_find::@4->font_find::@return#0] -- register_copy jmp __breturn // font_find::@5 __b5: - // [115] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [117] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z font @@ -3105,12 +3117,12 @@ font_find: { bcc !+ inc.z font+1 !: - // [116] (byte) font_find::i#1 ← ++ (byte) font_find::i#2 -- vbuz1=_inc_vbuz1 + // [118] (byte) font_find::i#1 ← ++ (byte) font_find::i#2 -- vbuz1=_inc_vbuz1 inc.z i - // [105] phi from font_find::@5 to font_find::@1 [phi:font_find::@5->font_find::@1] + // [107] phi from font_find::@5 to font_find::@1 [phi:font_find::@5->font_find::@1] __b1_from___b5: - // [105] phi (byte*) font_find::font#4 = (byte*) font_find::font#1 [phi:font_find::@5->font_find::@1#0] -- register_copy - // [105] phi (byte) font_find::i#2 = (byte) font_find::i#1 [phi:font_find::@5->font_find::@1#1] -- register_copy + // [107] phi (byte*) font_find::font#4 = (byte*) font_find::font#1 [phi:font_find::@5->font_find::@1#0] -- register_copy + // [107] phi (byte) font_find::i#2 = (byte) font_find::i#1 [phi:font_find::@5->font_find::@1#1] -- register_copy jmp __b1 } // File Data @@ -3134,47 +3146,47 @@ Removing always clobbered register reg byte a as potential for zp[1]:20 [ font_2 Statement [34] (word) font_2x2::glyph_bits_2x2#1 ← (word~) font_2x2::$5 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] { } ) always clobbers reg byte a Statement [35] (word~) font_2x2::$7 ← (word) font_2x2::glyph_bits_2x2#1 << (byte) 1 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] { } ) always clobbers reg byte a Statement [36] (word) font_2x2::glyph_bits_2x2#2 ← (word~) font_2x2::$7 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] { } ) always clobbers reg byte a -Statement [50] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a -Statement [51] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a -Statement [55] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( font_2x2:2 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a -Statement [56] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( font_2x2:2 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a -Statement [62] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a +Statement [52] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a +Statement [53] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a +Statement [57] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( font_2x2:2 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a +Statement [58] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( font_2x2:2 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a +Statement [64] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 ] Removing always clobbered register reg byte a as potential for zp[1]:24 [ font_compress::i#4 font_compress::i#1 ] -Statement [69] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_compress::l#2 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_compress::l#2 ] { } ) always clobbers reg byte a +Statement [71] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_compress::l#2 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_compress::l#2 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:27 [ font_compress::l#2 font_compress::l#1 ] -Statement [72] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#1 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#1 ] { } ) always clobbers reg byte a -Statement [77] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 [ font_compress::i#4 font_compress::next_original#1 font_compress::next_compressed#7 font_compress::return#1 ] ( font_compress:5 [ font_compress::i#4 font_compress::next_original#1 font_compress::next_compressed#7 font_compress::return#1 ] { } ) always clobbers reg byte a +Statement [74] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#1 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#1 ] { } ) always clobbers reg byte a +Statement [79] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 [ font_compress::i#4 font_compress::next_original#1 font_compress::next_compressed#7 font_compress::return#1 ] ( font_compress:5 [ font_compress::i#4 font_compress::next_original#1 font_compress::next_compressed#7 font_compress::return#1 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:29 [ font_compress::return#1 font_compress::font_size#1 font_compress::return#5 ] -Statement [85] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::c#0 memset::dst#2 ] ( memset:9 [ memset::c#0 memset::dst#2 ] { } ) always clobbers reg byte a +Statement [87] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::c#0 memset::dst#2 ] ( memset:9 [ memset::c#0 memset::dst#2 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:37 [ memset::c#0 ] -Statement [87] *((byte*) memset::dst#2) ← (byte) memset::c#0 [ memset::c#0 memset::dst#2 ] ( memset:9 [ memset::c#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y +Statement [89] *((byte*) memset::dst#2) ← (byte) memset::c#0 [ memset::c#0 memset::dst#2 ] ( memset:9 [ memset::c#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:37 [ memset::c#0 ] -Statement [89] (word~) show::$7 ← (word)(byte) show::y#0 [ show::c#0 show::x#0 show::$7 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$7 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [91] (word~) show::$7 ← (word)(byte) show::y#0 [ show::c#0 show::x#0 show::$7 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$7 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:2 [ main::y#4 main::y#1 ] Removing always clobbered register reg byte a as potential for zp[1]:3 [ main::c#2 main::c#4 main::c#1 ] Removing always clobbered register reg byte a as potential for zp[1]:4 [ main::x#2 main::x#1 ] Removing always clobbered register reg byte a as potential for zp[1]:38 [ show::c#0 ] Removing always clobbered register reg byte a as potential for zp[1]:39 [ show::x#0 ] -Statement [90] (word~) show::$8 ← (word~) show::$7 << (byte) 2 [ show::c#0 show::x#0 show::$7 show::$8 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$7 show::$8 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [91] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 [ show::c#0 show::x#0 show::$9 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$9 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [92] (word~) show::$0 ← (word~) show::$9 << (byte) 4 [ show::c#0 show::x#0 show::$0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [93] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 [ show::c#0 show::x#0 show::$1 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$1 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [94] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 [ show::c#0 show::$1 show::$2 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::$1 show::$2 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [95] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [96] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y +Statement [92] (word~) show::$8 ← (word~) show::$7 << (byte) 2 [ show::c#0 show::x#0 show::$7 show::$8 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$7 show::$8 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [93] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 [ show::c#0 show::x#0 show::$9 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$9 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [94] (word~) show::$0 ← (word~) show::$9 << (byte) 4 [ show::c#0 show::x#0 show::$0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [95] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 [ show::c#0 show::x#0 show::$1 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$1 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [96] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 [ show::c#0 show::$1 show::$2 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::$1 show::$2 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [97] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [98] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:2 [ main::y#4 main::y#1 ] Removing always clobbered register reg byte y as potential for zp[1]:3 [ main::c#2 main::c#4 main::c#1 ] Removing always clobbered register reg byte y as potential for zp[1]:4 [ main::x#2 main::x#1 ] Removing always clobbered register reg byte y as potential for zp[1]:38 [ show::c#0 ] -Statement [98] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y -Statement [100] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y -Statement [102] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) [ ] ( show:15 [ main::y#4 main::c#2 main::x#2 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y -Statement [110] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 [ font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#4 font_find::l#2 ] ( font_compress:5::font_find:64 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#4 font_find::l#2 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:54 [ font_find::font_size#0 ] +Statement [100] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y +Statement [102] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y +Statement [104] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) [ ] ( show:15 [ main::y#4 main::c#2 main::x#2 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y +Statement [112] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 [ font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#4 font_find::l#2 ] ( font_compress:5::font_find:66 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#4 font_find::l#2 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:56 [ font_find::font_size#0 ] Removing always clobbered register reg byte a as potential for zp[1]:34 [ font_find::return#3 font_find::i#2 font_find::i#1 ] Removing always clobbered register reg byte a as potential for zp[1]:35 [ font_find::l#2 font_find::l#1 ] -Statement [115] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 [ font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#1 ] ( font_compress:5::font_find:64 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#1 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a +Statement [117] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 [ font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#1 ] ( font_compress:5::font_find:66 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#1 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a Statement [1] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM [ ] ( [ ] { } ) always clobbers reg byte a Statement [3] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_BASIC_KERNEL_IO [ ] ( [ ] { } ) always clobbers reg byte a Statement [7] *((const nomodify byte*) D018) ← (const byte) main::toD0181_return#0 [ ] ( [ ] { } ) always clobbers reg byte a @@ -3186,29 +3198,29 @@ Statement [33] (word~) font_2x2::$5 ← (word) font_2x2::glyph_bits_2x2#3 << (by Statement [34] (word) font_2x2::glyph_bits_2x2#1 ← (word~) font_2x2::$5 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::glyph_bits_2x2#1 ] { } ) always clobbers reg byte a Statement [35] (word~) font_2x2::$7 ← (word) font_2x2::glyph_bits_2x2#1 << (byte) 1 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bit#0 font_2x2::$7 ] { } ) always clobbers reg byte a Statement [36] (word) font_2x2::glyph_bits_2x2#2 ← (word~) font_2x2::$7 | (byte) font_2x2::glyph_bit#0 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#7 font_2x2::l2#8 font_2x2::next_2x2_right#7 font_2x2::glyph_bits#2 font_2x2::b#2 font_2x2::glyph_bits_2x2#2 ] { } ) always clobbers reg byte a -Statement [50] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a -Statement [51] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a -Statement [55] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( font_2x2:2 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a -Statement [56] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( font_2x2:2 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a -Statement [62] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a -Statement [69] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_compress::l#2 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_compress::l#2 ] { } ) always clobbers reg byte a -Statement [72] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#1 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#1 ] { } ) always clobbers reg byte a -Statement [77] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 [ font_compress::i#4 font_compress::next_original#1 font_compress::next_compressed#7 font_compress::return#1 ] ( font_compress:5 [ font_compress::i#4 font_compress::next_original#1 font_compress::next_compressed#7 font_compress::return#1 ] { } ) always clobbers reg byte a -Statement [85] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::c#0 memset::dst#2 ] ( memset:9 [ memset::c#0 memset::dst#2 ] { } ) always clobbers reg byte a -Statement [87] *((byte*) memset::dst#2) ← (byte) memset::c#0 [ memset::c#0 memset::dst#2 ] ( memset:9 [ memset::c#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y -Statement [89] (word~) show::$7 ← (word)(byte) show::y#0 [ show::c#0 show::x#0 show::$7 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$7 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [90] (word~) show::$8 ← (word~) show::$7 << (byte) 2 [ show::c#0 show::x#0 show::$7 show::$8 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$7 show::$8 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [91] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 [ show::c#0 show::x#0 show::$9 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$9 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [92] (word~) show::$0 ← (word~) show::$9 << (byte) 4 [ show::c#0 show::x#0 show::$0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [93] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 [ show::c#0 show::x#0 show::$1 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$1 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [94] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 [ show::c#0 show::$1 show::$2 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::$1 show::$2 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [95] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a -Statement [96] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y -Statement [98] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y -Statement [100] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y -Statement [102] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) [ ] ( show:15 [ main::y#4 main::c#2 main::x#2 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y -Statement [110] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 [ font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#4 font_find::l#2 ] ( font_compress:5::font_find:64 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#4 font_find::l#2 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a -Statement [115] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 [ font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#1 ] ( font_compress:5::font_find:64 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#1 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a +Statement [52] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 ] { } ) always clobbers reg byte a +Statement [53] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] ( font_2x2:2 [ font_2x2::next_2x2_left#0 font_2x2::next_original#4 font_2x2::c#11 font_2x2::l#2 font_2x2::next_2x2_left#1 font_2x2::next_2x2_right#1 ] { } ) always clobbers reg byte a +Statement [57] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] ( font_2x2:2 [ font_2x2::next_original#4 font_2x2::c#11 font_2x2::next_2x2#1 ] { } ) always clobbers reg byte a +Statement [58] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] ( font_2x2:2 [ font_2x2::c#11 font_2x2::next_2x2#1 font_2x2::next_original#1 ] { } ) always clobbers reg byte a +Statement [64] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a +Statement [71] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_compress::l#2 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_compress::l#2 ] { } ) always clobbers reg byte a +Statement [74] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#1 ] ( font_compress:5 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#1 ] { } ) always clobbers reg byte a +Statement [79] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 [ font_compress::i#4 font_compress::next_original#1 font_compress::next_compressed#7 font_compress::return#1 ] ( font_compress:5 [ font_compress::i#4 font_compress::next_original#1 font_compress::next_compressed#7 font_compress::return#1 ] { } ) always clobbers reg byte a +Statement [87] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 [ memset::c#0 memset::dst#2 ] ( memset:9 [ memset::c#0 memset::dst#2 ] { } ) always clobbers reg byte a +Statement [89] *((byte*) memset::dst#2) ← (byte) memset::c#0 [ memset::c#0 memset::dst#2 ] ( memset:9 [ memset::c#0 memset::dst#2 ] { } ) always clobbers reg byte a reg byte y +Statement [91] (word~) show::$7 ← (word)(byte) show::y#0 [ show::c#0 show::x#0 show::$7 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$7 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [92] (word~) show::$8 ← (word~) show::$7 << (byte) 2 [ show::c#0 show::x#0 show::$7 show::$8 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$7 show::$8 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [93] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 [ show::c#0 show::x#0 show::$9 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$9 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [94] (word~) show::$0 ← (word~) show::$9 << (byte) 4 [ show::c#0 show::x#0 show::$0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [95] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 [ show::c#0 show::x#0 show::$1 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::x#0 show::$1 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [96] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 [ show::c#0 show::$1 show::$2 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::$1 show::$2 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [97] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a +Statement [98] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y +Statement [100] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y +Statement [102] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) [ show::c#0 show::ptr#0 ] ( show:15 [ main::y#4 main::c#2 main::x#2 show::c#0 show::ptr#0 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y +Statement [104] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) [ ] ( show:15 [ main::y#4 main::c#2 main::x#2 ] { { show::c#0 = main::c#2 } { show::x#0 = main::x#2 } { show::y#0 = main::y#4 } } ) always clobbers reg byte a reg byte y +Statement [112] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 [ font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#4 font_find::l#2 ] ( font_compress:5::font_find:66 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#4 font_find::l#2 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a +Statement [117] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 [ font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#1 ] ( font_compress:5::font_find:66 [ font_compress::next_original#2 font_compress::font_size#2 font_compress::i#4 font_compress::next_compressed#4 font_find::glyph#0 font_find::font_size#0 font_find::i#2 font_find::font#1 ] { { font_find::glyph#0 = font_compress::next_original#2 } { font_find::font_size#0 = font_compress::font_size#2 } { font_find::return#0 = font_find::return#3 } } ) always clobbers reg byte a Potential registers zp[1]:2 [ main::y#4 main::y#1 ] : zp[1]:2 , reg byte x , Potential registers zp[1]:3 [ main::c#2 main::c#4 main::c#1 ] : zp[1]:3 , reg byte x , Potential registers zp[1]:4 [ main::x#2 main::x#1 ] : zp[1]:4 , reg byte x , @@ -3243,28 +3255,30 @@ Potential registers zp[1]:41 [ font_2x2::$1 ] : zp[1]:41 , reg byte a , reg byte Potential registers zp[2]:42 [ font_2x2::$5 ] : zp[2]:42 , Potential registers zp[2]:44 [ font_2x2::glyph_bits_2x2#1 ] : zp[2]:44 , Potential registers zp[2]:46 [ font_2x2::$7 ] : zp[2]:46 , -Potential registers zp[1]:48 [ font_2x2::$12 ] : zp[1]:48 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:48 [ font_2x2::$10 ] : zp[1]:48 , reg byte a , reg byte x , reg byte y , Potential registers zp[1]:49 [ font_2x2::$11 ] : zp[1]:49 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:50 [ font_2x2::$15 ] : zp[1]:50 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:51 [ font_2x2::$14 ] : zp[1]:51 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:52 [ font_find::glyph#0 ] : zp[2]:52 , -Potential registers zp[1]:54 [ font_find::font_size#0 ] : zp[1]:54 , reg byte x , reg byte y , -Potential registers zp[1]:55 [ font_find::return#0 ] : zp[1]:55 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:56 [ show::$7 ] : zp[2]:56 , -Potential registers zp[2]:58 [ show::$8 ] : zp[2]:58 , -Potential registers zp[2]:60 [ show::$9 ] : zp[2]:60 , -Potential registers zp[2]:62 [ show::$0 ] : zp[2]:62 , -Potential registers zp[2]:64 [ show::$1 ] : zp[2]:64 , -Potential registers zp[1]:66 [ show::$2 ] : zp[1]:66 , reg byte a , reg byte x , reg byte y , -Potential registers zp[2]:67 [ show::ptr#0 ] : zp[2]:67 , -Potential registers zp[1]:69 [ show::$4 ] : zp[1]:69 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:70 [ show::$5 ] : zp[1]:70 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:71 [ show::$6 ] : zp[1]:71 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:50 [ font_2x2::$12 ] : zp[1]:50 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:51 [ font_2x2::$13 ] : zp[1]:51 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:52 [ font_2x2::$14 ] : zp[1]:52 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:53 [ font_2x2::$15 ] : zp[1]:53 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:54 [ font_find::glyph#0 ] : zp[2]:54 , +Potential registers zp[1]:56 [ font_find::font_size#0 ] : zp[1]:56 , reg byte x , reg byte y , +Potential registers zp[1]:57 [ font_find::return#0 ] : zp[1]:57 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:58 [ show::$7 ] : zp[2]:58 , +Potential registers zp[2]:60 [ show::$8 ] : zp[2]:60 , +Potential registers zp[2]:62 [ show::$9 ] : zp[2]:62 , +Potential registers zp[2]:64 [ show::$0 ] : zp[2]:64 , +Potential registers zp[2]:66 [ show::$1 ] : zp[2]:66 , +Potential registers zp[1]:68 [ show::$2 ] : zp[1]:68 , reg byte a , reg byte x , reg byte y , +Potential registers zp[2]:69 [ show::ptr#0 ] : zp[2]:69 , +Potential registers zp[1]:71 [ show::$4 ] : zp[1]:71 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:72 [ show::$5 ] : zp[1]:72 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:73 [ show::$6 ] : zp[1]:73 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [font_find] 3,500,003.5: zp[1]:35 [ font_find::l#2 font_find::l#1 ] 277,814.22: zp[1]:34 [ font_find::return#3 font_find::i#2 font_find::i#1 ] 250,001.38: zp[2]:32 [ font_find::font#4 font_find::font#1 ] 100,001: zp[1]:36 [ font_find::found#2 ] 76,930.92: zp[2]:52 [ font_find::glyph#0 ] 8,341.83: zp[1]:54 [ font_find::font_size#0 ] 202: zp[1]:55 [ font_find::return#0 ] -Uplift Scope [font_2x2] 20,002: zp[1]:41 [ font_2x2::$1 ] 20,002: zp[2]:42 [ font_2x2::$5 ] 20,002: zp[2]:44 [ font_2x2::glyph_bits_2x2#1 ] 20,002: zp[2]:46 [ font_2x2::$7 ] 17,001.7: zp[1]:19 [ font_2x2::b#2 font_2x2::b#1 ] 12,114.22: zp[1]:16 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] 6,750.9: zp[2]:17 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] 5,000.5: zp[1]:20 [ font_2x2::glyph_bit#0 ] 3,275.04: zp[2]:14 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] 2,441.83: zp[1]:13 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] 2,375.04: zp[2]:11 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] 2,002: zp[1]:49 [ font_2x2::$11 ] 2,002: zp[1]:51 [ font_2x2::$14 ] 1,612.72: zp[1]:10 [ font_2x2::l#2 font_2x2::l#1 ] 1,001: zp[1]:48 [ font_2x2::$12 ] 1,001: zp[1]:50 [ font_2x2::$15 ] 157.44: zp[1]:9 [ font_2x2::c#11 font_2x2::c#1 ] 125.69: zp[2]:5 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] 103.79: zp[2]:7 [ font_2x2::next_original#4 font_2x2::next_original#1 ] -Uplift Scope [show] 2,002: zp[2]:58 [ show::$8 ] 2,002: zp[2]:60 [ show::$9 ] 2,002: zp[2]:62 [ show::$0 ] 2,002: zp[1]:66 [ show::$2 ] 2,002: zp[1]:69 [ show::$4 ] 2,002: zp[1]:70 [ show::$5 ] 2,002: zp[1]:71 [ show::$6 ] 1,501.5: zp[2]:56 [ show::$7 ] 1,001: zp[2]:64 [ show::$1 ] 715: zp[2]:67 [ show::ptr#0 ] 273.67: zp[1]:38 [ show::c#0 ] 157.43: zp[1]:39 [ show::x#0 ] 101: zp[1]:40 [ show::y#0 ] +Uplift Scope [font_find] 3,500,003.5: zp[1]:35 [ font_find::l#2 font_find::l#1 ] 277,814.22: zp[1]:34 [ font_find::return#3 font_find::i#2 font_find::i#1 ] 250,001.38: zp[2]:32 [ font_find::font#4 font_find::font#1 ] 100,001: zp[1]:36 [ font_find::found#2 ] 76,930.92: zp[2]:54 [ font_find::glyph#0 ] 8,341.83: zp[1]:56 [ font_find::font_size#0 ] 202: zp[1]:57 [ font_find::return#0 ] +Uplift Scope [font_2x2] 20,002: zp[1]:41 [ font_2x2::$1 ] 20,002: zp[2]:42 [ font_2x2::$5 ] 20,002: zp[2]:44 [ font_2x2::glyph_bits_2x2#1 ] 20,002: zp[2]:46 [ font_2x2::$7 ] 17,001.7: zp[1]:19 [ font_2x2::b#2 font_2x2::b#1 ] 12,114.22: zp[1]:16 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] 6,000.9: zp[2]:17 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] 5,000.5: zp[1]:20 [ font_2x2::glyph_bit#0 ] 3,261.88: zp[2]:14 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] 2,419.08: zp[1]:13 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] 2,361.88: zp[2]:11 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] 2,002: zp[1]:48 [ font_2x2::$10 ] 2,002: zp[1]:50 [ font_2x2::$12 ] 2,002: zp[1]:51 [ font_2x2::$13 ] 2,002: zp[1]:53 [ font_2x2::$15 ] 1,605.05: zp[1]:10 [ font_2x2::l#2 font_2x2::l#1 ] 1,001: zp[1]:49 [ font_2x2::$11 ] 1,001: zp[1]:52 [ font_2x2::$14 ] 157.11: zp[1]:9 [ font_2x2::c#11 font_2x2::c#1 ] 121.26: zp[2]:5 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] 101.7: zp[2]:7 [ font_2x2::next_original#4 font_2x2::next_original#1 ] +Uplift Scope [show] 2,002: zp[2]:60 [ show::$8 ] 2,002: zp[2]:62 [ show::$9 ] 2,002: zp[2]:64 [ show::$0 ] 2,002: zp[1]:68 [ show::$2 ] 2,002: zp[1]:71 [ show::$4 ] 2,002: zp[1]:72 [ show::$5 ] 2,002: zp[1]:73 [ show::$6 ] 1,501.5: zp[2]:58 [ show::$7 ] 1,001: zp[2]:66 [ show::$1 ] 715: zp[2]:69 [ show::ptr#0 ] 273.67: zp[1]:38 [ show::c#0 ] 157.43: zp[1]:39 [ show::x#0 ] 101: zp[1]:40 [ show::y#0 ] Uplift Scope [font_compress] 3,503.5: zp[1]:27 [ font_compress::l#2 font_compress::l#1 ] 606: zp[1]:28 [ font_compress::found#2 font_compress::found#3 font_compress::found#0 ] 363.6: zp[1]:29 [ font_compress::return#1 font_compress::font_size#1 font_compress::return#5 ] 240.85: zp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 ] 226.5: zp[2]:25 [ font_compress::next_compressed#4 font_compress::next_compressed#7 font_compress::next_compressed#1 ] 127.21: zp[2]:21 [ font_compress::next_original#2 font_compress::next_original#1 ] 117.83: zp[1]:24 [ font_compress::i#4 font_compress::i#1 ] Uplift Scope [main] 202: zp[1]:4 [ main::x#2 main::x#1 ] 127.4: zp[1]:3 [ main::c#2 main::c#4 main::c#1 ] 30.17: zp[1]:2 [ main::y#4 main::y#1 ] Uplift Scope [memset] 336.67: zp[2]:30 [ memset::dst#2 memset::dst#1 ] 17.17: zp[1]:37 [ memset::c#0 ] @@ -3273,74 +3287,78 @@ Uplift Scope [MOS6569_VICII] Uplift Scope [MOS6581_SID] Uplift Scope [] -Uplifting [font_find] best 204471 combination reg byte y [ font_find::l#2 font_find::l#1 ] reg byte x [ font_find::return#3 font_find::i#2 font_find::i#1 ] zp[2]:32 [ font_find::font#4 font_find::font#1 ] reg byte a [ font_find::found#2 ] zp[2]:52 [ font_find::glyph#0 ] zp[1]:54 [ font_find::font_size#0 ] zp[1]:55 [ font_find::return#0 ] +Uplifting [font_find] best 205671 combination reg byte y [ font_find::l#2 font_find::l#1 ] reg byte x [ font_find::return#3 font_find::i#2 font_find::i#1 ] zp[2]:32 [ font_find::font#4 font_find::font#1 ] reg byte a [ font_find::found#2 ] zp[2]:54 [ font_find::glyph#0 ] zp[1]:56 [ font_find::font_size#0 ] zp[1]:57 [ font_find::return#0 ] Limited combination testing to 100 combinations of 432 possible. -Uplifting [font_2x2] best 181471 combination reg byte a [ font_2x2::$1 ] zp[2]:42 [ font_2x2::$5 ] zp[2]:44 [ font_2x2::glyph_bits_2x2#1 ] zp[2]:46 [ font_2x2::$7 ] reg byte y [ font_2x2::b#2 font_2x2::b#1 ] zp[1]:16 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] zp[2]:17 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] reg byte x [ font_2x2::glyph_bit#0 ] zp[2]:14 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] zp[1]:13 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] zp[2]:11 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] zp[1]:49 [ font_2x2::$11 ] zp[1]:51 [ font_2x2::$14 ] zp[1]:10 [ font_2x2::l#2 font_2x2::l#1 ] zp[1]:48 [ font_2x2::$12 ] zp[1]:50 [ font_2x2::$15 ] zp[1]:9 [ font_2x2::c#11 font_2x2::c#1 ] zp[2]:5 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] zp[2]:7 [ font_2x2::next_original#4 font_2x2::next_original#1 ] -Limited combination testing to 100 combinations of 746496 possible. -Uplifting [show] best 181451 combination zp[2]:58 [ show::$8 ] zp[2]:60 [ show::$9 ] zp[2]:62 [ show::$0 ] reg byte a [ show::$2 ] reg byte x [ show::$4 ] reg byte a [ show::$5 ] reg byte a [ show::$6 ] zp[2]:56 [ show::$7 ] zp[2]:64 [ show::$1 ] zp[2]:67 [ show::ptr#0 ] zp[1]:38 [ show::c#0 ] zp[1]:39 [ show::x#0 ] zp[1]:40 [ show::y#0 ] +Uplifting [font_2x2] best 182671 combination reg byte a [ font_2x2::$1 ] zp[2]:42 [ font_2x2::$5 ] zp[2]:44 [ font_2x2::glyph_bits_2x2#1 ] zp[2]:46 [ font_2x2::$7 ] reg byte y [ font_2x2::b#2 font_2x2::b#1 ] zp[1]:16 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] zp[2]:17 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] reg byte x [ font_2x2::glyph_bit#0 ] zp[2]:14 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] zp[1]:13 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] zp[2]:11 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] zp[1]:48 [ font_2x2::$10 ] zp[1]:50 [ font_2x2::$12 ] zp[1]:51 [ font_2x2::$13 ] zp[1]:53 [ font_2x2::$15 ] zp[1]:10 [ font_2x2::l#2 font_2x2::l#1 ] zp[1]:49 [ font_2x2::$11 ] zp[1]:52 [ font_2x2::$14 ] zp[1]:9 [ font_2x2::c#11 font_2x2::c#1 ] zp[2]:5 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] zp[2]:7 [ font_2x2::next_original#4 font_2x2::next_original#1 ] +Limited combination testing to 100 combinations of 11943936 possible. +Uplifting [show] best 182651 combination zp[2]:60 [ show::$8 ] zp[2]:62 [ show::$9 ] zp[2]:64 [ show::$0 ] reg byte a [ show::$2 ] reg byte x [ show::$4 ] reg byte a [ show::$5 ] reg byte a [ show::$6 ] zp[2]:58 [ show::$7 ] zp[2]:66 [ show::$1 ] zp[2]:69 [ show::ptr#0 ] zp[1]:38 [ show::c#0 ] zp[1]:39 [ show::x#0 ] zp[1]:40 [ show::y#0 ] Limited combination testing to 100 combinations of 6144 possible. -Uplifting [font_compress] best 180041 combination reg byte y [ font_compress::l#2 font_compress::l#1 ] reg byte a [ font_compress::found#2 font_compress::found#3 font_compress::found#0 ] reg byte x [ font_compress::return#1 font_compress::font_size#1 font_compress::return#5 ] zp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 ] zp[2]:25 [ font_compress::next_compressed#4 font_compress::next_compressed#7 font_compress::next_compressed#1 ] zp[2]:21 [ font_compress::next_original#2 font_compress::next_original#1 ] zp[1]:24 [ font_compress::i#4 font_compress::i#1 ] +Uplifting [font_compress] best 181241 combination reg byte y [ font_compress::l#2 font_compress::l#1 ] reg byte a [ font_compress::found#2 font_compress::found#3 font_compress::found#0 ] reg byte x [ font_compress::return#1 font_compress::font_size#1 font_compress::return#5 ] zp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 ] zp[2]:25 [ font_compress::next_compressed#4 font_compress::next_compressed#7 font_compress::next_compressed#1 ] zp[2]:21 [ font_compress::next_original#2 font_compress::next_original#1 ] zp[1]:24 [ font_compress::i#4 font_compress::i#1 ] Limited combination testing to 100 combinations of 324 possible. -Uplifting [main] best 180041 combination zp[1]:4 [ main::x#2 main::x#1 ] zp[1]:3 [ main::c#2 main::c#4 main::c#1 ] zp[1]:2 [ main::y#4 main::y#1 ] -Uplifting [memset] best 180028 combination zp[2]:30 [ memset::dst#2 memset::dst#1 ] reg byte x [ memset::c#0 ] -Uplifting [MOS6526_CIA] best 180028 combination -Uplifting [MOS6569_VICII] best 180028 combination -Uplifting [MOS6581_SID] best 180028 combination -Uplifting [] best 180028 combination +Uplifting [main] best 181241 combination zp[1]:4 [ main::x#2 main::x#1 ] zp[1]:3 [ main::c#2 main::c#4 main::c#1 ] zp[1]:2 [ main::y#4 main::y#1 ] +Uplifting [memset] best 181228 combination zp[2]:30 [ memset::dst#2 memset::dst#1 ] reg byte x [ memset::c#0 ] +Uplifting [MOS6526_CIA] best 181228 combination +Uplifting [MOS6569_VICII] best 181228 combination +Uplifting [MOS6581_SID] best 181228 combination +Uplifting [] best 181228 combination Attempting to uplift remaining variables inzp[1]:16 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] -Uplifting [font_2x2] best 180028 combination zp[1]:16 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] -Attempting to uplift remaining variables inzp[1]:54 [ font_find::font_size#0 ] -Uplifting [font_find] best 180028 combination zp[1]:54 [ font_find::font_size#0 ] +Uplifting [font_2x2] best 181228 combination zp[1]:16 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] +Attempting to uplift remaining variables inzp[1]:56 [ font_find::font_size#0 ] +Uplifting [font_find] best 181228 combination zp[1]:56 [ font_find::font_size#0 ] Attempting to uplift remaining variables inzp[1]:13 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] -Uplifting [font_2x2] best 180028 combination zp[1]:13 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] -Attempting to uplift remaining variables inzp[1]:49 [ font_2x2::$11 ] -Uplifting [font_2x2] best 179428 combination reg byte y [ font_2x2::$11 ] -Attempting to uplift remaining variables inzp[1]:51 [ font_2x2::$14 ] -Uplifting [font_2x2] best 178828 combination reg byte y [ font_2x2::$14 ] +Uplifting [font_2x2] best 181228 combination zp[1]:13 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] +Attempting to uplift remaining variables inzp[1]:48 [ font_2x2::$10 ] +Uplifting [font_2x2] best 180628 combination reg byte a [ font_2x2::$10 ] +Attempting to uplift remaining variables inzp[1]:50 [ font_2x2::$12 ] +Uplifting [font_2x2] best 180028 combination reg byte a [ font_2x2::$12 ] +Attempting to uplift remaining variables inzp[1]:51 [ font_2x2::$13 ] +Uplifting [font_2x2] best 179428 combination reg byte a [ font_2x2::$13 ] +Attempting to uplift remaining variables inzp[1]:53 [ font_2x2::$15 ] +Uplifting [font_2x2] best 178828 combination reg byte a [ font_2x2::$15 ] Attempting to uplift remaining variables inzp[1]:10 [ font_2x2::l#2 font_2x2::l#1 ] Uplifting [font_2x2] best 178828 combination zp[1]:10 [ font_2x2::l#2 font_2x2::l#1 ] -Attempting to uplift remaining variables inzp[1]:48 [ font_2x2::$12 ] -Uplifting [font_2x2] best 177928 combination reg byte a [ font_2x2::$12 ] -Attempting to uplift remaining variables inzp[1]:50 [ font_2x2::$15 ] -Uplifting [font_2x2] best 177028 combination reg byte a [ font_2x2::$15 ] +Attempting to uplift remaining variables inzp[1]:49 [ font_2x2::$11 ] +Uplifting [font_2x2] best 178228 combination reg byte y [ font_2x2::$11 ] +Attempting to uplift remaining variables inzp[1]:52 [ font_2x2::$14 ] +Uplifting [font_2x2] best 177628 combination reg byte y [ font_2x2::$14 ] Attempting to uplift remaining variables inzp[1]:38 [ show::c#0 ] -Uplifting [show] best 177028 combination zp[1]:38 [ show::c#0 ] +Uplifting [show] best 177628 combination zp[1]:38 [ show::c#0 ] Attempting to uplift remaining variables inzp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 ] -Uplifting [font_compress] best 177028 combination zp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 ] +Uplifting [font_compress] best 177628 combination zp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 ] Attempting to uplift remaining variables inzp[1]:4 [ main::x#2 main::x#1 ] -Uplifting [main] best 177028 combination zp[1]:4 [ main::x#2 main::x#1 ] -Attempting to uplift remaining variables inzp[1]:55 [ font_find::return#0 ] -Uplifting [font_find] best 176988 combination reg byte a [ font_find::return#0 ] -Attempting to uplift remaining variables inzp[1]:9 [ font_2x2::c#11 font_2x2::c#1 ] -Uplifting [font_2x2] best 176988 combination zp[1]:9 [ font_2x2::c#11 font_2x2::c#1 ] +Uplifting [main] best 177628 combination zp[1]:4 [ main::x#2 main::x#1 ] +Attempting to uplift remaining variables inzp[1]:57 [ font_find::return#0 ] +Uplifting [font_find] best 177588 combination reg byte a [ font_find::return#0 ] Attempting to uplift remaining variables inzp[1]:39 [ show::x#0 ] -Uplifting [show] best 176687 combination reg byte x [ show::x#0 ] +Uplifting [show] best 177287 combination reg byte x [ show::x#0 ] +Attempting to uplift remaining variables inzp[1]:9 [ font_2x2::c#11 font_2x2::c#1 ] +Uplifting [font_2x2] best 177287 combination zp[1]:9 [ font_2x2::c#11 font_2x2::c#1 ] Attempting to uplift remaining variables inzp[1]:3 [ main::c#2 main::c#4 main::c#1 ] -Uplifting [main] best 176687 combination zp[1]:3 [ main::c#2 main::c#4 main::c#1 ] +Uplifting [main] best 177287 combination zp[1]:3 [ main::c#2 main::c#4 main::c#1 ] Attempting to uplift remaining variables inzp[1]:24 [ font_compress::i#4 font_compress::i#1 ] -Uplifting [font_compress] best 176687 combination zp[1]:24 [ font_compress::i#4 font_compress::i#1 ] +Uplifting [font_compress] best 177287 combination zp[1]:24 [ font_compress::i#4 font_compress::i#1 ] Attempting to uplift remaining variables inzp[1]:40 [ show::y#0 ] -Uplifting [show] best 176384 combination reg byte a [ show::y#0 ] +Uplifting [show] best 176984 combination reg byte a [ show::y#0 ] Attempting to uplift remaining variables inzp[1]:2 [ main::y#4 main::y#1 ] -Uplifting [main] best 176384 combination zp[1]:2 [ main::y#4 main::y#1 ] +Uplifting [main] best 176984 combination zp[1]:2 [ main::y#4 main::y#1 ] Coalescing zero page register [ zp[1]:3 [ main::c#2 main::c#4 main::c#1 ] ] with [ zp[1]:38 [ show::c#0 ] ] - score: 1 Coalescing zero page register [ zp[2]:17 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 ] ] with [ zp[2]:42 [ font_2x2::$5 ] ] - score: 1 Coalescing zero page register [ zp[2]:17 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 ] ] with [ zp[2]:46 [ font_2x2::$7 ] ] - score: 1 -Coalescing zero page register [ zp[2]:21 [ font_compress::next_original#2 font_compress::next_original#1 ] ] with [ zp[2]:52 [ font_find::glyph#0 ] ] - score: 1 -Coalescing zero page register [ zp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 ] ] with [ zp[1]:54 [ font_find::font_size#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:56 [ show::$7 ] ] with [ zp[2]:60 [ show::$9 ] ] - score: 1 -Coalescing zero page register [ zp[2]:62 [ show::$0 ] ] with [ zp[2]:64 [ show::$1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:21 [ font_compress::next_original#2 font_compress::next_original#1 ] ] with [ zp[2]:54 [ font_find::glyph#0 ] ] - score: 1 +Coalescing zero page register [ zp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 ] ] with [ zp[1]:56 [ font_find::font_size#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:58 [ show::$7 ] ] with [ zp[2]:62 [ show::$9 ] ] - score: 1 +Coalescing zero page register [ zp[2]:64 [ show::$0 ] ] with [ zp[2]:66 [ show::$1 ] ] - score: 1 Coalescing zero page register [ zp[2]:17 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 ] ] with [ zp[2]:44 [ font_2x2::glyph_bits_2x2#1 ] ] - score: 2 -Coalescing zero page register [ zp[2]:56 [ show::$7 show::$9 ] ] with [ zp[2]:62 [ show::$0 show::$1 ] ] - score: 1 -Coalescing zero page register [ zp[2]:56 [ show::$7 show::$9 show::$0 show::$1 ] ] with [ zp[2]:67 [ show::ptr#0 ] ] - score: 1 +Coalescing zero page register [ zp[2]:58 [ show::$7 show::$9 ] ] with [ zp[2]:64 [ show::$0 show::$1 ] ] - score: 1 +Coalescing zero page register [ zp[2]:58 [ show::$7 show::$9 show::$0 show::$1 ] ] with [ zp[2]:69 [ show::ptr#0 ] ] - score: 1 Coalescing zero page register [ zp[2]:21 [ font_compress::next_original#2 font_compress::next_original#1 font_find::glyph#0 ] ] with [ zp[2]:5 [ font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] ] Coalescing zero page register [ zp[1]:23 [ font_compress::font_size#2 font_compress::font_size#9 font_find::font_size#0 ] ] with [ zp[1]:9 [ font_2x2::c#11 font_2x2::c#1 ] ] Coalescing zero page register [ zp[1]:24 [ font_compress::i#4 font_compress::i#1 ] ] with [ zp[1]:10 [ font_2x2::l#2 font_2x2::l#1 ] ] Coalescing zero page register [ zp[2]:25 [ font_compress::next_compressed#4 font_compress::next_compressed#7 font_compress::next_compressed#1 ] ] with [ zp[2]:7 [ font_2x2::next_original#4 font_2x2::next_original#1 ] ] Coalescing zero page register [ zp[2]:30 [ memset::dst#2 memset::dst#1 ] ] with [ zp[2]:11 [ font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] ] Coalescing zero page register [ zp[2]:32 [ font_find::font#4 font_find::font#1 ] ] with [ zp[2]:14 [ font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] ] -Coalescing zero page register [ zp[2]:56 [ show::$7 show::$9 show::$0 show::$1 show::ptr#0 ] ] with [ zp[2]:17 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ] ] -Coalescing zero page register [ zp[2]:58 [ show::$8 ] ] with [ zp[2]:21 [ font_compress::next_original#2 font_compress::next_original#1 font_find::glyph#0 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] ] +Coalescing zero page register [ zp[2]:58 [ show::$7 show::$9 show::$0 show::$1 show::ptr#0 ] ] with [ zp[2]:17 [ font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ] ] +Coalescing zero page register [ zp[2]:60 [ show::$8 ] ] with [ zp[2]:21 [ font_compress::next_original#2 font_compress::next_original#1 font_find::glyph#0 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] ] Allocated (was zp[1]:13) zp[1]:5 [ font_2x2::l2#8 font_2x2::l2#9 font_2x2::l2#1 ] Allocated (was zp[1]:16) zp[1]:6 [ font_2x2::glyph_bits#2 font_2x2::glyph_bits#0 font_2x2::glyph_bits#1 ] Allocated (was zp[1]:23) zp[1]:7 [ font_compress::font_size#2 font_compress::font_size#9 font_find::font_size#0 font_2x2::c#11 font_2x2::c#1 ] @@ -3348,8 +3366,8 @@ Allocated (was zp[1]:24) zp[1]:8 [ font_compress::i#4 font_compress::i#1 font_2x Allocated (was zp[2]:25) zp[2]:9 [ font_compress::next_compressed#4 font_compress::next_compressed#7 font_compress::next_compressed#1 font_2x2::next_original#4 font_2x2::next_original#1 ] Allocated (was zp[2]:30) zp[2]:11 [ memset::dst#2 memset::dst#1 font_2x2::next_2x2_left#7 font_2x2::next_2x2_left#10 font_2x2::next_2x2_left#8 font_2x2::next_2x2_left#1 ] Allocated (was zp[2]:32) zp[2]:13 [ font_find::font#4 font_find::font#1 font_2x2::next_2x2_right#7 font_2x2::next_2x2_right#0 font_2x2::next_2x2_right#8 font_2x2::next_2x2_right#1 ] -Allocated (was zp[2]:56) zp[2]:15 [ show::$7 show::$9 show::$0 show::$1 show::ptr#0 font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ] -Allocated (was zp[2]:58) zp[2]:17 [ show::$8 font_compress::next_original#2 font_compress::next_original#1 font_find::glyph#0 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] +Allocated (was zp[2]:58) zp[2]:15 [ show::$7 show::$9 show::$0 show::$1 show::ptr#0 font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ] +Allocated (was zp[2]:60) zp[2]:17 [ show::$8 font_compress::next_original#2 font_compress::next_original#1 font_find::glyph#0 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -3396,7 +3414,7 @@ main: { // asm { cli } cli // [5] call font_compress - // [60] phi from main::@6 to font_compress [phi:main::@6->font_compress] + // [62] phi from main::@6 to font_compress [phi:main::@6->font_compress] font_compress_from___b6: jsr font_compress // [6] phi from main::@6 to main::toD0181 [phi:main::@6->main::toD0181] @@ -3415,7 +3433,7 @@ main: { ldx FONT_COMPRESSED_MAP+' ' // [9] call memset // Clear the screen - // [83] phi from main::@5 to memset [phi:main::@5->memset] + // [85] phi from main::@5 to memset [phi:main::@5->memset] memset_from___b5: jsr memset // [10] phi from main::@5 to main::@1 [phi:main::@5->main::@1] @@ -3625,40 +3643,44 @@ font_2x2: { jmp __b6 // font_2x2::@6 __b6: - // [40] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 + // [40] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 lda.z glyph_bits_2x2+1 - // [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuaa + // [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 -- pbuz1_derefidx_vbuz2=vbuaa // Put the generated 2x2-line into the 2x2-font twice ldy.z l2 sta (next_2x2_left_1),y // [42] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuyy=vbuz1_plus_1 ldy.z l2 iny - // [43] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuyy=vbuaa + // [43] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 + lda.z glyph_bits_2x2+1 + // [44] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuyy=vbuaa sta (next_2x2_left_1),y - // [44] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_lo_vwuz1 + // [45] (byte~) font_2x2::$13 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_lo_vwuz1 lda.z glyph_bits_2x2 - // [45] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuz2=vbuaa + // [46] *((byte*) font_2x2::next_2x2_right#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$13 -- pbuz1_derefidx_vbuz2=vbuaa ldy.z l2 sta (next_2x2_right),y - // [46] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuyy=vbuz1_plus_1 + // [47] (byte~) font_2x2::$14 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuyy=vbuz1_plus_1 ldy.z l2 iny - // [47] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuyy=vbuaa + // [48] (byte~) font_2x2::$15 ← < (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_lo_vwuz1 + lda.z glyph_bits_2x2 + // [49] *((byte*) font_2x2::next_2x2_right#7 + (byte~) font_2x2::$14) ← (byte~) font_2x2::$15 -- pbuz1_derefidx_vbuyy=vbuaa sta (next_2x2_right),y - // [48] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 -- vbuz1=vbuz1_plus_2 + // [50] (byte) font_2x2::l2#1 ← (byte) font_2x2::l2#8 + (byte) 2 -- vbuz1=vbuz1_plus_2 lda.z l2 clc adc #2 sta.z l2 - // [49] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 -- vbuz1_neq_vbuc1_then_la1 + // [51] if((byte) font_2x2::l2#1!=(byte) 8) goto font_2x2::@8 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l2 bne __b8_from___b6 jmp __b7 // font_2x2::@7 __b7: - // [50] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [52] (byte*) font_2x2::next_2x2_left#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $80*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$80*8 @@ -3666,7 +3688,7 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$80*8 sta.z next_2x2_left_1+1 - // [51] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [53] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$c0*8 @@ -3674,32 +3696,32 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$c0*8 sta.z next_2x2_right+1 - // [52] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] + // [54] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] __b8_from___b7: - // [52] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy - // [52] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 + // [54] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy + // [54] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 lda #0 sta.z l2 - // [52] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy + // [54] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy jmp __b8 - // [52] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] + // [54] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] __b8_from___b6: - // [52] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy - // [52] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy - // [52] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy + // [54] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy + // [54] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy + // [54] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy jmp __b8 // font_2x2::@8 __b8: - // [53] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 + // [55] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [54] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 + // [56] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l bne __b2_from___b8 jmp __b9 // font_2x2::@9 __b9: - // [55] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [57] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_2x2 @@ -3707,7 +3729,7 @@ font_2x2: { bcc !+ inc.z next_2x2+1 !: - // [56] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [58] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_original @@ -3715,16 +3737,16 @@ font_2x2: { bcc !+ inc.z next_original+1 !: - // [57] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 + // [59] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 inc.z c - // [58] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [60] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$40 cmp.z c bne __b1_from___b9 jmp __breturn // font_2x2::@return __breturn: - // [59] return + // [61] return rts } // font_compress @@ -3737,20 +3759,20 @@ font_compress: { .label i = 8 .label next_compressed = 9 .label font_size = 7 - // [61] phi from font_compress to font_compress::@1 [phi:font_compress->font_compress::@1] + // [63] phi from font_compress to font_compress::@1 [phi:font_compress->font_compress::@1] __b1_from_font_compress: - // [61] phi (byte*) font_compress::next_compressed#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_compress->font_compress::@1#0] -- pbuz1=pbuc1 + // [63] phi (byte*) font_compress::next_compressed#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_compress->font_compress::@1#0] -- pbuz1=pbuc1 lda #FONT_COMPRESSED sta.z next_compressed+1 - // [61] phi (byte) font_compress::i#4 = (byte) 0 [phi:font_compress->font_compress::@1#1] -- vbuz1=vbuc1 + // [63] phi (byte) font_compress::i#4 = (byte) 0 [phi:font_compress->font_compress::@1#1] -- vbuz1=vbuc1 lda #0 sta.z i - // [61] phi (byte) font_compress::font_size#2 = (byte) 0 [phi:font_compress->font_compress::@1#2] -- vbuz1=vbuc1 + // [63] phi (byte) font_compress::font_size#2 = (byte) 0 [phi:font_compress->font_compress::@1#2] -- vbuz1=vbuc1 lda #0 sta.z font_size - // [61] phi (byte*) font_compress::next_original#2 = (const nomodify byte*) FONT_ORIGINAL [phi:font_compress->font_compress::@1#3] -- pbuz1=pbuc1 + // [63] phi (byte*) font_compress::next_original#2 = (const nomodify byte*) FONT_ORIGINAL [phi:font_compress->font_compress::@1#3] -- pbuz1=pbuc1 lda #FONT_ORIGINAL @@ -3758,45 +3780,45 @@ font_compress: { jmp __b1 // font_compress::@1 __b1: - // [62] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 - // [63] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 - // [64] call font_find - // [104] phi from font_compress::@1 to font_find [phi:font_compress::@1->font_find] + // [64] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 + // [65] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 + // [66] call font_find + // [106] phi from font_compress::@1 to font_find [phi:font_compress::@1->font_find] font_find_from___b1: jsr font_find - // [65] (byte) font_find::return#0 ← (byte) font_find::return#3 -- vbuaa=vbuxx + // [67] (byte) font_find::return#0 ← (byte) font_find::return#3 -- vbuaa=vbuxx txa jmp __b5 // font_compress::@5 __b5: - // [66] (byte) font_compress::found#0 ← (byte) font_find::return#0 - // [67] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 -- vbuaa_neq_vbuc1_then_la1 + // [68] (byte) font_compress::found#0 ← (byte) font_find::return#0 + // [69] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 -- vbuaa_neq_vbuc1_then_la1 cmp #$ff bne __b7 - // [68] phi from font_compress::@5 to font_compress::@3 [phi:font_compress::@5->font_compress::@3] + // [70] phi from font_compress::@5 to font_compress::@3 [phi:font_compress::@5->font_compress::@3] __b3_from___b5: - // [68] phi (byte) font_compress::l#2 = (byte) 0 [phi:font_compress::@5->font_compress::@3#0] -- vbuyy=vbuc1 + // [70] phi (byte) font_compress::l#2 = (byte) 0 [phi:font_compress::@5->font_compress::@3#0] -- vbuyy=vbuc1 ldy #0 jmp __b3 // Glyph not found - create it - // [68] phi from font_compress::@3 to font_compress::@3 [phi:font_compress::@3->font_compress::@3] + // [70] phi from font_compress::@3 to font_compress::@3 [phi:font_compress::@3->font_compress::@3] __b3_from___b3: - // [68] phi (byte) font_compress::l#2 = (byte) font_compress::l#1 [phi:font_compress::@3->font_compress::@3#0] -- register_copy + // [70] phi (byte) font_compress::l#2 = (byte) font_compress::l#1 [phi:font_compress::@3->font_compress::@3#0] -- register_copy jmp __b3 // font_compress::@3 __b3: - // [69] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) -- pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy + // [71] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) -- pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy lda (next_original),y sta (next_compressed),y - // [70] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 -- vbuyy=_inc_vbuyy + // [72] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 -- vbuyy=_inc_vbuyy iny - // [71] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 -- vbuyy_neq_vbuc1_then_la1 + // [73] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 -- vbuyy_neq_vbuc1_then_la1 cpy #8 bne __b3_from___b3 jmp __b4 // font_compress::@4 __b4: - // [72] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [74] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_compressed @@ -3804,24 +3826,24 @@ font_compress: { bcc !+ inc.z next_compressed+1 !: - // [73] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 -- vbuxx=_inc_vbuz1 + // [75] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 -- vbuxx=_inc_vbuz1 ldx.z font_size inx - // [74] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 -- vbuaa=vbuz1 + // [76] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 -- vbuaa=vbuz1 lda.z font_size - // [75] phi from font_compress::@4 font_compress::@7 to font_compress::@2 [phi:font_compress::@4/font_compress::@7->font_compress::@2] + // [77] phi from font_compress::@4 font_compress::@7 to font_compress::@2 [phi:font_compress::@4/font_compress::@7->font_compress::@2] __b2_from___b4: __b2_from___b7: - // [75] phi (byte*) font_compress::next_compressed#7 = (byte*) font_compress::next_compressed#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#0] -- register_copy - // [75] phi (byte) font_compress::return#1 = (byte) font_compress::font_size#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#1] -- register_copy - // [75] phi (byte) font_compress::found#2 = (byte) font_compress::found#3 [phi:font_compress::@4/font_compress::@7->font_compress::@2#2] -- register_copy + // [77] phi (byte*) font_compress::next_compressed#7 = (byte*) font_compress::next_compressed#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#0] -- register_copy + // [77] phi (byte) font_compress::return#1 = (byte) font_compress::font_size#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#1] -- register_copy + // [77] phi (byte) font_compress::found#2 = (byte) font_compress::found#3 [phi:font_compress::@4/font_compress::@7->font_compress::@2#2] -- register_copy jmp __b2 // font_compress::@2 __b2: - // [76] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 -- pbuc1_derefidx_vbuz1=vbuaa + // [78] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 -- pbuc1_derefidx_vbuz1=vbuaa ldy.z i sta FONT_COMPRESSED_MAP,y - // [77] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [79] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_original @@ -3829,31 +3851,31 @@ font_compress: { bcc !+ inc.z next_original+1 !: - // [78] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 -- vbuz1=_inc_vbuz1 + // [80] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 -- vbuz1=_inc_vbuz1 inc.z i - // [79] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 -- vbuz1_neq_0_then_la1 + // [81] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 -- vbuz1_neq_0_then_la1 lda.z i cmp #0 bne __b6 jmp __breturn // font_compress::@return __breturn: - // [80] return + // [82] return rts // font_compress::@6 __b6: - // [81] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 -- vbuz1=vbuxx + // [83] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 -- vbuz1=vbuxx stx.z font_size - // [61] phi from font_compress::@6 to font_compress::@1 [phi:font_compress::@6->font_compress::@1] + // [63] phi from font_compress::@6 to font_compress::@1 [phi:font_compress::@6->font_compress::@1] __b1_from___b6: - // [61] phi (byte*) font_compress::next_compressed#4 = (byte*) font_compress::next_compressed#7 [phi:font_compress::@6->font_compress::@1#0] -- register_copy - // [61] phi (byte) font_compress::i#4 = (byte) font_compress::i#1 [phi:font_compress::@6->font_compress::@1#1] -- register_copy - // [61] phi (byte) font_compress::font_size#2 = (byte) font_compress::font_size#9 [phi:font_compress::@6->font_compress::@1#2] -- register_copy - // [61] phi (byte*) font_compress::next_original#2 = (byte*) font_compress::next_original#1 [phi:font_compress::@6->font_compress::@1#3] -- register_copy + // [63] phi (byte*) font_compress::next_compressed#4 = (byte*) font_compress::next_compressed#7 [phi:font_compress::@6->font_compress::@1#0] -- register_copy + // [63] phi (byte) font_compress::i#4 = (byte) font_compress::i#1 [phi:font_compress::@6->font_compress::@1#1] -- register_copy + // [63] phi (byte) font_compress::font_size#2 = (byte) font_compress::font_size#9 [phi:font_compress::@6->font_compress::@1#2] -- register_copy + // [63] phi (byte*) font_compress::next_original#2 = (byte*) font_compress::next_original#1 [phi:font_compress::@6->font_compress::@1#3] -- register_copy jmp __b1 // font_compress::@7 __b7: - // [82] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 -- vbuxx=vbuz1 + // [84] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 -- vbuxx=vbuz1 ldx.z font_size jmp __b2_from___b7 } @@ -3865,9 +3887,9 @@ memset: { .label str = SCREEN .label end = str+num .label dst = $b - // [84] phi from memset to memset::@1 [phi:memset->memset::@1] + // [86] phi from memset to memset::@1 [phi:memset->memset::@1] __b1_from_memset: - // [84] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 + // [86] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 lda #str @@ -3875,7 +3897,7 @@ memset: { jmp __b1 // memset::@1 __b1: - // [85] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 + // [87] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 lda.z dst+1 cmp #>end bne __b2 @@ -3885,22 +3907,22 @@ memset: { jmp __breturn // memset::@return __breturn: - // [86] return + // [88] return rts // memset::@2 __b2: - // [87] *((byte*) memset::dst#2) ← (byte) memset::c#0 -- _deref_pbuz1=vbuxx + // [89] *((byte*) memset::dst#2) ← (byte) memset::c#0 -- _deref_pbuz1=vbuxx txa ldy #0 sta (dst),y - // [88] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [90] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 !: - // [84] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] + // [86] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] __b1_from___b2: - // [84] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy + // [86] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy jmp __b1 } // show @@ -3914,11 +3936,11 @@ show: { .label ptr = $f .label __8 = $11 .label __9 = $f - // [89] (word~) show::$7 ← (word)(byte) show::y#0 -- vwuz1=_word_vbuaa + // [91] (word~) show::$7 ← (word)(byte) show::y#0 -- vwuz1=_word_vbuaa sta.z __7 lda #0 sta.z __7+1 - // [90] (word~) show::$8 ← (word~) show::$7 << (byte) 2 -- vwuz1=vwuz2_rol_2 + // [92] (word~) show::$8 ← (word~) show::$7 << (byte) 2 -- vwuz1=vwuz2_rol_2 lda.z __7 asl sta.z __8 @@ -3927,7 +3949,7 @@ show: { sta.z __8+1 asl.z __8 rol.z __8+1 - // [91] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 -- vwuz1=vwuz2_plus_vwuz1 + // [93] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 -- vwuz1=vwuz2_plus_vwuz1 lda.z __9 clc adc.z __8 @@ -3935,7 +3957,7 @@ show: { lda.z __9+1 adc.z __8+1 sta.z __9+1 - // [92] (word~) show::$0 ← (word~) show::$9 << (byte) 4 -- vwuz1=vwuz1_rol_4 + // [94] (word~) show::$0 ← (word~) show::$9 << (byte) 4 -- vwuz1=vwuz1_rol_4 asl.z __0 rol.z __0+1 asl.z __0 @@ -3944,7 +3966,7 @@ show: { rol.z __0+1 asl.z __0 rol.z __0+1 - // [93] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 -- pbuz1=pbuc1_plus_vwuz1 + // [95] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 -- pbuz1=pbuc1_plus_vwuz1 clc lda.z __1 adc #SCREEN sta.z __1+1 - // [94] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 -- vbuaa=vbuxx_rol_1 + // [96] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 -- vbuaa=vbuxx_rol_1 txa asl - // [95] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 -- pbuz1=pbuz1_plus_vbuaa + // [97] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 -- pbuz1=pbuz1_plus_vbuaa clc adc.z ptr sta.z ptr bcc !+ inc.z ptr+1 !: - // [96] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + // [98] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy.z c lda FONT_COMPRESSED_MAP,y ldy #0 sta (ptr),y - // [97] (byte~) show::$4 ← (byte) show::c#0 -- vbuxx=vbuz1 + // [99] (byte~) show::$4 ← (byte) show::c#0 -- vbuxx=vbuz1 ldx.z c - // [98] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuxx + // [100] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuxx lda FONT_COMPRESSED_MAP+$40,x ldy #1 sta (ptr),y - // [99] (byte~) show::$5 ← (byte) show::c#0 -- vbuaa=vbuz1 + // [101] (byte~) show::$5 ← (byte) show::c#0 -- vbuaa=vbuz1 lda.z c - // [100] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa + // [102] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa tay lda FONT_COMPRESSED_MAP+$80,y ldy #$28 sta (ptr),y - // [101] (byte~) show::$6 ← (byte) show::c#0 -- vbuaa=vbuz1 + // [103] (byte~) show::$6 ← (byte) show::c#0 -- vbuaa=vbuz1 lda.z c - // [102] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa + // [104] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa tay lda FONT_COMPRESSED_MAP+$c0,y ldy #$29 @@ -3990,7 +4012,7 @@ show: { jmp __breturn // show::@return __breturn: - // [103] return + // [105] return rts } // font_find @@ -4002,74 +4024,74 @@ font_find: { .label glyph = $11 .label font_size = 7 .label font = $d - // [105] phi from font_find to font_find::@1 [phi:font_find->font_find::@1] + // [107] phi from font_find to font_find::@1 [phi:font_find->font_find::@1] __b1_from_font_find: - // [105] phi (byte*) font_find::font#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_find->font_find::@1#0] -- pbuz1=pbuc1 + // [107] phi (byte*) font_find::font#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_find->font_find::@1#0] -- pbuz1=pbuc1 lda #FONT_COMPRESSED sta.z font+1 - // [105] phi (byte) font_find::i#2 = (byte) 0 [phi:font_find->font_find::@1#1] -- vbuxx=vbuc1 + // [107] phi (byte) font_find::i#2 = (byte) 0 [phi:font_find->font_find::@1#1] -- vbuxx=vbuc1 ldx #0 jmp __b1 // font_find::@1 __b1: - // [106] if((byte) font_find::i#2<(byte) font_find::font_size#0) goto font_find::@2 -- vbuxx_lt_vbuz1_then_la1 + // [108] if((byte) font_find::i#2<(byte) font_find::font_size#0) goto font_find::@2 -- vbuxx_lt_vbuz1_then_la1 cpx.z font_size bcc __b2_from___b1 - // [107] phi from font_find::@1 to font_find::@return [phi:font_find::@1->font_find::@return] + // [109] phi from font_find::@1 to font_find::@return [phi:font_find::@1->font_find::@return] __breturn_from___b1: - // [107] phi (byte) font_find::return#3 = (byte) $ff [phi:font_find::@1->font_find::@return#0] -- vbuxx=vbuc1 + // [109] phi (byte) font_find::return#3 = (byte) $ff [phi:font_find::@1->font_find::@return#0] -- vbuxx=vbuc1 ldx #$ff jmp __breturn // font_find::@return __breturn: - // [108] return + // [110] return rts - // [109] phi from font_find::@1 to font_find::@2 [phi:font_find::@1->font_find::@2] + // [111] phi from font_find::@1 to font_find::@2 [phi:font_find::@1->font_find::@2] __b2_from___b1: - // [109] phi (byte) font_find::l#2 = (byte) 0 [phi:font_find::@1->font_find::@2#0] -- vbuyy=vbuc1 + // [111] phi (byte) font_find::l#2 = (byte) 0 [phi:font_find::@1->font_find::@2#0] -- vbuyy=vbuc1 ldy #0 jmp __b2 - // [109] phi from font_find::@3 to font_find::@2 [phi:font_find::@3->font_find::@2] + // [111] phi from font_find::@3 to font_find::@2 [phi:font_find::@3->font_find::@2] __b2_from___b3: - // [109] phi (byte) font_find::l#2 = (byte) font_find::l#1 [phi:font_find::@3->font_find::@2#0] -- register_copy + // [111] phi (byte) font_find::l#2 = (byte) font_find::l#1 [phi:font_find::@3->font_find::@2#0] -- register_copy jmp __b2 // font_find::@2 __b2: - // [110] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 -- pbuz1_derefidx_vbuyy_eq_pbuz2_derefidx_vbuyy_then_la1 + // [112] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 -- pbuz1_derefidx_vbuyy_eq_pbuz2_derefidx_vbuyy_then_la1 lda (glyph),y cmp (font),y beq __b3 - // [113] phi from font_find::@2 to font_find::@4 [phi:font_find::@2->font_find::@4] + // [115] phi from font_find::@2 to font_find::@4 [phi:font_find::@2->font_find::@4] __b4_from___b2: - // [113] phi (byte) font_find::found#2 = (byte) 0 [phi:font_find::@2->font_find::@4#0] -- vbuaa=vbuc1 + // [115] phi (byte) font_find::found#2 = (byte) 0 [phi:font_find::@2->font_find::@4#0] -- vbuaa=vbuc1 lda #0 jmp __b4 // font_find::@3 __b3: - // [111] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 -- vbuyy=_inc_vbuyy + // [113] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 -- vbuyy=_inc_vbuyy iny - // [112] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 -- vbuyy_neq_vbuc1_then_la1 + // [114] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 -- vbuyy_neq_vbuc1_then_la1 cpy #8 bne __b2_from___b3 - // [113] phi from font_find::@3 to font_find::@4 [phi:font_find::@3->font_find::@4] + // [115] phi from font_find::@3 to font_find::@4 [phi:font_find::@3->font_find::@4] __b4_from___b3: - // [113] phi (byte) font_find::found#2 = (byte) 1 [phi:font_find::@3->font_find::@4#0] -- vbuaa=vbuc1 + // [115] phi (byte) font_find::found#2 = (byte) 1 [phi:font_find::@3->font_find::@4#0] -- vbuaa=vbuc1 lda #1 jmp __b4 // font_find::@4 __b4: - // [114] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 -- vbuc1_eq_vbuaa_then_la1 + // [116] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 -- vbuc1_eq_vbuaa_then_la1 cmp #0 beq __b5 - // [107] phi from font_find::@4 to font_find::@return [phi:font_find::@4->font_find::@return] + // [109] phi from font_find::@4 to font_find::@return [phi:font_find::@4->font_find::@return] __breturn_from___b4: - // [107] phi (byte) font_find::return#3 = (byte) font_find::i#2 [phi:font_find::@4->font_find::@return#0] -- register_copy + // [109] phi (byte) font_find::return#3 = (byte) font_find::i#2 [phi:font_find::@4->font_find::@return#0] -- register_copy jmp __breturn // font_find::@5 __b5: - // [115] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [117] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z font @@ -4077,12 +4099,12 @@ font_find: { bcc !+ inc.z font+1 !: - // [116] (byte) font_find::i#1 ← ++ (byte) font_find::i#2 -- vbuxx=_inc_vbuxx + // [118] (byte) font_find::i#1 ← ++ (byte) font_find::i#2 -- vbuxx=_inc_vbuxx inx - // [105] phi from font_find::@5 to font_find::@1 [phi:font_find::@5->font_find::@1] + // [107] phi from font_find::@5 to font_find::@1 [phi:font_find::@5->font_find::@1] __b1_from___b5: - // [105] phi (byte*) font_find::font#4 = (byte*) font_find::font#1 [phi:font_find::@5->font_find::@1#0] -- register_copy - // [105] phi (byte) font_find::i#2 = (byte) font_find::i#1 [phi:font_find::@5->font_find::@1#1] -- register_copy + // [107] phi (byte*) font_find::font#4 = (byte*) font_find::font#1 [phi:font_find::@5->font_find::@1#0] -- register_copy + // [107] phi (byte) font_find::i#2 = (byte) font_find::i#1 [phi:font_find::@5->font_find::@1#1] -- register_copy jmp __b1 } // File Data @@ -4127,7 +4149,9 @@ Removing instruction lda #0 Replacing instruction lda #<0 with TYA Removing instruction lda #>0 Removing instruction ldy.z l2 +Removing instruction lda.z glyph_bits_2x2+1 Removing instruction ldy.z l2 +Removing instruction lda.z glyph_bits_2x2 Removing instruction lda #0 Replacing instruction lda.z c with TXA Replacing instruction lda.z c with TXA @@ -4309,10 +4333,12 @@ FINAL SYMBOL TABLE (const nomodify byte*) SCREEN = (byte*) 1024 (void()) font_2x2((byte*) font_2x2::font_original , (byte*) font_2x2::font_2x2) (byte~) font_2x2::$1 reg byte a 20002.0 -(byte~) font_2x2::$11 reg byte y 2002.0 -(byte~) font_2x2::$12 reg byte a 1001.0 -(byte~) font_2x2::$14 reg byte y 2002.0 -(byte~) font_2x2::$15 reg byte a 1001.0 +(byte~) font_2x2::$10 reg byte a 2002.0 +(byte~) font_2x2::$11 reg byte y 1001.0 +(byte~) font_2x2::$12 reg byte a 2002.0 +(byte~) font_2x2::$13 reg byte a 2002.0 +(byte~) font_2x2::$14 reg byte y 1001.0 +(byte~) font_2x2::$15 reg byte a 2002.0 (word~) font_2x2::$5 zp[2]:15 20002.0 (word~) font_2x2::$7 zp[2]:15 20002.0 (label) font_2x2::@1 @@ -4330,7 +4356,7 @@ FINAL SYMBOL TABLE (byte) font_2x2::b#2 reg byte y 2000.2 (byte) font_2x2::c (byte) font_2x2::c#1 c zp[1]:7 151.5 -(byte) font_2x2::c#11 c zp[1]:7 5.9411764705882355 +(byte) font_2x2::c#11 c zp[1]:7 5.611111111111111 (byte*) font_2x2::font_2x2 (byte*) font_2x2::font_original (byte) font_2x2::glyph_bit @@ -4341,31 +4367,31 @@ FINAL SYMBOL TABLE (byte) font_2x2::glyph_bits#2 glyph_bits zp[1]:6 3444.8888888888887 (word) font_2x2::glyph_bits_2x2 (word) font_2x2::glyph_bits_2x2#1 glyph_bits_2x2 zp[2]:15 20002.0 -(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:15 2750.5 +(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:15 2000.5000000000002 (word) font_2x2::glyph_bits_2x2#3 glyph_bits_2x2 zp[2]:15 4000.4 (byte) font_2x2::l (byte) font_2x2::l#1 l zp[1]:8 1501.5 -(byte) font_2x2::l#2 l zp[1]:8 111.22222222222223 +(byte) font_2x2::l#2 l zp[1]:8 103.55172413793102 (byte) font_2x2::l2 (byte) font_2x2::l2#1 l2 zp[1]:5 1501.5 -(byte) font_2x2::l2#8 l2 zp[1]:5 273.0 +(byte) font_2x2::l2#8 l2 zp[1]:5 250.25000000000003 (byte) font_2x2::l2#9 l2 zp[1]:5 667.3333333333334 (byte*) font_2x2::next_2x2 (byte*) font_2x2::next_2x2#1 next_2x2 zp[2]:17 50.5 (byte*) font_2x2::next_2x2_left -(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:17 75.1875 +(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:17 70.76470588235294 (byte*) font_2x2::next_2x2_left#1 next_2x2_left_1 zp[2]:11 1001.0 (byte*) font_2x2::next_2x2_left#10 next_2x2_left_1 zp[2]:11 202.0 -(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:11 171.04166666666669 +(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:11 157.8846153846154 (byte*) font_2x2::next_2x2_left#8 next_2x2_left_1 zp[2]:11 1001.0 (byte*) font_2x2::next_2x2_right (byte*) font_2x2::next_2x2_right#0 next_2x2_right zp[2]:13 101.0 (byte*) font_2x2::next_2x2_right#1 next_2x2_right zp[2]:13 2002.0 -(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:13 171.04166666666669 +(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:13 157.8846153846154 (byte*) font_2x2::next_2x2_right#8 next_2x2_right zp[2]:13 1001.0 (byte*) font_2x2::next_original (byte*) font_2x2::next_original#1 next_original zp[2]:9 67.33333333333333 -(byte*) font_2x2::next_original#4 next_original zp[2]:9 36.45454545454545 +(byte*) font_2x2::next_original#4 next_original zp[2]:9 34.371428571428574 (byte()) font_compress((byte*) font_compress::font_original , (byte*) font_compress::font_compressed , (byte*) font_compress::compress_mapping) (label) font_compress::@1 (label) font_compress::@2 @@ -4509,10 +4535,12 @@ reg byte x [ memset::c#0 ] reg byte x [ show::x#0 ] reg byte a [ show::y#0 ] reg byte a [ font_2x2::$1 ] -reg byte a [ font_2x2::$12 ] +reg byte a [ font_2x2::$10 ] reg byte y [ font_2x2::$11 ] -reg byte a [ font_2x2::$15 ] +reg byte a [ font_2x2::$12 ] +reg byte a [ font_2x2::$13 ] reg byte y [ font_2x2::$14 ] +reg byte a [ font_2x2::$15 ] reg byte a [ font_find::return#0 ] zp[2]:15 [ show::$7 show::$9 show::$0 show::$1 show::ptr#0 font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ] zp[2]:17 [ show::$8 font_compress::next_original#2 font_compress::next_original#1 font_find::glyph#0 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] @@ -4572,7 +4600,7 @@ main: { cli // font_compress(FONT_ORIGINAL, FONT_COMPRESSED, FONT_COMPRESSED_MAP) // [5] call font_compress - // [60] phi from main::@6 to font_compress [phi:main::@6->font_compress] + // [62] phi from main::@6 to font_compress [phi:main::@6->font_compress] jsr font_compress // [6] phi from main::@6 to main::toD0181 [phi:main::@6->main::toD0181] // main::toD0181 @@ -4587,7 +4615,7 @@ main: { ldx FONT_COMPRESSED_MAP+' ' // [9] call memset // Clear the screen - // [83] phi from main::@5 to memset [phi:main::@5->memset] + // [85] phi from main::@5 to memset [phi:main::@5->memset] jsr memset // [10] phi from main::@5 to main::@1 [phi:main::@5->main::@1] // [10] phi (byte) main::y#4 = (byte) 0 [phi:main::@5->main::@1#0] -- vbuz1=vbuc1 @@ -4777,46 +4805,50 @@ font_2x2: { bne __b3 // font_2x2::@6 // >glyph_bits_2x2 - // [40] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 + // [40] (byte~) font_2x2::$10 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 lda.z glyph_bits_2x2+1 // next_2x2_left[l2] = >glyph_bits_2x2 - // [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuz2=vbuaa + // [41] *((byte*) font_2x2::next_2x2_left#7 + (byte) font_2x2::l2#8) ← (byte~) font_2x2::$10 -- pbuz1_derefidx_vbuz2=vbuaa // Put the generated 2x2-line into the 2x2-font twice ldy.z l2 sta (next_2x2_left_1),y // l2+1 // [42] (byte~) font_2x2::$11 ← (byte) font_2x2::l2#8 + (byte) 1 -- vbuyy=vbuz1_plus_1 iny + // >glyph_bits_2x2 + // [43] (byte~) font_2x2::$12 ← > (word) font_2x2::glyph_bits_2x2#2 -- vbuaa=_hi_vwuz1 // next_2x2_left[l2+1] = >glyph_bits_2x2 - // [43] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuyy=vbuaa + // [44] *((byte*) font_2x2::next_2x2_left#7 + (byte~) font_2x2::$11) ← (byte~) font_2x2::$12 -- pbuz1_derefidx_vbuyy=vbuaa sta (next_2x2_left_1),y // $80*8 sta.z next_2x2_left_1+1 // next_2x2_right = next_2x2 + 0xc0*8 - // [51] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 + // [53] (byte*) font_2x2::next_2x2_right#1 ← (byte*) font_2x2::next_2x2_left#0 + (word)(number) $c0*(number) 8 -- pbuz1=pbuz2_plus_vwuc1 lda.z next_2x2_left clc adc #<$c0*8 @@ -4833,28 +4865,28 @@ font_2x2: { lda.z next_2x2_left+1 adc #>$c0*8 sta.z next_2x2_right+1 - // [52] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] - // [52] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy - // [52] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 + // [54] phi from font_2x2::@7 to font_2x2::@8 [phi:font_2x2::@7->font_2x2::@8] + // [54] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#1 [phi:font_2x2::@7->font_2x2::@8#0] -- register_copy + // [54] phi (byte) font_2x2::l2#9 = (byte) 0 [phi:font_2x2::@7->font_2x2::@8#1] -- vbuz1=vbuc1 lda #0 sta.z l2 - // [52] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy - // [52] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] - // [52] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy - // [52] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy - // [52] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy + // [54] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#1 [phi:font_2x2::@7->font_2x2::@8#2] -- register_copy + // [54] phi from font_2x2::@6 to font_2x2::@8 [phi:font_2x2::@6->font_2x2::@8] + // [54] phi (byte*) font_2x2::next_2x2_right#8 = (byte*) font_2x2::next_2x2_right#7 [phi:font_2x2::@6->font_2x2::@8#0] -- register_copy + // [54] phi (byte) font_2x2::l2#9 = (byte) font_2x2::l2#1 [phi:font_2x2::@6->font_2x2::@8#1] -- register_copy + // [54] phi (byte*) font_2x2::next_2x2_left#8 = (byte*) font_2x2::next_2x2_left#7 [phi:font_2x2::@6->font_2x2::@8#2] -- register_copy // font_2x2::@8 __b8: // for(char l: 0..7) - // [53] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 + // [55] (byte) font_2x2::l#1 ← ++ (byte) font_2x2::l#2 -- vbuz1=_inc_vbuz1 inc.z l - // [54] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 + // [56] if((byte) font_2x2::l#1!=(byte) 8) goto font_2x2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #8 cmp.z l bne __b2 // font_2x2::@9 // next_2x2 += 8 - // [55] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [57] (byte*) font_2x2::next_2x2#1 ← (byte*) font_2x2::next_2x2_left#0 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 clc adc.z next_2x2 sta.z next_2x2 @@ -4862,7 +4894,7 @@ font_2x2: { inc.z next_2x2+1 !: // next_original += 8 - // [56] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [58] (byte*) font_2x2::next_original#1 ← (byte*) font_2x2::next_original#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_original @@ -4871,9 +4903,9 @@ font_2x2: { inc.z next_original+1 !: // for(char c: 0..0x3f) - // [57] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 + // [59] (byte) font_2x2::c#1 ← ++ (byte) font_2x2::c#11 -- vbuz1=_inc_vbuz1 inc.z c - // [58] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [60] if((byte) font_2x2::c#1!=(byte) $40) goto font_2x2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$40 cmp.z c beq !__b1+ @@ -4881,7 +4913,7 @@ font_2x2: { !__b1: // font_2x2::@return // } - // [59] return + // [61] return rts } // font_compress @@ -4894,18 +4926,18 @@ font_compress: { .label i = 8 .label next_compressed = 9 .label font_size = 7 - // [61] phi from font_compress to font_compress::@1 [phi:font_compress->font_compress::@1] - // [61] phi (byte*) font_compress::next_compressed#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_compress->font_compress::@1#0] -- pbuz1=pbuc1 + // [63] phi from font_compress to font_compress::@1 [phi:font_compress->font_compress::@1] + // [63] phi (byte*) font_compress::next_compressed#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_compress->font_compress::@1#0] -- pbuz1=pbuc1 lda #FONT_COMPRESSED sta.z next_compressed+1 - // [61] phi (byte) font_compress::i#4 = (byte) 0 [phi:font_compress->font_compress::@1#1] -- vbuz1=vbuc1 + // [63] phi (byte) font_compress::i#4 = (byte) 0 [phi:font_compress->font_compress::@1#1] -- vbuz1=vbuc1 lda #0 sta.z i - // [61] phi (byte) font_compress::font_size#2 = (byte) 0 [phi:font_compress->font_compress::@1#2] -- vbuz1=vbuc1 + // [63] phi (byte) font_compress::font_size#2 = (byte) 0 [phi:font_compress->font_compress::@1#2] -- vbuz1=vbuc1 sta.z font_size - // [61] phi (byte*) font_compress::next_original#2 = (const nomodify byte*) FONT_ORIGINAL [phi:font_compress->font_compress::@1#3] -- pbuz1=pbuc1 + // [63] phi (byte*) font_compress::next_original#2 = (const nomodify byte*) FONT_ORIGINAL [phi:font_compress->font_compress::@1#3] -- pbuz1=pbuc1 lda #FONT_ORIGINAL @@ -4913,42 +4945,42 @@ font_compress: { // font_compress::@1 __b1: // font_find(next_original, font_compressed, font_size) - // [62] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 - // [63] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 - // [64] call font_find - // [104] phi from font_compress::@1 to font_find [phi:font_compress::@1->font_find] + // [64] (byte*) font_find::glyph#0 ← (byte*) font_compress::next_original#2 + // [65] (byte) font_find::font_size#0 ← (byte) font_compress::font_size#2 + // [66] call font_find + // [106] phi from font_compress::@1 to font_find [phi:font_compress::@1->font_find] jsr font_find // font_find(next_original, font_compressed, font_size) - // [65] (byte) font_find::return#0 ← (byte) font_find::return#3 -- vbuaa=vbuxx + // [67] (byte) font_find::return#0 ← (byte) font_find::return#3 -- vbuaa=vbuxx txa // font_compress::@5 // found = font_find(next_original, font_compressed, font_size) - // [66] (byte) font_compress::found#0 ← (byte) font_find::return#0 + // [68] (byte) font_compress::found#0 ← (byte) font_find::return#0 // if(found==0xff) - // [67] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 -- vbuaa_neq_vbuc1_then_la1 + // [69] if((byte) font_compress::found#0!=(byte) $ff) goto font_compress::@7 -- vbuaa_neq_vbuc1_then_la1 cmp #$ff bne __b7 - // [68] phi from font_compress::@5 to font_compress::@3 [phi:font_compress::@5->font_compress::@3] - // [68] phi (byte) font_compress::l#2 = (byte) 0 [phi:font_compress::@5->font_compress::@3#0] -- vbuyy=vbuc1 + // [70] phi from font_compress::@5 to font_compress::@3 [phi:font_compress::@5->font_compress::@3] + // [70] phi (byte) font_compress::l#2 = (byte) 0 [phi:font_compress::@5->font_compress::@3#0] -- vbuyy=vbuc1 ldy #0 // Glyph not found - create it - // [68] phi from font_compress::@3 to font_compress::@3 [phi:font_compress::@3->font_compress::@3] - // [68] phi (byte) font_compress::l#2 = (byte) font_compress::l#1 [phi:font_compress::@3->font_compress::@3#0] -- register_copy + // [70] phi from font_compress::@3 to font_compress::@3 [phi:font_compress::@3->font_compress::@3] + // [70] phi (byte) font_compress::l#2 = (byte) font_compress::l#1 [phi:font_compress::@3->font_compress::@3#0] -- register_copy // font_compress::@3 __b3: // next_compressed[l] = next_original[l] - // [69] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) -- pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy + // [71] *((byte*) font_compress::next_compressed#4 + (byte) font_compress::l#2) ← *((byte*) font_compress::next_original#2 + (byte) font_compress::l#2) -- pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy lda (next_original),y sta (next_compressed),y // for(char l:0..7) - // [70] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 -- vbuyy=_inc_vbuyy + // [72] (byte) font_compress::l#1 ← ++ (byte) font_compress::l#2 -- vbuyy=_inc_vbuyy iny - // [71] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 -- vbuyy_neq_vbuc1_then_la1 + // [73] if((byte) font_compress::l#1!=(byte) 8) goto font_compress::@3 -- vbuyy_neq_vbuc1_then_la1 cpy #8 bne __b3 // font_compress::@4 // next_compressed += 8 - // [72] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [74] (byte*) font_compress::next_compressed#1 ← (byte*) font_compress::next_compressed#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_compressed @@ -4957,23 +4989,23 @@ font_compress: { inc.z next_compressed+1 !: // font_size++; - // [73] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 -- vbuxx=_inc_vbuz1 + // [75] (byte) font_compress::font_size#1 ← ++ (byte) font_compress::font_size#2 -- vbuxx=_inc_vbuz1 ldx.z font_size inx - // [74] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 -- vbuaa=vbuz1 + // [76] (byte) font_compress::found#3 ← (byte) font_compress::font_size#2 -- vbuaa=vbuz1 lda.z font_size - // [75] phi from font_compress::@4 font_compress::@7 to font_compress::@2 [phi:font_compress::@4/font_compress::@7->font_compress::@2] - // [75] phi (byte*) font_compress::next_compressed#7 = (byte*) font_compress::next_compressed#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#0] -- register_copy - // [75] phi (byte) font_compress::return#1 = (byte) font_compress::font_size#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#1] -- register_copy - // [75] phi (byte) font_compress::found#2 = (byte) font_compress::found#3 [phi:font_compress::@4/font_compress::@7->font_compress::@2#2] -- register_copy + // [77] phi from font_compress::@4 font_compress::@7 to font_compress::@2 [phi:font_compress::@4/font_compress::@7->font_compress::@2] + // [77] phi (byte*) font_compress::next_compressed#7 = (byte*) font_compress::next_compressed#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#0] -- register_copy + // [77] phi (byte) font_compress::return#1 = (byte) font_compress::font_size#1 [phi:font_compress::@4/font_compress::@7->font_compress::@2#1] -- register_copy + // [77] phi (byte) font_compress::found#2 = (byte) font_compress::found#3 [phi:font_compress::@4/font_compress::@7->font_compress::@2#2] -- register_copy // font_compress::@2 __b2: // compress_mapping[i] = found - // [76] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 -- pbuc1_derefidx_vbuz1=vbuaa + // [78] *((const byte*) FONT_COMPRESSED_MAP + (byte) font_compress::i#4) ← (byte) font_compress::found#2 -- pbuc1_derefidx_vbuz1=vbuaa ldy.z i sta FONT_COMPRESSED_MAP,y // next_original += 8 - // [77] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [79] (byte*) font_compress::next_original#1 ← (byte*) font_compress::next_original#2 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z next_original @@ -4982,29 +5014,29 @@ font_compress: { inc.z next_original+1 !: // for(char i: 0..0xff) - // [78] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 -- vbuz1=_inc_vbuz1 + // [80] (byte) font_compress::i#1 ← ++ (byte) font_compress::i#4 -- vbuz1=_inc_vbuz1 inc.z i - // [79] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 -- vbuz1_neq_0_then_la1 + // [81] if((byte) font_compress::i#1!=(byte) 0) goto font_compress::@6 -- vbuz1_neq_0_then_la1 lda.z i cmp #0 bne __b6 // font_compress::@return // } - // [80] return + // [82] return rts // font_compress::@6 __b6: - // [81] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 -- vbuz1=vbuxx + // [83] (byte) font_compress::font_size#9 ← (byte) font_compress::return#1 -- vbuz1=vbuxx stx.z font_size - // [61] phi from font_compress::@6 to font_compress::@1 [phi:font_compress::@6->font_compress::@1] - // [61] phi (byte*) font_compress::next_compressed#4 = (byte*) font_compress::next_compressed#7 [phi:font_compress::@6->font_compress::@1#0] -- register_copy - // [61] phi (byte) font_compress::i#4 = (byte) font_compress::i#1 [phi:font_compress::@6->font_compress::@1#1] -- register_copy - // [61] phi (byte) font_compress::font_size#2 = (byte) font_compress::font_size#9 [phi:font_compress::@6->font_compress::@1#2] -- register_copy - // [61] phi (byte*) font_compress::next_original#2 = (byte*) font_compress::next_original#1 [phi:font_compress::@6->font_compress::@1#3] -- register_copy + // [63] phi from font_compress::@6 to font_compress::@1 [phi:font_compress::@6->font_compress::@1] + // [63] phi (byte*) font_compress::next_compressed#4 = (byte*) font_compress::next_compressed#7 [phi:font_compress::@6->font_compress::@1#0] -- register_copy + // [63] phi (byte) font_compress::i#4 = (byte) font_compress::i#1 [phi:font_compress::@6->font_compress::@1#1] -- register_copy + // [63] phi (byte) font_compress::font_size#2 = (byte) font_compress::font_size#9 [phi:font_compress::@6->font_compress::@1#2] -- register_copy + // [63] phi (byte*) font_compress::next_original#2 = (byte*) font_compress::next_original#1 [phi:font_compress::@6->font_compress::@1#3] -- register_copy jmp __b1 // font_compress::@7 __b7: - // [82] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 -- vbuxx=vbuz1 + // [84] (byte) font_compress::return#5 ← (byte) font_compress::font_size#2 -- vbuxx=vbuz1 ldx.z font_size jmp __b2 } @@ -5016,8 +5048,8 @@ memset: { .label str = SCREEN .label end = str+num .label dst = $b - // [84] phi from memset to memset::@1 [phi:memset->memset::@1] - // [84] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 + // [86] phi from memset to memset::@1 [phi:memset->memset::@1] + // [86] phi (byte*) memset::dst#2 = (byte*)(const void*) memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 lda #str @@ -5025,7 +5057,7 @@ memset: { // memset::@1 __b1: // for(char* dst = str; dst!=end; dst++) - // [85] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 + // [87] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 lda.z dst+1 cmp #>end bne __b2 @@ -5034,23 +5066,23 @@ memset: { bne __b2 // memset::@return // } - // [86] return + // [88] return rts // memset::@2 __b2: // *dst = c - // [87] *((byte*) memset::dst#2) ← (byte) memset::c#0 -- _deref_pbuz1=vbuxx + // [89] *((byte*) memset::dst#2) ← (byte) memset::c#0 -- _deref_pbuz1=vbuxx txa ldy #0 sta (dst),y // for(char* dst = str; dst!=end; dst++) - // [88] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 + // [90] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 -- pbuz1=_inc_pbuz1 inc.z dst bne !+ inc.z dst+1 !: - // [84] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] - // [84] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy + // [86] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1] + // [86] phi (byte*) memset::dst#2 = (byte*) memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy jmp __b1 } // show @@ -5065,11 +5097,11 @@ show: { .label __8 = $11 .label __9 = $f // (unsigned int)y*80 - // [89] (word~) show::$7 ← (word)(byte) show::y#0 -- vwuz1=_word_vbuaa + // [91] (word~) show::$7 ← (word)(byte) show::y#0 -- vwuz1=_word_vbuaa sta.z __7 lda #0 sta.z __7+1 - // [90] (word~) show::$8 ← (word~) show::$7 << (byte) 2 -- vwuz1=vwuz2_rol_2 + // [92] (word~) show::$8 ← (word~) show::$7 << (byte) 2 -- vwuz1=vwuz2_rol_2 lda.z __7 asl sta.z __8 @@ -5078,7 +5110,7 @@ show: { sta.z __8+1 asl.z __8 rol.z __8+1 - // [91] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 -- vwuz1=vwuz2_plus_vwuz1 + // [93] (word~) show::$9 ← (word~) show::$8 + (word~) show::$7 -- vwuz1=vwuz2_plus_vwuz1 lda.z __9 clc adc.z __8 @@ -5086,7 +5118,7 @@ show: { lda.z __9+1 adc.z __8+1 sta.z __9+1 - // [92] (word~) show::$0 ← (word~) show::$9 << (byte) 4 -- vwuz1=vwuz1_rol_4 + // [94] (word~) show::$0 ← (word~) show::$9 << (byte) 4 -- vwuz1=vwuz1_rol_4 asl.z __0 rol.z __0+1 asl.z __0 @@ -5096,7 +5128,7 @@ show: { asl.z __0 rol.z __0+1 // SCREEN + (unsigned int)y*80 - // [93] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 -- pbuz1=pbuc1_plus_vwuz1 + // [95] (byte*~) show::$1 ← (const nomodify byte*) SCREEN + (word~) show::$0 -- pbuz1=pbuc1_plus_vwuz1 clc lda.z __1 adc #SCREEN sta.z __1+1 // x*2 - // [94] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 -- vbuaa=vbuxx_rol_1 + // [96] (byte~) show::$2 ← (byte) show::x#0 << (byte) 1 -- vbuaa=vbuxx_rol_1 txa asl // ptr = SCREEN + (unsigned int)y*80 + x*2 - // [95] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 -- pbuz1=pbuz1_plus_vbuaa + // [97] (byte*) show::ptr#0 ← (byte*~) show::$1 + (byte~) show::$2 -- pbuz1=pbuz1_plus_vbuaa clc adc.z ptr sta.z ptr @@ -5117,40 +5149,40 @@ show: { inc.z ptr+1 !: // ptr[0] = font_mapping[c] - // [96] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 + // [98] *((byte*) show::ptr#0) ← *((const byte*) FONT_COMPRESSED_MAP + (byte) show::c#0) -- _deref_pbuz1=pbuc1_derefidx_vbuz2 ldy.z c lda FONT_COMPRESSED_MAP,y ldy #0 sta (ptr),y // c+0x40 - // [97] (byte~) show::$4 ← (byte) show::c#0 -- vbuxx=vbuz1 + // [99] (byte~) show::$4 ← (byte) show::c#0 -- vbuxx=vbuz1 ldx.z c // ptr[1] = font_mapping[c+0x40] - // [98] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuxx + // [100] *((byte*) show::ptr#0 + (byte) 1) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $40 + (byte~) show::$4) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuxx lda FONT_COMPRESSED_MAP+$40,x ldy #1 sta (ptr),y // c+0x80 - // [99] (byte~) show::$5 ← (byte) show::c#0 -- vbuaa=vbuz1 + // [101] (byte~) show::$5 ← (byte) show::c#0 -- vbuaa=vbuz1 txa // ptr[40] = font_mapping[c+0x80] - // [100] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa + // [102] *((byte*) show::ptr#0 + (byte) $28) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $80 + (byte~) show::$5) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa tay lda FONT_COMPRESSED_MAP+$80,y ldy #$28 sta (ptr),y // c+0xc0 - // [101] (byte~) show::$6 ← (byte) show::c#0 -- vbuaa=vbuz1 + // [103] (byte~) show::$6 ← (byte) show::c#0 -- vbuaa=vbuz1 txa // ptr[41] = font_mapping[c+0xc0] - // [102] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa + // [104] *((byte*) show::ptr#0 + (byte) $29) ← *((const byte*) FONT_COMPRESSED_MAP+(byte) $c0 + (byte~) show::$6) -- pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa tay lda FONT_COMPRESSED_MAP+$c0,y ldy #$29 sta (ptr),y // show::@return // } - // [103] return + // [105] return rts } // font_find @@ -5162,68 +5194,68 @@ font_find: { .label glyph = $11 .label font_size = 7 .label font = $d - // [105] phi from font_find to font_find::@1 [phi:font_find->font_find::@1] - // [105] phi (byte*) font_find::font#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_find->font_find::@1#0] -- pbuz1=pbuc1 + // [107] phi from font_find to font_find::@1 [phi:font_find->font_find::@1] + // [107] phi (byte*) font_find::font#4 = (const nomodify byte*) FONT_COMPRESSED [phi:font_find->font_find::@1#0] -- pbuz1=pbuc1 lda #FONT_COMPRESSED sta.z font+1 - // [105] phi (byte) font_find::i#2 = (byte) 0 [phi:font_find->font_find::@1#1] -- vbuxx=vbuc1 + // [107] phi (byte) font_find::i#2 = (byte) 0 [phi:font_find->font_find::@1#1] -- vbuxx=vbuc1 ldx #0 // font_find::@1 __b1: // for(char i=0;ifont_find::@return] - // [107] phi (byte) font_find::return#3 = (byte) $ff [phi:font_find::@1->font_find::@return#0] -- vbuxx=vbuc1 + // [109] phi from font_find::@1 to font_find::@return [phi:font_find::@1->font_find::@return] + // [109] phi (byte) font_find::return#3 = (byte) $ff [phi:font_find::@1->font_find::@return#0] -- vbuxx=vbuc1 ldx #$ff // font_find::@return // } - // [108] return + // [110] return rts - // [109] phi from font_find::@1 to font_find::@2 [phi:font_find::@1->font_find::@2] + // [111] phi from font_find::@1 to font_find::@2 [phi:font_find::@1->font_find::@2] __b6: - // [109] phi (byte) font_find::l#2 = (byte) 0 [phi:font_find::@1->font_find::@2#0] -- vbuyy=vbuc1 + // [111] phi (byte) font_find::l#2 = (byte) 0 [phi:font_find::@1->font_find::@2#0] -- vbuyy=vbuc1 ldy #0 - // [109] phi from font_find::@3 to font_find::@2 [phi:font_find::@3->font_find::@2] - // [109] phi (byte) font_find::l#2 = (byte) font_find::l#1 [phi:font_find::@3->font_find::@2#0] -- register_copy + // [111] phi from font_find::@3 to font_find::@2 [phi:font_find::@3->font_find::@2] + // [111] phi (byte) font_find::l#2 = (byte) font_find::l#1 [phi:font_find::@3->font_find::@2#0] -- register_copy // font_find::@2 __b2: // if(glyph[l]!=font[l]) - // [110] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 -- pbuz1_derefidx_vbuyy_eq_pbuz2_derefidx_vbuyy_then_la1 + // [112] if(*((byte*) font_find::glyph#0 + (byte) font_find::l#2)==*((byte*) font_find::font#4 + (byte) font_find::l#2)) goto font_find::@3 -- pbuz1_derefidx_vbuyy_eq_pbuz2_derefidx_vbuyy_then_la1 lda (glyph),y cmp (font),y beq __b3 - // [113] phi from font_find::@2 to font_find::@4 [phi:font_find::@2->font_find::@4] - // [113] phi (byte) font_find::found#2 = (byte) 0 [phi:font_find::@2->font_find::@4#0] -- vbuaa=vbuc1 + // [115] phi from font_find::@2 to font_find::@4 [phi:font_find::@2->font_find::@4] + // [115] phi (byte) font_find::found#2 = (byte) 0 [phi:font_find::@2->font_find::@4#0] -- vbuaa=vbuc1 lda #0 jmp __b4 // font_find::@3 __b3: // for(char l:0..7) - // [111] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 -- vbuyy=_inc_vbuyy + // [113] (byte) font_find::l#1 ← ++ (byte) font_find::l#2 -- vbuyy=_inc_vbuyy iny - // [112] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 -- vbuyy_neq_vbuc1_then_la1 + // [114] if((byte) font_find::l#1!=(byte) 8) goto font_find::@2 -- vbuyy_neq_vbuc1_then_la1 cpy #8 bne __b2 - // [113] phi from font_find::@3 to font_find::@4 [phi:font_find::@3->font_find::@4] - // [113] phi (byte) font_find::found#2 = (byte) 1 [phi:font_find::@3->font_find::@4#0] -- vbuaa=vbuc1 + // [115] phi from font_find::@3 to font_find::@4 [phi:font_find::@3->font_find::@4] + // [115] phi (byte) font_find::found#2 = (byte) 1 [phi:font_find::@3->font_find::@4#0] -- vbuaa=vbuc1 lda #1 // font_find::@4 __b4: // if(found) - // [114] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 -- vbuc1_eq_vbuaa_then_la1 + // [116] if((byte) 0==(byte) font_find::found#2) goto font_find::@5 -- vbuc1_eq_vbuaa_then_la1 cmp #0 beq __b5 - // [107] phi from font_find::@4 to font_find::@return [phi:font_find::@4->font_find::@return] - // [107] phi (byte) font_find::return#3 = (byte) font_find::i#2 [phi:font_find::@4->font_find::@return#0] -- register_copy + // [109] phi from font_find::@4 to font_find::@return [phi:font_find::@4->font_find::@return] + // [109] phi (byte) font_find::return#3 = (byte) font_find::i#2 [phi:font_find::@4->font_find::@return#0] -- register_copy rts // font_find::@5 __b5: // font += 8 - // [115] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 + // [117] (byte*) font_find::font#1 ← (byte*) font_find::font#4 + (byte) 8 -- pbuz1=pbuz1_plus_vbuc1 lda #8 clc adc.z font @@ -5232,11 +5264,11 @@ font_find: { inc.z font+1 !: // for(char i=0;ifont_find::@1] - // [105] phi (byte*) font_find::font#4 = (byte*) font_find::font#1 [phi:font_find::@5->font_find::@1#0] -- register_copy - // [105] phi (byte) font_find::i#2 = (byte) font_find::i#1 [phi:font_find::@5->font_find::@1#1] -- register_copy + // [107] phi from font_find::@5 to font_find::@1 [phi:font_find::@5->font_find::@1] + // [107] phi (byte*) font_find::font#4 = (byte*) font_find::font#1 [phi:font_find::@5->font_find::@1#0] -- register_copy + // [107] phi (byte) font_find::i#2 = (byte) font_find::i#1 [phi:font_find::@5->font_find::@1#1] -- register_copy jmp __b1 } // File Data diff --git a/src/test/ref/examples/font-2x2/font-2x2.sym b/src/test/ref/examples/font-2x2/font-2x2.sym index f05d31529..e74e829c2 100644 --- a/src/test/ref/examples/font-2x2/font-2x2.sym +++ b/src/test/ref/examples/font-2x2/font-2x2.sym @@ -93,10 +93,12 @@ (const nomodify byte*) SCREEN = (byte*) 1024 (void()) font_2x2((byte*) font_2x2::font_original , (byte*) font_2x2::font_2x2) (byte~) font_2x2::$1 reg byte a 20002.0 -(byte~) font_2x2::$11 reg byte y 2002.0 -(byte~) font_2x2::$12 reg byte a 1001.0 -(byte~) font_2x2::$14 reg byte y 2002.0 -(byte~) font_2x2::$15 reg byte a 1001.0 +(byte~) font_2x2::$10 reg byte a 2002.0 +(byte~) font_2x2::$11 reg byte y 1001.0 +(byte~) font_2x2::$12 reg byte a 2002.0 +(byte~) font_2x2::$13 reg byte a 2002.0 +(byte~) font_2x2::$14 reg byte y 1001.0 +(byte~) font_2x2::$15 reg byte a 2002.0 (word~) font_2x2::$5 zp[2]:15 20002.0 (word~) font_2x2::$7 zp[2]:15 20002.0 (label) font_2x2::@1 @@ -114,7 +116,7 @@ (byte) font_2x2::b#2 reg byte y 2000.2 (byte) font_2x2::c (byte) font_2x2::c#1 c zp[1]:7 151.5 -(byte) font_2x2::c#11 c zp[1]:7 5.9411764705882355 +(byte) font_2x2::c#11 c zp[1]:7 5.611111111111111 (byte*) font_2x2::font_2x2 (byte*) font_2x2::font_original (byte) font_2x2::glyph_bit @@ -125,31 +127,31 @@ (byte) font_2x2::glyph_bits#2 glyph_bits zp[1]:6 3444.8888888888887 (word) font_2x2::glyph_bits_2x2 (word) font_2x2::glyph_bits_2x2#1 glyph_bits_2x2 zp[2]:15 20002.0 -(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:15 2750.5 +(word) font_2x2::glyph_bits_2x2#2 glyph_bits_2x2 zp[2]:15 2000.5000000000002 (word) font_2x2::glyph_bits_2x2#3 glyph_bits_2x2 zp[2]:15 4000.4 (byte) font_2x2::l (byte) font_2x2::l#1 l zp[1]:8 1501.5 -(byte) font_2x2::l#2 l zp[1]:8 111.22222222222223 +(byte) font_2x2::l#2 l zp[1]:8 103.55172413793102 (byte) font_2x2::l2 (byte) font_2x2::l2#1 l2 zp[1]:5 1501.5 -(byte) font_2x2::l2#8 l2 zp[1]:5 273.0 +(byte) font_2x2::l2#8 l2 zp[1]:5 250.25000000000003 (byte) font_2x2::l2#9 l2 zp[1]:5 667.3333333333334 (byte*) font_2x2::next_2x2 (byte*) font_2x2::next_2x2#1 next_2x2 zp[2]:17 50.5 (byte*) font_2x2::next_2x2_left -(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:17 75.1875 +(byte*) font_2x2::next_2x2_left#0 next_2x2_left zp[2]:17 70.76470588235294 (byte*) font_2x2::next_2x2_left#1 next_2x2_left_1 zp[2]:11 1001.0 (byte*) font_2x2::next_2x2_left#10 next_2x2_left_1 zp[2]:11 202.0 -(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:11 171.04166666666669 +(byte*) font_2x2::next_2x2_left#7 next_2x2_left_1 zp[2]:11 157.8846153846154 (byte*) font_2x2::next_2x2_left#8 next_2x2_left_1 zp[2]:11 1001.0 (byte*) font_2x2::next_2x2_right (byte*) font_2x2::next_2x2_right#0 next_2x2_right zp[2]:13 101.0 (byte*) font_2x2::next_2x2_right#1 next_2x2_right zp[2]:13 2002.0 -(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:13 171.04166666666669 +(byte*) font_2x2::next_2x2_right#7 next_2x2_right zp[2]:13 157.8846153846154 (byte*) font_2x2::next_2x2_right#8 next_2x2_right zp[2]:13 1001.0 (byte*) font_2x2::next_original (byte*) font_2x2::next_original#1 next_original zp[2]:9 67.33333333333333 -(byte*) font_2x2::next_original#4 next_original zp[2]:9 36.45454545454545 +(byte*) font_2x2::next_original#4 next_original zp[2]:9 34.371428571428574 (byte()) font_compress((byte*) font_compress::font_original , (byte*) font_compress::font_compressed , (byte*) font_compress::compress_mapping) (label) font_compress::@1 (label) font_compress::@2 @@ -293,10 +295,12 @@ reg byte x [ memset::c#0 ] reg byte x [ show::x#0 ] reg byte a [ show::y#0 ] reg byte a [ font_2x2::$1 ] -reg byte a [ font_2x2::$12 ] +reg byte a [ font_2x2::$10 ] reg byte y [ font_2x2::$11 ] -reg byte a [ font_2x2::$15 ] +reg byte a [ font_2x2::$12 ] +reg byte a [ font_2x2::$13 ] reg byte y [ font_2x2::$14 ] +reg byte a [ font_2x2::$15 ] reg byte a [ font_find::return#0 ] zp[2]:15 [ show::$7 show::$9 show::$0 show::$1 show::ptr#0 font_2x2::glyph_bits_2x2#3 font_2x2::glyph_bits_2x2#2 font_2x2::$5 font_2x2::$7 font_2x2::glyph_bits_2x2#1 ] zp[2]:17 [ show::$8 font_compress::next_original#2 font_compress::next_original#1 font_find::glyph#0 font_2x2::next_2x2_left#0 font_2x2::next_2x2#1 ] diff --git a/src/test/ref/examples/mega65/memorymap-test.asm b/src/test/ref/examples/mega65/memorymap-test.asm index 6576458ef..917b1858b 100644 --- a/src/test/ref/examples/mega65/memorymap-test.asm +++ b/src/test/ref/examples/mega65/memorymap-test.asm @@ -127,7 +127,7 @@ main: { // Ie. the memory that will be pointed to is $100 * the passed page address. Only the lower 12bits of the passed value is used. // memoryRemapBlock(byte register(X) blockPage) memoryRemapBlock: { - .label pageOffset = $d + .label pageOffset = $b // pageOffset = memoryPage-blockPage stx.z $ff lda #<$100 @@ -188,16 +188,16 @@ memoryRemapBlock: { // - If block 5 ($a000-$bfff) is remapped it will point to upperPageOffset*$100 + $a000. // - If block 6 ($c000-$dfff) is remapped it will point to upperPageOffset*$100 + $c000. // - If block 7 ($e000-$ffff) is remapped it will point to upperPageOffset*$100 + $e000. -// memoryRemap(byte register(Z) remapBlocks, word zp($d) lowerPageOffset, word zp(2) upperPageOffset) +// memoryRemap(byte register(Z) remapBlocks, word zp($b) lowerPageOffset, word zp($e) upperPageOffset) memoryRemap: { .label aVal = $fc .label xVal = $fd .label yVal = $fe .label zVal = $ff - .label __1 = $f - .label __6 = 8 - .label lowerPageOffset = $d - .label upperPageOffset = 2 + .label __1 = $d + .label __6 = 6 + .label lowerPageOffset = $b + .label upperPageOffset = $e // >4 lda.z lowerPageOffset+3 lsr @@ -314,11 +315,11 @@ memoryRemap256M: { sta uMb // (word)(dword~) memoryRemap256M::$0 [53] *((const byte*) memoryRemap256M::lMb) ← (byte~) memoryRemap256M::$1 [54] *((const byte*) memoryRemap256M::uMb) ← (byte) 0 - [55] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 - [56] (byte~) memoryRemap256M::$5 ← < (word~) memoryRemap256M::$7 + [55] (word~) memoryRemap256M::$4 ← < (dword) memoryRemap256M::lowerPageOffset#2 + [56] (byte~) memoryRemap256M::$5 ← < (word~) memoryRemap256M::$4 [57] *((const byte*) memoryRemap256M::aVal) ← (byte~) memoryRemap256M::$5 [58] (byte~) memoryRemap256M::$6 ← (byte) memoryRemap256M::remapBlocks#2 << (byte) 4 - [59] (byte~) memoryRemap256M::$8 ← > (word~) memoryRemap256M::$7 - [60] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f - [61] (byte~) memoryRemap256M::$10 ← (byte~) memoryRemap256M::$6 | (byte~) memoryRemap256M::$9 - [62] *((const byte*) memoryRemap256M::xVal) ← (byte~) memoryRemap256M::$10 - [63] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 - [64] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 - [65] *((const byte*) memoryRemap256M::zVal) ← (byte~) memoryRemap256M::$17 + [59] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 + [60] (byte~) memoryRemap256M::$8 ← > (word~) memoryRemap256M::$7 + [61] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f + [62] (byte~) memoryRemap256M::$10 ← (byte~) memoryRemap256M::$6 | (byte~) memoryRemap256M::$9 + [63] *((const byte*) memoryRemap256M::xVal) ← (byte~) memoryRemap256M::$10 + [64] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 + [65] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 + [66] *((const byte*) memoryRemap256M::zVal) ← (byte~) memoryRemap256M::$17 asm { ldalMb ldx#$0f ldyuMb ldz#$00 map ldaaVal ldxxVal ldyyVal ldzzVal map eom } to:memoryRemap256M::@return memoryRemap256M::@return: scope:[memoryRemap256M] from memoryRemap256M - [67] return + [68] return to:@return diff --git a/src/test/ref/examples/mega65/memorymap-test.log b/src/test/ref/examples/mega65/memorymap-test.log index c6db4d19d..9dc8ec499 100644 --- a/src/test/ref/examples/mega65/memorymap-test.log +++ b/src/test/ref/examples/mega65/memorymap-test.log @@ -761,9 +761,6 @@ Alias memoryRemapBlock::blockBits#0 = memoryRemapBlock::$2 Alias main::i#2 = main::i#3 Alias main::i1#2 = main::i1#3 Successful SSA optimization Pass2AliasElimination -Identified duplicate assignment right side [40] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 -Identified duplicate assignment right side [49] (word~) memoryRemap256M::$14 ← < (dword) memoryRemap256M::upperPageOffset#2 -Successful SSA optimization Pass2DuplicateRValueIdentification Simple Condition (bool~) main::$5 [72] if((byte) main::i#2<(byte) 6) goto main::@2 Simple Condition (bool~) main::$6 [82] if((byte) main::i1#2<(byte) $10) goto main::@5 Successful SSA optimization Pass2ConditionalJumpSimplification @@ -792,9 +789,6 @@ Removing unused procedure block __start Removing unused procedure block __start::@1 Removing unused procedure block __start::@return Successful SSA optimization PassNEliminateEmptyStart -Alias memoryRemap256M::$7 = memoryRemap256M::$4 -Alias memoryRemap256M::$14 = memoryRemap256M::$11 -Successful SSA optimization Pass2AliasElimination Rewriting division to use shift [19] (byte) memoryRemapBlock::block#0 ← (byte) memoryRemapBlock::blockPage#2 / (byte) $20 Successful SSA optimization Pass2MultiplyToShiftRewriting Inlining constant with var siblings (const byte) memoryRemap::remapBlocks#1 @@ -840,24 +834,28 @@ Identical Phi Values (word) memoryRemapBlock::memoryPage#2 (word) $100 Identical Phi Values (dword) memoryRemap256M::upperPageOffset#2 (byte) 0 Successful SSA optimization Pass2IdenticalPhiElimination Constant right-side identified [30] (dword~) memoryRemap256M::$2 ← (byte) 0 >> (byte) 4 -Constant right-side identified [41] (word~) memoryRemap256M::$14 ← < (byte) 0 +Constant right-side identified [42] (word~) memoryRemap256M::$11 ← < (byte) 0 +Constant right-side identified [46] (word~) memoryRemap256M::$14 ← < (byte) 0 Successful SSA optimization Pass2ConstantRValueConsolidation Constant (const dword) memoryRemap256M::$2 = 0>>4 +Constant (const word) memoryRemap256M::$11 = <0 Constant (const word) memoryRemap256M::$14 = <0 Successful SSA optimization Pass2ConstantIdentification Constant value identified (word)memoryRemap256M::$2 in [31] (byte~) memoryRemap256M::$3 ← > (word)(const dword) memoryRemap256M::$2 Successful SSA optimization Pass2ConstantValues Simplifying constant evaluating to zero (byte) 0>>(byte) 4 in Simplifying constant evaluating to zero <(byte) 0 in +Simplifying constant evaluating to zero <(byte) 0 in Simplifying constant evaluating to zero (word)(const dword) memoryRemap256M::$2 in [31] (byte~) memoryRemap256M::$3 ← > (word)(const dword) memoryRemap256M::$2 Successful SSA optimization PassNSimplifyConstantZero Eliminating unused constant (const dword) memoryRemap256M::$2 Successful SSA optimization PassNEliminateUnusedVars +Constant inlined memoryRemap256M::$11 = (byte) 0 Constant inlined memoryRemap256M::$14 = (byte) 0 Successful SSA optimization Pass2ConstantInlining Constant right-side identified [30] (byte~) memoryRemap256M::$3 ← > (word) 0 -Constant right-side identified [40] (byte~) memoryRemap256M::$12 ← < (byte) 0 -Constant right-side identified [43] (byte~) memoryRemap256M::$15 ← > (byte) 0 +Constant right-side identified [41] (byte~) memoryRemap256M::$12 ← < (byte) 0 +Constant right-side identified [44] (byte~) memoryRemap256M::$15 ← > (byte) 0 Successful SSA optimization Pass2ConstantRValueConsolidation Constant (const byte) memoryRemap256M::$3 = >0 Constant (const byte) memoryRemap256M::$12 = <0 @@ -871,13 +869,13 @@ Constant inlined memoryRemap256M::$15 = (byte) 0 Constant inlined memoryRemap256M::$12 = (byte) 0 Constant inlined memoryRemap256M::$3 = (byte) 0 Successful SSA optimization Pass2ConstantInlining -Constant right-side identified [41] (byte~) memoryRemap256M::$16 ← (byte) 0 & (byte) $f +Constant right-side identified [42] (byte~) memoryRemap256M::$16 ← (byte) 0 & (byte) $f Successful SSA optimization Pass2ConstantRValueConsolidation Constant (const byte) memoryRemap256M::$16 = 0&$f Successful SSA optimization Pass2ConstantIdentification Simplifying constant evaluating to zero (byte) 0&(byte) $f in Successful SSA optimization PassNSimplifyConstantZero -Simplifying expression containing zero memoryRemap256M::$13 in [42] (byte~) memoryRemap256M::$17 ← (byte~) memoryRemap256M::$13 | (const byte) memoryRemap256M::$16 +Simplifying expression containing zero memoryRemap256M::$13 in [43] (byte~) memoryRemap256M::$17 ← (byte~) memoryRemap256M::$13 | (const byte) memoryRemap256M::$16 Successful SSA optimization PassNSimplifyExpressionWithZero Eliminating unused constant (const byte) memoryRemap256M::$16 Successful SSA optimization PassNEliminateUnusedVars @@ -1005,21 +1003,22 @@ memoryRemap256M: scope:[memoryRemap256M] from main::@3 main::@6 [52] (byte~) memoryRemap256M::$1 ← > (word)(dword~) memoryRemap256M::$0 [53] *((const byte*) memoryRemap256M::lMb) ← (byte~) memoryRemap256M::$1 [54] *((const byte*) memoryRemap256M::uMb) ← (byte) 0 - [55] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 - [56] (byte~) memoryRemap256M::$5 ← < (word~) memoryRemap256M::$7 + [55] (word~) memoryRemap256M::$4 ← < (dword) memoryRemap256M::lowerPageOffset#2 + [56] (byte~) memoryRemap256M::$5 ← < (word~) memoryRemap256M::$4 [57] *((const byte*) memoryRemap256M::aVal) ← (byte~) memoryRemap256M::$5 [58] (byte~) memoryRemap256M::$6 ← (byte) memoryRemap256M::remapBlocks#2 << (byte) 4 - [59] (byte~) memoryRemap256M::$8 ← > (word~) memoryRemap256M::$7 - [60] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f - [61] (byte~) memoryRemap256M::$10 ← (byte~) memoryRemap256M::$6 | (byte~) memoryRemap256M::$9 - [62] *((const byte*) memoryRemap256M::xVal) ← (byte~) memoryRemap256M::$10 - [63] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 - [64] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 - [65] *((const byte*) memoryRemap256M::zVal) ← (byte~) memoryRemap256M::$17 + [59] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 + [60] (byte~) memoryRemap256M::$8 ← > (word~) memoryRemap256M::$7 + [61] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f + [62] (byte~) memoryRemap256M::$10 ← (byte~) memoryRemap256M::$6 | (byte~) memoryRemap256M::$9 + [63] *((const byte*) memoryRemap256M::xVal) ← (byte~) memoryRemap256M::$10 + [64] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 + [65] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 + [66] *((const byte*) memoryRemap256M::zVal) ← (byte~) memoryRemap256M::$17 asm { ldalMb ldx#$0f ldyuMb ldz#$00 map ldaaVal ldxxVal ldyyVal ldzzVal map eom } to:memoryRemap256M::@return memoryRemap256M::@return: scope:[memoryRemap256M] from memoryRemap256M - [67] return + [68] return to:@return @@ -1365,15 +1364,16 @@ VARIABLE REGISTER WEIGHTS (byte~) memoryRemap256M::$1 22.0 (byte~) memoryRemap256M::$10 22.0 (byte~) memoryRemap256M::$17 22.0 +(word~) memoryRemap256M::$4 22.0 (byte~) memoryRemap256M::$5 22.0 -(byte~) memoryRemap256M::$6 7.333333333333333 -(word~) memoryRemap256M::$7 8.25 +(byte~) memoryRemap256M::$6 5.5 +(word~) memoryRemap256M::$7 22.0 (byte~) memoryRemap256M::$8 22.0 (byte~) memoryRemap256M::$9 22.0 (dword) memoryRemap256M::lowerPageOffset -(dword) memoryRemap256M::lowerPageOffset#2 4.4 +(dword) memoryRemap256M::lowerPageOffset#2 3.666666666666667 (byte) memoryRemap256M::remapBlocks -(byte) memoryRemap256M::remapBlocks#2 1.5714285714285714 +(byte) memoryRemap256M::remapBlocks#2 1.4666666666666666 (dword) memoryRemap256M::upperPageOffset (void()) memoryRemapBlock((byte) memoryRemapBlock::blockPage , (word) memoryRemapBlock::memoryPage) (byte) memoryRemapBlock::block @@ -1411,9 +1411,10 @@ Added variable memoryRemap::$8 to live range equivalence class [ memoryRemap::$8 Added variable memoryRemap::$9 to live range equivalence class [ memoryRemap::$9 ] Added variable memoryRemap256M::$0 to live range equivalence class [ memoryRemap256M::$0 ] Added variable memoryRemap256M::$1 to live range equivalence class [ memoryRemap256M::$1 ] -Added variable memoryRemap256M::$7 to live range equivalence class [ memoryRemap256M::$7 ] +Added variable memoryRemap256M::$4 to live range equivalence class [ memoryRemap256M::$4 ] Added variable memoryRemap256M::$5 to live range equivalence class [ memoryRemap256M::$5 ] Added variable memoryRemap256M::$6 to live range equivalence class [ memoryRemap256M::$6 ] +Added variable memoryRemap256M::$7 to live range equivalence class [ memoryRemap256M::$7 ] Added variable memoryRemap256M::$8 to live range equivalence class [ memoryRemap256M::$8 ] Added variable memoryRemap256M::$9 to live range equivalence class [ memoryRemap256M::$9 ] Added variable memoryRemap256M::$10 to live range equivalence class [ memoryRemap256M::$10 ] @@ -1443,9 +1444,10 @@ Complete equivalence classes [ memoryRemap::$9 ] [ memoryRemap256M::$0 ] [ memoryRemap256M::$1 ] -[ memoryRemap256M::$7 ] +[ memoryRemap256M::$4 ] [ memoryRemap256M::$5 ] [ memoryRemap256M::$6 ] +[ memoryRemap256M::$7 ] [ memoryRemap256M::$8 ] [ memoryRemap256M::$9 ] [ memoryRemap256M::$10 ] @@ -1474,13 +1476,14 @@ Allocated zp[1]:28 [ memoryRemap::$8 ] Allocated zp[1]:29 [ memoryRemap::$9 ] Allocated zp[4]:30 [ memoryRemap256M::$0 ] Allocated zp[1]:34 [ memoryRemap256M::$1 ] -Allocated zp[2]:35 [ memoryRemap256M::$7 ] +Allocated zp[2]:35 [ memoryRemap256M::$4 ] Allocated zp[1]:37 [ memoryRemap256M::$5 ] Allocated zp[1]:38 [ memoryRemap256M::$6 ] -Allocated zp[1]:39 [ memoryRemap256M::$8 ] -Allocated zp[1]:40 [ memoryRemap256M::$9 ] -Allocated zp[1]:41 [ memoryRemap256M::$10 ] -Allocated zp[1]:42 [ memoryRemap256M::$17 ] +Allocated zp[2]:39 [ memoryRemap256M::$7 ] +Allocated zp[1]:41 [ memoryRemap256M::$8 ] +Allocated zp[1]:42 [ memoryRemap256M::$9 ] +Allocated zp[1]:43 [ memoryRemap256M::$10 ] +Allocated zp[1]:44 [ memoryRemap256M::$17 ] INITIAL ASM Target platform is mega65 / MEGA45GS02 @@ -1895,13 +1898,14 @@ memoryRemap256M: { .label zVal = $ff .label __0 = $1e .label __1 = $22 + .label __4 = $23 .label __5 = $25 .label __6 = $26 - .label __7 = $23 - .label __8 = $27 - .label __9 = $28 - .label __10 = $29 - .label __17 = $2a + .label __7 = $27 + .label __8 = $29 + .label __9 = $2a + .label __10 = $2b + .label __17 = $2c .label lowerPageOffset = $a .label remapBlocks = $e // [51] (dword~) memoryRemap256M::$0 ← (dword) memoryRemap256M::lowerPageOffset#2 >> (byte) 4 -- vduz1=vduz2_ror_4 @@ -1938,13 +1942,13 @@ memoryRemap256M: { // [54] *((const byte*) memoryRemap256M::uMb) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta uMb - // [55] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 -- vwuz1=_lo_vduz2 + // [55] (word~) memoryRemap256M::$4 ← < (dword) memoryRemap256M::lowerPageOffset#2 -- vwuz1=_lo_vduz2 lda.z lowerPageOffset - sta.z __7 + sta.z __4 lda.z lowerPageOffset+1 - sta.z __7+1 - // [56] (byte~) memoryRemap256M::$5 ← < (word~) memoryRemap256M::$7 -- vbuz1=_lo_vwuz2 - lda.z __7 + sta.z __4+1 + // [56] (byte~) memoryRemap256M::$5 ← < (word~) memoryRemap256M::$4 -- vbuz1=_lo_vwuz2 + lda.z __4 sta.z __5 // [57] *((const byte*) memoryRemap256M::aVal) ← (byte~) memoryRemap256M::$5 -- _deref_pbuc1=vbuz1 lda.z __5 @@ -1956,28 +1960,33 @@ memoryRemap256M: { asl asl sta.z __6 - // [59] (byte~) memoryRemap256M::$8 ← > (word~) memoryRemap256M::$7 -- vbuz1=_hi_vwuz2 + // [59] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 -- vwuz1=_lo_vduz2 + lda.z lowerPageOffset + sta.z __7 + lda.z lowerPageOffset+1 + sta.z __7+1 + // [60] (byte~) memoryRemap256M::$8 ← > (word~) memoryRemap256M::$7 -- vbuz1=_hi_vwuz2 lda.z __7+1 sta.z __8 - // [60] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 + // [61] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f -- vbuz1=vbuz2_band_vbuc1 lda #$f and.z __8 sta.z __9 - // [61] (byte~) memoryRemap256M::$10 ← (byte~) memoryRemap256M::$6 | (byte~) memoryRemap256M::$9 -- vbuz1=vbuz2_bor_vbuz3 + // [62] (byte~) memoryRemap256M::$10 ← (byte~) memoryRemap256M::$6 | (byte~) memoryRemap256M::$9 -- vbuz1=vbuz2_bor_vbuz3 lda.z __6 ora.z __9 sta.z __10 - // [62] *((const byte*) memoryRemap256M::xVal) ← (byte~) memoryRemap256M::$10 -- _deref_pbuc1=vbuz1 + // [63] *((const byte*) memoryRemap256M::xVal) ← (byte~) memoryRemap256M::$10 -- _deref_pbuc1=vbuz1 lda.z __10 sta xVal - // [63] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [64] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta yVal - // [64] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 -- vbuz1=vbuz2_band_vbuc1 + // [65] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 -- vbuz1=vbuz2_band_vbuc1 lda #$f0 and.z remapBlocks sta.z __17 - // [65] *((const byte*) memoryRemap256M::zVal) ← (byte~) memoryRemap256M::$17 -- _deref_pbuc1=vbuz1 + // [66] *((const byte*) memoryRemap256M::zVal) ← (byte~) memoryRemap256M::$17 -- _deref_pbuc1=vbuz1 lda.z __17 sta zVal // asm { ldalMb ldx#$0f ldyuMb ldz#$00 map ldaaVal ldxxVal ldyyVal ldzzVal map eom } @@ -1995,7 +2004,7 @@ memoryRemap256M: { jmp __breturn // memoryRemap256M::@return __breturn: - // [67] return + // [68] return rts } // File Data @@ -2028,12 +2037,13 @@ Statement asm { ldaaVal ldxxVal ldyyVal ldzzVal map eom } always clobbers reg b Statement [51] (dword~) memoryRemap256M::$0 ← (dword) memoryRemap256M::lowerPageOffset#2 >> (byte) 4 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$0 ] ( memoryRemap256M:13 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$0 ] { } memoryRemap256M:17 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$0 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:14 [ memoryRemap256M::remapBlocks#2 ] Statement [54] *((const byte*) memoryRemap256M::uMb) ← (byte) 0 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 ] ( memoryRemap256M:13 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 ] { } memoryRemap256M:17 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 ] { } ) always clobbers reg byte a -Statement [55] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 ] { } ) always clobbers reg byte a -Statement [58] (byte~) memoryRemap256M::$6 ← (byte) memoryRemap256M::remapBlocks#2 << (byte) 4 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 memoryRemap256M::$6 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 memoryRemap256M::$6 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 memoryRemap256M::$6 ] { } ) always clobbers reg byte a -Statement [60] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] { } ) always clobbers reg byte a +Statement [55] (word~) memoryRemap256M::$4 ← < (dword) memoryRemap256M::lowerPageOffset#2 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$4 ] ( memoryRemap256M:13 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$4 ] { } memoryRemap256M:17 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$4 ] { } ) always clobbers reg byte a +Statement [58] (byte~) memoryRemap256M::$6 ← (byte) memoryRemap256M::remapBlocks#2 << (byte) 4 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 ] ( memoryRemap256M:13 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 ] { } memoryRemap256M:17 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 ] { } ) always clobbers reg byte a +Statement [59] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$7 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$7 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$7 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:38 [ memoryRemap256M::$6 ] -Statement [63] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 [ memoryRemap256M::remapBlocks#2 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 ] { } ) always clobbers reg byte a -Statement [64] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 [ memoryRemap256M::$17 ] ( memoryRemap256M:13 [ memoryRemap256M::$17 ] { } memoryRemap256M:17 [ memoryRemap256M::$17 ] { } ) always clobbers reg byte a +Statement [61] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] { } ) always clobbers reg byte a +Statement [64] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 [ memoryRemap256M::remapBlocks#2 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 ] { } ) always clobbers reg byte a +Statement [65] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 [ memoryRemap256M::$17 ] ( memoryRemap256M:13 [ memoryRemap256M::$17 ] { } memoryRemap256M:17 [ memoryRemap256M::$17 ] { } ) always clobbers reg byte a Statement asm { ldalMb ldx#$0f ldyuMb ldz#$00 map ldaaVal ldxxVal ldyyVal ldzzVal map eom } always clobbers reg byte a reg byte x reg byte y reg byte z Statement [2] *((const byte*) main::BLOCK_4000) ← (byte) '-' [ ] ( [ ] { } ) always clobbers reg byte a Statement [3] *((const byte*) main::BLOCK_4000+(byte) 1) ← (byte) '*' [ ] ( [ ] { } ) always clobbers reg byte a @@ -2055,11 +2065,12 @@ Statement [45] (byte~) memoryRemap::$8 ← (byte~) memoryRemap::$7 & (byte) $f [ Statement asm { ldaaVal ldxxVal ldyyVal ldzzVal map eom } always clobbers reg byte a reg byte x reg byte y reg byte z Statement [51] (dword~) memoryRemap256M::$0 ← (dword) memoryRemap256M::lowerPageOffset#2 >> (byte) 4 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$0 ] ( memoryRemap256M:13 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$0 ] { } memoryRemap256M:17 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$0 ] { } ) always clobbers reg byte a Statement [54] *((const byte*) memoryRemap256M::uMb) ← (byte) 0 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 ] ( memoryRemap256M:13 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 ] { } memoryRemap256M:17 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 ] { } ) always clobbers reg byte a -Statement [55] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 ] { } ) always clobbers reg byte a -Statement [58] (byte~) memoryRemap256M::$6 ← (byte) memoryRemap256M::remapBlocks#2 << (byte) 4 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 memoryRemap256M::$6 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 memoryRemap256M::$6 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$7 memoryRemap256M::$6 ] { } ) always clobbers reg byte a -Statement [60] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] { } ) always clobbers reg byte a -Statement [63] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 [ memoryRemap256M::remapBlocks#2 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 ] { } ) always clobbers reg byte a -Statement [64] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 [ memoryRemap256M::$17 ] ( memoryRemap256M:13 [ memoryRemap256M::$17 ] { } memoryRemap256M:17 [ memoryRemap256M::$17 ] { } ) always clobbers reg byte a +Statement [55] (word~) memoryRemap256M::$4 ← < (dword) memoryRemap256M::lowerPageOffset#2 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$4 ] ( memoryRemap256M:13 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$4 ] { } memoryRemap256M:17 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$4 ] { } ) always clobbers reg byte a +Statement [58] (byte~) memoryRemap256M::$6 ← (byte) memoryRemap256M::remapBlocks#2 << (byte) 4 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 ] ( memoryRemap256M:13 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 ] { } memoryRemap256M:17 [ memoryRemap256M::lowerPageOffset#2 memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 ] { } ) always clobbers reg byte a +Statement [59] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$7 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$7 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$7 ] { } ) always clobbers reg byte a +Statement [61] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 memoryRemap256M::$6 memoryRemap256M::$9 ] { } ) always clobbers reg byte a +Statement [64] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 [ memoryRemap256M::remapBlocks#2 ] ( memoryRemap256M:13 [ memoryRemap256M::remapBlocks#2 ] { } memoryRemap256M:17 [ memoryRemap256M::remapBlocks#2 ] { } ) always clobbers reg byte a +Statement [65] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 [ memoryRemap256M::$17 ] ( memoryRemap256M:13 [ memoryRemap256M::$17 ] { } memoryRemap256M:17 [ memoryRemap256M::$17 ] { } ) always clobbers reg byte a Statement asm { ldalMb ldx#$0f ldyuMb ldz#$00 map ldaaVal ldxxVal ldyyVal ldzzVal map eom } always clobbers reg byte a reg byte x reg byte y reg byte z Potential registers zp[1]:2 [ main::i#2 main::i#1 ] : zp[1]:2 , reg byte x , reg byte y , reg byte z , Potential registers zp[1]:3 [ main::i1#2 main::i1#1 ] : zp[1]:3 , reg byte x , reg byte y , reg byte z , @@ -2085,17 +2096,18 @@ Potential registers zp[1]:28 [ memoryRemap::$8 ] : zp[1]:28 , reg byte a , reg b Potential registers zp[1]:29 [ memoryRemap::$9 ] : zp[1]:29 , reg byte a , reg byte x , reg byte y , reg byte z , Potential registers zp[4]:30 [ memoryRemap256M::$0 ] : zp[4]:30 , Potential registers zp[1]:34 [ memoryRemap256M::$1 ] : zp[1]:34 , reg byte a , reg byte x , reg byte y , reg byte z , -Potential registers zp[2]:35 [ memoryRemap256M::$7 ] : zp[2]:35 , +Potential registers zp[2]:35 [ memoryRemap256M::$4 ] : zp[2]:35 , Potential registers zp[1]:37 [ memoryRemap256M::$5 ] : zp[1]:37 , reg byte a , reg byte x , reg byte y , reg byte z , Potential registers zp[1]:38 [ memoryRemap256M::$6 ] : zp[1]:38 , reg byte x , reg byte y , reg byte z , -Potential registers zp[1]:39 [ memoryRemap256M::$8 ] : zp[1]:39 , reg byte a , reg byte x , reg byte y , reg byte z , -Potential registers zp[1]:40 [ memoryRemap256M::$9 ] : zp[1]:40 , reg byte a , reg byte x , reg byte y , reg byte z , -Potential registers zp[1]:41 [ memoryRemap256M::$10 ] : zp[1]:41 , reg byte a , reg byte x , reg byte y , reg byte z , -Potential registers zp[1]:42 [ memoryRemap256M::$17 ] : zp[1]:42 , reg byte a , reg byte x , reg byte y , reg byte z , +Potential registers zp[2]:39 [ memoryRemap256M::$7 ] : zp[2]:39 , +Potential registers zp[1]:41 [ memoryRemap256M::$8 ] : zp[1]:41 , reg byte a , reg byte x , reg byte y , reg byte z , +Potential registers zp[1]:42 [ memoryRemap256M::$9 ] : zp[1]:42 , reg byte a , reg byte x , reg byte y , reg byte z , +Potential registers zp[1]:43 [ memoryRemap256M::$10 ] : zp[1]:43 , reg byte a , reg byte x , reg byte y , reg byte z , +Potential registers zp[1]:44 [ memoryRemap256M::$17 ] : zp[1]:44 , reg byte a , reg byte x , reg byte y , reg byte z , REGISTER UPLIFT SCOPES Uplift Scope [memoryRemap] 202: zp[1]:20 [ memoryRemap::$0 ] 202: zp[1]:22 [ memoryRemap::$2 ] 202: zp[1]:23 [ memoryRemap::$3 ] 202: zp[1]:24 [ memoryRemap::$4 ] 202: zp[1]:25 [ memoryRemap::$5 ] 202: zp[1]:27 [ memoryRemap::$7 ] 202: zp[1]:28 [ memoryRemap::$8 ] 202: zp[1]:29 [ memoryRemap::$9 ] 67.33: zp[1]:21 [ memoryRemap::$1 ] 67.33: zp[1]:26 [ memoryRemap::$6 ] 64.25: zp[2]:5 [ memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 ] 41.36: zp[2]:8 [ memoryRemap::upperPageOffset#2 memoryRemap::upperPageOffset#0 ] 28.63: zp[1]:7 [ memoryRemap::remapBlocks#2 memoryRemap::remapBlocks#0 ] -Uplift Scope [memoryRemap256M] 22: zp[1]:34 [ memoryRemap256M::$1 ] 22: zp[1]:37 [ memoryRemap256M::$5 ] 22: zp[1]:39 [ memoryRemap256M::$8 ] 22: zp[1]:40 [ memoryRemap256M::$9 ] 22: zp[1]:41 [ memoryRemap256M::$10 ] 22: zp[1]:42 [ memoryRemap256M::$17 ] 11: zp[4]:30 [ memoryRemap256M::$0 ] 8.25: zp[2]:35 [ memoryRemap256M::$7 ] 7.33: zp[1]:38 [ memoryRemap256M::$6 ] 4.4: zp[4]:10 [ memoryRemap256M::lowerPageOffset#2 ] 1.57: zp[1]:14 [ memoryRemap256M::remapBlocks#2 ] +Uplift Scope [memoryRemap256M] 22: zp[1]:34 [ memoryRemap256M::$1 ] 22: zp[2]:35 [ memoryRemap256M::$4 ] 22: zp[1]:37 [ memoryRemap256M::$5 ] 22: zp[2]:39 [ memoryRemap256M::$7 ] 22: zp[1]:41 [ memoryRemap256M::$8 ] 22: zp[1]:42 [ memoryRemap256M::$9 ] 22: zp[1]:43 [ memoryRemap256M::$10 ] 22: zp[1]:44 [ memoryRemap256M::$17 ] 11: zp[4]:30 [ memoryRemap256M::$0 ] 5.5: zp[1]:38 [ memoryRemap256M::$6 ] 3.67: zp[4]:10 [ memoryRemap256M::lowerPageOffset#2 ] 1.47: zp[1]:14 [ memoryRemap256M::remapBlocks#2 ] Uplift Scope [main] 40.33: zp[1]:2 [ main::i#2 main::i#1 ] 35.75: zp[1]:3 [ main::i1#2 main::i1#1 ] 22: zp[1]:15 [ main::$7 ] Uplift Scope [memoryRemapBlock] 22: zp[1]:18 [ memoryRemapBlock::block#0 ] 22: zp[1]:19 [ memoryRemapBlock::blockBits#0 ] 11: zp[1]:4 [ memoryRemapBlock::blockPage#2 ] 6.6: zp[2]:16 [ memoryRemapBlock::pageOffset#0 ] Uplift Scope [MOS6526_CIA] @@ -2108,56 +2120,57 @@ Uplift Scope [DMA_LIST_F018A] Uplift Scope [DMA_LIST_F018B] Uplift Scope [] -Uplifting [memoryRemap] best 1438 combination reg byte a [ memoryRemap::$0 ] reg byte a [ memoryRemap::$2 ] reg byte a [ memoryRemap::$3 ] zp[1]:24 [ memoryRemap::$4 ] zp[1]:25 [ memoryRemap::$5 ] zp[1]:27 [ memoryRemap::$7 ] zp[1]:28 [ memoryRemap::$8 ] zp[1]:29 [ memoryRemap::$9 ] zp[1]:21 [ memoryRemap::$1 ] zp[1]:26 [ memoryRemap::$6 ] zp[2]:5 [ memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 ] zp[2]:8 [ memoryRemap::upperPageOffset#2 memoryRemap::upperPageOffset#0 ] zp[1]:7 [ memoryRemap::remapBlocks#2 memoryRemap::remapBlocks#0 ] +Uplifting [memoryRemap] best 1450 combination reg byte a [ memoryRemap::$0 ] reg byte a [ memoryRemap::$2 ] reg byte a [ memoryRemap::$3 ] zp[1]:24 [ memoryRemap::$4 ] zp[1]:25 [ memoryRemap::$5 ] zp[1]:27 [ memoryRemap::$7 ] zp[1]:28 [ memoryRemap::$8 ] zp[1]:29 [ memoryRemap::$9 ] zp[1]:21 [ memoryRemap::$1 ] zp[1]:26 [ memoryRemap::$6 ] zp[2]:5 [ memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 ] zp[2]:8 [ memoryRemap::upperPageOffset#2 memoryRemap::upperPageOffset#0 ] zp[1]:7 [ memoryRemap::remapBlocks#2 memoryRemap::remapBlocks#0 ] Limited combination testing to 100 combinations of 25000000 possible. -Uplifting [memoryRemap256M] best 1420 combination reg byte a [ memoryRemap256M::$1 ] reg byte a [ memoryRemap256M::$5 ] reg byte a [ memoryRemap256M::$8 ] zp[1]:40 [ memoryRemap256M::$9 ] zp[1]:41 [ memoryRemap256M::$10 ] zp[1]:42 [ memoryRemap256M::$17 ] zp[4]:30 [ memoryRemap256M::$0 ] zp[2]:35 [ memoryRemap256M::$7 ] zp[1]:38 [ memoryRemap256M::$6 ] zp[4]:10 [ memoryRemap256M::lowerPageOffset#2 ] zp[1]:14 [ memoryRemap256M::remapBlocks#2 ] +Uplifting [memoryRemap256M] best 1432 combination reg byte a [ memoryRemap256M::$1 ] zp[2]:35 [ memoryRemap256M::$4 ] reg byte a [ memoryRemap256M::$5 ] zp[2]:39 [ memoryRemap256M::$7 ] reg byte a [ memoryRemap256M::$8 ] zp[1]:42 [ memoryRemap256M::$9 ] zp[1]:43 [ memoryRemap256M::$10 ] zp[1]:44 [ memoryRemap256M::$17 ] zp[4]:30 [ memoryRemap256M::$0 ] zp[1]:38 [ memoryRemap256M::$6 ] zp[4]:10 [ memoryRemap256M::lowerPageOffset#2 ] zp[1]:14 [ memoryRemap256M::remapBlocks#2 ] Limited combination testing to 100 combinations of 250000 possible. -Uplifting [main] best 1110 combination reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] reg byte a [ main::$7 ] -Uplifting [memoryRemapBlock] best 1096 combination reg byte a [ memoryRemapBlock::block#0 ] reg byte a [ memoryRemapBlock::blockBits#0 ] reg byte x [ memoryRemapBlock::blockPage#2 ] zp[2]:16 [ memoryRemapBlock::pageOffset#0 ] -Uplifting [MOS6526_CIA] best 1096 combination -Uplifting [MOS6569_VICII] best 1096 combination -Uplifting [MOS6581_SID] best 1096 combination -Uplifting [MOS4569_VICIII] best 1096 combination -Uplifting [MEGA65_VICIV] best 1096 combination -Uplifting [F018_DMAGIC] best 1096 combination -Uplifting [DMA_LIST_F018A] best 1096 combination -Uplifting [DMA_LIST_F018B] best 1096 combination -Uplifting [] best 1096 combination +Uplifting [main] best 1122 combination reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] reg byte a [ main::$7 ] +Uplifting [memoryRemapBlock] best 1108 combination reg byte a [ memoryRemapBlock::block#0 ] reg byte a [ memoryRemapBlock::blockBits#0 ] reg byte x [ memoryRemapBlock::blockPage#2 ] zp[2]:16 [ memoryRemapBlock::pageOffset#0 ] +Uplifting [MOS6526_CIA] best 1108 combination +Uplifting [MOS6569_VICII] best 1108 combination +Uplifting [MOS6581_SID] best 1108 combination +Uplifting [MOS4569_VICIII] best 1108 combination +Uplifting [MEGA65_VICIV] best 1108 combination +Uplifting [F018_DMAGIC] best 1108 combination +Uplifting [DMA_LIST_F018A] best 1108 combination +Uplifting [DMA_LIST_F018B] best 1108 combination +Uplifting [] best 1108 combination Attempting to uplift remaining variables inzp[1]:24 [ memoryRemap::$4 ] -Uplifting [memoryRemap] best 1090 combination reg byte a [ memoryRemap::$4 ] +Uplifting [memoryRemap] best 1102 combination reg byte a [ memoryRemap::$4 ] Attempting to uplift remaining variables inzp[1]:25 [ memoryRemap::$5 ] -Uplifting [memoryRemap] best 1084 combination reg byte a [ memoryRemap::$5 ] +Uplifting [memoryRemap] best 1096 combination reg byte a [ memoryRemap::$5 ] Attempting to uplift remaining variables inzp[1]:27 [ memoryRemap::$7 ] -Uplifting [memoryRemap] best 1078 combination reg byte a [ memoryRemap::$7 ] +Uplifting [memoryRemap] best 1090 combination reg byte a [ memoryRemap::$7 ] Attempting to uplift remaining variables inzp[1]:28 [ memoryRemap::$8 ] -Uplifting [memoryRemap] best 1072 combination reg byte a [ memoryRemap::$8 ] +Uplifting [memoryRemap] best 1084 combination reg byte a [ memoryRemap::$8 ] Attempting to uplift remaining variables inzp[1]:29 [ memoryRemap::$9 ] -Uplifting [memoryRemap] best 1066 combination reg byte a [ memoryRemap::$9 ] +Uplifting [memoryRemap] best 1078 combination reg byte a [ memoryRemap::$9 ] Attempting to uplift remaining variables inzp[1]:21 [ memoryRemap::$1 ] -Uplifting [memoryRemap] best 1066 combination zp[1]:21 [ memoryRemap::$1 ] +Uplifting [memoryRemap] best 1078 combination zp[1]:21 [ memoryRemap::$1 ] Attempting to uplift remaining variables inzp[1]:26 [ memoryRemap::$6 ] -Uplifting [memoryRemap] best 1066 combination zp[1]:26 [ memoryRemap::$6 ] +Uplifting [memoryRemap] best 1078 combination zp[1]:26 [ memoryRemap::$6 ] Attempting to uplift remaining variables inzp[1]:7 [ memoryRemap::remapBlocks#2 memoryRemap::remapBlocks#0 ] -Uplifting [memoryRemap] best 1057 combination reg byte z [ memoryRemap::remapBlocks#2 memoryRemap::remapBlocks#0 ] -Attempting to uplift remaining variables inzp[1]:40 [ memoryRemap256M::$9 ] -Uplifting [memoryRemap256M] best 1051 combination reg byte a [ memoryRemap256M::$9 ] -Attempting to uplift remaining variables inzp[1]:41 [ memoryRemap256M::$10 ] -Uplifting [memoryRemap256M] best 1045 combination reg byte a [ memoryRemap256M::$10 ] -Attempting to uplift remaining variables inzp[1]:42 [ memoryRemap256M::$17 ] -Uplifting [memoryRemap256M] best 1039 combination reg byte a [ memoryRemap256M::$17 ] +Uplifting [memoryRemap] best 1069 combination reg byte z [ memoryRemap::remapBlocks#2 memoryRemap::remapBlocks#0 ] +Attempting to uplift remaining variables inzp[1]:42 [ memoryRemap256M::$9 ] +Uplifting [memoryRemap256M] best 1063 combination reg byte a [ memoryRemap256M::$9 ] +Attempting to uplift remaining variables inzp[1]:43 [ memoryRemap256M::$10 ] +Uplifting [memoryRemap256M] best 1057 combination reg byte a [ memoryRemap256M::$10 ] +Attempting to uplift remaining variables inzp[1]:44 [ memoryRemap256M::$17 ] +Uplifting [memoryRemap256M] best 1051 combination reg byte a [ memoryRemap256M::$17 ] Attempting to uplift remaining variables inzp[1]:38 [ memoryRemap256M::$6 ] -Uplifting [memoryRemap256M] best 1039 combination zp[1]:38 [ memoryRemap256M::$6 ] +Uplifting [memoryRemap256M] best 1051 combination zp[1]:38 [ memoryRemap256M::$6 ] Attempting to uplift remaining variables inzp[1]:14 [ memoryRemap256M::remapBlocks#2 ] -Uplifting [memoryRemap256M] best 1029 combination reg byte z [ memoryRemap256M::remapBlocks#2 ] +Uplifting [memoryRemap256M] best 1041 combination reg byte z [ memoryRemap256M::remapBlocks#2 ] Coalescing zero page register [ zp[2]:5 [ memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 ] ] with [ zp[2]:16 [ memoryRemapBlock::pageOffset#0 ] ] - score: 1 -Coalescing zero page register [ zp[2]:35 [ memoryRemap256M::$7 ] ] with [ zp[2]:5 [ memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 memoryRemapBlock::pageOffset#0 ] ] +Coalescing zero page register [ zp[2]:35 [ memoryRemap256M::$4 ] ] with [ zp[2]:5 [ memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 memoryRemapBlock::pageOffset#0 ] ] Coalescing zero page register [ zp[1]:38 [ memoryRemap256M::$6 ] ] with [ zp[1]:21 [ memoryRemap::$1 ] ] -Allocated (was zp[2]:8) zp[2]:2 [ memoryRemap::upperPageOffset#2 memoryRemap::upperPageOffset#0 ] -Allocated (was zp[4]:10) zp[4]:4 [ memoryRemap256M::lowerPageOffset#2 ] -Allocated (was zp[1]:26) zp[1]:8 [ memoryRemap::$6 ] -Allocated (was zp[4]:30) zp[4]:9 [ memoryRemap256M::$0 ] -Allocated (was zp[2]:35) zp[2]:13 [ memoryRemap256M::$7 memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 memoryRemapBlock::pageOffset#0 ] -Allocated (was zp[1]:38) zp[1]:15 [ memoryRemap256M::$6 memoryRemap::$1 ] +Coalescing zero page register [ zp[2]:39 [ memoryRemap256M::$7 ] ] with [ zp[2]:8 [ memoryRemap::upperPageOffset#2 memoryRemap::upperPageOffset#0 ] ] +Allocated (was zp[4]:10) zp[4]:2 [ memoryRemap256M::lowerPageOffset#2 ] +Allocated (was zp[1]:26) zp[1]:6 [ memoryRemap::$6 ] +Allocated (was zp[4]:30) zp[4]:7 [ memoryRemap256M::$0 ] +Allocated (was zp[2]:35) zp[2]:11 [ memoryRemap256M::$4 memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 memoryRemapBlock::pageOffset#0 ] +Allocated (was zp[1]:38) zp[1]:13 [ memoryRemap256M::$6 memoryRemap::$1 ] +Allocated (was zp[2]:39) zp[2]:14 [ memoryRemap256M::$7 memoryRemap::upperPageOffset#2 memoryRemap::upperPageOffset#0 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -2354,7 +2367,7 @@ main: { // Ie. the memory that will be pointed to is $100 * the passed page address. Only the lower 12bits of the passed value is used. // memoryRemapBlock(byte register(X) blockPage) memoryRemapBlock: { - .label pageOffset = $d + .label pageOffset = $b // [25] (word) memoryRemapBlock::pageOffset#0 ← (word) $100 - (byte) memoryRemapBlock::blockPage#2 -- vwuz1=vwuc1_minus_vbuxx stx.z $ff lda #<$100 @@ -2427,16 +2440,16 @@ memoryRemapBlock: { // - If block 5 ($a000-$bfff) is remapped it will point to upperPageOffset*$100 + $a000. // - If block 6 ($c000-$dfff) is remapped it will point to upperPageOffset*$100 + $c000. // - If block 7 ($e000-$ffff) is remapped it will point to upperPageOffset*$100 + $e000. -// memoryRemap(byte register(Z) remapBlocks, word zp($d) lowerPageOffset, word zp(2) upperPageOffset) +// memoryRemap(byte register(Z) remapBlocks, word zp($b) lowerPageOffset, word zp($e) upperPageOffset) memoryRemap: { .label aVal = $fc .label xVal = $fd .label yVal = $fe .label zVal = $ff - .label __1 = $f - .label __6 = 8 - .label lowerPageOffset = $d - .label upperPageOffset = 2 + .label __1 = $d + .label __6 = 6 + .label lowerPageOffset = $b + .label upperPageOffset = $e // [34] (byte~) memoryRemap::$0 ← < (word) memoryRemap::lowerPageOffset#2 -- vbuaa=_lo_vwuz1 lda.z lowerPageOffset // [35] *((const byte*) memoryRemap::aVal) ← (byte~) memoryRemap::$0 -- _deref_pbuc1=vbuaa @@ -2511,7 +2524,7 @@ memoryRemap: { // - If block 5 ($a000-$bfff) is remapped it will point to upperPageOffset*$100 + $a000. // - If block 6 ($c000-$dfff) is remapped it will point to upperPageOffset*$100 + $c000. // - If block 7 ($e000-$ffff) is remapped it will point to upperPageOffset*$100 + $e000. -// memoryRemap256M(byte register(Z) remapBlocks, dword zp(4) lowerPageOffset) +// memoryRemap256M(byte register(Z) remapBlocks, dword zp(2) lowerPageOffset) memoryRemap256M: { .label lMb = $fa .label uMb = $fb @@ -2519,10 +2532,11 @@ memoryRemap256M: { .label xVal = $fd .label yVal = $fe .label zVal = $ff - .label __0 = 9 - .label __6 = $f - .label __7 = $d - .label lowerPageOffset = 4 + .label __0 = 7 + .label __4 = $b + .label __6 = $d + .label __7 = $e + .label lowerPageOffset = 2 // [51] (dword~) memoryRemap256M::$0 ← (dword) memoryRemap256M::lowerPageOffset#2 >> (byte) 4 -- vduz1=vduz2_ror_4 lda.z lowerPageOffset+3 lsr @@ -2555,13 +2569,13 @@ memoryRemap256M: { // [54] *((const byte*) memoryRemap256M::uMb) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta uMb - // [55] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 -- vwuz1=_lo_vduz2 + // [55] (word~) memoryRemap256M::$4 ← < (dword) memoryRemap256M::lowerPageOffset#2 -- vwuz1=_lo_vduz2 lda.z lowerPageOffset - sta.z __7 + sta.z __4 lda.z lowerPageOffset+1 - sta.z __7+1 - // [56] (byte~) memoryRemap256M::$5 ← < (word~) memoryRemap256M::$7 -- vbuaa=_lo_vwuz1 - lda.z __7 + sta.z __4+1 + // [56] (byte~) memoryRemap256M::$5 ← < (word~) memoryRemap256M::$4 -- vbuaa=_lo_vwuz1 + lda.z __4 // [57] *((const byte*) memoryRemap256M::aVal) ← (byte~) memoryRemap256M::$5 -- _deref_pbuc1=vbuaa sta aVal // [58] (byte~) memoryRemap256M::$6 ← (byte) memoryRemap256M::remapBlocks#2 << (byte) 4 -- vbuz1=vbuzz_rol_4 @@ -2571,21 +2585,26 @@ memoryRemap256M: { asl asl sta.z __6 - // [59] (byte~) memoryRemap256M::$8 ← > (word~) memoryRemap256M::$7 -- vbuaa=_hi_vwuz1 + // [59] (word~) memoryRemap256M::$7 ← < (dword) memoryRemap256M::lowerPageOffset#2 -- vwuz1=_lo_vduz2 + lda.z lowerPageOffset + sta.z __7 + lda.z lowerPageOffset+1 + sta.z __7+1 + // [60] (byte~) memoryRemap256M::$8 ← > (word~) memoryRemap256M::$7 -- vbuaa=_hi_vwuz1 lda.z __7+1 - // [60] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f -- vbuaa=vbuaa_band_vbuc1 + // [61] (byte~) memoryRemap256M::$9 ← (byte~) memoryRemap256M::$8 & (byte) $f -- vbuaa=vbuaa_band_vbuc1 and #$f - // [61] (byte~) memoryRemap256M::$10 ← (byte~) memoryRemap256M::$6 | (byte~) memoryRemap256M::$9 -- vbuaa=vbuz1_bor_vbuaa + // [62] (byte~) memoryRemap256M::$10 ← (byte~) memoryRemap256M::$6 | (byte~) memoryRemap256M::$9 -- vbuaa=vbuz1_bor_vbuaa ora.z __6 - // [62] *((const byte*) memoryRemap256M::xVal) ← (byte~) memoryRemap256M::$10 -- _deref_pbuc1=vbuaa + // [63] *((const byte*) memoryRemap256M::xVal) ← (byte~) memoryRemap256M::$10 -- _deref_pbuc1=vbuaa sta xVal - // [63] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 -- _deref_pbuc1=vbuc2 + // [64] *((const byte*) memoryRemap256M::yVal) ← (byte) 0 -- _deref_pbuc1=vbuc2 lda #0 sta yVal - // [64] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 -- vbuaa=vbuzz_band_vbuc1 + // [65] (byte~) memoryRemap256M::$17 ← (byte) memoryRemap256M::remapBlocks#2 & (byte) $f0 -- vbuaa=vbuzz_band_vbuc1 tza and #$f0 - // [65] *((const byte*) memoryRemap256M::zVal) ← (byte~) memoryRemap256M::$17 -- _deref_pbuc1=vbuaa + // [66] *((const byte*) memoryRemap256M::zVal) ← (byte~) memoryRemap256M::$17 -- _deref_pbuc1=vbuaa sta zVal // asm { ldalMb ldx#$0f ldyuMb ldz#$00 map ldaaVal ldxxVal ldyyVal ldzzVal map eom } lda lMb @@ -2602,7 +2621,7 @@ memoryRemap256M: { jmp __breturn // memoryRemap256M::@return __breturn: - // [67] return + // [68] return rts } // File Data @@ -2621,6 +2640,7 @@ Removing instruction jmp __breturn Removing instruction jmp __breturn Succesful ASM optimization Pass5NextJumpElimination Removing instruction lda #0 +Removing instruction lda.z __7+1 Succesful ASM optimization Pass5UnnecesaryLoadElimination Removing instruction __b3_from___b1: Removing instruction __b6_from___b4: @@ -2981,46 +3001,47 @@ FINAL SYMBOL TABLE (byte) main::i1#2 reg byte x 13.75 (void()) memoryRemap((byte) memoryRemap::remapBlocks , (word) memoryRemap::lowerPageOffset , (word) memoryRemap::upperPageOffset) (byte~) memoryRemap::$0 reg byte a 202.0 -(byte~) memoryRemap::$1 zp[1]:15 67.33333333333333 +(byte~) memoryRemap::$1 zp[1]:13 67.33333333333333 (byte~) memoryRemap::$2 reg byte a 202.0 (byte~) memoryRemap::$3 reg byte a 202.0 (byte~) memoryRemap::$4 reg byte a 202.0 (byte~) memoryRemap::$5 reg byte a 202.0 -(byte~) memoryRemap::$6 zp[1]:8 67.33333333333333 +(byte~) memoryRemap::$6 zp[1]:6 67.33333333333333 (byte~) memoryRemap::$7 reg byte a 202.0 (byte~) memoryRemap::$8 reg byte a 202.0 (byte~) memoryRemap::$9 reg byte a 202.0 (label) memoryRemap::@return (const byte*) memoryRemap::aVal = (byte*) 252 (word) memoryRemap::lowerPageOffset -(word) memoryRemap::lowerPageOffset#0 lowerPageOffset zp[2]:13 11.0 -(word) memoryRemap::lowerPageOffset#2 lowerPageOffset zp[2]:13 53.25 +(word) memoryRemap::lowerPageOffset#0 lowerPageOffset zp[2]:11 11.0 +(word) memoryRemap::lowerPageOffset#2 lowerPageOffset zp[2]:11 53.25 (byte) memoryRemap::remapBlocks (byte) memoryRemap::remapBlocks#0 reg byte z 7.333333333333333 (byte) memoryRemap::remapBlocks#2 reg byte z 21.299999999999997 (word) memoryRemap::upperPageOffset -(word) memoryRemap::upperPageOffset#0 upperPageOffset zp[2]:2 22.0 -(word) memoryRemap::upperPageOffset#2 upperPageOffset zp[2]:2 19.363636363636363 +(word) memoryRemap::upperPageOffset#0 upperPageOffset zp[2]:14 22.0 +(word) memoryRemap::upperPageOffset#2 upperPageOffset zp[2]:14 19.363636363636363 (const byte*) memoryRemap::xVal = (byte*) 253 (const byte*) memoryRemap::yVal = (byte*) 254 (const byte*) memoryRemap::zVal = (byte*) 255 (void()) memoryRemap256M((byte) memoryRemap256M::remapBlocks , (dword) memoryRemap256M::lowerPageOffset , (dword) memoryRemap256M::upperPageOffset) -(dword~) memoryRemap256M::$0 zp[4]:9 11.0 +(dword~) memoryRemap256M::$0 zp[4]:7 11.0 (byte~) memoryRemap256M::$1 reg byte a 22.0 (byte~) memoryRemap256M::$10 reg byte a 22.0 (byte~) memoryRemap256M::$17 reg byte a 22.0 +(word~) memoryRemap256M::$4 zp[2]:11 22.0 (byte~) memoryRemap256M::$5 reg byte a 22.0 -(byte~) memoryRemap256M::$6 zp[1]:15 7.333333333333333 -(word~) memoryRemap256M::$7 zp[2]:13 8.25 +(byte~) memoryRemap256M::$6 zp[1]:13 5.5 +(word~) memoryRemap256M::$7 zp[2]:14 22.0 (byte~) memoryRemap256M::$8 reg byte a 22.0 (byte~) memoryRemap256M::$9 reg byte a 22.0 (label) memoryRemap256M::@return (const byte*) memoryRemap256M::aVal = (byte*) 252 (const byte*) memoryRemap256M::lMb = (byte*) 250 (dword) memoryRemap256M::lowerPageOffset -(dword) memoryRemap256M::lowerPageOffset#2 lowerPageOffset zp[4]:4 4.4 +(dword) memoryRemap256M::lowerPageOffset#2 lowerPageOffset zp[4]:2 3.666666666666667 (byte) memoryRemap256M::remapBlocks -(byte) memoryRemap256M::remapBlocks#2 reg byte z 1.5714285714285714 +(byte) memoryRemap256M::remapBlocks#2 reg byte z 1.4666666666666666 (const byte*) memoryRemap256M::uMb = (byte*) 251 (dword) memoryRemap256M::upperPageOffset (const byte*) memoryRemap256M::xVal = (byte*) 253 @@ -3036,14 +3057,13 @@ FINAL SYMBOL TABLE (byte) memoryRemapBlock::blockPage#2 reg byte x 11.0 (word) memoryRemapBlock::memoryPage (word) memoryRemapBlock::pageOffset -(word) memoryRemapBlock::pageOffset#0 pageOffset zp[2]:13 6.6000000000000005 +(word) memoryRemapBlock::pageOffset#0 pageOffset zp[2]:11 6.6000000000000005 reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] reg byte x [ memoryRemapBlock::blockPage#2 ] reg byte z [ memoryRemap::remapBlocks#2 memoryRemap::remapBlocks#0 ] -zp[2]:2 [ memoryRemap::upperPageOffset#2 memoryRemap::upperPageOffset#0 ] -zp[4]:4 [ memoryRemap256M::lowerPageOffset#2 ] +zp[4]:2 [ memoryRemap256M::lowerPageOffset#2 ] reg byte z [ memoryRemap256M::remapBlocks#2 ] reg byte a [ main::$7 ] reg byte a [ memoryRemapBlock::block#0 ] @@ -3053,15 +3073,16 @@ reg byte a [ memoryRemap::$2 ] reg byte a [ memoryRemap::$3 ] reg byte a [ memoryRemap::$4 ] reg byte a [ memoryRemap::$5 ] -zp[1]:8 [ memoryRemap::$6 ] +zp[1]:6 [ memoryRemap::$6 ] reg byte a [ memoryRemap::$7 ] reg byte a [ memoryRemap::$8 ] reg byte a [ memoryRemap::$9 ] -zp[4]:9 [ memoryRemap256M::$0 ] +zp[4]:7 [ memoryRemap256M::$0 ] reg byte a [ memoryRemap256M::$1 ] -zp[2]:13 [ memoryRemap256M::$7 memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 memoryRemapBlock::pageOffset#0 ] +zp[2]:11 [ memoryRemap256M::$4 memoryRemap::lowerPageOffset#2 memoryRemap::lowerPageOffset#0 memoryRemapBlock::pageOffset#0 ] reg byte a [ memoryRemap256M::$5 ] -zp[1]:15 [ memoryRemap256M::$6 memoryRemap::$1 ] +zp[1]:13 [ memoryRemap256M::$6 memoryRemap::$1 ] +zp[2]:14 [ memoryRemap256M::$7 memoryRemap::upperPageOffset#2 memoryRemap::upperPageOffset#0 ] reg byte a [ memoryRemap256M::$8 ] reg byte a [ memoryRemap256M::$9 ] reg byte a [ memoryRemap256M::$10 ] @@ -3069,7 +3090,7 @@ reg byte a [ memoryRemap256M::$17 ] FINAL ASSEMBLER -Score: 928 +Score: 937 // File Comments // Test the MAP instruction for remapping memory @@ -3258,7 +3279,7 @@ main: { // Ie. the memory that will be pointed to is $100 * the passed page address. Only the lower 12bits of the passed value is used. // memoryRemapBlock(byte register(X) blockPage) memoryRemapBlock: { - .label pageOffset = $d + .label pageOffset = $b // pageOffset = memoryPage-blockPage // [25] (word) memoryRemapBlock::pageOffset#0 ← (word) $100 - (byte) memoryRemapBlock::blockPage#2 -- vwuz1=vwuc1_minus_vbuxx stx.z $ff @@ -3333,16 +3354,16 @@ memoryRemapBlock: { // - If block 5 ($a000-$bfff) is remapped it will point to upperPageOffset*$100 + $a000. // - If block 6 ($c000-$dfff) is remapped it will point to upperPageOffset*$100 + $c000. // - If block 7 ($e000-$ffff) is remapped it will point to upperPageOffset*$100 + $e000. -// memoryRemap(byte register(Z) remapBlocks, word zp($d) lowerPageOffset, word zp(2) upperPageOffset) +// memoryRemap(byte register(Z) remapBlocks, word zp($b) lowerPageOffset, word zp($e) upperPageOffset) memoryRemap: { .label aVal = $fc .label xVal = $fd .label yVal = $fe .label zVal = $ff - .label __1 = $f - .label __6 = 8 - .label lowerPageOffset = $d - .label upperPageOffset = 2 + .label __1 = $d + .label __6 = 6 + .label lowerPageOffset = $b + .label upperPageOffset = $e // >4 // [51] (dword~) memoryRemap256M::$0 ← (dword) memoryRemap256M::lowerPageOffset#2 >> (byte) 4 -- vduz1=vduz2_ror_4 lda.z lowerPageOffset+3 @@ -3480,14 +3502,14 @@ memoryRemap256M: { lda #0 sta uMb // (word~) memoryRemap256M::$7 -- vbuaa=_hi_vwuz1 - lda.z __7+1 + // [60] (byte~) memoryRemap256M::$8 ← > (word~) memoryRemap256M::$7 -- vbuaa=_hi_vwuz1 // > main::@5] __b5_from___b8: @@ -615,34 +598,34 @@ main: { jmp __b5 // main::@2 __b2: - // [22] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 -- vbuz1=vbuz2_rol_1 + // [20] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 -- vbuz1=vbuz2_rol_1 lda.z i asl sta.z __21 - // [23] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 + // [21] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 lda.z __21 clc adc.z i sta.z __10 - // [24] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 -- pbsc1_derefidx_vbuz1=vbsz2 + // [22] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 -- pbsc1_derefidx_vbuz1=vbsz2 lda.z i ldy.z __10 sta entities,y - // [25] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 -- pbsc1_derefidx_vbuz1=vbsz2 + // [23] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 -- pbsc1_derefidx_vbuz1=vbsz2 lda.z v ldy.z __10 sta entities+OFFSET_STRUCT_ENTITY_X_VEL,y - // [26] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 -- pbuc1_derefidx_vbuz1=vbuz2 + // [24] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z i ldy.z __10 sta entities+OFFSET_STRUCT_ENTITY_SYMBOL,y - // [27] (signed byte) main::v#1 ← - (signed byte) main::v#2 -- vbsz1=_neg_vbsz1 + // [25] (signed byte) main::v#1 ← - (signed byte) main::v#2 -- vbsz1=_neg_vbsz1 lda.z v eor #$ff clc adc #1 sta.z v - // [28] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 + // [26] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 inc.z i // [1] phi from main::@2 to main::@1 [phi:main::@2->main::@1] __b1_from___b2: @@ -659,92 +642,78 @@ Statement [4] *((const nomodify byte*) VIC_BG_COLOR) ← (byte) 0 [ ] ( [ ] { } Statement [7] *((const nomodify byte*) VIC_BG_COLOR) ← (byte) $f [ ] ( [ ] { } ) always clobbers reg byte a Statement [8] (byte~) main::$25 ← (byte) main::i1#2 << (byte) 1 [ main::i1#2 main::line#2 main::$25 ] ( [ main::i1#2 main::line#2 main::$25 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:4 [ main::i1#2 main::i1#1 ] -Statement [9] (byte~) main::$13 ← (byte~) main::$25 + (byte) main::i1#2 [ main::i1#2 main::line#2 main::$25 main::$13 ] ( [ main::i1#2 main::line#2 main::$25 main::$13 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:7 [ main::$25 ] -Statement [10] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$13)) ← (byte) ' ' [ main::i1#2 main::line#2 main::$25 main::$13 ] ( [ main::i1#2 main::line#2 main::$25 main::$13 ] { } ) always clobbers reg byte a reg byte y +Statement [9] (byte~) main::$16 ← (byte~) main::$25 + (byte) main::i1#2 [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [10] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← (byte) ' ' [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:4 [ main::i1#2 main::i1#1 ] -Removing always clobbered register reg byte y as potential for zp[1]:7 [ main::$25 ] -Removing always clobbered register reg byte a as potential for zp[1]:8 [ main::$13 ] -Removing always clobbered register reg byte y as potential for zp[1]:8 [ main::$13 ] -Statement [11] *((signed byte*)(const struct Entity*) entities + (byte~) main::$13) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$13) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$13) [ main::i1#2 main::line#2 main::$25 main::$13 ] ( [ main::i1#2 main::line#2 main::$25 main::$13 ] { } ) always clobbers reg byte a -Statement [12] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$13)<(signed byte) 0) goto main::@9 [ main::i1#2 main::line#2 main::$25 main::$13 ] ( [ main::i1#2 main::line#2 main::$25 main::$13 ] { } ) always clobbers reg byte a -Statement [13] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$13)<(signed byte) $27+(signed byte) 1) goto main::@8 [ main::i1#2 main::line#2 main::$25 ] ( [ main::i1#2 main::line#2 main::$25 ] { } ) always clobbers reg byte a -Statement [14] (byte~) main::$18 ← (byte~) main::$25 + (byte) main::i1#2 [ main::i1#2 main::line#2 main::$25 main::$18 ] ( [ main::i1#2 main::line#2 main::$25 main::$18 ] { } ) always clobbers reg byte a -Statement [15] (signed byte~) main::$8 ← - *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) [ main::i1#2 main::line#2 main::$25 main::$18 main::$8 ] ( [ main::i1#2 main::line#2 main::$25 main::$18 main::$8 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:9 [ main::$18 ] -Statement [17] *((signed byte*)(const struct Entity*) entities + (byte~) main::$18) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$18) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) [ main::i1#2 main::line#2 main::$25 ] ( [ main::i1#2 main::line#2 main::$25 ] { } ) always clobbers reg byte a -Statement [18] (byte~) main::$16 ← (byte~) main::$25 + (byte) main::i1#2 [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a -Statement [19] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$16) [ main::i1#2 main::line#2 ] ( [ main::i1#2 main::line#2 ] { } ) always clobbers reg byte a reg byte y -Statement [20] (byte*) main::line#1 ← (byte*) main::line#2 + (byte) $28 [ main::i1#2 main::line#1 ] ( [ main::i1#2 main::line#1 ] { } ) always clobbers reg byte a -Statement [22] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 [ main::i#2 main::v#2 main::$21 ] ( [ main::i#2 main::v#2 main::$21 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:8 [ main::$16 ] +Removing always clobbered register reg byte y as potential for zp[1]:8 [ main::$16 ] +Statement [11] *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [12] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$16)<(signed byte) 0) goto main::@9 [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [13] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$16)<(signed byte) $27+(signed byte) 1) goto main::@8 [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [14] (signed byte~) main::$8 ← - *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) [ main::i1#2 main::line#2 main::$16 main::$8 ] ( [ main::i1#2 main::line#2 main::$16 main::$8 ] { } ) always clobbers reg byte a +Statement [16] *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [17] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$16) [ main::i1#2 main::line#2 ] ( [ main::i1#2 main::line#2 ] { } ) always clobbers reg byte a reg byte y +Statement [18] (byte*) main::line#1 ← (byte*) main::line#2 + (byte) $28 [ main::i1#2 main::line#1 ] ( [ main::i1#2 main::line#1 ] { } ) always clobbers reg byte a +Statement [20] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 [ main::i#2 main::v#2 main::$21 ] ( [ main::i#2 main::v#2 main::$21 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:2 [ main::i#2 main::i#1 ] Removing always clobbered register reg byte a as potential for zp[1]:3 [ main::v#2 main::v#1 ] -Statement [23] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a -Statement [24] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:13 [ main::$10 ] -Statement [25] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a -Statement [26] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 [ main::i#2 main::v#2 ] ( [ main::i#2 main::v#2 ] { } ) always clobbers reg byte a -Statement [27] (signed byte) main::v#1 ← - (signed byte) main::v#2 [ main::i#2 main::v#1 ] ( [ main::i#2 main::v#1 ] { } ) always clobbers reg byte a +Statement [21] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a +Statement [22] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:11 [ main::$10 ] +Statement [23] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a +Statement [24] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 [ main::i#2 main::v#2 ] ( [ main::i#2 main::v#2 ] { } ) always clobbers reg byte a +Statement [25] (signed byte) main::v#1 ← - (signed byte) main::v#2 [ main::i#2 main::v#1 ] ( [ main::i#2 main::v#1 ] { } ) always clobbers reg byte a Statement [3] if(*((const nomodify byte*) VIC_RASTER)!=(byte) $ff) goto main::@3 [ ] ( [ ] { } ) always clobbers reg byte a Statement [4] *((const nomodify byte*) VIC_BG_COLOR) ← (byte) 0 [ ] ( [ ] { } ) always clobbers reg byte a Statement [7] *((const nomodify byte*) VIC_BG_COLOR) ← (byte) $f [ ] ( [ ] { } ) always clobbers reg byte a Statement [8] (byte~) main::$25 ← (byte) main::i1#2 << (byte) 1 [ main::i1#2 main::line#2 main::$25 ] ( [ main::i1#2 main::line#2 main::$25 ] { } ) always clobbers reg byte a -Statement [9] (byte~) main::$13 ← (byte~) main::$25 + (byte) main::i1#2 [ main::i1#2 main::line#2 main::$25 main::$13 ] ( [ main::i1#2 main::line#2 main::$25 main::$13 ] { } ) always clobbers reg byte a -Statement [10] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$13)) ← (byte) ' ' [ main::i1#2 main::line#2 main::$25 main::$13 ] ( [ main::i1#2 main::line#2 main::$25 main::$13 ] { } ) always clobbers reg byte a reg byte y -Statement [11] *((signed byte*)(const struct Entity*) entities + (byte~) main::$13) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$13) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$13) [ main::i1#2 main::line#2 main::$25 main::$13 ] ( [ main::i1#2 main::line#2 main::$25 main::$13 ] { } ) always clobbers reg byte a -Statement [12] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$13)<(signed byte) 0) goto main::@9 [ main::i1#2 main::line#2 main::$25 main::$13 ] ( [ main::i1#2 main::line#2 main::$25 main::$13 ] { } ) always clobbers reg byte a -Statement [13] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$13)<(signed byte) $27+(signed byte) 1) goto main::@8 [ main::i1#2 main::line#2 main::$25 ] ( [ main::i1#2 main::line#2 main::$25 ] { } ) always clobbers reg byte a -Statement [14] (byte~) main::$18 ← (byte~) main::$25 + (byte) main::i1#2 [ main::i1#2 main::line#2 main::$25 main::$18 ] ( [ main::i1#2 main::line#2 main::$25 main::$18 ] { } ) always clobbers reg byte a -Statement [15] (signed byte~) main::$8 ← - *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) [ main::i1#2 main::line#2 main::$25 main::$18 main::$8 ] ( [ main::i1#2 main::line#2 main::$25 main::$18 main::$8 ] { } ) always clobbers reg byte a -Statement [17] *((signed byte*)(const struct Entity*) entities + (byte~) main::$18) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$18) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) [ main::i1#2 main::line#2 main::$25 ] ( [ main::i1#2 main::line#2 main::$25 ] { } ) always clobbers reg byte a -Statement [18] (byte~) main::$16 ← (byte~) main::$25 + (byte) main::i1#2 [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a -Statement [19] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$16) [ main::i1#2 main::line#2 ] ( [ main::i1#2 main::line#2 ] { } ) always clobbers reg byte a reg byte y -Statement [20] (byte*) main::line#1 ← (byte*) main::line#2 + (byte) $28 [ main::i1#2 main::line#1 ] ( [ main::i1#2 main::line#1 ] { } ) always clobbers reg byte a -Statement [22] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 [ main::i#2 main::v#2 main::$21 ] ( [ main::i#2 main::v#2 main::$21 ] { } ) always clobbers reg byte a -Statement [23] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a -Statement [24] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a -Statement [25] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a -Statement [26] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 [ main::i#2 main::v#2 ] ( [ main::i#2 main::v#2 ] { } ) always clobbers reg byte a -Statement [27] (signed byte) main::v#1 ← - (signed byte) main::v#2 [ main::i#2 main::v#1 ] ( [ main::i#2 main::v#1 ] { } ) always clobbers reg byte a +Statement [9] (byte~) main::$16 ← (byte~) main::$25 + (byte) main::i1#2 [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [10] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← (byte) ' ' [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a reg byte y +Statement [11] *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [12] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$16)<(signed byte) 0) goto main::@9 [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [13] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$16)<(signed byte) $27+(signed byte) 1) goto main::@8 [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [14] (signed byte~) main::$8 ← - *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) [ main::i1#2 main::line#2 main::$16 main::$8 ] ( [ main::i1#2 main::line#2 main::$16 main::$8 ] { } ) always clobbers reg byte a +Statement [16] *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) [ main::i1#2 main::line#2 main::$16 ] ( [ main::i1#2 main::line#2 main::$16 ] { } ) always clobbers reg byte a +Statement [17] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$16) [ main::i1#2 main::line#2 ] ( [ main::i1#2 main::line#2 ] { } ) always clobbers reg byte a reg byte y +Statement [18] (byte*) main::line#1 ← (byte*) main::line#2 + (byte) $28 [ main::i1#2 main::line#1 ] ( [ main::i1#2 main::line#1 ] { } ) always clobbers reg byte a +Statement [20] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 [ main::i#2 main::v#2 main::$21 ] ( [ main::i#2 main::v#2 main::$21 ] { } ) always clobbers reg byte a +Statement [21] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a +Statement [22] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a +Statement [23] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 [ main::i#2 main::v#2 main::$10 ] ( [ main::i#2 main::v#2 main::$10 ] { } ) always clobbers reg byte a +Statement [24] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 [ main::i#2 main::v#2 ] ( [ main::i#2 main::v#2 ] { } ) always clobbers reg byte a +Statement [25] (signed byte) main::v#1 ← - (signed byte) main::v#2 [ main::i#2 main::v#1 ] ( [ main::i#2 main::v#1 ] { } ) always clobbers reg byte a Potential registers zp[1]:2 [ main::i#2 main::i#1 ] : zp[1]:2 , reg byte x , reg byte y , Potential registers zp[1]:3 [ main::v#2 main::v#1 ] : zp[1]:3 , reg byte x , reg byte y , Potential registers zp[1]:4 [ main::i1#2 main::i1#1 ] : zp[1]:4 , reg byte x , Potential registers zp[2]:5 [ main::line#2 main::line#1 ] : zp[2]:5 , -Potential registers zp[1]:7 [ main::$25 ] : zp[1]:7 , reg byte x , -Potential registers zp[1]:8 [ main::$13 ] : zp[1]:8 , reg byte x , -Potential registers zp[1]:9 [ main::$18 ] : zp[1]:9 , reg byte x , reg byte y , -Potential registers zp[1]:10 [ main::$8 ] : zp[1]:10 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:11 [ main::$16 ] : zp[1]:11 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:12 [ main::$21 ] : zp[1]:12 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:13 [ main::$10 ] : zp[1]:13 , reg byte x , reg byte y , +Potential registers zp[1]:7 [ main::$25 ] : zp[1]:7 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:8 [ main::$16 ] : zp[1]:8 , reg byte x , +Potential registers zp[1]:9 [ main::$8 ] : zp[1]:9 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:10 [ main::$21 ] : zp[1]:10 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:11 [ main::$10 ] : zp[1]:11 , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 303: zp[1]:11 [ main::$16 ] 249.13: zp[1]:4 [ main::i1#2 main::i1#1 ] 202: zp[1]:10 [ main::$8 ] 202: zp[1]:9 [ main::$18 ] 176.75: zp[1]:8 [ main::$13 ] 129.86: zp[2]:5 [ main::line#2 main::line#1 ] 40.4: zp[1]:7 [ main::$25 ] 30.25: zp[1]:2 [ main::i#2 main::i#1 ] 22: zp[1]:12 [ main::$21 ] 15.71: zp[1]:3 [ main::v#2 main::v#1 ] 14.67: zp[1]:13 [ main::$10 ] +Uplift Scope [main] 240.85: zp[1]:4 [ main::i1#2 main::i1#1 ] 202: zp[1]:7 [ main::$25 ] 202: zp[1]:9 [ main::$8 ] 176.75: zp[1]:8 [ main::$16 ] 134.67: zp[2]:5 [ main::line#2 main::line#1 ] 30.25: zp[1]:2 [ main::i#2 main::i#1 ] 22: zp[1]:10 [ main::$21 ] 15.71: zp[1]:3 [ main::v#2 main::v#1 ] 14.67: zp[1]:11 [ main::$10 ] Uplift Scope [Entity] Uplift Scope [] -Uplifting [main] best 23607 combination reg byte a [ main::$16 ] zp[1]:4 [ main::i1#2 main::i1#1 ] reg byte a [ main::$8 ] reg byte x [ main::$18 ] zp[1]:8 [ main::$13 ] zp[2]:5 [ main::line#2 main::line#1 ] zp[1]:7 [ main::$25 ] zp[1]:2 [ main::i#2 main::i#1 ] zp[1]:12 [ main::$21 ] zp[1]:3 [ main::v#2 main::v#1 ] zp[1]:13 [ main::$10 ] -Limited combination testing to 100 combinations of 41472 possible. -Uplifting [Entity] best 23607 combination -Uplifting [] best 23607 combination +Uplifting [main] best 19707 combination zp[1]:4 [ main::i1#2 main::i1#1 ] reg byte a [ main::$25 ] reg byte a [ main::$8 ] reg byte x [ main::$16 ] zp[2]:5 [ main::line#2 main::line#1 ] zp[1]:2 [ main::i#2 main::i#1 ] zp[1]:10 [ main::$21 ] zp[1]:3 [ main::v#2 main::v#1 ] zp[1]:11 [ main::$10 ] +Limited combination testing to 100 combinations of 6912 possible. +Uplifting [Entity] best 19707 combination +Uplifting [] best 19707 combination Attempting to uplift remaining variables inzp[1]:4 [ main::i1#2 main::i1#1 ] -Uplifting [main] best 23607 combination zp[1]:4 [ main::i1#2 main::i1#1 ] -Attempting to uplift remaining variables inzp[1]:8 [ main::$13 ] -Uplifting [main] best 22307 combination reg byte x [ main::$13 ] -Attempting to uplift remaining variables inzp[1]:7 [ main::$25 ] -Uplifting [main] best 22307 combination zp[1]:7 [ main::$25 ] +Uplifting [main] best 19707 combination zp[1]:4 [ main::i1#2 main::i1#1 ] Attempting to uplift remaining variables inzp[1]:2 [ main::i#2 main::i#1 ] -Uplifting [main] best 22177 combination reg byte x [ main::i#2 main::i#1 ] -Attempting to uplift remaining variables inzp[1]:12 [ main::$21 ] -Uplifting [main] best 22157 combination reg byte a [ main::$21 ] +Uplifting [main] best 19577 combination reg byte x [ main::i#2 main::i#1 ] +Attempting to uplift remaining variables inzp[1]:10 [ main::$21 ] +Uplifting [main] best 19557 combination reg byte a [ main::$21 ] Attempting to uplift remaining variables inzp[1]:3 [ main::v#2 main::v#1 ] -Uplifting [main] best 22157 combination zp[1]:3 [ main::v#2 main::v#1 ] -Attempting to uplift remaining variables inzp[1]:13 [ main::$10 ] -Uplifting [main] best 22057 combination reg byte y [ main::$10 ] +Uplifting [main] best 19557 combination zp[1]:3 [ main::v#2 main::v#1 ] +Attempting to uplift remaining variables inzp[1]:11 [ main::$10 ] +Uplifting [main] best 19457 combination reg byte y [ main::$10 ] Allocated (was zp[1]:3) zp[1]:2 [ main::v#2 main::v#1 ] Allocated (was zp[1]:4) zp[1]:3 [ main::i1#2 main::i1#1 ] Allocated (was zp[2]:5) zp[2]:4 [ main::line#2 main::line#1 ] -Allocated (was zp[1]:7) zp[1]:6 [ main::$25 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -766,7 +735,6 @@ main: { // Move the entities .label line = 4 .label i1 = 3 - .label __25 = 6 // asm { sei } sei // [1] phi from main to main::@1 [phi:main->main::@1] @@ -822,34 +790,32 @@ main: { jmp __b3 // main::@6 __b6: - // [8] (byte~) main::$25 ← (byte) main::i1#2 << (byte) 1 -- vbuz1=vbuz2_rol_1 + // [8] (byte~) main::$25 ← (byte) main::i1#2 << (byte) 1 -- vbuaa=vbuz1_rol_1 lda.z i1 asl - sta.z __25 - // [9] (byte~) main::$13 ← (byte~) main::$25 + (byte) main::i1#2 -- vbuxx=vbuz1_plus_vbuz2 - lda.z __25 + // [9] (byte~) main::$16 ← (byte~) main::$25 + (byte) main::i1#2 -- vbuxx=vbuaa_plus_vbuz1 clc adc.z i1 tax - // [10] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$13)) ← (byte) ' ' -- pbuz1_derefidx_(pbsc1_derefidx_vbuxx)=vbuc2 + // [10] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← (byte) ' ' -- pbuz1_derefidx_(pbsc1_derefidx_vbuxx)=vbuc2 // Delete old symbol lda #' ' ldy entities,x sta (line),y - // [11] *((signed byte*)(const struct Entity*) entities + (byte~) main::$13) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$13) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$13) -- pbsc1_derefidx_vbuxx=pbsc1_derefidx_vbuxx_plus_pbsc2_derefidx_vbuxx + // [11] *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) -- pbsc1_derefidx_vbuxx=pbsc1_derefidx_vbuxx_plus_pbsc2_derefidx_vbuxx // Move by velocity clc lda entities,x adc entities+OFFSET_STRUCT_ENTITY_X_VEL,x sta entities,x - // [12] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$13)<(signed byte) 0) goto main::@9 -- pbsc1_derefidx_vbuxx_lt_0_then_la1 + // [12] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$16)<(signed byte) 0) goto main::@9 -- pbsc1_derefidx_vbuxx_lt_0_then_la1 lda entities,x cmp #0 bmi __b9 jmp __b10 // main::@10 __b10: - // [13] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$13)<(signed byte) $27+(signed byte) 1) goto main::@8 -- pbsc1_derefidx_vbuxx_lt_vbsc2_then_la1 + // [13] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$16)<(signed byte) $27+(signed byte) 1) goto main::@8 -- pbsc1_derefidx_vbuxx_lt_vbsc2_then_la1 lda entities,x sec sbc #$27+1 @@ -860,19 +826,14 @@ main: { jmp __b9 // main::@9 __b9: - // [14] (byte~) main::$18 ← (byte~) main::$25 + (byte) main::i1#2 -- vbuxx=vbuz1_plus_vbuz2 - lda.z __25 - clc - adc.z i1 - tax - // [15] (signed byte~) main::$8 ← - *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) -- vbsaa=_neg_pbsc1_derefidx_vbuxx + // [14] (signed byte~) main::$8 ← - *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) -- vbsaa=_neg_pbsc1_derefidx_vbuxx lda entities+OFFSET_STRUCT_ENTITY_X_VEL,x eor #$ff clc adc #1 - // [16] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) ← (signed byte~) main::$8 -- pbsc1_derefidx_vbuxx=vbsaa + // [15] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) ← (signed byte~) main::$8 -- pbsc1_derefidx_vbuxx=vbsaa sta entities+OFFSET_STRUCT_ENTITY_X_VEL,x - // [17] *((signed byte*)(const struct Entity*) entities + (byte~) main::$18) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$18) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) -- pbsc1_derefidx_vbuxx=pbsc1_derefidx_vbuxx_plus_pbsc2_derefidx_vbuxx + // [16] *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) -- pbsc1_derefidx_vbuxx=pbsc1_derefidx_vbuxx_plus_pbsc2_derefidx_vbuxx clc lda entities,x adc entities+OFFSET_STRUCT_ENTITY_X_VEL,x @@ -880,17 +841,12 @@ main: { jmp __b8 // main::@8 __b8: - // [18] (byte~) main::$16 ← (byte~) main::$25 + (byte) main::i1#2 -- vbuaa=vbuz1_plus_vbuz2 - lda.z __25 - clc - adc.z i1 - // [19] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$16) -- pbuz1_derefidx_(pbsc1_derefidx_vbuaa)=pbuc2_derefidx_vbuaa + // [17] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$16) -- pbuz1_derefidx_(pbsc1_derefidx_vbuxx)=pbuc2_derefidx_vbuxx // Draw symbol - tax lda entities+OFFSET_STRUCT_ENTITY_SYMBOL,x ldy entities,x sta (line),y - // [20] (byte*) main::line#1 ← (byte*) main::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [18] (byte*) main::line#1 ← (byte*) main::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 // Next line lda #$28 clc @@ -899,7 +855,7 @@ main: { bcc !+ inc.z line+1 !: - // [21] (byte) main::i1#1 ← ++ (byte) main::i1#2 -- vbuz1=_inc_vbuz1 + // [19] (byte) main::i1#1 ← ++ (byte) main::i1#2 -- vbuz1=_inc_vbuz1 inc.z i1 // [5] phi from main::@8 to main::@5 [phi:main::@8->main::@5] __b5_from___b8: @@ -908,30 +864,30 @@ main: { jmp __b5 // main::@2 __b2: - // [22] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1 + // [20] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1 txa asl - // [23] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 -- vbuyy=vbuaa_plus_vbuxx + // [21] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 -- vbuyy=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff tay - // [24] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 -- pbsc1_derefidx_vbuyy=vbsxx + // [22] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 -- pbsc1_derefidx_vbuyy=vbsxx txa sta entities,y - // [25] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 -- pbsc1_derefidx_vbuyy=vbsz1 + // [23] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 -- pbsc1_derefidx_vbuyy=vbsz1 lda.z v sta entities+OFFSET_STRUCT_ENTITY_X_VEL,y - // [26] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 -- pbuc1_derefidx_vbuyy=vbuxx + // [24] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 -- pbuc1_derefidx_vbuyy=vbuxx txa sta entities+OFFSET_STRUCT_ENTITY_SYMBOL,y - // [27] (signed byte) main::v#1 ← - (signed byte) main::v#2 -- vbsz1=_neg_vbsz1 + // [25] (signed byte) main::v#1 ← - (signed byte) main::v#2 -- vbsz1=_neg_vbsz1 lda.z v eor #$ff clc adc #1 sta.z v - // [28] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + // [26] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx // [1] phi from main::@2 to main::@1 [phi:main::@2->main::@1] __b1_from___b2: @@ -952,8 +908,6 @@ Removing instruction jmp __b10 Removing instruction jmp __b9 Removing instruction jmp __b8 Succesful ASM optimization Pass5NextJumpElimination -Removing instruction lda.z __25 -Succesful ASM optimization Pass5UnnecesaryLoadElimination Removing instruction __b1_from_main: Removing instruction __b4: Removing instruction __b5_from___b4: @@ -962,7 +916,6 @@ Removing instruction __b10: Removing instruction __b5_from___b8: Removing instruction __b1_from___b2: Succesful ASM optimization Pass5UnusedLabelElimination -Fixing long branch [22] bcc __b2 to bcs FINAL SYMBOL TABLE (byte) Entity::symbol @@ -976,11 +929,9 @@ FINAL SYMBOL TABLE (const struct Entity*) entities[(number) $19] = { fill( $19, 0) } (void()) main() (byte~) main::$10 reg byte y 14.666666666666666 -(byte~) main::$13 reg byte x 176.75 -(byte~) main::$16 reg byte a 303.0 -(byte~) main::$18 reg byte x 201.99999999999997 +(byte~) main::$16 reg byte x 176.75 (byte~) main::$21 reg byte a 22.0 -(byte~) main::$25 zp[1]:6 40.4 +(byte~) main::$25 reg byte a 202.0 (signed byte~) main::$8 reg byte a 202.0 (label) main::@1 (label) main::@10 @@ -997,10 +948,10 @@ FINAL SYMBOL TABLE (byte) main::i#2 reg byte x 8.25 (byte) main::i1 (byte) main::i1#1 i1 zp[1]:3 202.0 -(byte) main::i1#2 i1 zp[1]:3 47.13333333333333 +(byte) main::i1#2 i1 zp[1]:3 38.84615384615385 (byte*) main::line (byte*) main::line#1 line zp[2]:4 101.0 -(byte*) main::line#2 line zp[2]:4 28.857142857142858 +(byte*) main::line#2 line zp[2]:4 33.666666666666664 (signed byte) main::v (signed byte) main::v#1 v zp[1]:2 11.0 (signed byte) main::v#2 v zp[1]:2 4.714285714285714 @@ -1009,17 +960,15 @@ reg byte x [ main::i#2 main::i#1 ] zp[1]:2 [ main::v#2 main::v#1 ] zp[1]:3 [ main::i1#2 main::i1#1 ] zp[2]:4 [ main::line#2 main::line#1 ] -zp[1]:6 [ main::$25 ] -reg byte x [ main::$13 ] -reg byte x [ main::$18 ] +reg byte a [ main::$25 ] +reg byte x [ main::$16 ] reg byte a [ main::$8 ] -reg byte a [ main::$16 ] reg byte a [ main::$21 ] reg byte y [ main::$10 ] FINAL ASSEMBLER -Score: 19927 +Score: 17597 // File Comments // Test that the multiplication of a idx*sizeof(element) is reused inside loops @@ -1040,7 +989,6 @@ main: { // Move the entities .label line = 4 .label i1 = 3 - .label __25 = 6 // asm // asm { sei } sei @@ -1055,9 +1003,7 @@ main: { // for(char i=0;i39) - // [12] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$13)<(signed byte) 0) goto main::@9 -- pbsc1_derefidx_vbuxx_lt_0_then_la1 + // [12] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$16)<(signed byte) 0) goto main::@9 -- pbsc1_derefidx_vbuxx_lt_0_then_la1 lda entities,x cmp #0 bmi __b9 // main::@10 - // [13] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$13)<(signed byte) $27+(signed byte) 1) goto main::@8 -- pbsc1_derefidx_vbuxx_lt_vbsc2_then_la1 + // [13] if(*((signed byte*)(const struct Entity*) entities + (byte~) main::$16)<(signed byte) $27+(signed byte) 1) goto main::@8 -- pbsc1_derefidx_vbuxx_lt_vbsc2_then_la1 lda entities,x sec sbc #$27+1 @@ -1133,21 +1078,16 @@ main: { // main::@9 __b9: // -entities[i].x_vel - // [14] (byte~) main::$18 ← (byte~) main::$25 + (byte) main::i1#2 -- vbuxx=vbuz1_plus_vbuz2 - lda.z __25 - clc - adc.z i1 - tax - // [15] (signed byte~) main::$8 ← - *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) -- vbsaa=_neg_pbsc1_derefidx_vbuxx + // [14] (signed byte~) main::$8 ← - *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) -- vbsaa=_neg_pbsc1_derefidx_vbuxx lda entities+OFFSET_STRUCT_ENTITY_X_VEL,x eor #$ff clc adc #1 // entities[i].x_vel = -entities[i].x_vel - // [16] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) ← (signed byte~) main::$8 -- pbsc1_derefidx_vbuxx=vbsaa + // [15] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) ← (signed byte~) main::$8 -- pbsc1_derefidx_vbuxx=vbsaa sta entities+OFFSET_STRUCT_ENTITY_X_VEL,x // entities[i].x_pos += entities[i].x_vel - // [17] *((signed byte*)(const struct Entity*) entities + (byte~) main::$18) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$18) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$18) -- pbsc1_derefidx_vbuxx=pbsc1_derefidx_vbuxx_plus_pbsc2_derefidx_vbuxx + // [16] *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) ← *((signed byte*)(const struct Entity*) entities + (byte~) main::$16) + *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$16) -- pbsc1_derefidx_vbuxx=pbsc1_derefidx_vbuxx_plus_pbsc2_derefidx_vbuxx clc lda entities,x adc entities+OFFSET_STRUCT_ENTITY_X_VEL,x @@ -1155,18 +1095,13 @@ main: { // main::@8 __b8: // line[entities[i].x_pos] = entities[i].symbol - // [18] (byte~) main::$16 ← (byte~) main::$25 + (byte) main::i1#2 -- vbuaa=vbuz1_plus_vbuz2 - lda.z __25 - clc - adc.z i1 - // [19] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$16) -- pbuz1_derefidx_(pbsc1_derefidx_vbuaa)=pbuc2_derefidx_vbuaa + // [17] *((byte*) main::line#2 + *((signed byte*)(const struct Entity*) entities + (byte~) main::$16)) ← *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$16) -- pbuz1_derefidx_(pbsc1_derefidx_vbuxx)=pbuc2_derefidx_vbuxx // Draw symbol - tax lda entities+OFFSET_STRUCT_ENTITY_SYMBOL,x ldy entities,x sta (line),y // line +=40 - // [20] (byte*) main::line#1 ← (byte*) main::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 + // [18] (byte*) main::line#1 ← (byte*) main::line#2 + (byte) $28 -- pbuz1=pbuz1_plus_vbuc1 // Next line lda #$28 clc @@ -1176,7 +1111,7 @@ main: { inc.z line+1 !: // for(char i=0;imain::@5] // [5] phi (byte*) main::line#2 = (byte*) main::line#1 [phi:main::@8->main::@5#0] -- register_copy @@ -1185,34 +1120,34 @@ main: { // main::@2 __b2: // entities[i].x_pos = (signed char)i - // [22] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1 + // [20] (byte~) main::$21 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1 txa asl - // [23] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 -- vbuyy=vbuaa_plus_vbuxx + // [21] (byte~) main::$10 ← (byte~) main::$21 + (byte) main::i#2 -- vbuyy=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff tay - // [24] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 -- pbsc1_derefidx_vbuyy=vbsxx + // [22] *((signed byte*)(const struct Entity*) entities + (byte~) main::$10) ← (signed byte)(byte) main::i#2 -- pbsc1_derefidx_vbuyy=vbsxx txa sta entities,y // entities[i].x_vel = v - // [25] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 -- pbsc1_derefidx_vbuyy=vbsz1 + // [23] *((signed byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_X_VEL + (byte~) main::$10) ← (signed byte) main::v#2 -- pbsc1_derefidx_vbuyy=vbsz1 lda.z v sta entities+OFFSET_STRUCT_ENTITY_X_VEL,y // entities[i].symbol = i - // [26] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 -- pbuc1_derefidx_vbuyy=vbuxx + // [24] *((byte*)(const struct Entity*) entities+(const byte) OFFSET_STRUCT_ENTITY_SYMBOL + (byte~) main::$10) ← (byte) main::i#2 -- pbuc1_derefidx_vbuyy=vbuxx txa sta entities+OFFSET_STRUCT_ENTITY_SYMBOL,y // v = -v - // [27] (signed byte) main::v#1 ← - (signed byte) main::v#2 -- vbsz1=_neg_vbsz1 + // [25] (signed byte) main::v#1 ← - (signed byte) main::v#2 -- vbsz1=_neg_vbsz1 lda.z v eor #$ff clc adc #1 sta.z v // for(char i=0;imain::@1] // [1] phi (signed byte) main::v#2 = (signed byte) main::v#1 [phi:main::@2->main::@1#0] -- register_copy diff --git a/src/test/ref/index-sizeof-reuse.sym b/src/test/ref/index-sizeof-reuse.sym index 550eba980..9a00a3364 100644 --- a/src/test/ref/index-sizeof-reuse.sym +++ b/src/test/ref/index-sizeof-reuse.sym @@ -9,11 +9,9 @@ (const struct Entity*) entities[(number) $19] = { fill( $19, 0) } (void()) main() (byte~) main::$10 reg byte y 14.666666666666666 -(byte~) main::$13 reg byte x 176.75 -(byte~) main::$16 reg byte a 303.0 -(byte~) main::$18 reg byte x 201.99999999999997 +(byte~) main::$16 reg byte x 176.75 (byte~) main::$21 reg byte a 22.0 -(byte~) main::$25 zp[1]:6 40.4 +(byte~) main::$25 reg byte a 202.0 (signed byte~) main::$8 reg byte a 202.0 (label) main::@1 (label) main::@10 @@ -30,10 +28,10 @@ (byte) main::i#2 reg byte x 8.25 (byte) main::i1 (byte) main::i1#1 i1 zp[1]:3 202.0 -(byte) main::i1#2 i1 zp[1]:3 47.13333333333333 +(byte) main::i1#2 i1 zp[1]:3 38.84615384615385 (byte*) main::line (byte*) main::line#1 line zp[2]:4 101.0 -(byte*) main::line#2 line zp[2]:4 28.857142857142858 +(byte*) main::line#2 line zp[2]:4 33.666666666666664 (signed byte) main::v (signed byte) main::v#1 v zp[1]:2 11.0 (signed byte) main::v#2 v zp[1]:2 4.714285714285714 @@ -42,10 +40,8 @@ reg byte x [ main::i#2 main::i#1 ] zp[1]:2 [ main::v#2 main::v#1 ] zp[1]:3 [ main::i1#2 main::i1#1 ] zp[2]:4 [ main::line#2 main::line#1 ] -zp[1]:6 [ main::$25 ] -reg byte x [ main::$13 ] -reg byte x [ main::$18 ] +reg byte a [ main::$25 ] +reg byte x [ main::$16 ] reg byte a [ main::$8 ] -reg byte a [ main::$16 ] reg byte a [ main::$21 ] reg byte y [ main::$10 ] diff --git a/src/test/ref/multiply-ns.asm b/src/test/ref/multiply-ns.asm index c0b52e762..da883e701 100644 --- a/src/test/ref/multiply-ns.asm +++ b/src/test/ref/multiply-ns.asm @@ -4,8 +4,8 @@ .pc = $80d "Program" main: { .label SCREEN = $400 - .label __16 = 2 - .label __18 = 3 + .label __21 = 2 + .label __46 = 3 ldx #0 __b1: // (SCREEN+0*40)[i] = i*1 @@ -14,43 +14,39 @@ main: { // i*2 txa asl - sta.z __16 // (SCREEN+1*40)[i] = i*2 sta SCREEN+1*$28,x // i*3 - txa + stx.z $ff clc - adc.z __16 + adc.z $ff + sta.z __21 // (SCREEN+2*40)[i] = i*3 sta SCREEN+2*$28,x // i*4 txa asl asl - sta.z __18 // (SCREEN+3*40)[i] = i*4 sta SCREEN+3*$28,x // i*5 - txa + stx.z $ff clc - adc.z __18 + adc.z $ff + tay // (SCREEN+4*40)[i] = i*5 + tya sta SCREEN+4*$28,x // i*6 - txa - clc - adc.z __16 + lda.z __21 asl // (SCREEN+5*40)[i] = i*6 sta SCREEN+5*$28,x // i*7 - txa - clc - adc.z __16 - asl stx.z $ff clc adc.z $ff + sta.z __46 // (SCREEN+6*40)[i] = i*7 sta SCREEN+6*$28,x // i*8 @@ -67,61 +63,34 @@ main: { // (SCREEN+8*40)[i] = i*9 sta SCREEN+8*$28,x // i*10 - txa - clc - adc.z __18 + tya asl // (SCREEN+9*40)[i] = i*10 sta SCREEN+9*$28,x // i*11 - txa - clc - adc.z __18 - asl stx.z $ff clc adc.z $ff // (SCREEN+10*40)[i] = i*11 sta SCREEN+$a*$28,x // i*12 - txa - clc - adc.z __16 + lda.z __21 asl asl // (SCREEN+11*40)[i] = i*12 sta SCREEN+$b*$28,x // i*13 - txa - clc - adc.z __16 - asl - asl stx.z $ff clc adc.z $ff // (SCREEN+12*40)[i] = i*13 sta SCREEN+$c*$28,x // i*14 - txa - clc - adc.z __16 - asl - stx.z $ff - clc - adc.z $ff + lda.z __46 asl // (SCREEN+13*40)[i] = i*14 sta SCREEN+$d*$28,x // i*15 - txa - clc - adc.z __16 - asl - stx.z $ff - clc - adc.z $ff - asl stx.z $ff clc adc.z $ff @@ -130,9 +99,7 @@ main: { // for(byte i: 0..17) inx cpx #$12 - beq !__b1+ - jmp __b1 - !__b1: + bne __b1 // } rts } diff --git a/src/test/ref/multiply-ns.cfg b/src/test/ref/multiply-ns.cfg index 831605606..58149f459 100644 --- a/src/test/ref/multiply-ns.cfg +++ b/src/test/ref/multiply-ns.cfg @@ -8,51 +8,35 @@ main::@1: scope:[main] from main main::@1 [2] *((const nomodify byte*) main::SCREEN + (byte) main::i#2) ← (byte) main::i#2 [3] (byte~) main::$16 ← (byte) main::i#2 << (byte) 1 [4] *((const nomodify byte*) main::SCREEN+(byte)(number) 1*(number) $28 + (byte) main::i#2) ← (byte~) main::$16 - [5] (byte~) main::$2 ← (byte~) main::$16 + (byte) main::i#2 - [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$2 + [5] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 + [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$21 [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 [8] *((const nomodify byte*) main::SCREEN+(byte)(number) 3*(number) $28 + (byte) main::i#2) ← (byte~) main::$18 - [9] (byte~) main::$4 ← (byte~) main::$18 + (byte) main::i#2 - [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$4 - [11] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 - [12] (byte~) main::$5 ← (byte~) main::$21 << (byte) 1 - [13] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$5 - [14] (byte~) main::$24 ← (byte~) main::$16 + (byte) main::i#2 - [15] (byte~) main::$25 ← (byte~) main::$24 << (byte) 1 - [16] (byte~) main::$6 ← (byte~) main::$25 + (byte) main::i#2 - [17] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$6 - [18] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 - [19] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 - [20] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 - [21] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 - [22] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 - [23] (byte~) main::$9 ← (byte~) main::$30 << (byte) 1 - [24] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$9 - [25] (byte~) main::$33 ← (byte~) main::$18 + (byte) main::i#2 - [26] (byte~) main::$34 ← (byte~) main::$33 << (byte) 1 - [27] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 - [28] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 - [29] (byte~) main::$37 ← (byte~) main::$16 + (byte) main::i#2 - [30] (byte~) main::$11 ← (byte~) main::$37 << (byte) 2 - [31] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$11 - [32] (byte~) main::$40 ← (byte~) main::$16 + (byte) main::i#2 - [33] (byte~) main::$41 ← (byte~) main::$40 << (byte) 2 - [34] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 - [35] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 - [36] (byte~) main::$44 ← (byte~) main::$16 + (byte) main::i#2 - [37] (byte~) main::$45 ← (byte~) main::$44 << (byte) 1 - [38] (byte~) main::$46 ← (byte~) main::$45 + (byte) main::i#2 - [39] (byte~) main::$13 ← (byte~) main::$46 << (byte) 1 - [40] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$13 - [41] (byte~) main::$49 ← (byte~) main::$16 + (byte) main::i#2 - [42] (byte~) main::$50 ← (byte~) main::$49 << (byte) 1 - [43] (byte~) main::$51 ← (byte~) main::$50 + (byte) main::i#2 - [44] (byte~) main::$52 ← (byte~) main::$51 << (byte) 1 - [45] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 - [46] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 - [47] (byte) main::i#1 ← ++ (byte) main::i#2 - [48] if((byte) main::i#1!=(byte) $12) goto main::@1 + [9] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 + [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$30 + [11] (byte~) main::$25 ← (byte~) main::$21 << (byte) 1 + [12] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$25 + [13] (byte~) main::$46 ← (byte~) main::$25 + (byte) main::i#2 + [14] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$46 + [15] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 + [16] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 + [17] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 + [18] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 + [19] (byte~) main::$34 ← (byte~) main::$30 << (byte) 1 + [20] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$34 + [21] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 + [22] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 + [23] (byte~) main::$41 ← (byte~) main::$21 << (byte) 2 + [24] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$41 + [25] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 + [26] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 + [27] (byte~) main::$52 ← (byte~) main::$46 << (byte) 1 + [28] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$52 + [29] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 + [30] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 + [31] (byte) main::i#1 ← ++ (byte) main::i#2 + [32] if((byte) main::i#1!=(byte) $12) goto main::@1 to:main::@return main::@return: scope:[main] from main::@1 - [49] return + [33] return to:@return diff --git a/src/test/ref/multiply-ns.log b/src/test/ref/multiply-ns.log index 0b1ff4430..00efd6a5f 100644 --- a/src/test/ref/multiply-ns.log +++ b/src/test/ref/multiply-ns.log @@ -247,12 +247,43 @@ Alias main::$16 = main::$1 main::$20 main::$23 main::$36 main::$39 main::$43 mai Alias main::$18 = main::$3 main::$29 main::$32 Alias main::$27 = main::$7 Successful SSA optimization Pass2AliasElimination +Identified duplicate assignment right side [13] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 +Identified duplicate assignment right side [17] (byte~) main::$24 ← (byte~) main::$16 + (byte) main::i#2 +Identified duplicate assignment right side [27] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 +Identified duplicate assignment right side [31] (byte~) main::$33 ← (byte~) main::$18 + (byte) main::i#2 +Identified duplicate assignment right side [36] (byte~) main::$37 ← (byte~) main::$16 + (byte) main::i#2 +Identified duplicate assignment right side [40] (byte~) main::$40 ← (byte~) main::$16 + (byte) main::i#2 +Identified duplicate assignment right side [45] (byte~) main::$44 ← (byte~) main::$16 + (byte) main::i#2 +Identified duplicate assignment right side [51] (byte~) main::$49 ← (byte~) main::$16 + (byte) main::i#2 +Successful SSA optimization Pass2DuplicateRValueIdentification +Alias main::$21 = main::$2 main::$24 main::$37 main::$40 main::$44 main::$49 +Alias main::$30 = main::$4 main::$33 +Successful SSA optimization Pass2AliasElimination +Identified duplicate assignment right side [14] (byte~) main::$25 ← (byte~) main::$21 << (byte) 1 +Identified duplicate assignment right side [25] (byte~) main::$34 ← (byte~) main::$30 << (byte) 1 +Identified duplicate assignment right side [32] (byte~) main::$41 ← (byte~) main::$21 << (byte) 2 +Identified duplicate assignment right side [36] (byte~) main::$45 ← (byte~) main::$21 << (byte) 1 +Identified duplicate assignment right side [41] (byte~) main::$50 ← (byte~) main::$21 << (byte) 1 +Successful SSA optimization Pass2DuplicateRValueIdentification +Alias main::$25 = main::$5 main::$45 main::$50 +Alias main::$34 = main::$9 +Alias main::$41 = main::$11 +Successful SSA optimization Pass2AliasElimination +Identified duplicate assignment right side [30] (byte~) main::$46 ← (byte~) main::$25 + (byte) main::i#2 +Identified duplicate assignment right side [34] (byte~) main::$51 ← (byte~) main::$25 + (byte) main::i#2 +Successful SSA optimization Pass2DuplicateRValueIdentification +Alias main::$46 = main::$6 main::$51 +Successful SSA optimization Pass2AliasElimination +Identified duplicate assignment right side [30] (byte~) main::$52 ← (byte~) main::$46 << (byte) 1 +Successful SSA optimization Pass2DuplicateRValueIdentification +Alias main::$52 = main::$13 +Successful SSA optimization Pass2AliasElimination Added new block during phi lifting main::@2(between main::@1 and main::@1) Adding NOP phi() at start of main CALL GRAPH Created 1 initial phi equivalence classes -Coalesced [50] main::i#3 ← main::i#1 +Coalesced [34] main::i#3 ← main::i#1 Coalesced down to 1 phi equivalence classes Culled Empty Block (label) main::@2 Adding NOP phi() at start of main @@ -268,187 +299,107 @@ main::@1: scope:[main] from main main::@1 [2] *((const nomodify byte*) main::SCREEN + (byte) main::i#2) ← (byte) main::i#2 [3] (byte~) main::$16 ← (byte) main::i#2 << (byte) 1 [4] *((const nomodify byte*) main::SCREEN+(byte)(number) 1*(number) $28 + (byte) main::i#2) ← (byte~) main::$16 - [5] (byte~) main::$2 ← (byte~) main::$16 + (byte) main::i#2 - [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$2 + [5] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 + [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$21 [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 [8] *((const nomodify byte*) main::SCREEN+(byte)(number) 3*(number) $28 + (byte) main::i#2) ← (byte~) main::$18 - [9] (byte~) main::$4 ← (byte~) main::$18 + (byte) main::i#2 - [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$4 - [11] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 - [12] (byte~) main::$5 ← (byte~) main::$21 << (byte) 1 - [13] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$5 - [14] (byte~) main::$24 ← (byte~) main::$16 + (byte) main::i#2 - [15] (byte~) main::$25 ← (byte~) main::$24 << (byte) 1 - [16] (byte~) main::$6 ← (byte~) main::$25 + (byte) main::i#2 - [17] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$6 - [18] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 - [19] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 - [20] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 - [21] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 - [22] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 - [23] (byte~) main::$9 ← (byte~) main::$30 << (byte) 1 - [24] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$9 - [25] (byte~) main::$33 ← (byte~) main::$18 + (byte) main::i#2 - [26] (byte~) main::$34 ← (byte~) main::$33 << (byte) 1 - [27] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 - [28] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 - [29] (byte~) main::$37 ← (byte~) main::$16 + (byte) main::i#2 - [30] (byte~) main::$11 ← (byte~) main::$37 << (byte) 2 - [31] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$11 - [32] (byte~) main::$40 ← (byte~) main::$16 + (byte) main::i#2 - [33] (byte~) main::$41 ← (byte~) main::$40 << (byte) 2 - [34] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 - [35] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 - [36] (byte~) main::$44 ← (byte~) main::$16 + (byte) main::i#2 - [37] (byte~) main::$45 ← (byte~) main::$44 << (byte) 1 - [38] (byte~) main::$46 ← (byte~) main::$45 + (byte) main::i#2 - [39] (byte~) main::$13 ← (byte~) main::$46 << (byte) 1 - [40] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$13 - [41] (byte~) main::$49 ← (byte~) main::$16 + (byte) main::i#2 - [42] (byte~) main::$50 ← (byte~) main::$49 << (byte) 1 - [43] (byte~) main::$51 ← (byte~) main::$50 + (byte) main::i#2 - [44] (byte~) main::$52 ← (byte~) main::$51 << (byte) 1 - [45] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 - [46] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 - [47] (byte) main::i#1 ← ++ (byte) main::i#2 - [48] if((byte) main::i#1!=(byte) $12) goto main::@1 + [9] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 + [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$30 + [11] (byte~) main::$25 ← (byte~) main::$21 << (byte) 1 + [12] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$25 + [13] (byte~) main::$46 ← (byte~) main::$25 + (byte) main::i#2 + [14] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$46 + [15] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 + [16] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 + [17] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 + [18] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 + [19] (byte~) main::$34 ← (byte~) main::$30 << (byte) 1 + [20] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$34 + [21] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 + [22] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 + [23] (byte~) main::$41 ← (byte~) main::$21 << (byte) 2 + [24] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$41 + [25] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 + [26] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 + [27] (byte~) main::$52 ← (byte~) main::$46 << (byte) 1 + [28] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$52 + [29] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 + [30] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 + [31] (byte) main::i#1 ← ++ (byte) main::i#2 + [32] if((byte) main::i#1!=(byte) $12) goto main::@1 to:main::@return main::@return: scope:[main] from main::@1 - [49] return + [33] return to:@return VARIABLE REGISTER WEIGHTS (void()) main() (byte~) main::$10 22.0 -(byte~) main::$11 22.0 (byte~) main::$12 22.0 -(byte~) main::$13 22.0 (byte~) main::$14 22.0 -(byte~) main::$16 2.605263157894737 -(byte~) main::$18 3.055555555555556 -(byte~) main::$2 22.0 -(byte~) main::$21 22.0 -(byte~) main::$24 22.0 -(byte~) main::$25 22.0 +(byte~) main::$16 16.5 +(byte~) main::$18 16.5 +(byte~) main::$21 2.4444444444444446 +(byte~) main::$25 16.5 (byte~) main::$27 16.5 -(byte~) main::$30 22.0 -(byte~) main::$33 22.0 -(byte~) main::$34 22.0 -(byte~) main::$37 22.0 -(byte~) main::$4 22.0 -(byte~) main::$40 22.0 -(byte~) main::$41 22.0 -(byte~) main::$44 22.0 -(byte~) main::$45 22.0 -(byte~) main::$46 22.0 -(byte~) main::$49 22.0 -(byte~) main::$5 22.0 -(byte~) main::$50 22.0 -(byte~) main::$51 22.0 -(byte~) main::$52 22.0 -(byte~) main::$6 22.0 +(byte~) main::$30 3.3000000000000003 +(byte~) main::$34 16.5 +(byte~) main::$41 16.5 +(byte~) main::$46 2.357142857142857 +(byte~) main::$52 16.5 (byte~) main::$8 22.0 -(byte~) main::$9 22.0 (byte) main::i (byte) main::i#1 16.5 -(byte) main::i#2 9.086956521739129 +(byte) main::i#2 10.266666666666666 Initial phi equivalence classes [ main::i#2 main::i#1 ] Added variable main::$16 to live range equivalence class [ main::$16 ] -Added variable main::$2 to live range equivalence class [ main::$2 ] -Added variable main::$18 to live range equivalence class [ main::$18 ] -Added variable main::$4 to live range equivalence class [ main::$4 ] Added variable main::$21 to live range equivalence class [ main::$21 ] -Added variable main::$5 to live range equivalence class [ main::$5 ] -Added variable main::$24 to live range equivalence class [ main::$24 ] +Added variable main::$18 to live range equivalence class [ main::$18 ] +Added variable main::$30 to live range equivalence class [ main::$30 ] Added variable main::$25 to live range equivalence class [ main::$25 ] -Added variable main::$6 to live range equivalence class [ main::$6 ] +Added variable main::$46 to live range equivalence class [ main::$46 ] Added variable main::$27 to live range equivalence class [ main::$27 ] Added variable main::$8 to live range equivalence class [ main::$8 ] -Added variable main::$30 to live range equivalence class [ main::$30 ] -Added variable main::$9 to live range equivalence class [ main::$9 ] -Added variable main::$33 to live range equivalence class [ main::$33 ] Added variable main::$34 to live range equivalence class [ main::$34 ] Added variable main::$10 to live range equivalence class [ main::$10 ] -Added variable main::$37 to live range equivalence class [ main::$37 ] -Added variable main::$11 to live range equivalence class [ main::$11 ] -Added variable main::$40 to live range equivalence class [ main::$40 ] Added variable main::$41 to live range equivalence class [ main::$41 ] Added variable main::$12 to live range equivalence class [ main::$12 ] -Added variable main::$44 to live range equivalence class [ main::$44 ] -Added variable main::$45 to live range equivalence class [ main::$45 ] -Added variable main::$46 to live range equivalence class [ main::$46 ] -Added variable main::$13 to live range equivalence class [ main::$13 ] -Added variable main::$49 to live range equivalence class [ main::$49 ] -Added variable main::$50 to live range equivalence class [ main::$50 ] -Added variable main::$51 to live range equivalence class [ main::$51 ] Added variable main::$52 to live range equivalence class [ main::$52 ] Added variable main::$14 to live range equivalence class [ main::$14 ] Complete equivalence classes [ main::i#2 main::i#1 ] [ main::$16 ] -[ main::$2 ] -[ main::$18 ] -[ main::$4 ] [ main::$21 ] -[ main::$5 ] -[ main::$24 ] +[ main::$18 ] +[ main::$30 ] [ main::$25 ] -[ main::$6 ] +[ main::$46 ] [ main::$27 ] [ main::$8 ] -[ main::$30 ] -[ main::$9 ] -[ main::$33 ] [ main::$34 ] [ main::$10 ] -[ main::$37 ] -[ main::$11 ] -[ main::$40 ] [ main::$41 ] [ main::$12 ] -[ main::$44 ] -[ main::$45 ] -[ main::$46 ] -[ main::$13 ] -[ main::$49 ] -[ main::$50 ] -[ main::$51 ] [ main::$52 ] [ main::$14 ] Allocated zp[1]:2 [ main::i#2 main::i#1 ] Allocated zp[1]:3 [ main::$16 ] -Allocated zp[1]:4 [ main::$2 ] +Allocated zp[1]:4 [ main::$21 ] Allocated zp[1]:5 [ main::$18 ] -Allocated zp[1]:6 [ main::$4 ] -Allocated zp[1]:7 [ main::$21 ] -Allocated zp[1]:8 [ main::$5 ] -Allocated zp[1]:9 [ main::$24 ] -Allocated zp[1]:10 [ main::$25 ] -Allocated zp[1]:11 [ main::$6 ] -Allocated zp[1]:12 [ main::$27 ] -Allocated zp[1]:13 [ main::$8 ] -Allocated zp[1]:14 [ main::$30 ] -Allocated zp[1]:15 [ main::$9 ] -Allocated zp[1]:16 [ main::$33 ] -Allocated zp[1]:17 [ main::$34 ] -Allocated zp[1]:18 [ main::$10 ] -Allocated zp[1]:19 [ main::$37 ] -Allocated zp[1]:20 [ main::$11 ] -Allocated zp[1]:21 [ main::$40 ] -Allocated zp[1]:22 [ main::$41 ] -Allocated zp[1]:23 [ main::$12 ] -Allocated zp[1]:24 [ main::$44 ] -Allocated zp[1]:25 [ main::$45 ] -Allocated zp[1]:26 [ main::$46 ] -Allocated zp[1]:27 [ main::$13 ] -Allocated zp[1]:28 [ main::$49 ] -Allocated zp[1]:29 [ main::$50 ] -Allocated zp[1]:30 [ main::$51 ] -Allocated zp[1]:31 [ main::$52 ] -Allocated zp[1]:32 [ main::$14 ] +Allocated zp[1]:6 [ main::$30 ] +Allocated zp[1]:7 [ main::$25 ] +Allocated zp[1]:8 [ main::$46 ] +Allocated zp[1]:9 [ main::$27 ] +Allocated zp[1]:10 [ main::$8 ] +Allocated zp[1]:11 [ main::$34 ] +Allocated zp[1]:12 [ main::$10 ] +Allocated zp[1]:13 [ main::$41 ] +Allocated zp[1]:14 [ main::$12 ] +Allocated zp[1]:15 [ main::$52 ] +Allocated zp[1]:16 [ main::$14 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -462,37 +413,21 @@ Target platform is c64basic / MOS6502X // main main: { .label SCREEN = $400 - .label __2 = 4 - .label __4 = 6 - .label __5 = 8 - .label __6 = $b - .label __8 = $d - .label __9 = $f - .label __10 = $12 - .label __11 = $14 - .label __12 = $17 - .label __13 = $1b - .label __14 = $20 + .label __8 = $a + .label __10 = $c + .label __12 = $e + .label __14 = $10 .label i = 2 .label __16 = 3 .label __18 = 5 - .label __21 = 7 - .label __24 = 9 - .label __25 = $a - .label __27 = $c - .label __30 = $e - .label __33 = $10 - .label __34 = $11 - .label __37 = $13 - .label __40 = $15 - .label __41 = $16 - .label __44 = $18 - .label __45 = $19 - .label __46 = $1a - .label __49 = $1c - .label __50 = $1d - .label __51 = $1e - .label __52 = $1f + .label __21 = 4 + .label __25 = 7 + .label __27 = 9 + .label __30 = 6 + .label __34 = $b + .label __41 = $d + .label __46 = 8 + .label __52 = $f // [1] phi from main to main::@1 [phi:main->main::@1] __b1_from_main: // [1] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 @@ -517,13 +452,13 @@ main: { lda.z __16 ldy.z i sta SCREEN+1*$28,y - // [5] (byte~) main::$2 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 + // [5] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 lda.z __16 clc adc.z i - sta.z __2 - // [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$2 -- pbuc1_derefidx_vbuz1=vbuz2 - lda.z __2 + sta.z __21 + // [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$21 -- pbuc1_derefidx_vbuz1=vbuz2 + lda.z __21 ldy.z i sta SCREEN+2*$28,y // [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 -- vbuz1=vbuz2_rol_2 @@ -535,188 +470,113 @@ main: { lda.z __18 ldy.z i sta SCREEN+3*$28,y - // [9] (byte~) main::$4 ← (byte~) main::$18 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 + // [9] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 lda.z __18 clc adc.z i - sta.z __4 - // [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$4 -- pbuc1_derefidx_vbuz1=vbuz2 - lda.z __4 + sta.z __30 + // [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$30 -- pbuc1_derefidx_vbuz1=vbuz2 + lda.z __30 ldy.z i sta SCREEN+4*$28,y - // [11] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __16 - clc - adc.z i - sta.z __21 - // [12] (byte~) main::$5 ← (byte~) main::$21 << (byte) 1 -- vbuz1=vbuz2_rol_1 + // [11] (byte~) main::$25 ← (byte~) main::$21 << (byte) 1 -- vbuz1=vbuz2_rol_1 lda.z __21 asl - sta.z __5 - // [13] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$5 -- pbuc1_derefidx_vbuz1=vbuz2 - lda.z __5 + sta.z __25 + // [12] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$25 -- pbuc1_derefidx_vbuz1=vbuz2 + lda.z __25 ldy.z i sta SCREEN+5*$28,y - // [14] (byte~) main::$24 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __16 - clc - adc.z i - sta.z __24 - // [15] (byte~) main::$25 ← (byte~) main::$24 << (byte) 1 -- vbuz1=vbuz2_rol_1 - lda.z __24 - asl - sta.z __25 - // [16] (byte~) main::$6 ← (byte~) main::$25 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 + // [13] (byte~) main::$46 ← (byte~) main::$25 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 lda.z __25 clc adc.z i - sta.z __6 - // [17] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$6 -- pbuc1_derefidx_vbuz1=vbuz2 - lda.z __6 + sta.z __46 + // [14] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$46 -- pbuc1_derefidx_vbuz1=vbuz2 + lda.z __46 ldy.z i sta SCREEN+6*$28,y - // [18] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 -- vbuz1=vbuz2_rol_3 + // [15] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 -- vbuz1=vbuz2_rol_3 lda.z i asl asl asl sta.z __27 - // [19] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 -- pbuc1_derefidx_vbuz1=vbuz2 + // [16] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __27 ldy.z i sta SCREEN+7*$28,y - // [20] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 + // [17] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 lda.z __27 clc adc.z i sta.z __8 - // [21] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 -- pbuc1_derefidx_vbuz1=vbuz2 + // [18] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __8 ldy.z i sta SCREEN+8*$28,y - // [22] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __18 - clc - adc.z i - sta.z __30 - // [23] (byte~) main::$9 ← (byte~) main::$30 << (byte) 1 -- vbuz1=vbuz2_rol_1 + // [19] (byte~) main::$34 ← (byte~) main::$30 << (byte) 1 -- vbuz1=vbuz2_rol_1 lda.z __30 asl - sta.z __9 - // [24] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$9 -- pbuc1_derefidx_vbuz1=vbuz2 - lda.z __9 + sta.z __34 + // [20] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$34 -- pbuc1_derefidx_vbuz1=vbuz2 + lda.z __34 ldy.z i sta SCREEN+9*$28,y - // [25] (byte~) main::$33 ← (byte~) main::$18 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __18 - clc - adc.z i - sta.z __33 - // [26] (byte~) main::$34 ← (byte~) main::$33 << (byte) 1 -- vbuz1=vbuz2_rol_1 - lda.z __33 - asl - sta.z __34 - // [27] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 + // [21] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 lda.z __34 clc adc.z i sta.z __10 - // [28] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 -- pbuc1_derefidx_vbuz1=vbuz2 + // [22] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __10 ldy.z i sta SCREEN+$a*$28,y - // [29] (byte~) main::$37 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __16 - clc - adc.z i - sta.z __37 - // [30] (byte~) main::$11 ← (byte~) main::$37 << (byte) 2 -- vbuz1=vbuz2_rol_2 - lda.z __37 - asl - asl - sta.z __11 - // [31] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$11 -- pbuc1_derefidx_vbuz1=vbuz2 - lda.z __11 - ldy.z i - sta SCREEN+$b*$28,y - // [32] (byte~) main::$40 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __16 - clc - adc.z i - sta.z __40 - // [33] (byte~) main::$41 ← (byte~) main::$40 << (byte) 2 -- vbuz1=vbuz2_rol_2 - lda.z __40 + // [23] (byte~) main::$41 ← (byte~) main::$21 << (byte) 2 -- vbuz1=vbuz2_rol_2 + lda.z __21 asl asl sta.z __41 - // [34] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 + // [24] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$41 -- pbuc1_derefidx_vbuz1=vbuz2 + lda.z __41 + ldy.z i + sta SCREEN+$b*$28,y + // [25] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 lda.z __41 clc adc.z i sta.z __12 - // [35] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 -- pbuc1_derefidx_vbuz1=vbuz2 + // [26] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __12 ldy.z i sta SCREEN+$c*$28,y - // [36] (byte~) main::$44 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __16 - clc - adc.z i - sta.z __44 - // [37] (byte~) main::$45 ← (byte~) main::$44 << (byte) 1 -- vbuz1=vbuz2_rol_1 - lda.z __44 - asl - sta.z __45 - // [38] (byte~) main::$46 ← (byte~) main::$45 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __45 - clc - adc.z i - sta.z __46 - // [39] (byte~) main::$13 ← (byte~) main::$46 << (byte) 1 -- vbuz1=vbuz2_rol_1 + // [27] (byte~) main::$52 ← (byte~) main::$46 << (byte) 1 -- vbuz1=vbuz2_rol_1 lda.z __46 asl - sta.z __13 - // [40] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$13 -- pbuc1_derefidx_vbuz1=vbuz2 - lda.z __13 + sta.z __52 + // [28] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$52 -- pbuc1_derefidx_vbuz1=vbuz2 + lda.z __52 ldy.z i sta SCREEN+$d*$28,y - // [41] (byte~) main::$49 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __16 - clc - adc.z i - sta.z __49 - // [42] (byte~) main::$50 ← (byte~) main::$49 << (byte) 1 -- vbuz1=vbuz2_rol_1 - lda.z __49 - asl - sta.z __50 - // [43] (byte~) main::$51 ← (byte~) main::$50 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __50 - clc - adc.z i - sta.z __51 - // [44] (byte~) main::$52 ← (byte~) main::$51 << (byte) 1 -- vbuz1=vbuz2_rol_1 - lda.z __51 - asl - sta.z __52 - // [45] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 + // [29] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 lda.z __52 clc adc.z i sta.z __14 - // [46] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 -- pbuc1_derefidx_vbuz1=vbuz2 + // [30] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 -- pbuc1_derefidx_vbuz1=vbuz2 lda.z __14 ldy.z i sta SCREEN+$e*$28,y - // [47] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 + // [31] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 inc.z i - // [48] if((byte) main::i#1!=(byte) $12) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 + // [32] if((byte) main::i#1!=(byte) $12) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$12 cmp.z i bne __b1_from___b1 jmp __breturn // main::@return __breturn: - // [49] return + // [33] return rts } // File Data @@ -724,171 +584,87 @@ main: { REGISTER UPLIFT POTENTIAL REGISTERS Statement [3] (byte~) main::$16 ← (byte) main::i#2 << (byte) 1 [ main::i#2 main::$16 ] ( [ main::i#2 main::$16 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:2 [ main::i#2 main::i#1 ] -Statement [5] (byte~) main::$2 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$2 ] ( [ main::i#2 main::$16 main::$2 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:3 [ main::$16 ] -Statement [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 [ main::i#2 main::$16 main::$18 ] ( [ main::i#2 main::$16 main::$18 ] { } ) always clobbers reg byte a -Statement [9] (byte~) main::$4 ← (byte~) main::$18 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$4 ] ( [ main::i#2 main::$16 main::$18 main::$4 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:5 [ main::$18 ] -Statement [11] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$21 ] ( [ main::i#2 main::$16 main::$18 main::$21 ] { } ) always clobbers reg byte a -Statement [12] (byte~) main::$5 ← (byte~) main::$21 << (byte) 1 [ main::i#2 main::$16 main::$18 main::$5 ] ( [ main::i#2 main::$16 main::$18 main::$5 ] { } ) always clobbers reg byte a -Statement [14] (byte~) main::$24 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$24 ] ( [ main::i#2 main::$16 main::$18 main::$24 ] { } ) always clobbers reg byte a -Statement [15] (byte~) main::$25 ← (byte~) main::$24 << (byte) 1 [ main::i#2 main::$16 main::$18 main::$25 ] ( [ main::i#2 main::$16 main::$18 main::$25 ] { } ) always clobbers reg byte a -Statement [16] (byte~) main::$6 ← (byte~) main::$25 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$6 ] ( [ main::i#2 main::$16 main::$18 main::$6 ] { } ) always clobbers reg byte a -Statement [18] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 [ main::i#2 main::$16 main::$18 main::$27 ] ( [ main::i#2 main::$16 main::$18 main::$27 ] { } ) always clobbers reg byte a -Statement [20] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$8 ] ( [ main::i#2 main::$16 main::$18 main::$8 ] { } ) always clobbers reg byte a -Statement [22] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$30 ] ( [ main::i#2 main::$16 main::$18 main::$30 ] { } ) always clobbers reg byte a -Statement [23] (byte~) main::$9 ← (byte~) main::$30 << (byte) 1 [ main::i#2 main::$16 main::$18 main::$9 ] ( [ main::i#2 main::$16 main::$18 main::$9 ] { } ) always clobbers reg byte a -Statement [25] (byte~) main::$33 ← (byte~) main::$18 + (byte) main::i#2 [ main::i#2 main::$16 main::$33 ] ( [ main::i#2 main::$16 main::$33 ] { } ) always clobbers reg byte a -Statement [26] (byte~) main::$34 ← (byte~) main::$33 << (byte) 1 [ main::i#2 main::$16 main::$34 ] ( [ main::i#2 main::$16 main::$34 ] { } ) always clobbers reg byte a -Statement [27] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 [ main::i#2 main::$16 main::$10 ] ( [ main::i#2 main::$16 main::$10 ] { } ) always clobbers reg byte a -Statement [29] (byte~) main::$37 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$37 ] ( [ main::i#2 main::$16 main::$37 ] { } ) always clobbers reg byte a -Statement [30] (byte~) main::$11 ← (byte~) main::$37 << (byte) 2 [ main::i#2 main::$16 main::$11 ] ( [ main::i#2 main::$16 main::$11 ] { } ) always clobbers reg byte a -Statement [32] (byte~) main::$40 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$40 ] ( [ main::i#2 main::$16 main::$40 ] { } ) always clobbers reg byte a -Statement [33] (byte~) main::$41 ← (byte~) main::$40 << (byte) 2 [ main::i#2 main::$16 main::$41 ] ( [ main::i#2 main::$16 main::$41 ] { } ) always clobbers reg byte a -Statement [34] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 [ main::i#2 main::$16 main::$12 ] ( [ main::i#2 main::$16 main::$12 ] { } ) always clobbers reg byte a -Statement [36] (byte~) main::$44 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$44 ] ( [ main::i#2 main::$16 main::$44 ] { } ) always clobbers reg byte a -Statement [37] (byte~) main::$45 ← (byte~) main::$44 << (byte) 1 [ main::i#2 main::$16 main::$45 ] ( [ main::i#2 main::$16 main::$45 ] { } ) always clobbers reg byte a -Statement [38] (byte~) main::$46 ← (byte~) main::$45 + (byte) main::i#2 [ main::i#2 main::$16 main::$46 ] ( [ main::i#2 main::$16 main::$46 ] { } ) always clobbers reg byte a -Statement [39] (byte~) main::$13 ← (byte~) main::$46 << (byte) 1 [ main::i#2 main::$16 main::$13 ] ( [ main::i#2 main::$16 main::$13 ] { } ) always clobbers reg byte a -Statement [41] (byte~) main::$49 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$49 ] ( [ main::i#2 main::$49 ] { } ) always clobbers reg byte a -Statement [42] (byte~) main::$50 ← (byte~) main::$49 << (byte) 1 [ main::i#2 main::$50 ] ( [ main::i#2 main::$50 ] { } ) always clobbers reg byte a -Statement [43] (byte~) main::$51 ← (byte~) main::$50 + (byte) main::i#2 [ main::i#2 main::$51 ] ( [ main::i#2 main::$51 ] { } ) always clobbers reg byte a -Statement [44] (byte~) main::$52 ← (byte~) main::$51 << (byte) 1 [ main::i#2 main::$52 ] ( [ main::i#2 main::$52 ] { } ) always clobbers reg byte a -Statement [45] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 [ main::i#2 main::$14 ] ( [ main::i#2 main::$14 ] { } ) always clobbers reg byte a +Statement [5] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$21 ] ( [ main::i#2 main::$21 ] { } ) always clobbers reg byte a +Statement [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 [ main::i#2 main::$21 main::$18 ] ( [ main::i#2 main::$21 main::$18 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:4 [ main::$21 ] +Statement [9] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 [ main::i#2 main::$21 main::$30 ] ( [ main::i#2 main::$21 main::$30 ] { } ) always clobbers reg byte a +Statement [11] (byte~) main::$25 ← (byte~) main::$21 << (byte) 1 [ main::i#2 main::$21 main::$30 main::$25 ] ( [ main::i#2 main::$21 main::$30 main::$25 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:6 [ main::$30 ] +Statement [13] (byte~) main::$46 ← (byte~) main::$25 + (byte) main::i#2 [ main::i#2 main::$21 main::$30 main::$46 ] ( [ main::i#2 main::$21 main::$30 main::$46 ] { } ) always clobbers reg byte a +Statement [15] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 [ main::i#2 main::$21 main::$30 main::$46 main::$27 ] ( [ main::i#2 main::$21 main::$30 main::$46 main::$27 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:8 [ main::$46 ] +Statement [17] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 [ main::i#2 main::$21 main::$30 main::$46 main::$8 ] ( [ main::i#2 main::$21 main::$30 main::$46 main::$8 ] { } ) always clobbers reg byte a +Statement [19] (byte~) main::$34 ← (byte~) main::$30 << (byte) 1 [ main::i#2 main::$21 main::$46 main::$34 ] ( [ main::i#2 main::$21 main::$46 main::$34 ] { } ) always clobbers reg byte a +Statement [21] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 [ main::i#2 main::$21 main::$46 main::$10 ] ( [ main::i#2 main::$21 main::$46 main::$10 ] { } ) always clobbers reg byte a +Statement [23] (byte~) main::$41 ← (byte~) main::$21 << (byte) 2 [ main::i#2 main::$46 main::$41 ] ( [ main::i#2 main::$46 main::$41 ] { } ) always clobbers reg byte a +Statement [25] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 [ main::i#2 main::$46 main::$12 ] ( [ main::i#2 main::$46 main::$12 ] { } ) always clobbers reg byte a +Statement [27] (byte~) main::$52 ← (byte~) main::$46 << (byte) 1 [ main::i#2 main::$52 ] ( [ main::i#2 main::$52 ] { } ) always clobbers reg byte a +Statement [29] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 [ main::i#2 main::$14 ] ( [ main::i#2 main::$14 ] { } ) always clobbers reg byte a Statement [2] *((const nomodify byte*) main::SCREEN + (byte) main::i#2) ← (byte) main::i#2 [ main::i#2 ] ( [ main::i#2 ] { } ) always clobbers reg byte a Statement [3] (byte~) main::$16 ← (byte) main::i#2 << (byte) 1 [ main::i#2 main::$16 ] ( [ main::i#2 main::$16 ] { } ) always clobbers reg byte a -Statement [4] *((const nomodify byte*) main::SCREEN+(byte)(number) 1*(number) $28 + (byte) main::i#2) ← (byte~) main::$16 [ main::i#2 main::$16 ] ( [ main::i#2 main::$16 ] { } ) always clobbers reg byte a -Statement [5] (byte~) main::$2 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$2 ] ( [ main::i#2 main::$16 main::$2 ] { } ) always clobbers reg byte a -Statement [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 [ main::i#2 main::$16 main::$18 ] ( [ main::i#2 main::$16 main::$18 ] { } ) always clobbers reg byte a -Statement [8] *((const nomodify byte*) main::SCREEN+(byte)(number) 3*(number) $28 + (byte) main::i#2) ← (byte~) main::$18 [ main::i#2 main::$16 main::$18 ] ( [ main::i#2 main::$16 main::$18 ] { } ) always clobbers reg byte a -Statement [9] (byte~) main::$4 ← (byte~) main::$18 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$4 ] ( [ main::i#2 main::$16 main::$18 main::$4 ] { } ) always clobbers reg byte a -Statement [11] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$21 ] ( [ main::i#2 main::$16 main::$18 main::$21 ] { } ) always clobbers reg byte a -Statement [12] (byte~) main::$5 ← (byte~) main::$21 << (byte) 1 [ main::i#2 main::$16 main::$18 main::$5 ] ( [ main::i#2 main::$16 main::$18 main::$5 ] { } ) always clobbers reg byte a -Statement [14] (byte~) main::$24 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$24 ] ( [ main::i#2 main::$16 main::$18 main::$24 ] { } ) always clobbers reg byte a -Statement [15] (byte~) main::$25 ← (byte~) main::$24 << (byte) 1 [ main::i#2 main::$16 main::$18 main::$25 ] ( [ main::i#2 main::$16 main::$18 main::$25 ] { } ) always clobbers reg byte a -Statement [16] (byte~) main::$6 ← (byte~) main::$25 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$6 ] ( [ main::i#2 main::$16 main::$18 main::$6 ] { } ) always clobbers reg byte a -Statement [18] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 [ main::i#2 main::$16 main::$18 main::$27 ] ( [ main::i#2 main::$16 main::$18 main::$27 ] { } ) always clobbers reg byte a -Statement [20] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$8 ] ( [ main::i#2 main::$16 main::$18 main::$8 ] { } ) always clobbers reg byte a -Statement [22] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 [ main::i#2 main::$16 main::$18 main::$30 ] ( [ main::i#2 main::$16 main::$18 main::$30 ] { } ) always clobbers reg byte a -Statement [23] (byte~) main::$9 ← (byte~) main::$30 << (byte) 1 [ main::i#2 main::$16 main::$18 main::$9 ] ( [ main::i#2 main::$16 main::$18 main::$9 ] { } ) always clobbers reg byte a -Statement [25] (byte~) main::$33 ← (byte~) main::$18 + (byte) main::i#2 [ main::i#2 main::$16 main::$33 ] ( [ main::i#2 main::$16 main::$33 ] { } ) always clobbers reg byte a -Statement [26] (byte~) main::$34 ← (byte~) main::$33 << (byte) 1 [ main::i#2 main::$16 main::$34 ] ( [ main::i#2 main::$16 main::$34 ] { } ) always clobbers reg byte a -Statement [27] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 [ main::i#2 main::$16 main::$10 ] ( [ main::i#2 main::$16 main::$10 ] { } ) always clobbers reg byte a -Statement [29] (byte~) main::$37 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$37 ] ( [ main::i#2 main::$16 main::$37 ] { } ) always clobbers reg byte a -Statement [30] (byte~) main::$11 ← (byte~) main::$37 << (byte) 2 [ main::i#2 main::$16 main::$11 ] ( [ main::i#2 main::$16 main::$11 ] { } ) always clobbers reg byte a -Statement [32] (byte~) main::$40 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$40 ] ( [ main::i#2 main::$16 main::$40 ] { } ) always clobbers reg byte a -Statement [33] (byte~) main::$41 ← (byte~) main::$40 << (byte) 2 [ main::i#2 main::$16 main::$41 ] ( [ main::i#2 main::$16 main::$41 ] { } ) always clobbers reg byte a -Statement [34] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 [ main::i#2 main::$16 main::$12 ] ( [ main::i#2 main::$16 main::$12 ] { } ) always clobbers reg byte a -Statement [36] (byte~) main::$44 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$16 main::$44 ] ( [ main::i#2 main::$16 main::$44 ] { } ) always clobbers reg byte a -Statement [37] (byte~) main::$45 ← (byte~) main::$44 << (byte) 1 [ main::i#2 main::$16 main::$45 ] ( [ main::i#2 main::$16 main::$45 ] { } ) always clobbers reg byte a -Statement [38] (byte~) main::$46 ← (byte~) main::$45 + (byte) main::i#2 [ main::i#2 main::$16 main::$46 ] ( [ main::i#2 main::$16 main::$46 ] { } ) always clobbers reg byte a -Statement [39] (byte~) main::$13 ← (byte~) main::$46 << (byte) 1 [ main::i#2 main::$16 main::$13 ] ( [ main::i#2 main::$16 main::$13 ] { } ) always clobbers reg byte a -Statement [41] (byte~) main::$49 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$49 ] ( [ main::i#2 main::$49 ] { } ) always clobbers reg byte a -Statement [42] (byte~) main::$50 ← (byte~) main::$49 << (byte) 1 [ main::i#2 main::$50 ] ( [ main::i#2 main::$50 ] { } ) always clobbers reg byte a -Statement [43] (byte~) main::$51 ← (byte~) main::$50 + (byte) main::i#2 [ main::i#2 main::$51 ] ( [ main::i#2 main::$51 ] { } ) always clobbers reg byte a -Statement [44] (byte~) main::$52 ← (byte~) main::$51 << (byte) 1 [ main::i#2 main::$52 ] ( [ main::i#2 main::$52 ] { } ) always clobbers reg byte a -Statement [45] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 [ main::i#2 main::$14 ] ( [ main::i#2 main::$14 ] { } ) always clobbers reg byte a +Statement [5] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 [ main::i#2 main::$21 ] ( [ main::i#2 main::$21 ] { } ) always clobbers reg byte a +Statement [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$21 [ main::i#2 main::$21 ] ( [ main::i#2 main::$21 ] { } ) always clobbers reg byte a +Statement [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 [ main::i#2 main::$21 main::$18 ] ( [ main::i#2 main::$21 main::$18 ] { } ) always clobbers reg byte a +Statement [9] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 [ main::i#2 main::$21 main::$30 ] ( [ main::i#2 main::$21 main::$30 ] { } ) always clobbers reg byte a +Statement [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$30 [ main::i#2 main::$21 main::$30 ] ( [ main::i#2 main::$21 main::$30 ] { } ) always clobbers reg byte a +Statement [11] (byte~) main::$25 ← (byte~) main::$21 << (byte) 1 [ main::i#2 main::$21 main::$30 main::$25 ] ( [ main::i#2 main::$21 main::$30 main::$25 ] { } ) always clobbers reg byte a +Statement [13] (byte~) main::$46 ← (byte~) main::$25 + (byte) main::i#2 [ main::i#2 main::$21 main::$30 main::$46 ] ( [ main::i#2 main::$21 main::$30 main::$46 ] { } ) always clobbers reg byte a +Statement [14] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$46 [ main::i#2 main::$21 main::$30 main::$46 ] ( [ main::i#2 main::$21 main::$30 main::$46 ] { } ) always clobbers reg byte a +Statement [15] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 [ main::i#2 main::$21 main::$30 main::$46 main::$27 ] ( [ main::i#2 main::$21 main::$30 main::$46 main::$27 ] { } ) always clobbers reg byte a +Statement [17] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 [ main::i#2 main::$21 main::$30 main::$46 main::$8 ] ( [ main::i#2 main::$21 main::$30 main::$46 main::$8 ] { } ) always clobbers reg byte a +Statement [19] (byte~) main::$34 ← (byte~) main::$30 << (byte) 1 [ main::i#2 main::$21 main::$46 main::$34 ] ( [ main::i#2 main::$21 main::$46 main::$34 ] { } ) always clobbers reg byte a +Statement [21] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 [ main::i#2 main::$21 main::$46 main::$10 ] ( [ main::i#2 main::$21 main::$46 main::$10 ] { } ) always clobbers reg byte a +Statement [23] (byte~) main::$41 ← (byte~) main::$21 << (byte) 2 [ main::i#2 main::$46 main::$41 ] ( [ main::i#2 main::$46 main::$41 ] { } ) always clobbers reg byte a +Statement [25] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 [ main::i#2 main::$46 main::$12 ] ( [ main::i#2 main::$46 main::$12 ] { } ) always clobbers reg byte a +Statement [27] (byte~) main::$52 ← (byte~) main::$46 << (byte) 1 [ main::i#2 main::$52 ] ( [ main::i#2 main::$52 ] { } ) always clobbers reg byte a +Statement [29] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 [ main::i#2 main::$14 ] ( [ main::i#2 main::$14 ] { } ) always clobbers reg byte a Potential registers zp[1]:2 [ main::i#2 main::i#1 ] : zp[1]:2 , reg byte x , reg byte y , -Potential registers zp[1]:3 [ main::$16 ] : zp[1]:3 , reg byte x , reg byte y , -Potential registers zp[1]:4 [ main::$2 ] : zp[1]:4 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:5 [ main::$18 ] : zp[1]:5 , reg byte x , reg byte y , -Potential registers zp[1]:6 [ main::$4 ] : zp[1]:6 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:7 [ main::$21 ] : zp[1]:7 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:8 [ main::$5 ] : zp[1]:8 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:9 [ main::$24 ] : zp[1]:9 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:10 [ main::$25 ] : zp[1]:10 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:11 [ main::$6 ] : zp[1]:11 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:12 [ main::$27 ] : zp[1]:12 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:13 [ main::$8 ] : zp[1]:13 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:14 [ main::$30 ] : zp[1]:14 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:15 [ main::$9 ] : zp[1]:15 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:16 [ main::$33 ] : zp[1]:16 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:17 [ main::$34 ] : zp[1]:17 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:18 [ main::$10 ] : zp[1]:18 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:19 [ main::$37 ] : zp[1]:19 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:20 [ main::$11 ] : zp[1]:20 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:21 [ main::$40 ] : zp[1]:21 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:22 [ main::$41 ] : zp[1]:22 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:23 [ main::$12 ] : zp[1]:23 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:24 [ main::$44 ] : zp[1]:24 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:25 [ main::$45 ] : zp[1]:25 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:26 [ main::$46 ] : zp[1]:26 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:27 [ main::$13 ] : zp[1]:27 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:28 [ main::$49 ] : zp[1]:28 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:29 [ main::$50 ] : zp[1]:29 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:30 [ main::$51 ] : zp[1]:30 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:31 [ main::$52 ] : zp[1]:31 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:32 [ main::$14 ] : zp[1]:32 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:3 [ main::$16 ] : zp[1]:3 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:4 [ main::$21 ] : zp[1]:4 , reg byte x , reg byte y , +Potential registers zp[1]:5 [ main::$18 ] : zp[1]:5 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:6 [ main::$30 ] : zp[1]:6 , reg byte x , reg byte y , +Potential registers zp[1]:7 [ main::$25 ] : zp[1]:7 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:8 [ main::$46 ] : zp[1]:8 , reg byte x , reg byte y , +Potential registers zp[1]:9 [ main::$27 ] : zp[1]:9 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:10 [ main::$8 ] : zp[1]:10 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:11 [ main::$34 ] : zp[1]:11 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:12 [ main::$10 ] : zp[1]:12 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:13 [ main::$41 ] : zp[1]:13 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:14 [ main::$12 ] : zp[1]:14 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:15 [ main::$52 ] : zp[1]:15 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:16 [ main::$14 ] : zp[1]:16 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 25.59: zp[1]:2 [ main::i#2 main::i#1 ] 22: zp[1]:4 [ main::$2 ] 22: zp[1]:6 [ main::$4 ] 22: zp[1]:7 [ main::$21 ] 22: zp[1]:8 [ main::$5 ] 22: zp[1]:9 [ main::$24 ] 22: zp[1]:10 [ main::$25 ] 22: zp[1]:11 [ main::$6 ] 22: zp[1]:13 [ main::$8 ] 22: zp[1]:14 [ main::$30 ] 22: zp[1]:15 [ main::$9 ] 22: zp[1]:16 [ main::$33 ] 22: zp[1]:17 [ main::$34 ] 22: zp[1]:18 [ main::$10 ] 22: zp[1]:19 [ main::$37 ] 22: zp[1]:20 [ main::$11 ] 22: zp[1]:21 [ main::$40 ] 22: zp[1]:22 [ main::$41 ] 22: zp[1]:23 [ main::$12 ] 22: zp[1]:24 [ main::$44 ] 22: zp[1]:25 [ main::$45 ] 22: zp[1]:26 [ main::$46 ] 22: zp[1]:27 [ main::$13 ] 22: zp[1]:28 [ main::$49 ] 22: zp[1]:29 [ main::$50 ] 22: zp[1]:30 [ main::$51 ] 22: zp[1]:31 [ main::$52 ] 22: zp[1]:32 [ main::$14 ] 16.5: zp[1]:12 [ main::$27 ] 3.06: zp[1]:5 [ main::$18 ] 2.61: zp[1]:3 [ main::$16 ] +Uplift Scope [main] 26.77: zp[1]:2 [ main::i#2 main::i#1 ] 22: zp[1]:10 [ main::$8 ] 22: zp[1]:12 [ main::$10 ] 22: zp[1]:14 [ main::$12 ] 22: zp[1]:16 [ main::$14 ] 16.5: zp[1]:3 [ main::$16 ] 16.5: zp[1]:5 [ main::$18 ] 16.5: zp[1]:7 [ main::$25 ] 16.5: zp[1]:9 [ main::$27 ] 16.5: zp[1]:11 [ main::$34 ] 16.5: zp[1]:13 [ main::$41 ] 16.5: zp[1]:15 [ main::$52 ] 3.3: zp[1]:6 [ main::$30 ] 2.44: zp[1]:4 [ main::$21 ] 2.36: zp[1]:8 [ main::$46 ] Uplift Scope [] -Uplifting [] best 4921 combination -Attempting to uplift remaining variables inzp[1]:2 [ main::i#2 main::i#1 ] -Uplifting [main] best 4181 combination reg byte x [ main::i#2 main::i#1 ] -Attempting to uplift remaining variables inzp[1]:4 [ main::$2 ] -Uplifting [main] best 4121 combination reg byte a [ main::$2 ] -Attempting to uplift remaining variables inzp[1]:6 [ main::$4 ] -Uplifting [main] best 4061 combination reg byte a [ main::$4 ] -Attempting to uplift remaining variables inzp[1]:7 [ main::$21 ] -Uplifting [main] best 4001 combination reg byte a [ main::$21 ] -Attempting to uplift remaining variables inzp[1]:8 [ main::$5 ] -Uplifting [main] best 3941 combination reg byte a [ main::$5 ] -Attempting to uplift remaining variables inzp[1]:9 [ main::$24 ] -Uplifting [main] best 3881 combination reg byte a [ main::$24 ] -Attempting to uplift remaining variables inzp[1]:10 [ main::$25 ] -Uplifting [main] best 3861 combination reg byte a [ main::$25 ] -Attempting to uplift remaining variables inzp[1]:11 [ main::$6 ] -Uplifting [main] best 3801 combination reg byte a [ main::$6 ] -Attempting to uplift remaining variables inzp[1]:13 [ main::$8 ] -Uplifting [main] best 3741 combination reg byte a [ main::$8 ] -Attempting to uplift remaining variables inzp[1]:14 [ main::$30 ] -Uplifting [main] best 3681 combination reg byte a [ main::$30 ] -Attempting to uplift remaining variables inzp[1]:15 [ main::$9 ] -Uplifting [main] best 3621 combination reg byte a [ main::$9 ] -Attempting to uplift remaining variables inzp[1]:16 [ main::$33 ] -Uplifting [main] best 3561 combination reg byte a [ main::$33 ] -Attempting to uplift remaining variables inzp[1]:17 [ main::$34 ] -Uplifting [main] best 3541 combination reg byte a [ main::$34 ] -Attempting to uplift remaining variables inzp[1]:18 [ main::$10 ] -Uplifting [main] best 3481 combination reg byte a [ main::$10 ] -Attempting to uplift remaining variables inzp[1]:19 [ main::$37 ] -Uplifting [main] best 3421 combination reg byte a [ main::$37 ] -Attempting to uplift remaining variables inzp[1]:20 [ main::$11 ] -Uplifting [main] best 3361 combination reg byte a [ main::$11 ] -Attempting to uplift remaining variables inzp[1]:21 [ main::$40 ] -Uplifting [main] best 3301 combination reg byte a [ main::$40 ] -Attempting to uplift remaining variables inzp[1]:22 [ main::$41 ] -Uplifting [main] best 3281 combination reg byte a [ main::$41 ] -Attempting to uplift remaining variables inzp[1]:23 [ main::$12 ] -Uplifting [main] best 3221 combination reg byte a [ main::$12 ] -Attempting to uplift remaining variables inzp[1]:24 [ main::$44 ] -Uplifting [main] best 3161 combination reg byte a [ main::$44 ] -Attempting to uplift remaining variables inzp[1]:25 [ main::$45 ] -Uplifting [main] best 3141 combination reg byte a [ main::$45 ] -Attempting to uplift remaining variables inzp[1]:26 [ main::$46 ] -Uplifting [main] best 3081 combination reg byte a [ main::$46 ] -Attempting to uplift remaining variables inzp[1]:27 [ main::$13 ] -Uplifting [main] best 3021 combination reg byte a [ main::$13 ] -Attempting to uplift remaining variables inzp[1]:28 [ main::$49 ] -Uplifting [main] best 2961 combination reg byte a [ main::$49 ] -Attempting to uplift remaining variables inzp[1]:29 [ main::$50 ] -Uplifting [main] best 2941 combination reg byte a [ main::$50 ] -Attempting to uplift remaining variables inzp[1]:30 [ main::$51 ] -Uplifting [main] best 2881 combination reg byte a [ main::$51 ] -Attempting to uplift remaining variables inzp[1]:31 [ main::$52 ] -Uplifting [main] best 2861 combination reg byte a [ main::$52 ] -Attempting to uplift remaining variables inzp[1]:32 [ main::$14 ] -Uplifting [main] best 2801 combination reg byte a [ main::$14 ] -Attempting to uplift remaining variables inzp[1]:12 [ main::$27 ] -Uplifting [main] best 2751 combination reg byte a [ main::$27 ] -Attempting to uplift remaining variables inzp[1]:5 [ main::$18 ] -Uplifting [main] best 2751 combination zp[1]:5 [ main::$18 ] +Uplifting [main] best 2501 combination reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$8 ] reg byte a [ main::$10 ] reg byte a [ main::$12 ] zp[1]:16 [ main::$14 ] zp[1]:3 [ main::$16 ] zp[1]:5 [ main::$18 ] zp[1]:7 [ main::$25 ] zp[1]:9 [ main::$27 ] zp[1]:11 [ main::$34 ] zp[1]:13 [ main::$41 ] zp[1]:15 [ main::$52 ] zp[1]:6 [ main::$30 ] zp[1]:4 [ main::$21 ] zp[1]:8 [ main::$46 ] +Limited combination testing to 100 combinations of 339738624 possible. +Uplifting [] best 2501 combination +Attempting to uplift remaining variables inzp[1]:16 [ main::$14 ] +Uplifting [main] best 2441 combination reg byte a [ main::$14 ] Attempting to uplift remaining variables inzp[1]:3 [ main::$16 ] -Uplifting [main] best 2751 combination zp[1]:3 [ main::$16 ] -Allocated (was zp[1]:3) zp[1]:2 [ main::$16 ] -Allocated (was zp[1]:5) zp[1]:3 [ main::$18 ] +Uplifting [main] best 2391 combination reg byte a [ main::$16 ] +Attempting to uplift remaining variables inzp[1]:5 [ main::$18 ] +Uplifting [main] best 2341 combination reg byte a [ main::$18 ] +Attempting to uplift remaining variables inzp[1]:7 [ main::$25 ] +Uplifting [main] best 2291 combination reg byte a [ main::$25 ] +Attempting to uplift remaining variables inzp[1]:9 [ main::$27 ] +Uplifting [main] best 2241 combination reg byte a [ main::$27 ] +Attempting to uplift remaining variables inzp[1]:11 [ main::$34 ] +Uplifting [main] best 2191 combination reg byte a [ main::$34 ] +Attempting to uplift remaining variables inzp[1]:13 [ main::$41 ] +Uplifting [main] best 2141 combination reg byte a [ main::$41 ] +Attempting to uplift remaining variables inzp[1]:15 [ main::$52 ] +Uplifting [main] best 2091 combination reg byte a [ main::$52 ] +Attempting to uplift remaining variables inzp[1]:6 [ main::$30 ] +Uplifting [main] best 2061 combination reg byte y [ main::$30 ] +Attempting to uplift remaining variables inzp[1]:4 [ main::$21 ] +Uplifting [main] best 2061 combination zp[1]:4 [ main::$21 ] +Attempting to uplift remaining variables inzp[1]:8 [ main::$46 ] +Uplifting [main] best 2061 combination zp[1]:8 [ main::$46 ] +Allocated (was zp[1]:4) zp[1]:2 [ main::$21 ] +Allocated (was zp[1]:8) zp[1]:3 [ main::$46 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -901,8 +677,8 @@ ASSEMBLER BEFORE OPTIMIZATION // main main: { .label SCREEN = $400 - .label __16 = 2 - .label __18 = 3 + .label __21 = 2 + .label __46 = 3 // [1] phi from main to main::@1 [phi:main->main::@1] __b1_from_main: // [1] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 @@ -917,149 +693,102 @@ main: { // [2] *((const nomodify byte*) main::SCREEN + (byte) main::i#2) ← (byte) main::i#2 -- pbuc1_derefidx_vbuxx=vbuxx txa sta SCREEN,x - // [3] (byte~) main::$16 ← (byte) main::i#2 << (byte) 1 -- vbuz1=vbuxx_rol_1 + // [3] (byte~) main::$16 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1 txa asl - sta.z __16 - // [4] *((const nomodify byte*) main::SCREEN+(byte)(number) 1*(number) $28 + (byte) main::i#2) ← (byte~) main::$16 -- pbuc1_derefidx_vbuxx=vbuz1 - lda.z __16 + // [4] *((const nomodify byte*) main::SCREEN+(byte)(number) 1*(number) $28 + (byte) main::i#2) ← (byte~) main::$16 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+1*$28,x - // [5] (byte~) main::$2 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa + // [5] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuaa_plus_vbuxx + stx.z $ff clc - adc.z __16 - // [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$2 -- pbuc1_derefidx_vbuxx=vbuaa + adc.z $ff + sta.z __21 + // [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$21 -- pbuc1_derefidx_vbuxx=vbuz1 + lda.z __21 sta SCREEN+2*$28,x - // [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 -- vbuz1=vbuxx_rol_2 + // [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 -- vbuaa=vbuxx_rol_2 txa asl asl - sta.z __18 - // [8] *((const nomodify byte*) main::SCREEN+(byte)(number) 3*(number) $28 + (byte) main::i#2) ← (byte~) main::$18 -- pbuc1_derefidx_vbuxx=vbuz1 - lda.z __18 + // [8] *((const nomodify byte*) main::SCREEN+(byte)(number) 3*(number) $28 + (byte) main::i#2) ← (byte~) main::$18 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+3*$28,x - // [9] (byte~) main::$4 ← (byte~) main::$18 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa + // [9] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 -- vbuyy=vbuaa_plus_vbuxx + stx.z $ff clc - adc.z __18 - // [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$4 -- pbuc1_derefidx_vbuxx=vbuaa + adc.z $ff + tay + // [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$30 -- pbuc1_derefidx_vbuxx=vbuyy + tya sta SCREEN+4*$28,x - // [11] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [12] (byte~) main::$5 ← (byte~) main::$21 << (byte) 1 -- vbuaa=vbuaa_rol_1 + // [11] (byte~) main::$25 ← (byte~) main::$21 << (byte) 1 -- vbuaa=vbuz1_rol_1 + lda.z __21 asl - // [13] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$5 -- pbuc1_derefidx_vbuxx=vbuaa + // [12] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$25 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+5*$28,x - // [14] (byte~) main::$24 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [15] (byte~) main::$25 ← (byte~) main::$24 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [16] (byte~) main::$6 ← (byte~) main::$25 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [13] (byte~) main::$46 ← (byte~) main::$25 + (byte) main::i#2 -- vbuz1=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff - // [17] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$6 -- pbuc1_derefidx_vbuxx=vbuaa + sta.z __46 + // [14] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$46 -- pbuc1_derefidx_vbuxx=vbuz1 + lda.z __46 sta SCREEN+6*$28,x - // [18] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 -- vbuaa=vbuxx_rol_3 + // [15] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 -- vbuaa=vbuxx_rol_3 txa asl asl asl - // [19] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 -- pbuc1_derefidx_vbuxx=vbuaa + // [16] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+7*$28,x - // [20] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [17] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff - // [21] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 -- pbuc1_derefidx_vbuxx=vbuaa + // [18] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+8*$28,x - // [22] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __18 - // [23] (byte~) main::$9 ← (byte~) main::$30 << (byte) 1 -- vbuaa=vbuaa_rol_1 + // [19] (byte~) main::$34 ← (byte~) main::$30 << (byte) 1 -- vbuaa=vbuyy_rol_1 + tya asl - // [24] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$9 -- pbuc1_derefidx_vbuxx=vbuaa + // [20] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$34 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+9*$28,x - // [25] (byte~) main::$33 ← (byte~) main::$18 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __18 - // [26] (byte~) main::$34 ← (byte~) main::$33 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [27] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [21] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff - // [28] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 -- pbuc1_derefidx_vbuxx=vbuaa + // [22] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$a*$28,x - // [29] (byte~) main::$37 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [30] (byte~) main::$11 ← (byte~) main::$37 << (byte) 2 -- vbuaa=vbuaa_rol_2 + // [23] (byte~) main::$41 ← (byte~) main::$21 << (byte) 2 -- vbuaa=vbuz1_rol_2 + lda.z __21 asl asl - // [31] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$11 -- pbuc1_derefidx_vbuxx=vbuaa + // [24] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$41 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$b*$28,x - // [32] (byte~) main::$40 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [33] (byte~) main::$41 ← (byte~) main::$40 << (byte) 2 -- vbuaa=vbuaa_rol_2 - asl - asl - // [34] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [25] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff - // [35] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 -- pbuc1_derefidx_vbuxx=vbuaa + // [26] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$c*$28,x - // [36] (byte~) main::$44 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [37] (byte~) main::$45 ← (byte~) main::$44 << (byte) 1 -- vbuaa=vbuaa_rol_1 + // [27] (byte~) main::$52 ← (byte~) main::$46 << (byte) 1 -- vbuaa=vbuz1_rol_1 + lda.z __46 asl - // [38] (byte~) main::$46 ← (byte~) main::$45 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx - stx.z $ff - clc - adc.z $ff - // [39] (byte~) main::$13 ← (byte~) main::$46 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [40] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$13 -- pbuc1_derefidx_vbuxx=vbuaa + // [28] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$52 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$d*$28,x - // [41] (byte~) main::$49 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [42] (byte~) main::$50 ← (byte~) main::$49 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [43] (byte~) main::$51 ← (byte~) main::$50 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [29] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff - // [44] (byte~) main::$52 ← (byte~) main::$51 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [45] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx - stx.z $ff - clc - adc.z $ff - // [46] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 -- pbuc1_derefidx_vbuxx=vbuaa + // [30] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$e*$28,x - // [47] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + // [31] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - // [48] if((byte) main::i#1!=(byte) $12) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + // [32] if((byte) main::i#1!=(byte) $12) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #$12 bne __b1_from___b1 jmp __breturn // main::@return __breturn: - // [49] return + // [33] return rts } // File Data @@ -1068,8 +797,8 @@ ASSEMBLER OPTIMIZATIONS Removing instruction jmp __b1 Removing instruction jmp __breturn Succesful ASM optimization Pass5NextJumpElimination -Removing instruction lda.z __16 -Removing instruction lda.z __18 +Removing instruction lda.z __21 +Removing instruction lda.z __46 Succesful ASM optimization Pass5UnnecesaryLoadElimination Replacing label __b1_from___b1 with __b1 Removing instruction __b1_from___b1: @@ -1079,82 +808,49 @@ Removing instruction __breturn: Succesful ASM optimization Pass5UnusedLabelElimination Removing instruction jmp __b1 Succesful ASM optimization Pass5NextJumpElimination -Fixing long branch [102] bne __b1 to beq FINAL SYMBOL TABLE (void()) main() (byte~) main::$10 reg byte a 22.0 -(byte~) main::$11 reg byte a 22.0 (byte~) main::$12 reg byte a 22.0 -(byte~) main::$13 reg byte a 22.0 (byte~) main::$14 reg byte a 22.0 -(byte~) main::$16 zp[1]:2 2.605263157894737 -(byte~) main::$18 zp[1]:3 3.055555555555556 -(byte~) main::$2 reg byte a 22.0 -(byte~) main::$21 reg byte a 22.0 -(byte~) main::$24 reg byte a 22.0 -(byte~) main::$25 reg byte a 22.0 +(byte~) main::$16 reg byte a 16.5 +(byte~) main::$18 reg byte a 16.5 +(byte~) main::$21 zp[1]:2 2.4444444444444446 +(byte~) main::$25 reg byte a 16.5 (byte~) main::$27 reg byte a 16.5 -(byte~) main::$30 reg byte a 22.0 -(byte~) main::$33 reg byte a 22.0 -(byte~) main::$34 reg byte a 22.0 -(byte~) main::$37 reg byte a 22.0 -(byte~) main::$4 reg byte a 22.0 -(byte~) main::$40 reg byte a 22.0 -(byte~) main::$41 reg byte a 22.0 -(byte~) main::$44 reg byte a 22.0 -(byte~) main::$45 reg byte a 22.0 -(byte~) main::$46 reg byte a 22.0 -(byte~) main::$49 reg byte a 22.0 -(byte~) main::$5 reg byte a 22.0 -(byte~) main::$50 reg byte a 22.0 -(byte~) main::$51 reg byte a 22.0 -(byte~) main::$52 reg byte a 22.0 -(byte~) main::$6 reg byte a 22.0 +(byte~) main::$30 reg byte y 3.3000000000000003 +(byte~) main::$34 reg byte a 16.5 +(byte~) main::$41 reg byte a 16.5 +(byte~) main::$46 zp[1]:3 2.357142857142857 +(byte~) main::$52 reg byte a 16.5 (byte~) main::$8 reg byte a 22.0 -(byte~) main::$9 reg byte a 22.0 (label) main::@1 (label) main::@return (const nomodify byte*) main::SCREEN = (byte*) 1024 (byte) main::i (byte) main::i#1 reg byte x 16.5 -(byte) main::i#2 reg byte x 9.086956521739129 +(byte) main::i#2 reg byte x 10.266666666666666 reg byte x [ main::i#2 main::i#1 ] -zp[1]:2 [ main::$16 ] -reg byte a [ main::$2 ] -zp[1]:3 [ main::$18 ] -reg byte a [ main::$4 ] -reg byte a [ main::$21 ] -reg byte a [ main::$5 ] -reg byte a [ main::$24 ] +reg byte a [ main::$16 ] +zp[1]:2 [ main::$21 ] +reg byte a [ main::$18 ] +reg byte y [ main::$30 ] reg byte a [ main::$25 ] -reg byte a [ main::$6 ] +zp[1]:3 [ main::$46 ] reg byte a [ main::$27 ] reg byte a [ main::$8 ] -reg byte a [ main::$30 ] -reg byte a [ main::$9 ] -reg byte a [ main::$33 ] reg byte a [ main::$34 ] reg byte a [ main::$10 ] -reg byte a [ main::$37 ] -reg byte a [ main::$11 ] -reg byte a [ main::$40 ] reg byte a [ main::$41 ] reg byte a [ main::$12 ] -reg byte a [ main::$44 ] -reg byte a [ main::$45 ] -reg byte a [ main::$46 ] -reg byte a [ main::$13 ] -reg byte a [ main::$49 ] -reg byte a [ main::$50 ] -reg byte a [ main::$51 ] reg byte a [ main::$52 ] reg byte a [ main::$14 ] FINAL ASSEMBLER -Score: 2631 +Score: 1911 // File Comments // Check that multiplication by constants is converted to shift/add @@ -1166,8 +862,8 @@ Score: 2631 // main main: { .label SCREEN = $400 - .label __16 = 2 - .label __18 = 3 + .label __21 = 2 + .label __46 = 3 // [1] phi from main to main::@1 [phi:main->main::@1] // [1] phi (byte) main::i#2 = (byte) 0 [phi:main->main::@1#0] -- vbuxx=vbuc1 ldx #0 @@ -1180,176 +876,127 @@ main: { txa sta SCREEN,x // i*2 - // [3] (byte~) main::$16 ← (byte) main::i#2 << (byte) 1 -- vbuz1=vbuxx_rol_1 + // [3] (byte~) main::$16 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1 txa asl - sta.z __16 // (SCREEN+1*40)[i] = i*2 - // [4] *((const nomodify byte*) main::SCREEN+(byte)(number) 1*(number) $28 + (byte) main::i#2) ← (byte~) main::$16 -- pbuc1_derefidx_vbuxx=vbuz1 + // [4] *((const nomodify byte*) main::SCREEN+(byte)(number) 1*(number) $28 + (byte) main::i#2) ← (byte~) main::$16 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+1*$28,x // i*3 - // [5] (byte~) main::$2 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // (SCREEN+2*40)[i] = i*3 - // [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$2 -- pbuc1_derefidx_vbuxx=vbuaa - sta SCREEN+2*$28,x - // i*4 - // [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 -- vbuz1=vbuxx_rol_2 - txa - asl - asl - sta.z __18 - // (SCREEN+3*40)[i] = i*4 - // [8] *((const nomodify byte*) main::SCREEN+(byte)(number) 3*(number) $28 + (byte) main::i#2) ← (byte~) main::$18 -- pbuc1_derefidx_vbuxx=vbuz1 - sta SCREEN+3*$28,x - // i*5 - // [9] (byte~) main::$4 ← (byte~) main::$18 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __18 - // (SCREEN+4*40)[i] = i*5 - // [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$4 -- pbuc1_derefidx_vbuxx=vbuaa - sta SCREEN+4*$28,x - // i*6 - // [11] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [12] (byte~) main::$5 ← (byte~) main::$21 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // (SCREEN+5*40)[i] = i*6 - // [13] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$5 -- pbuc1_derefidx_vbuxx=vbuaa - sta SCREEN+5*$28,x - // i*7 - // [14] (byte~) main::$24 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [15] (byte~) main::$25 ← (byte~) main::$24 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [16] (byte~) main::$6 ← (byte~) main::$25 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [5] (byte~) main::$21 ← (byte~) main::$16 + (byte) main::i#2 -- vbuz1=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff + sta.z __21 + // (SCREEN+2*40)[i] = i*3 + // [6] *((const nomodify byte*) main::SCREEN+(byte)(number) 2*(number) $28 + (byte) main::i#2) ← (byte~) main::$21 -- pbuc1_derefidx_vbuxx=vbuz1 + sta SCREEN+2*$28,x + // i*4 + // [7] (byte~) main::$18 ← (byte) main::i#2 << (byte) 2 -- vbuaa=vbuxx_rol_2 + txa + asl + asl + // (SCREEN+3*40)[i] = i*4 + // [8] *((const nomodify byte*) main::SCREEN+(byte)(number) 3*(number) $28 + (byte) main::i#2) ← (byte~) main::$18 -- pbuc1_derefidx_vbuxx=vbuaa + sta SCREEN+3*$28,x + // i*5 + // [9] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 -- vbuyy=vbuaa_plus_vbuxx + stx.z $ff + clc + adc.z $ff + tay + // (SCREEN+4*40)[i] = i*5 + // [10] *((const nomodify byte*) main::SCREEN+(byte)(number) 4*(number) $28 + (byte) main::i#2) ← (byte~) main::$30 -- pbuc1_derefidx_vbuxx=vbuyy + tya + sta SCREEN+4*$28,x + // i*6 + // [11] (byte~) main::$25 ← (byte~) main::$21 << (byte) 1 -- vbuaa=vbuz1_rol_1 + lda.z __21 + asl + // (SCREEN+5*40)[i] = i*6 + // [12] *((const nomodify byte*) main::SCREEN+(byte)(number) 5*(number) $28 + (byte) main::i#2) ← (byte~) main::$25 -- pbuc1_derefidx_vbuxx=vbuaa + sta SCREEN+5*$28,x + // i*7 + // [13] (byte~) main::$46 ← (byte~) main::$25 + (byte) main::i#2 -- vbuz1=vbuaa_plus_vbuxx + stx.z $ff + clc + adc.z $ff + sta.z __46 // (SCREEN+6*40)[i] = i*7 - // [17] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$6 -- pbuc1_derefidx_vbuxx=vbuaa + // [14] *((const nomodify byte*) main::SCREEN+(byte)(number) 6*(number) $28 + (byte) main::i#2) ← (byte~) main::$46 -- pbuc1_derefidx_vbuxx=vbuz1 sta SCREEN+6*$28,x // i*8 - // [18] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 -- vbuaa=vbuxx_rol_3 + // [15] (byte~) main::$27 ← (byte) main::i#2 << (byte) 3 -- vbuaa=vbuxx_rol_3 txa asl asl asl // (SCREEN+7*40)[i] = i*8 - // [19] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 -- pbuc1_derefidx_vbuxx=vbuaa + // [16] *((const nomodify byte*) main::SCREEN+(word)(number) 7*(number) $28 + (byte) main::i#2) ← (byte~) main::$27 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+7*$28,x // i*9 - // [20] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [17] (byte~) main::$8 ← (byte~) main::$27 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff // (SCREEN+8*40)[i] = i*9 - // [21] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 -- pbuc1_derefidx_vbuxx=vbuaa + // [18] *((const nomodify byte*) main::SCREEN+(word)(number) 8*(number) $28 + (byte) main::i#2) ← (byte~) main::$8 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+8*$28,x // i*10 - // [22] (byte~) main::$30 ← (byte~) main::$18 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __18 - // [23] (byte~) main::$9 ← (byte~) main::$30 << (byte) 1 -- vbuaa=vbuaa_rol_1 + // [19] (byte~) main::$34 ← (byte~) main::$30 << (byte) 1 -- vbuaa=vbuyy_rol_1 + tya asl // (SCREEN+9*40)[i] = i*10 - // [24] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$9 -- pbuc1_derefidx_vbuxx=vbuaa + // [20] *((const nomodify byte*) main::SCREEN+(word)(number) 9*(number) $28 + (byte) main::i#2) ← (byte~) main::$34 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+9*$28,x // i*11 - // [25] (byte~) main::$33 ← (byte~) main::$18 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __18 - // [26] (byte~) main::$34 ← (byte~) main::$33 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [27] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [21] (byte~) main::$10 ← (byte~) main::$34 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff // (SCREEN+10*40)[i] = i*11 - // [28] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 -- pbuc1_derefidx_vbuxx=vbuaa + // [22] *((const nomodify byte*) main::SCREEN+(word)(number) $a*(number) $28 + (byte) main::i#2) ← (byte~) main::$10 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$a*$28,x // i*12 - // [29] (byte~) main::$37 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [30] (byte~) main::$11 ← (byte~) main::$37 << (byte) 2 -- vbuaa=vbuaa_rol_2 + // [23] (byte~) main::$41 ← (byte~) main::$21 << (byte) 2 -- vbuaa=vbuz1_rol_2 + lda.z __21 asl asl // (SCREEN+11*40)[i] = i*12 - // [31] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$11 -- pbuc1_derefidx_vbuxx=vbuaa + // [24] *((const nomodify byte*) main::SCREEN+(word)(number) $b*(number) $28 + (byte) main::i#2) ← (byte~) main::$41 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$b*$28,x // i*13 - // [32] (byte~) main::$40 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [33] (byte~) main::$41 ← (byte~) main::$40 << (byte) 2 -- vbuaa=vbuaa_rol_2 - asl - asl - // [34] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [25] (byte~) main::$12 ← (byte~) main::$41 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff // (SCREEN+12*40)[i] = i*13 - // [35] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 -- pbuc1_derefidx_vbuxx=vbuaa + // [26] *((const nomodify byte*) main::SCREEN+(word)(number) $c*(number) $28 + (byte) main::i#2) ← (byte~) main::$12 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$c*$28,x // i*14 - // [36] (byte~) main::$44 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [37] (byte~) main::$45 ← (byte~) main::$44 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [38] (byte~) main::$46 ← (byte~) main::$45 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx - stx.z $ff - clc - adc.z $ff - // [39] (byte~) main::$13 ← (byte~) main::$46 << (byte) 1 -- vbuaa=vbuaa_rol_1 + // [27] (byte~) main::$52 ← (byte~) main::$46 << (byte) 1 -- vbuaa=vbuz1_rol_1 + lda.z __46 asl // (SCREEN+13*40)[i] = i*14 - // [40] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$13 -- pbuc1_derefidx_vbuxx=vbuaa + // [28] *((const nomodify byte*) main::SCREEN+(word)(number) $d*(number) $28 + (byte) main::i#2) ← (byte~) main::$52 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$d*$28,x // i*15 - // [41] (byte~) main::$49 ← (byte~) main::$16 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __16 - // [42] (byte~) main::$50 ← (byte~) main::$49 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [43] (byte~) main::$51 ← (byte~) main::$50 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx - stx.z $ff - clc - adc.z $ff - // [44] (byte~) main::$52 ← (byte~) main::$51 << (byte) 1 -- vbuaa=vbuaa_rol_1 - asl - // [45] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx + // [29] (byte~) main::$14 ← (byte~) main::$52 + (byte) main::i#2 -- vbuaa=vbuaa_plus_vbuxx stx.z $ff clc adc.z $ff // (SCREEN+14*40)[i] = i*15 - // [46] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 -- pbuc1_derefidx_vbuxx=vbuaa + // [30] *((const nomodify byte*) main::SCREEN+(word)(number) $e*(number) $28 + (byte) main::i#2) ← (byte~) main::$14 -- pbuc1_derefidx_vbuxx=vbuaa sta SCREEN+$e*$28,x // for(byte i: 0..17) - // [47] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + // [31] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - // [48] if((byte) main::i#1!=(byte) $12) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + // [32] if((byte) main::i#1!=(byte) $12) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #$12 - beq !__b1+ - jmp __b1 - !__b1: + bne __b1 // main::@return // } - // [49] return + // [33] return rts } // File Data diff --git a/src/test/ref/multiply-ns.sym b/src/test/ref/multiply-ns.sym index 876d83bf2..df8aa8e60 100644 --- a/src/test/ref/multiply-ns.sym +++ b/src/test/ref/multiply-ns.sym @@ -1,69 +1,37 @@ (void()) main() (byte~) main::$10 reg byte a 22.0 -(byte~) main::$11 reg byte a 22.0 (byte~) main::$12 reg byte a 22.0 -(byte~) main::$13 reg byte a 22.0 (byte~) main::$14 reg byte a 22.0 -(byte~) main::$16 zp[1]:2 2.605263157894737 -(byte~) main::$18 zp[1]:3 3.055555555555556 -(byte~) main::$2 reg byte a 22.0 -(byte~) main::$21 reg byte a 22.0 -(byte~) main::$24 reg byte a 22.0 -(byte~) main::$25 reg byte a 22.0 +(byte~) main::$16 reg byte a 16.5 +(byte~) main::$18 reg byte a 16.5 +(byte~) main::$21 zp[1]:2 2.4444444444444446 +(byte~) main::$25 reg byte a 16.5 (byte~) main::$27 reg byte a 16.5 -(byte~) main::$30 reg byte a 22.0 -(byte~) main::$33 reg byte a 22.0 -(byte~) main::$34 reg byte a 22.0 -(byte~) main::$37 reg byte a 22.0 -(byte~) main::$4 reg byte a 22.0 -(byte~) main::$40 reg byte a 22.0 -(byte~) main::$41 reg byte a 22.0 -(byte~) main::$44 reg byte a 22.0 -(byte~) main::$45 reg byte a 22.0 -(byte~) main::$46 reg byte a 22.0 -(byte~) main::$49 reg byte a 22.0 -(byte~) main::$5 reg byte a 22.0 -(byte~) main::$50 reg byte a 22.0 -(byte~) main::$51 reg byte a 22.0 -(byte~) main::$52 reg byte a 22.0 -(byte~) main::$6 reg byte a 22.0 +(byte~) main::$30 reg byte y 3.3000000000000003 +(byte~) main::$34 reg byte a 16.5 +(byte~) main::$41 reg byte a 16.5 +(byte~) main::$46 zp[1]:3 2.357142857142857 +(byte~) main::$52 reg byte a 16.5 (byte~) main::$8 reg byte a 22.0 -(byte~) main::$9 reg byte a 22.0 (label) main::@1 (label) main::@return (const nomodify byte*) main::SCREEN = (byte*) 1024 (byte) main::i (byte) main::i#1 reg byte x 16.5 -(byte) main::i#2 reg byte x 9.086956521739129 +(byte) main::i#2 reg byte x 10.266666666666666 reg byte x [ main::i#2 main::i#1 ] -zp[1]:2 [ main::$16 ] -reg byte a [ main::$2 ] -zp[1]:3 [ main::$18 ] -reg byte a [ main::$4 ] -reg byte a [ main::$21 ] -reg byte a [ main::$5 ] -reg byte a [ main::$24 ] +reg byte a [ main::$16 ] +zp[1]:2 [ main::$21 ] +reg byte a [ main::$18 ] +reg byte y [ main::$30 ] reg byte a [ main::$25 ] -reg byte a [ main::$6 ] +zp[1]:3 [ main::$46 ] reg byte a [ main::$27 ] reg byte a [ main::$8 ] -reg byte a [ main::$30 ] -reg byte a [ main::$9 ] -reg byte a [ main::$33 ] reg byte a [ main::$34 ] reg byte a [ main::$10 ] -reg byte a [ main::$37 ] -reg byte a [ main::$11 ] -reg byte a [ main::$40 ] reg byte a [ main::$41 ] reg byte a [ main::$12 ] -reg byte a [ main::$44 ] -reg byte a [ main::$45 ] -reg byte a [ main::$46 ] -reg byte a [ main::$13 ] -reg byte a [ main::$49 ] -reg byte a [ main::$50 ] -reg byte a [ main::$51 ] reg byte a [ main::$52 ] reg byte a [ main::$14 ] diff --git a/src/test/ref/printf-11.log b/src/test/ref/printf-11.log index 55eb3f906..f83aadce6 100644 --- a/src/test/ref/printf-11.log +++ b/src/test/ref/printf-11.log @@ -243,9 +243,6 @@ Identical Phi Values (byte*) screen#19 (byte*) screen#17 Identical Phi Values (byte*) screen#10 (byte*) screen#1 Identical Phi Values (byte*) screen#12 (byte*) screen#10 Successful SSA optimization Pass2IdenticalPhiElimination -Identified duplicate assignment right side [16] (byte~) printf_uint::$2 ← > (word) printf_uint::uvalue#0 -Identified duplicate assignment right side [24] (byte~) printf_uint::$6 ← < (word) printf_uint::uvalue#0 -Successful SSA optimization Pass2DuplicateRValueIdentification Simple Condition (bool~) cputs::$0 [3] if((byte) 0!=*((byte*) cputs::str#3)) goto cputs::@2 Successful SSA optimization Pass2ConditionalJumpSimplification Constant (const byte*) cputs::str#1 = main::str @@ -275,29 +272,31 @@ Removing unused procedure block __start::@1 Removing unused procedure block __start::@2 Removing unused procedure block __start::@return Successful SSA optimization PassNEliminateEmptyStart -Alias printf_uint::$2 = printf_uint::$0 -Alias printf_uint::$6 = printf_uint::$4 -Successful SSA optimization Pass2AliasElimination -Constant right-side identified [7] (byte~) printf_uint::$2 ← > (const word) printf_uint::uvalue#0 -Constant right-side identified [14] (byte~) printf_uint::$6 ← < (const word) printf_uint::uvalue#0 +Constant right-side identified [7] (byte~) printf_uint::$0 ← > (const word) printf_uint::uvalue#0 +Constant right-side identified [11] (byte~) printf_uint::$2 ← > (const word) printf_uint::uvalue#0 +Constant right-side identified [15] (byte~) printf_uint::$4 ← < (const word) printf_uint::uvalue#0 +Constant right-side identified [19] (byte~) printf_uint::$6 ← < (const word) printf_uint::uvalue#0 Successful SSA optimization Pass2ConstantRValueConsolidation +Constant (const byte) printf_uint::$0 = >printf_uint::uvalue#0 Constant (const byte) printf_uint::$2 = >printf_uint::uvalue#0 +Constant (const byte) printf_uint::$4 = > (byte) 4 +Constant right-side identified [7] (byte~) printf_uint::$1 ← (const byte) printf_uint::$0 >> (byte) 4 Constant right-side identified [10] (byte~) printf_uint::$3 ← (const byte) printf_uint::$2 & (byte) $f -Constant right-side identified [13] (byte~) printf_uint::$5 ← (const byte) printf_uint::$6 >> (byte) 4 +Constant right-side identified [13] (byte~) printf_uint::$5 ← (const byte) printf_uint::$4 >> (byte) 4 Constant right-side identified [16] (byte~) printf_uint::$7 ← (const byte) printf_uint::$6 & (byte) $f Successful SSA optimization Pass2ConstantRValueConsolidation -Constant (const byte) printf_uint::$1 = printf_uint::$2>>4 +Constant (const byte) printf_uint::$1 = printf_uint::$0>>4 Constant (const byte) printf_uint::$3 = printf_uint::$2&$f -Constant (const byte) printf_uint::$5 = printf_uint::$6>>4 +Constant (const byte) printf_uint::$5 = printf_uint::$4>>4 Constant (const byte) printf_uint::$7 = printf_uint::$6&$f Successful SSA optimization Pass2ConstantIdentification -Simplifying constant evaluating to zero (const byte) printf_uint::$2>>(byte) 4 in +Simplifying constant evaluating to zero (const byte) printf_uint::$0>>(byte) 4 in Successful SSA optimization PassNSimplifyConstantZero Simplifying expression containing zero printf_hextab in [8] *((byte*) screen#1) ← *((const to_nomodify byte*) printf_hextab + (const byte) printf_uint::$1) Successful SSA optimization PassNSimplifyExpressionWithZero +Eliminating unused constant (const byte) printf_uint::$0 Eliminating unused constant (const byte) printf_uint::$1 Successful SSA optimization PassNEliminateUnusedVars Inlining constant with var siblings (const byte*) cputs::str#1 @@ -310,6 +309,7 @@ Constant inlined printf_uint::$3 = >(const word) main::pct&(byte) $f Constant inlined printf_uint::uvalue#0 = (const word) main::pct Constant inlined printf_uint::$2 = >(const word) main::pct Constant inlined printf_uint::$5 = <(const word) main::pct>>(byte) 4 +Constant inlined printf_uint::$4 = <(const word) main::pct Constant inlined printf_uint::$7 = <(const word) main::pct&(byte) $f Constant inlined printf_uint::$6 = <(const word) main::pct Successful SSA optimization Pass2ConstantInlining diff --git a/src/test/ref/subexpr-optimize-3.asm b/src/test/ref/subexpr-optimize-3.asm index 8be8f0a7b..1ba4a3991 100644 --- a/src/test/ref/subexpr-optimize-3.asm +++ b/src/test/ref/subexpr-optimize-3.asm @@ -3,7 +3,7 @@ :BasicUpstart(main) .pc = $80d "Program" main: { - .label __3 = 4 + .label __4 = 4 .label screen = 2 lda #<$400 sta.z screen @@ -14,14 +14,15 @@ main: { // i*2 txa asl - sta.z __3 // i*2+i - txa + stx.z $ff clc - adc.z __3 + adc.z $ff + sta.z __4 // i*2+i+3 + lda #3 clc - adc #3 + adc.z __4 // *screen++ = i*2+i+3 ldy #0 sta (screen),y @@ -30,13 +31,10 @@ main: { bne !+ inc.z screen+1 !: - // i*2+i - txa - clc - adc.z __3 // i*2+i+3 + lda #3 clc - adc #3 + adc.z __4 // *screen++ = i*2+i+3 ldy #0 sta (screen),y diff --git a/src/test/ref/subexpr-optimize-3.cfg b/src/test/ref/subexpr-optimize-3.cfg index 065aa8bdf..fe9349d32 100644 --- a/src/test/ref/subexpr-optimize-3.cfg +++ b/src/test/ref/subexpr-optimize-3.cfg @@ -7,17 +7,16 @@ main::@1: scope:[main] from main main::@1 [1] (byte*) main::screen#3 ← phi( main/(byte*) 1024 main::@1/(byte*) main::screen#2 ) [1] (byte) main::i#2 ← phi( main/(byte) 0 main::@1/(byte) main::i#1 ) [2] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 - [3] (byte~) main::$1 ← (byte~) main::$3 + (byte) main::i#2 - [4] (byte~) main::$2 ← (byte~) main::$1 + (byte) 3 + [3] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 + [4] (byte~) main::$2 ← (byte~) main::$4 + (byte) 3 [5] *((byte*) main::screen#3) ← (byte~) main::$2 [6] (byte*) main::screen#1 ← ++ (byte*) main::screen#3 - [7] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 - [8] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 - [9] *((byte*) main::screen#1) ← (byte~) main::$5 - [10] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 - [11] (byte) main::i#1 ← ++ (byte) main::i#2 - [12] if((byte) main::i#1!=(byte) 3) goto main::@1 + [7] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 + [8] *((byte*) main::screen#1) ← (byte~) main::$5 + [9] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 + [10] (byte) main::i#1 ← ++ (byte) main::i#2 + [11] if((byte) main::i#1!=(byte) 3) goto main::@1 to:main::@return main::@return: scope:[main] from main::@1 - [13] return + [12] return to:@return diff --git a/src/test/ref/subexpr-optimize-3.log b/src/test/ref/subexpr-optimize-3.log index a6613cafe..51c0eacf4 100644 --- a/src/test/ref/subexpr-optimize-3.log +++ b/src/test/ref/subexpr-optimize-3.log @@ -111,6 +111,10 @@ Finalized unsigned number type (byte) 3 Successful SSA optimization PassNFinalizeNumberTypeConversions Alias main::$3 = main::$0 Successful SSA optimization Pass2AliasElimination +Identified duplicate assignment right side [7] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 +Successful SSA optimization Pass2DuplicateRValueIdentification +Alias main::$4 = main::$1 +Successful SSA optimization Pass2AliasElimination Rewriting multiplication to use shift [1] (byte~) main::$3 ← (byte) main::i#2 * (byte) 2 Successful SSA optimization Pass2MultiplyToShiftRewriting Inlining constant with var siblings (const byte*) main::screen#0 @@ -123,8 +127,8 @@ Adding NOP phi() at start of main CALL GRAPH Created 2 initial phi equivalence classes -Coalesced [14] main::i#3 ← main::i#1 -Coalesced [15] main::screen#4 ← main::screen#2 +Coalesced [13] main::i#3 ← main::i#1 +Coalesced [14] main::screen#4 ← main::screen#2 Coalesced down to 2 phi equivalence classes Culled Empty Block (label) main::@2 Adding NOP phi() at start of main @@ -139,34 +143,32 @@ main::@1: scope:[main] from main main::@1 [1] (byte*) main::screen#3 ← phi( main/(byte*) 1024 main::@1/(byte*) main::screen#2 ) [1] (byte) main::i#2 ← phi( main/(byte) 0 main::@1/(byte) main::i#1 ) [2] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 - [3] (byte~) main::$1 ← (byte~) main::$3 + (byte) main::i#2 - [4] (byte~) main::$2 ← (byte~) main::$1 + (byte) 3 + [3] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 + [4] (byte~) main::$2 ← (byte~) main::$4 + (byte) 3 [5] *((byte*) main::screen#3) ← (byte~) main::$2 [6] (byte*) main::screen#1 ← ++ (byte*) main::screen#3 - [7] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 - [8] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 - [9] *((byte*) main::screen#1) ← (byte~) main::$5 - [10] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 - [11] (byte) main::i#1 ← ++ (byte) main::i#2 - [12] if((byte) main::i#1!=(byte) 3) goto main::@1 + [7] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 + [8] *((byte*) main::screen#1) ← (byte~) main::$5 + [9] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 + [10] (byte) main::i#1 ← ++ (byte) main::i#2 + [11] if((byte) main::i#1!=(byte) 3) goto main::@1 to:main::@return main::@return: scope:[main] from main::@1 - [13] return + [12] return to:@return VARIABLE REGISTER WEIGHTS (void()) main() -(byte~) main::$1 22.0 (byte~) main::$2 22.0 -(byte~) main::$3 6.6000000000000005 -(byte~) main::$4 22.0 +(byte~) main::$3 22.0 +(byte~) main::$4 8.25 (byte~) main::$5 22.0 (byte) main::i (byte) main::i#1 16.5 -(byte) main::i#2 5.5 +(byte) main::i#2 4.888888888888889 (byte*) main::screen -(byte*) main::screen#1 8.25 +(byte*) main::screen#1 11.0 (byte*) main::screen#2 7.333333333333333 (byte*) main::screen#3 6.6000000000000005 @@ -174,28 +176,25 @@ Initial phi equivalence classes [ main::i#2 main::i#1 ] [ main::screen#3 main::screen#2 ] Added variable main::$3 to live range equivalence class [ main::$3 ] -Added variable main::$1 to live range equivalence class [ main::$1 ] +Added variable main::$4 to live range equivalence class [ main::$4 ] Added variable main::$2 to live range equivalence class [ main::$2 ] Added variable main::screen#1 to live range equivalence class [ main::screen#1 ] -Added variable main::$4 to live range equivalence class [ main::$4 ] Added variable main::$5 to live range equivalence class [ main::$5 ] Complete equivalence classes [ main::i#2 main::i#1 ] [ main::screen#3 main::screen#2 ] [ main::$3 ] -[ main::$1 ] +[ main::$4 ] [ main::$2 ] [ main::screen#1 ] -[ main::$4 ] [ main::$5 ] Allocated zp[1]:2 [ main::i#2 main::i#1 ] Allocated zp[2]:3 [ main::screen#3 main::screen#2 ] Allocated zp[1]:5 [ main::$3 ] -Allocated zp[1]:6 [ main::$1 ] +Allocated zp[1]:6 [ main::$4 ] Allocated zp[1]:7 [ main::$2 ] Allocated zp[2]:8 [ main::screen#1 ] -Allocated zp[1]:10 [ main::$4 ] -Allocated zp[1]:11 [ main::$5 ] +Allocated zp[1]:10 [ main::$5 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -208,11 +207,10 @@ Target platform is c64basic / MOS6502X // Global Constants & labels // main main: { - .label __1 = 6 .label __2 = 7 .label __3 = 5 - .label __4 = $a - .label __5 = $b + .label __4 = 6 + .label __5 = $a .label screen = 8 .label screen_1 = 3 .label i = 2 @@ -238,13 +236,13 @@ main: { lda.z i asl sta.z __3 - // [3] (byte~) main::$1 ← (byte~) main::$3 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 + // [3] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 lda.z __3 clc adc.z i - sta.z __1 - // [4] (byte~) main::$2 ← (byte~) main::$1 + (byte) 3 -- vbuz1=vbuz2_plus_vbuc1 - lax.z __1 + sta.z __4 + // [4] (byte~) main::$2 ← (byte~) main::$4 + (byte) 3 -- vbuz1=vbuz2_plus_vbuc1 + lax.z __4 axs #-[3] stx.z __2 // [5] *((byte*) main::screen#3) ← (byte~) main::$2 -- _deref_pbuz1=vbuz2 @@ -259,20 +257,15 @@ main: { lda.z screen_1+1 adc #0 sta.z screen+1 - // [7] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 -- vbuz1=vbuz2_plus_vbuz3 - lda.z __3 - clc - adc.z i - sta.z __4 - // [8] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 -- vbuz1=vbuz2_plus_vbuc1 + // [7] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 -- vbuz1=vbuz2_plus_vbuc1 lax.z __4 axs #-[3] stx.z __5 - // [9] *((byte*) main::screen#1) ← (byte~) main::$5 -- _deref_pbuz1=vbuz2 + // [8] *((byte*) main::screen#1) ← (byte~) main::$5 -- _deref_pbuz1=vbuz2 lda.z __5 ldy #0 sta (screen),y - // [10] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 -- pbuz1=_inc_pbuz2 + // [9] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 -- pbuz1=_inc_pbuz2 lda.z screen clc adc #1 @@ -280,16 +273,16 @@ main: { lda.z screen+1 adc #0 sta.z screen_1+1 - // [11] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 + // [10] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuz1=_inc_vbuz1 inc.z i - // [12] if((byte) main::i#1!=(byte) 3) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 + // [11] if((byte) main::i#1!=(byte) 3) goto main::@1 -- vbuz1_neq_vbuc1_then_la1 lda #3 cmp.z i bne __b1_from___b1 jmp __breturn // main::@return __breturn: - // [13] return + // [12] return rts } // File Data @@ -297,45 +290,43 @@ main: { REGISTER UPLIFT POTENTIAL REGISTERS Statement [2] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 [ main::i#2 main::screen#3 main::$3 ] ( [ main::i#2 main::screen#3 main::$3 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:2 [ main::i#2 main::i#1 ] -Statement [3] (byte~) main::$1 ← (byte~) main::$3 + (byte) main::i#2 [ main::i#2 main::screen#3 main::$3 main::$1 ] ( [ main::i#2 main::screen#3 main::$3 main::$1 ] { } ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp[1]:5 [ main::$3 ] -Statement [5] *((byte*) main::screen#3) ← (byte~) main::$2 [ main::i#2 main::screen#3 main::$3 ] ( [ main::i#2 main::screen#3 main::$3 ] { } ) always clobbers reg byte y +Statement [3] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 [ main::i#2 main::screen#3 main::$4 ] ( [ main::i#2 main::screen#3 main::$4 ] { } ) always clobbers reg byte a +Statement [5] *((byte*) main::screen#3) ← (byte~) main::$2 [ main::i#2 main::screen#3 main::$4 ] ( [ main::i#2 main::screen#3 main::$4 ] { } ) always clobbers reg byte y Removing always clobbered register reg byte y as potential for zp[1]:2 [ main::i#2 main::i#1 ] -Removing always clobbered register reg byte y as potential for zp[1]:5 [ main::$3 ] -Statement [6] (byte*) main::screen#1 ← ++ (byte*) main::screen#3 [ main::i#2 main::$3 main::screen#1 ] ( [ main::i#2 main::$3 main::screen#1 ] { } ) always clobbers reg byte a -Statement [7] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 [ main::i#2 main::screen#1 main::$4 ] ( [ main::i#2 main::screen#1 main::$4 ] { } ) always clobbers reg byte a -Statement [9] *((byte*) main::screen#1) ← (byte~) main::$5 [ main::i#2 main::screen#1 ] ( [ main::i#2 main::screen#1 ] { } ) always clobbers reg byte y -Statement [10] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 [ main::i#2 main::screen#2 ] ( [ main::i#2 main::screen#2 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte y as potential for zp[1]:6 [ main::$4 ] +Statement [6] (byte*) main::screen#1 ← ++ (byte*) main::screen#3 [ main::i#2 main::$4 main::screen#1 ] ( [ main::i#2 main::$4 main::screen#1 ] { } ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp[1]:6 [ main::$4 ] +Statement [7] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 [ main::i#2 main::screen#1 main::$5 ] ( [ main::i#2 main::screen#1 main::$5 ] { } ) always clobbers reg byte a +Statement [8] *((byte*) main::screen#1) ← (byte~) main::$5 [ main::i#2 main::screen#1 ] ( [ main::i#2 main::screen#1 ] { } ) always clobbers reg byte y +Statement [9] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 [ main::i#2 main::screen#2 ] ( [ main::i#2 main::screen#2 ] { } ) always clobbers reg byte a Statement [2] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 [ main::i#2 main::screen#3 main::$3 ] ( [ main::i#2 main::screen#3 main::$3 ] { } ) always clobbers reg byte a -Statement [3] (byte~) main::$1 ← (byte~) main::$3 + (byte) main::i#2 [ main::i#2 main::screen#3 main::$3 main::$1 ] ( [ main::i#2 main::screen#3 main::$3 main::$1 ] { } ) always clobbers reg byte a -Statement [5] *((byte*) main::screen#3) ← (byte~) main::$2 [ main::i#2 main::screen#3 main::$3 ] ( [ main::i#2 main::screen#3 main::$3 ] { } ) always clobbers reg byte y -Statement [6] (byte*) main::screen#1 ← ++ (byte*) main::screen#3 [ main::i#2 main::$3 main::screen#1 ] ( [ main::i#2 main::$3 main::screen#1 ] { } ) always clobbers reg byte a -Statement [7] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 [ main::i#2 main::screen#1 main::$4 ] ( [ main::i#2 main::screen#1 main::$4 ] { } ) always clobbers reg byte a -Statement [9] *((byte*) main::screen#1) ← (byte~) main::$5 [ main::i#2 main::screen#1 ] ( [ main::i#2 main::screen#1 ] { } ) always clobbers reg byte y -Statement [10] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 [ main::i#2 main::screen#2 ] ( [ main::i#2 main::screen#2 ] { } ) always clobbers reg byte a +Statement [3] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 [ main::i#2 main::screen#3 main::$4 ] ( [ main::i#2 main::screen#3 main::$4 ] { } ) always clobbers reg byte a +Statement [4] (byte~) main::$2 ← (byte~) main::$4 + (byte) 3 [ main::i#2 main::screen#3 main::$4 main::$2 ] ( [ main::i#2 main::screen#3 main::$4 main::$2 ] { } ) always clobbers reg byte a +Statement [5] *((byte*) main::screen#3) ← (byte~) main::$2 [ main::i#2 main::screen#3 main::$4 ] ( [ main::i#2 main::screen#3 main::$4 ] { } ) always clobbers reg byte y +Statement [6] (byte*) main::screen#1 ← ++ (byte*) main::screen#3 [ main::i#2 main::$4 main::screen#1 ] ( [ main::i#2 main::$4 main::screen#1 ] { } ) always clobbers reg byte a +Statement [7] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 [ main::i#2 main::screen#1 main::$5 ] ( [ main::i#2 main::screen#1 main::$5 ] { } ) always clobbers reg byte a +Statement [8] *((byte*) main::screen#1) ← (byte~) main::$5 [ main::i#2 main::screen#1 ] ( [ main::i#2 main::screen#1 ] { } ) always clobbers reg byte y +Statement [9] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 [ main::i#2 main::screen#2 ] ( [ main::i#2 main::screen#2 ] { } ) always clobbers reg byte a Potential registers zp[1]:2 [ main::i#2 main::i#1 ] : zp[1]:2 , reg byte x , Potential registers zp[2]:3 [ main::screen#3 main::screen#2 ] : zp[2]:3 , -Potential registers zp[1]:5 [ main::$3 ] : zp[1]:5 , reg byte x , -Potential registers zp[1]:6 [ main::$1 ] : zp[1]:6 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:5 [ main::$3 ] : zp[1]:5 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:6 [ main::$4 ] : zp[1]:6 , reg byte x , Potential registers zp[1]:7 [ main::$2 ] : zp[1]:7 , reg byte a , reg byte x , reg byte y , Potential registers zp[2]:8 [ main::screen#1 ] : zp[2]:8 , -Potential registers zp[1]:10 [ main::$4 ] : zp[1]:10 , reg byte a , reg byte x , reg byte y , -Potential registers zp[1]:11 [ main::$5 ] : zp[1]:11 , reg byte a , reg byte x , reg byte y , +Potential registers zp[1]:10 [ main::$5 ] : zp[1]:10 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [main] 22: zp[1]:2 [ main::i#2 main::i#1 ] 22: zp[1]:6 [ main::$1 ] 22: zp[1]:7 [ main::$2 ] 22: zp[1]:10 [ main::$4 ] 22: zp[1]:11 [ main::$5 ] 13.93: zp[2]:3 [ main::screen#3 main::screen#2 ] 8.25: zp[2]:8 [ main::screen#1 ] 6.6: zp[1]:5 [ main::$3 ] +Uplift Scope [main] 22: zp[1]:5 [ main::$3 ] 22: zp[1]:7 [ main::$2 ] 22: zp[1]:10 [ main::$5 ] 21.39: zp[1]:2 [ main::i#2 main::i#1 ] 13.93: zp[2]:3 [ main::screen#3 main::screen#2 ] 11: zp[2]:8 [ main::screen#1 ] 8.25: zp[1]:6 [ main::$4 ] Uplift Scope [] -Uplifting [main] best 1151 combination reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$1 ] reg byte a [ main::$2 ] reg byte a [ main::$4 ] zp[1]:11 [ main::$5 ] zp[2]:3 [ main::screen#3 main::screen#2 ] zp[2]:8 [ main::screen#1 ] zp[1]:5 [ main::$3 ] -Limited combination testing to 100 combinations of 1024 possible. -Uplifting [] best 1151 combination -Attempting to uplift remaining variables inzp[1]:11 [ main::$5 ] -Uplifting [main] best 1091 combination reg byte a [ main::$5 ] -Attempting to uplift remaining variables inzp[1]:5 [ main::$3 ] -Uplifting [main] best 1091 combination zp[1]:5 [ main::$3 ] +Uplifting [main] best 1091 combination reg byte a [ main::$3 ] reg byte a [ main::$2 ] reg byte a [ main::$5 ] reg byte x [ main::i#2 main::i#1 ] zp[2]:3 [ main::screen#3 main::screen#2 ] zp[2]:8 [ main::screen#1 ] zp[1]:6 [ main::$4 ] +Limited combination testing to 100 combinations of 256 possible. +Uplifting [] best 1091 combination +Attempting to uplift remaining variables inzp[1]:6 [ main::$4 ] +Uplifting [main] best 1091 combination zp[1]:6 [ main::$4 ] Coalescing zero page register [ zp[2]:3 [ main::screen#3 main::screen#2 ] ] with [ zp[2]:8 [ main::screen#1 ] ] - score: 2 Allocated (was zp[2]:3) zp[2]:2 [ main::screen#3 main::screen#2 main::screen#1 ] -Allocated (was zp[1]:5) zp[1]:4 [ main::$3 ] +Allocated (was zp[1]:6) zp[1]:4 [ main::$4 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -347,7 +338,7 @@ ASSEMBLER BEFORE OPTIMIZATION // Global Constants & labels // main main: { - .label __3 = 4 + .label __4 = 4 .label screen = 2 // [1] phi from main to main::@1 [phi:main->main::@1] __b1_from_main: @@ -366,17 +357,18 @@ main: { jmp __b1 // main::@1 __b1: - // [2] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 -- vbuz1=vbuxx_rol_1 + // [2] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1 txa asl - sta.z __3 - // [3] (byte~) main::$1 ← (byte~) main::$3 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa + // [3] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 -- vbuz1=vbuaa_plus_vbuxx + stx.z $ff clc - adc.z __3 - // [4] (byte~) main::$2 ← (byte~) main::$1 + (byte) 3 -- vbuaa=vbuaa_plus_vbuc1 + adc.z $ff + sta.z __4 + // [4] (byte~) main::$2 ← (byte~) main::$4 + (byte) 3 -- vbuaa=vbuz1_plus_vbuc1 + lda #3 clc - adc #3 + adc.z __4 // [5] *((byte*) main::screen#3) ← (byte~) main::$2 -- _deref_pbuz1=vbuaa ldy #0 sta (screen),y @@ -385,30 +377,27 @@ main: { bne !+ inc.z screen+1 !: - // [7] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa + // [7] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 -- vbuaa=vbuz1_plus_vbuc1 + lda #3 clc - adc.z __3 - // [8] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 -- vbuaa=vbuaa_plus_vbuc1 - clc - adc #3 - // [9] *((byte*) main::screen#1) ← (byte~) main::$5 -- _deref_pbuz1=vbuaa + adc.z __4 + // [8] *((byte*) main::screen#1) ← (byte~) main::$5 -- _deref_pbuz1=vbuaa ldy #0 sta (screen),y - // [10] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 -- pbuz1=_inc_pbuz1 + // [9] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 -- pbuz1=_inc_pbuz1 inc.z screen bne !+ inc.z screen+1 !: - // [11] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + // [10] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - // [12] if((byte) main::i#1!=(byte) 3) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + // [11] if((byte) main::i#1!=(byte) 3) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #3 bne __b1_from___b1 jmp __breturn // main::@return __breturn: - // [13] return + // [12] return rts } // File Data @@ -428,27 +417,25 @@ Succesful ASM optimization Pass5NextJumpElimination FINAL SYMBOL TABLE (void()) main() -(byte~) main::$1 reg byte a 22.0 (byte~) main::$2 reg byte a 22.0 -(byte~) main::$3 zp[1]:4 6.6000000000000005 -(byte~) main::$4 reg byte a 22.0 +(byte~) main::$3 reg byte a 22.0 +(byte~) main::$4 zp[1]:4 8.25 (byte~) main::$5 reg byte a 22.0 (label) main::@1 (label) main::@return (byte) main::i (byte) main::i#1 reg byte x 16.5 -(byte) main::i#2 reg byte x 5.5 +(byte) main::i#2 reg byte x 4.888888888888889 (byte*) main::screen -(byte*) main::screen#1 screen zp[2]:2 8.25 +(byte*) main::screen#1 screen zp[2]:2 11.0 (byte*) main::screen#2 screen zp[2]:2 7.333333333333333 (byte*) main::screen#3 screen zp[2]:2 6.6000000000000005 reg byte x [ main::i#2 main::i#1 ] zp[2]:2 [ main::screen#3 main::screen#2 main::screen#1 ] -zp[1]:4 [ main::$3 ] -reg byte a [ main::$1 ] +reg byte a [ main::$3 ] +zp[1]:4 [ main::$4 ] reg byte a [ main::$2 ] -reg byte a [ main::$4 ] reg byte a [ main::$5 ] @@ -464,7 +451,7 @@ Score: 891 // Global Constants & labels // main main: { - .label __3 = 4 + .label __4 = 4 .label screen = 2 // [1] phi from main to main::@1 [phi:main->main::@1] // [1] phi (byte*) main::screen#3 = (byte*) 1024 [phi:main->main::@1#0] -- pbuz1=pbuc1 @@ -480,19 +467,20 @@ main: { // main::@1 __b1: // i*2 - // [2] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 -- vbuz1=vbuxx_rol_1 + // [2] (byte~) main::$3 ← (byte) main::i#2 << (byte) 1 -- vbuaa=vbuxx_rol_1 txa asl - sta.z __3 // i*2+i - // [3] (byte~) main::$1 ← (byte~) main::$3 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa + // [3] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 -- vbuz1=vbuaa_plus_vbuxx + stx.z $ff clc - adc.z __3 + adc.z $ff + sta.z __4 // i*2+i+3 - // [4] (byte~) main::$2 ← (byte~) main::$1 + (byte) 3 -- vbuaa=vbuaa_plus_vbuc1 + // [4] (byte~) main::$2 ← (byte~) main::$4 + (byte) 3 -- vbuaa=vbuz1_plus_vbuc1 + lda #3 clc - adc #3 + adc.z __4 // *screen++ = i*2+i+3 // [5] *((byte*) main::screen#3) ← (byte~) main::$2 -- _deref_pbuz1=vbuaa ldy #0 @@ -503,34 +491,30 @@ main: { bne !+ inc.z screen+1 !: - // i*2+i - // [7] (byte~) main::$4 ← (byte~) main::$3 + (byte) main::i#2 -- vbuaa=vbuz1_plus_vbuxx - txa - clc - adc.z __3 // i*2+i+3 - // [8] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 -- vbuaa=vbuaa_plus_vbuc1 + // [7] (byte~) main::$5 ← (byte~) main::$4 + (byte) 3 -- vbuaa=vbuz1_plus_vbuc1 + lda #3 clc - adc #3 + adc.z __4 // *screen++ = i*2+i+3 - // [9] *((byte*) main::screen#1) ← (byte~) main::$5 -- _deref_pbuz1=vbuaa + // [8] *((byte*) main::screen#1) ← (byte~) main::$5 -- _deref_pbuz1=vbuaa ldy #0 sta (screen),y // *screen++ = i*2+i+3; - // [10] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 -- pbuz1=_inc_pbuz1 + // [9] (byte*) main::screen#2 ← ++ (byte*) main::screen#1 -- pbuz1=_inc_pbuz1 inc.z screen bne !+ inc.z screen+1 !: // for( byte i: 0..2) - // [11] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx + // [10] (byte) main::i#1 ← ++ (byte) main::i#2 -- vbuxx=_inc_vbuxx inx - // [12] if((byte) main::i#1!=(byte) 3) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 + // [11] if((byte) main::i#1!=(byte) 3) goto main::@1 -- vbuxx_neq_vbuc1_then_la1 cpx #3 bne __b1 // main::@return // } - // [13] return + // [12] return rts } // File Data diff --git a/src/test/ref/subexpr-optimize-3.sym b/src/test/ref/subexpr-optimize-3.sym index 25777d72f..d2eb4a9a9 100644 --- a/src/test/ref/subexpr-optimize-3.sym +++ b/src/test/ref/subexpr-optimize-3.sym @@ -1,23 +1,21 @@ (void()) main() -(byte~) main::$1 reg byte a 22.0 (byte~) main::$2 reg byte a 22.0 -(byte~) main::$3 zp[1]:4 6.6000000000000005 -(byte~) main::$4 reg byte a 22.0 +(byte~) main::$3 reg byte a 22.0 +(byte~) main::$4 zp[1]:4 8.25 (byte~) main::$5 reg byte a 22.0 (label) main::@1 (label) main::@return (byte) main::i (byte) main::i#1 reg byte x 16.5 -(byte) main::i#2 reg byte x 5.5 +(byte) main::i#2 reg byte x 4.888888888888889 (byte*) main::screen -(byte*) main::screen#1 screen zp[2]:2 8.25 +(byte*) main::screen#1 screen zp[2]:2 11.0 (byte*) main::screen#2 screen zp[2]:2 7.333333333333333 (byte*) main::screen#3 screen zp[2]:2 6.6000000000000005 reg byte x [ main::i#2 main::i#1 ] zp[2]:2 [ main::screen#3 main::screen#2 main::screen#1 ] -zp[1]:4 [ main::$3 ] -reg byte a [ main::$1 ] +reg byte a [ main::$3 ] +zp[1]:4 [ main::$4 ] reg byte a [ main::$2 ] -reg byte a [ main::$4 ] reg byte a [ main::$5 ] diff --git a/src/test/ref/test-scroll-up.asm b/src/test/ref/test-scroll-up.asm index 62239b510..e81bb77da 100644 --- a/src/test/ref/test-scroll-up.asm +++ b/src/test/ref/test-scroll-up.asm @@ -14,8 +14,7 @@ main: { rts } scrollup1: { - .label __2 = 5 - .label __4 = 7 + .label __4 = 5 .label line = 9 .label __5 = 7 .label __6 = 5 @@ -54,24 +53,16 @@ scrollup1: { txa clc adc.z line - sta.z __2 - lda #0 - adc.z line+1 - sta.z __2+1 - // line+c+40 - txa - clc - adc.z line sta.z __4 lda #0 adc.z line+1 sta.z __4+1 // screen[line+c] = screen[line+c+40] + lda.z __4 clc - lda.z __5 adc #screen+$28 sta.z __5+1 clc diff --git a/src/test/ref/test-scroll-up.cfg b/src/test/ref/test-scroll-up.cfg index 6f495d76c..2e18770df 100644 --- a/src/test/ref/test-scroll-up.cfg +++ b/src/test/ref/test-scroll-up.cfg @@ -35,67 +35,66 @@ scrollup1::@4: scope:[scrollup1] from scrollup1::@2 [13] (word) scrollup1::line#1 ← (word) scrollup1::line#2 + (byte) $28 to:scrollup1::@1 scrollup1::@3: scope:[scrollup1] from scrollup1::@2 - [14] (word~) scrollup1::$2 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 - [15] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 - [16] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 - [17] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$2 - [18] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) - [19] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 + [14] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 + [15] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 + [16] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$4 + [17] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) + [18] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 to:scrollup1::@2 (void()) scrollup2() scrollup2: scope:[scrollup2] from main::@1 - [20] phi() + [19] phi() to:scrollup2::@1 scrollup2::@1: scope:[scrollup2] from scrollup2 scrollup2::@3 - [21] (byte) scrollup2::l#4 ← phi( scrollup2/(byte) 0 scrollup2::@3/(byte) scrollup2::l#1 ) - [21] (byte*) scrollup2::line1#3 ← phi( scrollup2/(const nomodify byte*) screen scrollup2::@3/(byte*) scrollup2::line1#1 ) - [21] (byte*) scrollup2::line2#3 ← phi( scrollup2/(const nomodify byte*) screen+(byte) $28 scrollup2::@3/(byte*) scrollup2::line2#1 ) + [20] (byte) scrollup2::l#4 ← phi( scrollup2/(byte) 0 scrollup2::@3/(byte) scrollup2::l#1 ) + [20] (byte*) scrollup2::line1#3 ← phi( scrollup2/(const nomodify byte*) screen scrollup2::@3/(byte*) scrollup2::line1#1 ) + [20] (byte*) scrollup2::line2#3 ← phi( scrollup2/(const nomodify byte*) screen+(byte) $28 scrollup2::@3/(byte*) scrollup2::line2#1 ) to:scrollup2::@2 scrollup2::@2: scope:[scrollup2] from scrollup2::@1 scrollup2::@2 - [22] (byte) scrollup2::c#2 ← phi( scrollup2::@1/(byte) 0 scrollup2::@2/(byte) scrollup2::c#1 ) - [22] (byte*) scrollup2::line1#2 ← phi( scrollup2::@1/(byte*) scrollup2::line1#3 scrollup2::@2/(byte*) scrollup2::line1#1 ) - [22] (byte*) scrollup2::line2#2 ← phi( scrollup2::@1/(byte*) scrollup2::line2#3 scrollup2::@2/(byte*) scrollup2::line2#1 ) - [23] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) - [24] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 - [25] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 - [26] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 - [27] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 + [21] (byte) scrollup2::c#2 ← phi( scrollup2::@1/(byte) 0 scrollup2::@2/(byte) scrollup2::c#1 ) + [21] (byte*) scrollup2::line1#2 ← phi( scrollup2::@1/(byte*) scrollup2::line1#3 scrollup2::@2/(byte*) scrollup2::line1#1 ) + [21] (byte*) scrollup2::line2#2 ← phi( scrollup2::@1/(byte*) scrollup2::line2#3 scrollup2::@2/(byte*) scrollup2::line2#1 ) + [22] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) + [23] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 + [24] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 + [25] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 + [26] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 to:scrollup2::@3 scrollup2::@3: scope:[scrollup2] from scrollup2::@2 - [28] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 - [29] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 + [27] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 + [28] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 to:scrollup2::@return scrollup2::@return: scope:[scrollup2] from scrollup2::@3 - [30] return + [29] return to:@return (void()) scrollup3() scrollup3: scope:[scrollup3] from main::@2 - [31] phi() + [30] phi() to:scrollup3::@1 scrollup3::@1: scope:[scrollup3] from scrollup3 scrollup3::@5 - [32] (word) scrollup3::line#2 ← phi( scrollup3/(word) 0 scrollup3::@5/(word) scrollup3::line#1 ) - [33] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 + [31] (word) scrollup3::line#2 ← phi( scrollup3/(word) 0 scrollup3::@5/(word) scrollup3::line#1 ) + [32] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 to:scrollup3::@return scrollup3::@return: scope:[scrollup3] from scrollup3::@1 - [34] return + [33] return to:@return scrollup3::@2: scope:[scrollup3] from scrollup3::@1 - [35] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 + [34] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 to:scrollup3::@3 scrollup3::@3: scope:[scrollup3] from scrollup3::@2 scrollup3::@4 - [36] (word) scrollup3::l2#2 ← phi( scrollup3::@2/(word) scrollup3::l2#4 scrollup3::@4/(word) scrollup3::l2#1 ) - [36] (byte) scrollup3::c#2 ← phi( scrollup3::@2/(byte) 0 scrollup3::@4/(byte) scrollup3::c#1 ) - [37] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 + [35] (word) scrollup3::l2#2 ← phi( scrollup3::@2/(word) scrollup3::l2#4 scrollup3::@4/(word) scrollup3::l2#1 ) + [35] (byte) scrollup3::c#2 ← phi( scrollup3::@2/(byte) 0 scrollup3::@4/(byte) scrollup3::c#1 ) + [36] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 to:scrollup3::@5 scrollup3::@5: scope:[scrollup3] from scrollup3::@3 - [38] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 + [37] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 to:scrollup3::@1 scrollup3::@4: scope:[scrollup3] from scrollup3::@3 - [39] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 - [40] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 - [41] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) - [42] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 - [43] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 + [38] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 + [39] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 + [40] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) + [41] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 + [42] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 to:scrollup3::@3 diff --git a/src/test/ref/test-scroll-up.log b/src/test/ref/test-scroll-up.log index d2f3e214e..352d6b546 100644 --- a/src/test/ref/test-scroll-up.log +++ b/src/test/ref/test-scroll-up.log @@ -276,6 +276,8 @@ Identical Phi Values (word) scrollup1::line#3 (word) scrollup1::line#2 Identical Phi Values (byte) scrollup2::l#2 (byte) scrollup2::l#4 Identical Phi Values (word) scrollup3::line#4 (word) scrollup3::line#2 Successful SSA optimization Pass2IdenticalPhiElimination +Identified duplicate assignment right side [15] (word~) scrollup1::$3 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 +Successful SSA optimization Pass2DuplicateRValueIdentification Simple Condition (bool~) scrollup1::$0 [7] if((word) scrollup1::line#2<(word)(number) $28*(number) $18) goto scrollup1::@2 Simple Condition (bool~) scrollup1::$1 [11] if((byte) scrollup1::c#2<(byte) $28) goto scrollup1::@4 Simple Condition (bool~) scrollup2::$0 [30] if((byte) scrollup2::c#1!=rangelast(0,$27)) goto scrollup2::@2 @@ -315,6 +317,8 @@ Successful SSA optimization PassNCastSimplification Finalized unsigned number type (byte) $28 Finalized unsigned number type (byte) $18 Successful SSA optimization PassNFinalizeNumberTypeConversions +Alias scrollup1::$3 = scrollup1::$2 +Successful SSA optimization Pass2AliasElimination Inlining constant with var siblings (const word) scrollup1::line#0 Inlining constant with var siblings (const byte) scrollup1::c#0 Inlining constant with var siblings (const byte*) scrollup2::line1#0 @@ -353,19 +357,19 @@ Calls in [main] to scrollup1:1 scrollup2:3 scrollup3:5 Created 11 initial phi equivalence classes Coalesced [16] scrollup1::line#7 ← scrollup1::line#1 -Coalesced [23] scrollup1::c#4 ← scrollup1::c#1 -Coalesced [26] scrollup2::line2#6 ← scrollup2::line2#3 -Coalesced [27] scrollup2::line1#6 ← scrollup2::line1#3 -Coalesced [37] scrollup2::line2#5 ← scrollup2::line2#1 -Coalesced [38] scrollup2::line1#5 ← scrollup2::line1#1 -Coalesced [39] scrollup2::l#5 ← scrollup2::l#1 -Coalesced (already) [40] scrollup2::line2#7 ← scrollup2::line2#1 -Coalesced (already) [41] scrollup2::line1#7 ← scrollup2::line1#1 -Coalesced [42] scrollup2::c#3 ← scrollup2::c#1 -Not coalescing [47] scrollup3::l2#4 ← scrollup3::line#2 -Coalesced [51] scrollup3::line#7 ← scrollup3::line#1 -Coalesced [57] scrollup3::c#4 ← scrollup3::c#1 -Coalesced [58] scrollup3::l2#5 ← scrollup3::l2#1 +Coalesced [22] scrollup1::c#4 ← scrollup1::c#1 +Coalesced [25] scrollup2::line2#6 ← scrollup2::line2#3 +Coalesced [26] scrollup2::line1#6 ← scrollup2::line1#3 +Coalesced [36] scrollup2::line2#5 ← scrollup2::line2#1 +Coalesced [37] scrollup2::line1#5 ← scrollup2::line1#1 +Coalesced [38] scrollup2::l#5 ← scrollup2::l#1 +Coalesced (already) [39] scrollup2::line2#7 ← scrollup2::line2#1 +Coalesced (already) [40] scrollup2::line1#7 ← scrollup2::line1#1 +Coalesced [41] scrollup2::c#3 ← scrollup2::c#1 +Not coalescing [46] scrollup3::l2#4 ← scrollup3::line#2 +Coalesced [50] scrollup3::line#7 ← scrollup3::line#1 +Coalesced [56] scrollup3::c#4 ← scrollup3::c#1 +Coalesced [57] scrollup3::l2#5 ← scrollup3::l2#1 Coalesced down to 9 phi equivalence classes Culled Empty Block (label) main::@3 Culled Empty Block (label) scrollup1::@2 @@ -419,85 +423,83 @@ scrollup1::@4: scope:[scrollup1] from scrollup1::@2 [13] (word) scrollup1::line#1 ← (word) scrollup1::line#2 + (byte) $28 to:scrollup1::@1 scrollup1::@3: scope:[scrollup1] from scrollup1::@2 - [14] (word~) scrollup1::$2 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 - [15] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 - [16] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 - [17] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$2 - [18] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) - [19] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 + [14] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 + [15] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 + [16] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$4 + [17] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) + [18] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 to:scrollup1::@2 (void()) scrollup2() scrollup2: scope:[scrollup2] from main::@1 - [20] phi() + [19] phi() to:scrollup2::@1 scrollup2::@1: scope:[scrollup2] from scrollup2 scrollup2::@3 - [21] (byte) scrollup2::l#4 ← phi( scrollup2/(byte) 0 scrollup2::@3/(byte) scrollup2::l#1 ) - [21] (byte*) scrollup2::line1#3 ← phi( scrollup2/(const nomodify byte*) screen scrollup2::@3/(byte*) scrollup2::line1#1 ) - [21] (byte*) scrollup2::line2#3 ← phi( scrollup2/(const nomodify byte*) screen+(byte) $28 scrollup2::@3/(byte*) scrollup2::line2#1 ) + [20] (byte) scrollup2::l#4 ← phi( scrollup2/(byte) 0 scrollup2::@3/(byte) scrollup2::l#1 ) + [20] (byte*) scrollup2::line1#3 ← phi( scrollup2/(const nomodify byte*) screen scrollup2::@3/(byte*) scrollup2::line1#1 ) + [20] (byte*) scrollup2::line2#3 ← phi( scrollup2/(const nomodify byte*) screen+(byte) $28 scrollup2::@3/(byte*) scrollup2::line2#1 ) to:scrollup2::@2 scrollup2::@2: scope:[scrollup2] from scrollup2::@1 scrollup2::@2 - [22] (byte) scrollup2::c#2 ← phi( scrollup2::@1/(byte) 0 scrollup2::@2/(byte) scrollup2::c#1 ) - [22] (byte*) scrollup2::line1#2 ← phi( scrollup2::@1/(byte*) scrollup2::line1#3 scrollup2::@2/(byte*) scrollup2::line1#1 ) - [22] (byte*) scrollup2::line2#2 ← phi( scrollup2::@1/(byte*) scrollup2::line2#3 scrollup2::@2/(byte*) scrollup2::line2#1 ) - [23] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) - [24] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 - [25] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 - [26] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 - [27] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 + [21] (byte) scrollup2::c#2 ← phi( scrollup2::@1/(byte) 0 scrollup2::@2/(byte) scrollup2::c#1 ) + [21] (byte*) scrollup2::line1#2 ← phi( scrollup2::@1/(byte*) scrollup2::line1#3 scrollup2::@2/(byte*) scrollup2::line1#1 ) + [21] (byte*) scrollup2::line2#2 ← phi( scrollup2::@1/(byte*) scrollup2::line2#3 scrollup2::@2/(byte*) scrollup2::line2#1 ) + [22] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) + [23] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 + [24] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 + [25] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 + [26] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 to:scrollup2::@3 scrollup2::@3: scope:[scrollup2] from scrollup2::@2 - [28] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 - [29] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 + [27] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 + [28] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 to:scrollup2::@return scrollup2::@return: scope:[scrollup2] from scrollup2::@3 - [30] return + [29] return to:@return (void()) scrollup3() scrollup3: scope:[scrollup3] from main::@2 - [31] phi() + [30] phi() to:scrollup3::@1 scrollup3::@1: scope:[scrollup3] from scrollup3 scrollup3::@5 - [32] (word) scrollup3::line#2 ← phi( scrollup3/(word) 0 scrollup3::@5/(word) scrollup3::line#1 ) - [33] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 + [31] (word) scrollup3::line#2 ← phi( scrollup3/(word) 0 scrollup3::@5/(word) scrollup3::line#1 ) + [32] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 to:scrollup3::@return scrollup3::@return: scope:[scrollup3] from scrollup3::@1 - [34] return + [33] return to:@return scrollup3::@2: scope:[scrollup3] from scrollup3::@1 - [35] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 + [34] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 to:scrollup3::@3 scrollup3::@3: scope:[scrollup3] from scrollup3::@2 scrollup3::@4 - [36] (word) scrollup3::l2#2 ← phi( scrollup3::@2/(word) scrollup3::l2#4 scrollup3::@4/(word) scrollup3::l2#1 ) - [36] (byte) scrollup3::c#2 ← phi( scrollup3::@2/(byte) 0 scrollup3::@4/(byte) scrollup3::c#1 ) - [37] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 + [35] (word) scrollup3::l2#2 ← phi( scrollup3::@2/(word) scrollup3::l2#4 scrollup3::@4/(word) scrollup3::l2#1 ) + [35] (byte) scrollup3::c#2 ← phi( scrollup3::@2/(byte) 0 scrollup3::@4/(byte) scrollup3::c#1 ) + [36] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 to:scrollup3::@5 scrollup3::@5: scope:[scrollup3] from scrollup3::@3 - [38] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 + [37] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 to:scrollup3::@1 scrollup3::@4: scope:[scrollup3] from scrollup3::@3 - [39] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 - [40] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 - [41] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) - [42] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 - [43] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 + [38] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 + [39] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 + [40] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) + [41] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 + [42] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 to:scrollup3::@3 VARIABLE REGISTER WEIGHTS (void()) main() (void()) scrollup1() -(word~) scrollup1::$2 667.3333333333334 -(word~) scrollup1::$4 2002.0 +(word~) scrollup1::$4 1501.5 (byte*~) scrollup1::$5 1001.0 (byte*~) scrollup1::$6 2002.0 (byte) scrollup1::c (byte) scrollup1::c#1 2002.0 -(byte) scrollup1::c#2 715.0 +(byte) scrollup1::c#2 667.3333333333334 (word) scrollup1::line (word) scrollup1::line#1 202.0 -(word) scrollup1::line#2 230.49999999999997 +(word) scrollup1::line#2 144.88888888888889 (void()) scrollup2() (byte) scrollup2::c (byte) scrollup2::c#1 1501.5 @@ -537,7 +539,6 @@ Initial phi equivalence classes [ scrollup3::line#2 scrollup3::line#1 ] [ scrollup3::c#2 scrollup3::c#1 ] [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] -Added variable scrollup1::$2 to live range equivalence class [ scrollup1::$2 ] Added variable scrollup1::$4 to live range equivalence class [ scrollup1::$4 ] Added variable scrollup1::$5 to live range equivalence class [ scrollup1::$5 ] Added variable scrollup1::$6 to live range equivalence class [ scrollup1::$6 ] @@ -553,7 +554,6 @@ Complete equivalence classes [ scrollup3::line#2 scrollup3::line#1 ] [ scrollup3::c#2 scrollup3::c#1 ] [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] -[ scrollup1::$2 ] [ scrollup1::$4 ] [ scrollup1::$5 ] [ scrollup1::$6 ] @@ -568,12 +568,11 @@ Allocated zp[1]:10 [ scrollup2::c#2 scrollup2::c#1 ] Allocated zp[2]:11 [ scrollup3::line#2 scrollup3::line#1 ] Allocated zp[1]:13 [ scrollup3::c#2 scrollup3::c#1 ] Allocated zp[2]:14 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] -Allocated zp[2]:16 [ scrollup1::$2 ] -Allocated zp[2]:18 [ scrollup1::$4 ] -Allocated zp[2]:20 [ scrollup1::$5 ] -Allocated zp[2]:22 [ scrollup1::$6 ] -Allocated zp[2]:24 [ scrollup3::$3 ] -Allocated zp[2]:26 [ scrollup3::$4 ] +Allocated zp[2]:16 [ scrollup1::$4 ] +Allocated zp[2]:18 [ scrollup1::$5 ] +Allocated zp[2]:20 [ scrollup1::$6 ] +Allocated zp[2]:22 [ scrollup3::$3 ] +Allocated zp[2]:24 [ scrollup3::$4 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -597,7 +596,7 @@ main: { // main::@1 __b1: // [3] call scrollup2 - // [20] phi from main::@1 to scrollup2 [phi:main::@1->scrollup2] + // [19] phi from main::@1 to scrollup2 [phi:main::@1->scrollup2] scrollup2_from___b1: jsr scrollup2 // [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2] @@ -606,7 +605,7 @@ main: { // main::@2 __b2: // [5] call scrollup3 - // [31] phi from main::@2 to scrollup3 [phi:main::@2->scrollup3] + // [30] phi from main::@2 to scrollup3 [phi:main::@2->scrollup3] scrollup3_from___b2: jsr scrollup3 jmp __breturn @@ -617,12 +616,11 @@ main: { } // scrollup1 scrollup1: { - .label __2 = $10 - .label __4 = $12 + .label __4 = $10 .label c = 4 .label line = 2 - .label __5 = $14 - .label __6 = $16 + .label __5 = $12 + .label __6 = $14 // [8] phi from scrollup1 to scrollup1::@1 [phi:scrollup1->scrollup1::@1] __b1_from_scrollup1: // [8] phi (word) scrollup1::line#2 = (word) 0 [phi:scrollup1->scrollup1::@1#0] -- vwuz1=vwuc1 @@ -676,15 +674,7 @@ scrollup1: { jmp __b1 // scrollup1::@3 __b3: - // [14] (word~) scrollup1::$2 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 -- vwuz1=vwuz2_plus_vbuz3 - lda.z c - clc - adc.z line - sta.z __2 - lda #0 - adc.z line+1 - sta.z __2+1 - // [15] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 -- vwuz1=vwuz2_plus_vbuz3 + // [14] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 -- vwuz1=vwuz2_plus_vbuz3 lda.z c clc adc.z line @@ -692,7 +682,7 @@ scrollup1: { lda #0 adc.z line+1 sta.z __4+1 - // [16] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 -- pbuz1=pbuc1_plus_vwuz2 + // [15] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 -- pbuz1=pbuc1_plus_vwuz2 lda.z __4 clc adc #screen+$28 sta.z __5+1 - // [17] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$2 -- pbuz1=pbuc1_plus_vwuz2 - lda.z __2 + // [16] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$4 -- pbuz1=pbuc1_plus_vwuz2 + lda.z __4 clc adc #screen sta.z __6+1 - // [18] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) -- _deref_pbuz1=_deref_pbuz2 + // [17] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (__5),y ldy #0 sta (__6),y - // [19] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 -- vbuz1=_inc_vbuz1 + // [18] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 -- vbuz1=_inc_vbuz1 inc.z c // [11] phi from scrollup1::@3 to scrollup1::@2 [phi:scrollup1::@3->scrollup1::@2] __b2_from___b3: @@ -726,80 +716,80 @@ scrollup2: { .label line2 = 6 .label c = $a .label l = 5 - // [21] phi from scrollup2 to scrollup2::@1 [phi:scrollup2->scrollup2::@1] + // [20] phi from scrollup2 to scrollup2::@1 [phi:scrollup2->scrollup2::@1] __b1_from_scrollup2: - // [21] phi (byte) scrollup2::l#4 = (byte) 0 [phi:scrollup2->scrollup2::@1#0] -- vbuz1=vbuc1 + // [20] phi (byte) scrollup2::l#4 = (byte) 0 [phi:scrollup2->scrollup2::@1#0] -- vbuz1=vbuc1 lda #0 sta.z l - // [21] phi (byte*) scrollup2::line1#3 = (const nomodify byte*) screen [phi:scrollup2->scrollup2::@1#1] -- pbuz1=pbuc1 + // [20] phi (byte*) scrollup2::line1#3 = (const nomodify byte*) screen [phi:scrollup2->scrollup2::@1#1] -- pbuz1=pbuc1 lda #screen sta.z line1+1 - // [21] phi (byte*) scrollup2::line2#3 = (const nomodify byte*) screen+(byte) $28 [phi:scrollup2->scrollup2::@1#2] -- pbuz1=pbuc1 + // [20] phi (byte*) scrollup2::line2#3 = (const nomodify byte*) screen+(byte) $28 [phi:scrollup2->scrollup2::@1#2] -- pbuz1=pbuc1 lda #screen+$28 sta.z line2+1 jmp __b1 - // [21] phi from scrollup2::@3 to scrollup2::@1 [phi:scrollup2::@3->scrollup2::@1] + // [20] phi from scrollup2::@3 to scrollup2::@1 [phi:scrollup2::@3->scrollup2::@1] __b1_from___b3: - // [21] phi (byte) scrollup2::l#4 = (byte) scrollup2::l#1 [phi:scrollup2::@3->scrollup2::@1#0] -- register_copy - // [21] phi (byte*) scrollup2::line1#3 = (byte*) scrollup2::line1#1 [phi:scrollup2::@3->scrollup2::@1#1] -- register_copy - // [21] phi (byte*) scrollup2::line2#3 = (byte*) scrollup2::line2#1 [phi:scrollup2::@3->scrollup2::@1#2] -- register_copy + // [20] phi (byte) scrollup2::l#4 = (byte) scrollup2::l#1 [phi:scrollup2::@3->scrollup2::@1#0] -- register_copy + // [20] phi (byte*) scrollup2::line1#3 = (byte*) scrollup2::line1#1 [phi:scrollup2::@3->scrollup2::@1#1] -- register_copy + // [20] phi (byte*) scrollup2::line2#3 = (byte*) scrollup2::line2#1 [phi:scrollup2::@3->scrollup2::@1#2] -- register_copy jmp __b1 // scrollup2::@1 __b1: - // [22] phi from scrollup2::@1 to scrollup2::@2 [phi:scrollup2::@1->scrollup2::@2] + // [21] phi from scrollup2::@1 to scrollup2::@2 [phi:scrollup2::@1->scrollup2::@2] __b2_from___b1: - // [22] phi (byte) scrollup2::c#2 = (byte) 0 [phi:scrollup2::@1->scrollup2::@2#0] -- vbuz1=vbuc1 + // [21] phi (byte) scrollup2::c#2 = (byte) 0 [phi:scrollup2::@1->scrollup2::@2#0] -- vbuz1=vbuc1 lda #0 sta.z c - // [22] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#3 [phi:scrollup2::@1->scrollup2::@2#1] -- register_copy - // [22] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#3 [phi:scrollup2::@1->scrollup2::@2#2] -- register_copy + // [21] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#3 [phi:scrollup2::@1->scrollup2::@2#1] -- register_copy + // [21] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#3 [phi:scrollup2::@1->scrollup2::@2#2] -- register_copy jmp __b2 - // [22] phi from scrollup2::@2 to scrollup2::@2 [phi:scrollup2::@2->scrollup2::@2] + // [21] phi from scrollup2::@2 to scrollup2::@2 [phi:scrollup2::@2->scrollup2::@2] __b2_from___b2: - // [22] phi (byte) scrollup2::c#2 = (byte) scrollup2::c#1 [phi:scrollup2::@2->scrollup2::@2#0] -- register_copy - // [22] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#1 [phi:scrollup2::@2->scrollup2::@2#1] -- register_copy - // [22] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#1 [phi:scrollup2::@2->scrollup2::@2#2] -- register_copy + // [21] phi (byte) scrollup2::c#2 = (byte) scrollup2::c#1 [phi:scrollup2::@2->scrollup2::@2#0] -- register_copy + // [21] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#1 [phi:scrollup2::@2->scrollup2::@2#1] -- register_copy + // [21] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#1 [phi:scrollup2::@2->scrollup2::@2#2] -- register_copy jmp __b2 // scrollup2::@2 __b2: - // [23] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) -- _deref_pbuz1=_deref_pbuz2 + // [22] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (line2),y ldy #0 sta (line1),y - // [24] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 -- pbuz1=_inc_pbuz1 + // [23] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 -- pbuz1=_inc_pbuz1 inc.z line1 bne !+ inc.z line1+1 !: - // [25] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 -- pbuz1=_inc_pbuz1 + // [24] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 -- pbuz1=_inc_pbuz1 inc.z line2 bne !+ inc.z line2+1 !: - // [26] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 -- vbuz1=_inc_vbuz1 + // [25] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 -- vbuz1=_inc_vbuz1 inc.z c - // [27] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 -- vbuz1_neq_vbuc1_then_la1 + // [26] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 -- vbuz1_neq_vbuc1_then_la1 lda #$28 cmp.z c bne __b2_from___b2 jmp __b3 // scrollup2::@3 __b3: - // [28] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 -- vbuz1=_inc_vbuz1 + // [27] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 -- vbuz1=_inc_vbuz1 inc.z l - // [29] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [28] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$18 cmp.z l bne __b1_from___b3 jmp __breturn // scrollup2::@return __breturn: - // [30] return + // [29] return rts } // scrollup3 @@ -807,11 +797,11 @@ scrollup3: { .label l2 = $e .label c = $d .label line = $b - .label __3 = $18 - .label __4 = $1a - // [32] phi from scrollup3 to scrollup3::@1 [phi:scrollup3->scrollup3::@1] + .label __3 = $16 + .label __4 = $18 + // [31] phi from scrollup3 to scrollup3::@1 [phi:scrollup3->scrollup3::@1] __b1_from_scrollup3: - // [32] phi (word) scrollup3::line#2 = (word) 0 [phi:scrollup3->scrollup3::@1#0] -- vwuz1=vwuc1 + // [31] phi (word) scrollup3::line#2 = (word) 0 [phi:scrollup3->scrollup3::@1#0] -- vwuz1=vwuc1 lda #<0 sta.z line lda #>0 @@ -819,7 +809,7 @@ scrollup3: { jmp __b1 // scrollup3::@1 __b1: - // [33] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 -- vwuz1_lt_vwuc1_then_la1 + // [32] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 -- vwuz1_lt_vwuc1_then_la1 lda.z line+1 cmp #>$28*$18 bcc __b2 @@ -831,32 +821,32 @@ scrollup3: { jmp __breturn // scrollup3::@return __breturn: - // [34] return + // [33] return rts // scrollup3::@2 __b2: - // [35] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 -- vwuz1=vwuz2 + // [34] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 -- vwuz1=vwuz2 lda.z line sta.z l2 lda.z line+1 sta.z l2+1 - // [36] phi from scrollup3::@2 to scrollup3::@3 [phi:scrollup3::@2->scrollup3::@3] + // [35] phi from scrollup3::@2 to scrollup3::@3 [phi:scrollup3::@2->scrollup3::@3] __b3_from___b2: - // [36] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#4 [phi:scrollup3::@2->scrollup3::@3#0] -- register_copy - // [36] phi (byte) scrollup3::c#2 = (byte) 0 [phi:scrollup3::@2->scrollup3::@3#1] -- vbuz1=vbuc1 + // [35] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#4 [phi:scrollup3::@2->scrollup3::@3#0] -- register_copy + // [35] phi (byte) scrollup3::c#2 = (byte) 0 [phi:scrollup3::@2->scrollup3::@3#1] -- vbuz1=vbuc1 lda #0 sta.z c jmp __b3 // scrollup3::@3 __b3: - // [37] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 -- vbuz1_lt_vbuc1_then_la1 + // [36] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 -- vbuz1_lt_vbuc1_then_la1 lda.z c cmp #$28 bcc __b4 jmp __b5 // scrollup3::@5 __b5: - // [38] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 -- vwuz1=vwuz1_plus_vbuc1 + // [37] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 -- vwuz1=vwuz1_plus_vbuc1 lda #$28 clc adc.z line @@ -864,13 +854,13 @@ scrollup3: { bcc !+ inc.z line+1 !: - // [32] phi from scrollup3::@5 to scrollup3::@1 [phi:scrollup3::@5->scrollup3::@1] + // [31] phi from scrollup3::@5 to scrollup3::@1 [phi:scrollup3::@5->scrollup3::@1] __b1_from___b5: - // [32] phi (word) scrollup3::line#2 = (word) scrollup3::line#1 [phi:scrollup3::@5->scrollup3::@1#0] -- register_copy + // [31] phi (word) scrollup3::line#2 = (word) scrollup3::line#1 [phi:scrollup3::@5->scrollup3::@1#0] -- register_copy jmp __b1 // scrollup3::@4 __b4: - // [39] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 + // [38] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 lda.z l2 clc adc #screen+$28 sta.z __3+1 - // [40] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 + // [39] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 lda.z l2 clc adc #screen sta.z __4+1 - // [41] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) -- _deref_pbuz1=_deref_pbuz2 + // [40] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (__3),y ldy #0 sta (__4),y - // [42] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 -- vwuz1=_inc_vwuz1 + // [41] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 -- vwuz1=_inc_vwuz1 inc.z l2 bne !+ inc.z l2+1 !: - // [43] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 -- vbuz1=_inc_vbuz1 + // [42] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 -- vbuz1=_inc_vbuz1 inc.z c - // [36] phi from scrollup3::@4 to scrollup3::@3 [phi:scrollup3::@4->scrollup3::@3] + // [35] phi from scrollup3::@4 to scrollup3::@3 [phi:scrollup3::@4->scrollup3::@3] __b3_from___b4: - // [36] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#1 [phi:scrollup3::@4->scrollup3::@3#0] -- register_copy - // [36] phi (byte) scrollup3::c#2 = (byte) scrollup3::c#1 [phi:scrollup3::@4->scrollup3::@3#1] -- register_copy + // [35] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#1 [phi:scrollup3::@4->scrollup3::@3#0] -- register_copy + // [35] phi (byte) scrollup3::c#2 = (byte) scrollup3::c#1 [phi:scrollup3::@4->scrollup3::@3#1] -- register_copy jmp __b3 } // File Data @@ -909,40 +899,38 @@ scrollup3: { REGISTER UPLIFT POTENTIAL REGISTERS Statement [9] if((word) scrollup1::line#2<(word)(number) $28*(number) $18) goto scrollup1::@2 [ scrollup1::line#2 ] ( scrollup1:1 [ scrollup1::line#2 ] { } ) always clobbers reg byte a Statement [13] (word) scrollup1::line#1 ← (word) scrollup1::line#2 + (byte) $28 [ scrollup1::line#1 ] ( scrollup1:1 [ scrollup1::line#1 ] { } ) always clobbers reg byte a -Statement [14] (word~) scrollup1::$2 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 ] { } ) always clobbers reg byte a +Statement [14] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$4 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$4 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:4 [ scrollup1::c#2 scrollup1::c#1 ] -Statement [15] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 scrollup1::$4 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 scrollup1::$4 ] { } ) always clobbers reg byte a -Statement [16] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 scrollup1::$5 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 scrollup1::$5 ] { } ) always clobbers reg byte a -Statement [17] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$2 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$5 scrollup1::$6 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$5 scrollup1::$6 ] { } ) always clobbers reg byte a -Statement [18] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) [ scrollup1::line#2 scrollup1::c#2 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 ] { } ) always clobbers reg byte a reg byte y +Statement [15] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$4 scrollup1::$5 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$4 scrollup1::$5 ] { } ) always clobbers reg byte a +Statement [16] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$4 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$5 scrollup1::$6 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$5 scrollup1::$6 ] { } ) always clobbers reg byte a +Statement [17] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) [ scrollup1::line#2 scrollup1::c#2 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:4 [ scrollup1::c#2 scrollup1::c#1 ] -Statement [23] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) [ scrollup2::l#4 scrollup2::line2#2 scrollup2::line1#2 scrollup2::c#2 ] ( scrollup2:3 [ scrollup2::l#4 scrollup2::line2#2 scrollup2::line1#2 scrollup2::c#2 ] { } ) always clobbers reg byte a reg byte y +Statement [22] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) [ scrollup2::l#4 scrollup2::line2#2 scrollup2::line1#2 scrollup2::c#2 ] ( scrollup2:3 [ scrollup2::l#4 scrollup2::line2#2 scrollup2::line1#2 scrollup2::c#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte a as potential for zp[1]:5 [ scrollup2::l#4 scrollup2::l#1 ] Removing always clobbered register reg byte y as potential for zp[1]:5 [ scrollup2::l#4 scrollup2::l#1 ] Removing always clobbered register reg byte a as potential for zp[1]:10 [ scrollup2::c#2 scrollup2::c#1 ] Removing always clobbered register reg byte y as potential for zp[1]:10 [ scrollup2::c#2 scrollup2::c#1 ] -Statement [33] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 [ scrollup3::line#2 ] ( scrollup3:5 [ scrollup3::line#2 ] { } ) always clobbers reg byte a -Statement [35] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 [ scrollup3::line#2 scrollup3::l2#4 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::l2#4 ] { } ) always clobbers reg byte a -Statement [38] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 [ scrollup3::line#1 ] ( scrollup3:5 [ scrollup3::line#1 ] { } ) always clobbers reg byte a -Statement [39] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 ] { } ) always clobbers reg byte a +Statement [32] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 [ scrollup3::line#2 ] ( scrollup3:5 [ scrollup3::line#2 ] { } ) always clobbers reg byte a +Statement [34] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 [ scrollup3::line#2 scrollup3::l2#4 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::l2#4 ] { } ) always clobbers reg byte a +Statement [37] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 [ scrollup3::line#1 ] ( scrollup3:5 [ scrollup3::line#1 ] { } ) always clobbers reg byte a +Statement [38] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:13 [ scrollup3::c#2 scrollup3::c#1 ] -Statement [40] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 scrollup3::$4 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 scrollup3::$4 ] { } ) always clobbers reg byte a -Statement [41] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 ] { } ) always clobbers reg byte a reg byte y +Statement [39] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 scrollup3::$4 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 scrollup3::$4 ] { } ) always clobbers reg byte a +Statement [40] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:13 [ scrollup3::c#2 scrollup3::c#1 ] Statement [9] if((word) scrollup1::line#2<(word)(number) $28*(number) $18) goto scrollup1::@2 [ scrollup1::line#2 ] ( scrollup1:1 [ scrollup1::line#2 ] { } ) always clobbers reg byte a Statement [13] (word) scrollup1::line#1 ← (word) scrollup1::line#2 + (byte) $28 [ scrollup1::line#1 ] ( scrollup1:1 [ scrollup1::line#1 ] { } ) always clobbers reg byte a -Statement [14] (word~) scrollup1::$2 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 ] { } ) always clobbers reg byte a -Statement [15] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 scrollup1::$4 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 scrollup1::$4 ] { } ) always clobbers reg byte a -Statement [16] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 scrollup1::$5 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$2 scrollup1::$5 ] { } ) always clobbers reg byte a -Statement [17] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$2 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$5 scrollup1::$6 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$5 scrollup1::$6 ] { } ) always clobbers reg byte a -Statement [18] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) [ scrollup1::line#2 scrollup1::c#2 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 ] { } ) always clobbers reg byte a reg byte y -Statement [23] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) [ scrollup2::l#4 scrollup2::line2#2 scrollup2::line1#2 scrollup2::c#2 ] ( scrollup2:3 [ scrollup2::l#4 scrollup2::line2#2 scrollup2::line1#2 scrollup2::c#2 ] { } ) always clobbers reg byte a reg byte y -Statement [33] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 [ scrollup3::line#2 ] ( scrollup3:5 [ scrollup3::line#2 ] { } ) always clobbers reg byte a -Statement [35] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 [ scrollup3::line#2 scrollup3::l2#4 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::l2#4 ] { } ) always clobbers reg byte a -Statement [38] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 [ scrollup3::line#1 ] ( scrollup3:5 [ scrollup3::line#1 ] { } ) always clobbers reg byte a -Statement [39] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 ] { } ) always clobbers reg byte a -Statement [40] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 scrollup3::$4 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 scrollup3::$4 ] { } ) always clobbers reg byte a -Statement [41] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 ] { } ) always clobbers reg byte a reg byte y +Statement [14] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$4 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$4 ] { } ) always clobbers reg byte a +Statement [15] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$4 scrollup1::$5 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$4 scrollup1::$5 ] { } ) always clobbers reg byte a +Statement [16] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$4 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$5 scrollup1::$6 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 scrollup1::$5 scrollup1::$6 ] { } ) always clobbers reg byte a +Statement [17] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) [ scrollup1::line#2 scrollup1::c#2 ] ( scrollup1:1 [ scrollup1::line#2 scrollup1::c#2 ] { } ) always clobbers reg byte a reg byte y +Statement [22] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) [ scrollup2::l#4 scrollup2::line2#2 scrollup2::line1#2 scrollup2::c#2 ] ( scrollup2:3 [ scrollup2::l#4 scrollup2::line2#2 scrollup2::line1#2 scrollup2::c#2 ] { } ) always clobbers reg byte a reg byte y +Statement [32] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 [ scrollup3::line#2 ] ( scrollup3:5 [ scrollup3::line#2 ] { } ) always clobbers reg byte a +Statement [34] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 [ scrollup3::line#2 scrollup3::l2#4 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::l2#4 ] { } ) always clobbers reg byte a +Statement [37] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 [ scrollup3::line#1 ] ( scrollup3:5 [ scrollup3::line#1 ] { } ) always clobbers reg byte a +Statement [38] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 ] { } ) always clobbers reg byte a +Statement [39] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 scrollup3::$4 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 scrollup3::$3 scrollup3::$4 ] { } ) always clobbers reg byte a +Statement [40] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 ] ( scrollup3:5 [ scrollup3::line#2 scrollup3::c#2 scrollup3::l2#2 ] { } ) always clobbers reg byte a reg byte y Potential registers zp[2]:2 [ scrollup1::line#2 scrollup1::line#1 ] : zp[2]:2 , Potential registers zp[1]:4 [ scrollup1::c#2 scrollup1::c#1 ] : zp[1]:4 , reg byte x , Potential registers zp[1]:5 [ scrollup2::l#4 scrollup2::l#1 ] : zp[1]:5 , reg byte x , @@ -952,39 +940,37 @@ Potential registers zp[1]:10 [ scrollup2::c#2 scrollup2::c#1 ] : zp[1]:10 , reg Potential registers zp[2]:11 [ scrollup3::line#2 scrollup3::line#1 ] : zp[2]:11 , Potential registers zp[1]:13 [ scrollup3::c#2 scrollup3::c#1 ] : zp[1]:13 , reg byte x , Potential registers zp[2]:14 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] : zp[2]:14 , -Potential registers zp[2]:16 [ scrollup1::$2 ] : zp[2]:16 , -Potential registers zp[2]:18 [ scrollup1::$4 ] : zp[2]:18 , -Potential registers zp[2]:20 [ scrollup1::$5 ] : zp[2]:20 , -Potential registers zp[2]:22 [ scrollup1::$6 ] : zp[2]:22 , -Potential registers zp[2]:24 [ scrollup3::$3 ] : zp[2]:24 , -Potential registers zp[2]:26 [ scrollup3::$4 ] : zp[2]:26 , +Potential registers zp[2]:16 [ scrollup1::$4 ] : zp[2]:16 , +Potential registers zp[2]:18 [ scrollup1::$5 ] : zp[2]:18 , +Potential registers zp[2]:20 [ scrollup1::$6 ] : zp[2]:20 , +Potential registers zp[2]:22 [ scrollup3::$3 ] : zp[2]:22 , +Potential registers zp[2]:24 [ scrollup3::$4 ] : zp[2]:24 , REGISTER UPLIFT SCOPES -Uplift Scope [scrollup1] 2,717: zp[1]:4 [ scrollup1::c#2 scrollup1::c#1 ] 2,002: zp[2]:18 [ scrollup1::$4 ] 2,002: zp[2]:22 [ scrollup1::$6 ] 1,001: zp[2]:20 [ scrollup1::$5 ] 667.33: zp[2]:16 [ scrollup1::$2 ] 432.5: zp[2]:2 [ scrollup1::line#2 scrollup1::line#1 ] -Uplift Scope [scrollup3] 2,502.5: zp[1]:13 [ scrollup3::c#2 scrollup3::c#1 ] 2,024: zp[2]:14 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] 2,002: zp[2]:26 [ scrollup3::$4 ] 1,001: zp[2]:24 [ scrollup3::$3 ] 242.4: zp[2]:11 [ scrollup3::line#2 scrollup3::line#1 ] +Uplift Scope [scrollup3] 2,502.5: zp[1]:13 [ scrollup3::c#2 scrollup3::c#1 ] 2,024: zp[2]:14 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] 2,002: zp[2]:24 [ scrollup3::$4 ] 1,001: zp[2]:22 [ scrollup3::$3 ] 242.4: zp[2]:11 [ scrollup3::line#2 scrollup3::line#1 ] +Uplift Scope [scrollup1] 2,669.33: zp[1]:4 [ scrollup1::c#2 scrollup1::c#1 ] 2,002: zp[2]:20 [ scrollup1::$6 ] 1,501.5: zp[2]:16 [ scrollup1::$4 ] 1,001: zp[2]:18 [ scrollup1::$5 ] 346.89: zp[2]:2 [ scrollup1::line#2 scrollup1::line#1 ] Uplift Scope [scrollup2] 2,104.5: zp[2]:8 [ scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] 2,002: zp[1]:10 [ scrollup2::c#2 scrollup2::c#1 ] 1,657.27: zp[2]:6 [ scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 ] 180.36: zp[1]:5 [ scrollup2::l#4 scrollup2::l#1 ] Uplift Scope [main] Uplift Scope [] -Uplifting [scrollup1] best 27966 combination reg byte x [ scrollup1::c#2 scrollup1::c#1 ] zp[2]:18 [ scrollup1::$4 ] zp[2]:22 [ scrollup1::$6 ] zp[2]:20 [ scrollup1::$5 ] zp[2]:16 [ scrollup1::$2 ] zp[2]:2 [ scrollup1::line#2 scrollup1::line#1 ] -Uplifting [scrollup3] best 27066 combination reg byte x [ scrollup3::c#2 scrollup3::c#1 ] zp[2]:14 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] zp[2]:26 [ scrollup3::$4 ] zp[2]:24 [ scrollup3::$3 ] zp[2]:11 [ scrollup3::line#2 scrollup3::line#1 ] -Uplifting [scrollup2] best 26166 combination zp[2]:8 [ scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] reg byte x [ scrollup2::c#2 scrollup2::c#1 ] zp[2]:6 [ scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 ] zp[1]:5 [ scrollup2::l#4 scrollup2::l#1 ] -Uplifting [main] best 26166 combination -Uplifting [] best 26166 combination +Uplifting [scrollup3] best 26266 combination reg byte x [ scrollup3::c#2 scrollup3::c#1 ] zp[2]:14 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] zp[2]:24 [ scrollup3::$4 ] zp[2]:22 [ scrollup3::$3 ] zp[2]:11 [ scrollup3::line#2 scrollup3::line#1 ] +Uplifting [scrollup1] best 25266 combination reg byte x [ scrollup1::c#2 scrollup1::c#1 ] zp[2]:20 [ scrollup1::$6 ] zp[2]:16 [ scrollup1::$4 ] zp[2]:18 [ scrollup1::$5 ] zp[2]:2 [ scrollup1::line#2 scrollup1::line#1 ] +Uplifting [scrollup2] best 24366 combination zp[2]:8 [ scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] reg byte x [ scrollup2::c#2 scrollup2::c#1 ] zp[2]:6 [ scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 ] zp[1]:5 [ scrollup2::l#4 scrollup2::l#1 ] +Uplifting [main] best 24366 combination +Uplifting [] best 24366 combination Attempting to uplift remaining variables inzp[1]:5 [ scrollup2::l#4 scrollup2::l#1 ] -Uplifting [scrollup2] best 26166 combination zp[1]:5 [ scrollup2::l#4 scrollup2::l#1 ] -Coalescing zero page register [ zp[2]:16 [ scrollup1::$2 ] ] with [ zp[2]:22 [ scrollup1::$6 ] ] - score: 1 -Coalescing zero page register [ zp[2]:18 [ scrollup1::$4 ] ] with [ zp[2]:20 [ scrollup1::$5 ] ] - score: 1 +Uplifting [scrollup2] best 24366 combination zp[1]:5 [ scrollup2::l#4 scrollup2::l#1 ] +Coalescing zero page register [ zp[2]:16 [ scrollup1::$4 ] ] with [ zp[2]:20 [ scrollup1::$6 ] ] - score: 1 Coalescing zero page register [ zp[2]:6 [ scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 ] ] with [ zp[2]:2 [ scrollup1::line#2 scrollup1::line#1 ] ] Coalescing zero page register [ zp[2]:11 [ scrollup3::line#2 scrollup3::line#1 ] ] with [ zp[2]:8 [ scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] ] -Coalescing zero page register [ zp[2]:16 [ scrollup1::$2 scrollup1::$6 ] ] with [ zp[2]:14 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] ] -Coalescing zero page register [ zp[2]:24 [ scrollup3::$3 ] ] with [ zp[2]:18 [ scrollup1::$4 scrollup1::$5 ] ] -Coalescing zero page register [ zp[2]:26 [ scrollup3::$4 ] ] with [ zp[2]:6 [ scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 scrollup1::line#2 scrollup1::line#1 ] ] +Coalescing zero page register [ zp[2]:16 [ scrollup1::$4 scrollup1::$6 ] ] with [ zp[2]:14 [ scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] ] +Coalescing zero page register [ zp[2]:22 [ scrollup3::$3 ] ] with [ zp[2]:18 [ scrollup1::$5 ] ] +Coalescing zero page register [ zp[2]:24 [ scrollup3::$4 ] ] with [ zp[2]:6 [ scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 scrollup1::line#2 scrollup1::line#1 ] ] Allocated (was zp[1]:5) zp[1]:2 [ scrollup2::l#4 scrollup2::l#1 ] Allocated (was zp[2]:11) zp[2]:3 [ scrollup3::line#2 scrollup3::line#1 scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] -Allocated (was zp[2]:16) zp[2]:5 [ scrollup1::$2 scrollup1::$6 scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] -Allocated (was zp[2]:24) zp[2]:7 [ scrollup3::$3 scrollup1::$4 scrollup1::$5 ] -Allocated (was zp[2]:26) zp[2]:9 [ scrollup3::$4 scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 scrollup1::line#2 scrollup1::line#1 ] +Allocated (was zp[2]:16) zp[2]:5 [ scrollup1::$4 scrollup1::$6 scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] +Allocated (was zp[2]:22) zp[2]:7 [ scrollup3::$3 scrollup1::$5 ] +Allocated (was zp[2]:24) zp[2]:9 [ scrollup3::$4 scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 scrollup1::line#2 scrollup1::line#1 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -1007,7 +993,7 @@ main: { // main::@1 __b1: // [3] call scrollup2 - // [20] phi from main::@1 to scrollup2 [phi:main::@1->scrollup2] + // [19] phi from main::@1 to scrollup2 [phi:main::@1->scrollup2] scrollup2_from___b1: jsr scrollup2 // [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2] @@ -1016,7 +1002,7 @@ main: { // main::@2 __b2: // [5] call scrollup3 - // [31] phi from main::@2 to scrollup3 [phi:main::@2->scrollup3] + // [30] phi from main::@2 to scrollup3 [phi:main::@2->scrollup3] scrollup3_from___b2: jsr scrollup3 jmp __breturn @@ -1027,8 +1013,7 @@ main: { } // scrollup1 scrollup1: { - .label __2 = 5 - .label __4 = 7 + .label __4 = 5 .label line = 9 .label __5 = 7 .label __6 = 5 @@ -1083,15 +1068,7 @@ scrollup1: { jmp __b1 // scrollup1::@3 __b3: - // [14] (word~) scrollup1::$2 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 -- vwuz1=vwuz2_plus_vbuxx - txa - clc - adc.z line - sta.z __2 - lda #0 - adc.z line+1 - sta.z __2+1 - // [15] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 -- vwuz1=vwuz2_plus_vbuxx + // [14] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 -- vwuz1=vwuz2_plus_vbuxx txa clc adc.z line @@ -1099,15 +1076,15 @@ scrollup1: { lda #0 adc.z line+1 sta.z __4+1 - // [16] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 -- pbuz1=pbuc1_plus_vwuz1 + // [15] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 -- pbuz1=pbuc1_plus_vwuz2 + lda.z __4 clc - lda.z __5 adc #screen+$28 sta.z __5+1 - // [17] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$2 -- pbuz1=pbuc1_plus_vwuz1 + // [16] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$4 -- pbuz1=pbuc1_plus_vwuz1 clc lda.z __6 adc #screen sta.z __6+1 - // [18] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) -- _deref_pbuz1=_deref_pbuz2 + // [17] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (__5),y ldy #0 sta (__6),y - // [19] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 -- vbuxx=_inc_vbuxx + // [18] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 -- vbuxx=_inc_vbuxx inx // [11] phi from scrollup1::@3 to scrollup1::@2 [phi:scrollup1::@3->scrollup1::@2] __b2_from___b3: @@ -1132,78 +1109,78 @@ scrollup2: { .label line1 = 3 .label line2 = 9 .label l = 2 - // [21] phi from scrollup2 to scrollup2::@1 [phi:scrollup2->scrollup2::@1] + // [20] phi from scrollup2 to scrollup2::@1 [phi:scrollup2->scrollup2::@1] __b1_from_scrollup2: - // [21] phi (byte) scrollup2::l#4 = (byte) 0 [phi:scrollup2->scrollup2::@1#0] -- vbuz1=vbuc1 + // [20] phi (byte) scrollup2::l#4 = (byte) 0 [phi:scrollup2->scrollup2::@1#0] -- vbuz1=vbuc1 lda #0 sta.z l - // [21] phi (byte*) scrollup2::line1#3 = (const nomodify byte*) screen [phi:scrollup2->scrollup2::@1#1] -- pbuz1=pbuc1 + // [20] phi (byte*) scrollup2::line1#3 = (const nomodify byte*) screen [phi:scrollup2->scrollup2::@1#1] -- pbuz1=pbuc1 lda #screen sta.z line1+1 - // [21] phi (byte*) scrollup2::line2#3 = (const nomodify byte*) screen+(byte) $28 [phi:scrollup2->scrollup2::@1#2] -- pbuz1=pbuc1 + // [20] phi (byte*) scrollup2::line2#3 = (const nomodify byte*) screen+(byte) $28 [phi:scrollup2->scrollup2::@1#2] -- pbuz1=pbuc1 lda #screen+$28 sta.z line2+1 jmp __b1 - // [21] phi from scrollup2::@3 to scrollup2::@1 [phi:scrollup2::@3->scrollup2::@1] + // [20] phi from scrollup2::@3 to scrollup2::@1 [phi:scrollup2::@3->scrollup2::@1] __b1_from___b3: - // [21] phi (byte) scrollup2::l#4 = (byte) scrollup2::l#1 [phi:scrollup2::@3->scrollup2::@1#0] -- register_copy - // [21] phi (byte*) scrollup2::line1#3 = (byte*) scrollup2::line1#1 [phi:scrollup2::@3->scrollup2::@1#1] -- register_copy - // [21] phi (byte*) scrollup2::line2#3 = (byte*) scrollup2::line2#1 [phi:scrollup2::@3->scrollup2::@1#2] -- register_copy + // [20] phi (byte) scrollup2::l#4 = (byte) scrollup2::l#1 [phi:scrollup2::@3->scrollup2::@1#0] -- register_copy + // [20] phi (byte*) scrollup2::line1#3 = (byte*) scrollup2::line1#1 [phi:scrollup2::@3->scrollup2::@1#1] -- register_copy + // [20] phi (byte*) scrollup2::line2#3 = (byte*) scrollup2::line2#1 [phi:scrollup2::@3->scrollup2::@1#2] -- register_copy jmp __b1 // scrollup2::@1 __b1: - // [22] phi from scrollup2::@1 to scrollup2::@2 [phi:scrollup2::@1->scrollup2::@2] + // [21] phi from scrollup2::@1 to scrollup2::@2 [phi:scrollup2::@1->scrollup2::@2] __b2_from___b1: - // [22] phi (byte) scrollup2::c#2 = (byte) 0 [phi:scrollup2::@1->scrollup2::@2#0] -- vbuxx=vbuc1 + // [21] phi (byte) scrollup2::c#2 = (byte) 0 [phi:scrollup2::@1->scrollup2::@2#0] -- vbuxx=vbuc1 ldx #0 - // [22] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#3 [phi:scrollup2::@1->scrollup2::@2#1] -- register_copy - // [22] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#3 [phi:scrollup2::@1->scrollup2::@2#2] -- register_copy + // [21] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#3 [phi:scrollup2::@1->scrollup2::@2#1] -- register_copy + // [21] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#3 [phi:scrollup2::@1->scrollup2::@2#2] -- register_copy jmp __b2 - // [22] phi from scrollup2::@2 to scrollup2::@2 [phi:scrollup2::@2->scrollup2::@2] + // [21] phi from scrollup2::@2 to scrollup2::@2 [phi:scrollup2::@2->scrollup2::@2] __b2_from___b2: - // [22] phi (byte) scrollup2::c#2 = (byte) scrollup2::c#1 [phi:scrollup2::@2->scrollup2::@2#0] -- register_copy - // [22] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#1 [phi:scrollup2::@2->scrollup2::@2#1] -- register_copy - // [22] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#1 [phi:scrollup2::@2->scrollup2::@2#2] -- register_copy + // [21] phi (byte) scrollup2::c#2 = (byte) scrollup2::c#1 [phi:scrollup2::@2->scrollup2::@2#0] -- register_copy + // [21] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#1 [phi:scrollup2::@2->scrollup2::@2#1] -- register_copy + // [21] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#1 [phi:scrollup2::@2->scrollup2::@2#2] -- register_copy jmp __b2 // scrollup2::@2 __b2: - // [23] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) -- _deref_pbuz1=_deref_pbuz2 + // [22] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (line2),y ldy #0 sta (line1),y - // [24] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 -- pbuz1=_inc_pbuz1 + // [23] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 -- pbuz1=_inc_pbuz1 inc.z line1 bne !+ inc.z line1+1 !: - // [25] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 -- pbuz1=_inc_pbuz1 + // [24] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 -- pbuz1=_inc_pbuz1 inc.z line2 bne !+ inc.z line2+1 !: - // [26] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 -- vbuxx=_inc_vbuxx + // [25] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 -- vbuxx=_inc_vbuxx inx - // [27] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 -- vbuxx_neq_vbuc1_then_la1 + // [26] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2_from___b2 jmp __b3 // scrollup2::@3 __b3: - // [28] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 -- vbuz1=_inc_vbuz1 + // [27] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 -- vbuz1=_inc_vbuz1 inc.z l - // [29] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [28] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$18 cmp.z l bne __b1_from___b3 jmp __breturn // scrollup2::@return __breturn: - // [30] return + // [29] return rts } // scrollup3 @@ -1212,9 +1189,9 @@ scrollup3: { .label line = 3 .label __3 = 7 .label __4 = 9 - // [32] phi from scrollup3 to scrollup3::@1 [phi:scrollup3->scrollup3::@1] + // [31] phi from scrollup3 to scrollup3::@1 [phi:scrollup3->scrollup3::@1] __b1_from_scrollup3: - // [32] phi (word) scrollup3::line#2 = (word) 0 [phi:scrollup3->scrollup3::@1#0] -- vwuz1=vwuc1 + // [31] phi (word) scrollup3::line#2 = (word) 0 [phi:scrollup3->scrollup3::@1#0] -- vwuz1=vwuc1 lda #<0 sta.z line lda #>0 @@ -1222,7 +1199,7 @@ scrollup3: { jmp __b1 // scrollup3::@1 __b1: - // [33] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 -- vwuz1_lt_vwuc1_then_la1 + // [32] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 -- vwuz1_lt_vwuc1_then_la1 lda.z line+1 cmp #>$28*$18 bcc __b2 @@ -1234,30 +1211,30 @@ scrollup3: { jmp __breturn // scrollup3::@return __breturn: - // [34] return + // [33] return rts // scrollup3::@2 __b2: - // [35] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 -- vwuz1=vwuz2 + // [34] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 -- vwuz1=vwuz2 lda.z line sta.z l2 lda.z line+1 sta.z l2+1 - // [36] phi from scrollup3::@2 to scrollup3::@3 [phi:scrollup3::@2->scrollup3::@3] + // [35] phi from scrollup3::@2 to scrollup3::@3 [phi:scrollup3::@2->scrollup3::@3] __b3_from___b2: - // [36] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#4 [phi:scrollup3::@2->scrollup3::@3#0] -- register_copy - // [36] phi (byte) scrollup3::c#2 = (byte) 0 [phi:scrollup3::@2->scrollup3::@3#1] -- vbuxx=vbuc1 + // [35] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#4 [phi:scrollup3::@2->scrollup3::@3#0] -- register_copy + // [35] phi (byte) scrollup3::c#2 = (byte) 0 [phi:scrollup3::@2->scrollup3::@3#1] -- vbuxx=vbuc1 ldx #0 jmp __b3 // scrollup3::@3 __b3: - // [37] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 -- vbuxx_lt_vbuc1_then_la1 + // [36] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 -- vbuxx_lt_vbuc1_then_la1 cpx #$28 bcc __b4 jmp __b5 // scrollup3::@5 __b5: - // [38] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 -- vwuz1=vwuz1_plus_vbuc1 + // [37] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 -- vwuz1=vwuz1_plus_vbuc1 lda #$28 clc adc.z line @@ -1265,13 +1242,13 @@ scrollup3: { bcc !+ inc.z line+1 !: - // [32] phi from scrollup3::@5 to scrollup3::@1 [phi:scrollup3::@5->scrollup3::@1] + // [31] phi from scrollup3::@5 to scrollup3::@1 [phi:scrollup3::@5->scrollup3::@1] __b1_from___b5: - // [32] phi (word) scrollup3::line#2 = (word) scrollup3::line#1 [phi:scrollup3::@5->scrollup3::@1#0] -- register_copy + // [31] phi (word) scrollup3::line#2 = (word) scrollup3::line#1 [phi:scrollup3::@5->scrollup3::@1#0] -- register_copy jmp __b1 // scrollup3::@4 __b4: - // [39] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 + // [38] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 lda.z l2 clc adc #screen+$28 sta.z __3+1 - // [40] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 + // [39] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 lda.z l2 clc adc #screen sta.z __4+1 - // [41] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) -- _deref_pbuz1=_deref_pbuz2 + // [40] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (__3),y ldy #0 sta (__4),y - // [42] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 -- vwuz1=_inc_vwuz1 + // [41] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 -- vwuz1=_inc_vwuz1 inc.z l2 bne !+ inc.z l2+1 !: - // [43] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 -- vbuxx=_inc_vbuxx + // [42] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 -- vbuxx=_inc_vbuxx inx - // [36] phi from scrollup3::@4 to scrollup3::@3 [phi:scrollup3::@4->scrollup3::@3] + // [35] phi from scrollup3::@4 to scrollup3::@3 [phi:scrollup3::@4->scrollup3::@3] __b3_from___b4: - // [36] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#1 [phi:scrollup3::@4->scrollup3::@3#0] -- register_copy - // [36] phi (byte) scrollup3::c#2 = (byte) scrollup3::c#1 [phi:scrollup3::@4->scrollup3::@3#1] -- register_copy + // [35] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#1 [phi:scrollup3::@4->scrollup3::@3#0] -- register_copy + // [35] phi (byte) scrollup3::c#2 = (byte) scrollup3::c#1 [phi:scrollup3::@4->scrollup3::@3#1] -- register_copy jmp __b3 } // File Data @@ -1372,8 +1349,7 @@ FINAL SYMBOL TABLE (label) main::@return (const nomodify byte*) screen = (byte*) 1024 (void()) scrollup1() -(word~) scrollup1::$2 zp[2]:5 667.3333333333334 -(word~) scrollup1::$4 zp[2]:7 2002.0 +(word~) scrollup1::$4 zp[2]:5 1501.5 (byte*~) scrollup1::$5 zp[2]:7 1001.0 (byte*~) scrollup1::$6 zp[2]:5 2002.0 (label) scrollup1::@1 @@ -1383,10 +1359,10 @@ FINAL SYMBOL TABLE (label) scrollup1::@return (byte) scrollup1::c (byte) scrollup1::c#1 reg byte x 2002.0 -(byte) scrollup1::c#2 reg byte x 715.0 +(byte) scrollup1::c#2 reg byte x 667.3333333333334 (word) scrollup1::line (word) scrollup1::line#1 line zp[2]:9 202.0 -(word) scrollup1::line#2 line zp[2]:9 230.49999999999997 +(word) scrollup1::line#2 line zp[2]:9 144.88888888888889 (void()) scrollup2() (label) scrollup2::@1 (label) scrollup2::@2 @@ -1431,13 +1407,13 @@ zp[1]:2 [ scrollup2::l#4 scrollup2::l#1 ] reg byte x [ scrollup2::c#2 scrollup2::c#1 ] zp[2]:3 [ scrollup3::line#2 scrollup3::line#1 scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] reg byte x [ scrollup3::c#2 scrollup3::c#1 ] -zp[2]:5 [ scrollup1::$2 scrollup1::$6 scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] -zp[2]:7 [ scrollup3::$3 scrollup1::$4 scrollup1::$5 ] +zp[2]:5 [ scrollup1::$4 scrollup1::$6 scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] +zp[2]:7 [ scrollup3::$3 scrollup1::$5 ] zp[2]:9 [ scrollup3::$4 scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 scrollup1::line#2 scrollup1::line#1 ] FINAL ASSEMBLER -Score: 23207 +Score: 21407 // File Comments // Tests different ways of scrolling up the screen @@ -1457,13 +1433,13 @@ main: { // main::@1 // scrollup2() // [3] call scrollup2 - // [20] phi from main::@1 to scrollup2 [phi:main::@1->scrollup2] + // [19] phi from main::@1 to scrollup2 [phi:main::@1->scrollup2] jsr scrollup2 // [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2] // main::@2 // scrollup3() // [5] call scrollup3 - // [31] phi from main::@2 to scrollup3 [phi:main::@2->scrollup3] + // [30] phi from main::@2 to scrollup3 [phi:main::@2->scrollup3] jsr scrollup3 // main::@return // } @@ -1472,8 +1448,7 @@ main: { } // scrollup1 scrollup1: { - .label __2 = 5 - .label __4 = 7 + .label __4 = 5 .label line = 9 .label __5 = 7 .label __6 = 5 @@ -1524,16 +1499,7 @@ scrollup1: { // scrollup1::@3 __b3: // line+c - // [14] (word~) scrollup1::$2 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 -- vwuz1=vwuz2_plus_vbuxx - txa - clc - adc.z line - sta.z __2 - lda #0 - adc.z line+1 - sta.z __2+1 - // line+c+40 - // [15] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 -- vwuz1=vwuz2_plus_vbuxx + // [14] (word~) scrollup1::$4 ← (word) scrollup1::line#2 + (byte) scrollup1::c#2 -- vwuz1=vwuz2_plus_vbuxx txa clc adc.z line @@ -1542,15 +1508,15 @@ scrollup1: { adc.z line+1 sta.z __4+1 // screen[line+c] = screen[line+c+40] - // [16] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 -- pbuz1=pbuc1_plus_vwuz1 + // [15] (byte*~) scrollup1::$5 ← (const nomodify byte*) screen+(byte) $28 + (word~) scrollup1::$4 -- pbuz1=pbuc1_plus_vwuz2 + lda.z __4 clc - lda.z __5 adc #screen+$28 sta.z __5+1 - // [17] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$2 -- pbuz1=pbuc1_plus_vwuz1 + // [16] (byte*~) scrollup1::$6 ← (const nomodify byte*) screen + (word~) scrollup1::$4 -- pbuz1=pbuc1_plus_vwuz1 clc lda.z __6 adc #screen sta.z __6+1 - // [18] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) -- _deref_pbuz1=_deref_pbuz2 + // [17] *((byte*~) scrollup1::$6) ← *((byte*~) scrollup1::$5) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (__5),y sta (__6),y // for (byte c=0; c<40; ++c) - // [19] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 -- vbuxx=_inc_vbuxx + // [18] (byte) scrollup1::c#1 ← ++ (byte) scrollup1::c#2 -- vbuxx=_inc_vbuxx inx // [11] phi from scrollup1::@3 to scrollup1::@2 [phi:scrollup1::@3->scrollup1::@2] // [11] phi (byte) scrollup1::c#2 = (byte) scrollup1::c#1 [phi:scrollup1::@3->scrollup1::@2#0] -- register_copy @@ -1574,70 +1540,70 @@ scrollup2: { .label line1 = 3 .label line2 = 9 .label l = 2 - // [21] phi from scrollup2 to scrollup2::@1 [phi:scrollup2->scrollup2::@1] - // [21] phi (byte) scrollup2::l#4 = (byte) 0 [phi:scrollup2->scrollup2::@1#0] -- vbuz1=vbuc1 + // [20] phi from scrollup2 to scrollup2::@1 [phi:scrollup2->scrollup2::@1] + // [20] phi (byte) scrollup2::l#4 = (byte) 0 [phi:scrollup2->scrollup2::@1#0] -- vbuz1=vbuc1 lda #0 sta.z l - // [21] phi (byte*) scrollup2::line1#3 = (const nomodify byte*) screen [phi:scrollup2->scrollup2::@1#1] -- pbuz1=pbuc1 + // [20] phi (byte*) scrollup2::line1#3 = (const nomodify byte*) screen [phi:scrollup2->scrollup2::@1#1] -- pbuz1=pbuc1 lda #screen sta.z line1+1 - // [21] phi (byte*) scrollup2::line2#3 = (const nomodify byte*) screen+(byte) $28 [phi:scrollup2->scrollup2::@1#2] -- pbuz1=pbuc1 + // [20] phi (byte*) scrollup2::line2#3 = (const nomodify byte*) screen+(byte) $28 [phi:scrollup2->scrollup2::@1#2] -- pbuz1=pbuc1 lda #screen+$28 sta.z line2+1 - // [21] phi from scrollup2::@3 to scrollup2::@1 [phi:scrollup2::@3->scrollup2::@1] - // [21] phi (byte) scrollup2::l#4 = (byte) scrollup2::l#1 [phi:scrollup2::@3->scrollup2::@1#0] -- register_copy - // [21] phi (byte*) scrollup2::line1#3 = (byte*) scrollup2::line1#1 [phi:scrollup2::@3->scrollup2::@1#1] -- register_copy - // [21] phi (byte*) scrollup2::line2#3 = (byte*) scrollup2::line2#1 [phi:scrollup2::@3->scrollup2::@1#2] -- register_copy + // [20] phi from scrollup2::@3 to scrollup2::@1 [phi:scrollup2::@3->scrollup2::@1] + // [20] phi (byte) scrollup2::l#4 = (byte) scrollup2::l#1 [phi:scrollup2::@3->scrollup2::@1#0] -- register_copy + // [20] phi (byte*) scrollup2::line1#3 = (byte*) scrollup2::line1#1 [phi:scrollup2::@3->scrollup2::@1#1] -- register_copy + // [20] phi (byte*) scrollup2::line2#3 = (byte*) scrollup2::line2#1 [phi:scrollup2::@3->scrollup2::@1#2] -- register_copy // scrollup2::@1 __b1: - // [22] phi from scrollup2::@1 to scrollup2::@2 [phi:scrollup2::@1->scrollup2::@2] - // [22] phi (byte) scrollup2::c#2 = (byte) 0 [phi:scrollup2::@1->scrollup2::@2#0] -- vbuxx=vbuc1 + // [21] phi from scrollup2::@1 to scrollup2::@2 [phi:scrollup2::@1->scrollup2::@2] + // [21] phi (byte) scrollup2::c#2 = (byte) 0 [phi:scrollup2::@1->scrollup2::@2#0] -- vbuxx=vbuc1 ldx #0 - // [22] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#3 [phi:scrollup2::@1->scrollup2::@2#1] -- register_copy - // [22] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#3 [phi:scrollup2::@1->scrollup2::@2#2] -- register_copy - // [22] phi from scrollup2::@2 to scrollup2::@2 [phi:scrollup2::@2->scrollup2::@2] - // [22] phi (byte) scrollup2::c#2 = (byte) scrollup2::c#1 [phi:scrollup2::@2->scrollup2::@2#0] -- register_copy - // [22] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#1 [phi:scrollup2::@2->scrollup2::@2#1] -- register_copy - // [22] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#1 [phi:scrollup2::@2->scrollup2::@2#2] -- register_copy + // [21] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#3 [phi:scrollup2::@1->scrollup2::@2#1] -- register_copy + // [21] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#3 [phi:scrollup2::@1->scrollup2::@2#2] -- register_copy + // [21] phi from scrollup2::@2 to scrollup2::@2 [phi:scrollup2::@2->scrollup2::@2] + // [21] phi (byte) scrollup2::c#2 = (byte) scrollup2::c#1 [phi:scrollup2::@2->scrollup2::@2#0] -- register_copy + // [21] phi (byte*) scrollup2::line1#2 = (byte*) scrollup2::line1#1 [phi:scrollup2::@2->scrollup2::@2#1] -- register_copy + // [21] phi (byte*) scrollup2::line2#2 = (byte*) scrollup2::line2#1 [phi:scrollup2::@2->scrollup2::@2#2] -- register_copy // scrollup2::@2 __b2: // *line1++ = *line2++ - // [23] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) -- _deref_pbuz1=_deref_pbuz2 + // [22] *((byte*) scrollup2::line1#2) ← *((byte*) scrollup2::line2#2) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (line2),y sta (line1),y // *line1++ = *line2++; - // [24] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 -- pbuz1=_inc_pbuz1 + // [23] (byte*) scrollup2::line1#1 ← ++ (byte*) scrollup2::line1#2 -- pbuz1=_inc_pbuz1 inc.z line1 bne !+ inc.z line1+1 !: - // [25] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 -- pbuz1=_inc_pbuz1 + // [24] (byte*) scrollup2::line2#1 ← ++ (byte*) scrollup2::line2#2 -- pbuz1=_inc_pbuz1 inc.z line2 bne !+ inc.z line2+1 !: // for (byte c: 0..39) - // [26] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 -- vbuxx=_inc_vbuxx + // [25] (byte) scrollup2::c#1 ← ++ (byte) scrollup2::c#2 -- vbuxx=_inc_vbuxx inx - // [27] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 -- vbuxx_neq_vbuc1_then_la1 + // [26] if((byte) scrollup2::c#1!=(byte) $28) goto scrollup2::@2 -- vbuxx_neq_vbuc1_then_la1 cpx #$28 bne __b2 // scrollup2::@3 // for( byte l: 0..23 ) - // [28] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 -- vbuz1=_inc_vbuz1 + // [27] (byte) scrollup2::l#1 ← ++ (byte) scrollup2::l#4 -- vbuz1=_inc_vbuz1 inc.z l - // [29] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 -- vbuz1_neq_vbuc1_then_la1 + // [28] if((byte) scrollup2::l#1!=(byte) $18) goto scrollup2::@1 -- vbuz1_neq_vbuc1_then_la1 lda #$18 cmp.z l bne __b1 // scrollup2::@return // } - // [30] return + // [29] return rts } // scrollup3 @@ -1646,15 +1612,15 @@ scrollup3: { .label line = 3 .label __3 = 7 .label __4 = 9 - // [32] phi from scrollup3 to scrollup3::@1 [phi:scrollup3->scrollup3::@1] - // [32] phi (word) scrollup3::line#2 = (word) 0 [phi:scrollup3->scrollup3::@1#0] -- vwuz1=vwuc1 + // [31] phi from scrollup3 to scrollup3::@1 [phi:scrollup3->scrollup3::@1] + // [31] phi (word) scrollup3::line#2 = (word) 0 [phi:scrollup3->scrollup3::@1#0] -- vwuz1=vwuc1 lda #<0 sta.z line sta.z line+1 // scrollup3::@1 __b1: // for (word line = 0; line < 40*24; line += 40) - // [33] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 -- vwuz1_lt_vwuc1_then_la1 + // [32] if((word) scrollup3::line#2<(word)(number) $28*(number) $18) goto scrollup3::@2 -- vwuz1_lt_vwuc1_then_la1 lda.z line+1 cmp #>$28*$18 bcc __b2 @@ -1665,28 +1631,28 @@ scrollup3: { !: // scrollup3::@return // } - // [34] return + // [33] return rts // scrollup3::@2 __b2: - // [35] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 -- vwuz1=vwuz2 + // [34] (word) scrollup3::l2#4 ← (word) scrollup3::line#2 -- vwuz1=vwuz2 lda.z line sta.z l2 lda.z line+1 sta.z l2+1 - // [36] phi from scrollup3::@2 to scrollup3::@3 [phi:scrollup3::@2->scrollup3::@3] - // [36] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#4 [phi:scrollup3::@2->scrollup3::@3#0] -- register_copy - // [36] phi (byte) scrollup3::c#2 = (byte) 0 [phi:scrollup3::@2->scrollup3::@3#1] -- vbuxx=vbuc1 + // [35] phi from scrollup3::@2 to scrollup3::@3 [phi:scrollup3::@2->scrollup3::@3] + // [35] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#4 [phi:scrollup3::@2->scrollup3::@3#0] -- register_copy + // [35] phi (byte) scrollup3::c#2 = (byte) 0 [phi:scrollup3::@2->scrollup3::@3#1] -- vbuxx=vbuc1 ldx #0 // scrollup3::@3 __b3: // for (byte c=0; c<40; ++c) - // [37] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 -- vbuxx_lt_vbuc1_then_la1 + // [36] if((byte) scrollup3::c#2<(byte) $28) goto scrollup3::@4 -- vbuxx_lt_vbuc1_then_la1 cpx #$28 bcc __b4 // scrollup3::@5 // line += 40 - // [38] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 -- vwuz1=vwuz1_plus_vbuc1 + // [37] (word) scrollup3::line#1 ← (word) scrollup3::line#2 + (byte) $28 -- vwuz1=vwuz1_plus_vbuc1 lda #$28 clc adc.z line @@ -1694,13 +1660,13 @@ scrollup3: { bcc !+ inc.z line+1 !: - // [32] phi from scrollup3::@5 to scrollup3::@1 [phi:scrollup3::@5->scrollup3::@1] - // [32] phi (word) scrollup3::line#2 = (word) scrollup3::line#1 [phi:scrollup3::@5->scrollup3::@1#0] -- register_copy + // [31] phi from scrollup3::@5 to scrollup3::@1 [phi:scrollup3::@5->scrollup3::@1] + // [31] phi (word) scrollup3::line#2 = (word) scrollup3::line#1 [phi:scrollup3::@5->scrollup3::@1#0] -- register_copy jmp __b1 // scrollup3::@4 __b4: // screen[l2++] = screen[l2+40] - // [39] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 + // [38] (byte*~) scrollup3::$3 ← (const nomodify byte*) screen+(byte) $28 + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 lda.z l2 clc adc #screen+$28 sta.z __3+1 - // [40] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 + // [39] (byte*~) scrollup3::$4 ← (const nomodify byte*) screen + (word) scrollup3::l2#2 -- pbuz1=pbuc1_plus_vwuz2 lda.z l2 clc adc #screen sta.z __4+1 - // [41] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) -- _deref_pbuz1=_deref_pbuz2 + // [40] *((byte*~) scrollup3::$4) ← *((byte*~) scrollup3::$3) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (__3),y sta (__4),y // screen[l2++] = screen[l2+40]; - // [42] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 -- vwuz1=_inc_vwuz1 + // [41] (word) scrollup3::l2#1 ← ++ (word) scrollup3::l2#2 -- vwuz1=_inc_vwuz1 inc.z l2 bne !+ inc.z l2+1 !: // for (byte c=0; c<40; ++c) - // [43] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 -- vbuxx=_inc_vbuxx + // [42] (byte) scrollup3::c#1 ← ++ (byte) scrollup3::c#2 -- vbuxx=_inc_vbuxx inx - // [36] phi from scrollup3::@4 to scrollup3::@3 [phi:scrollup3::@4->scrollup3::@3] - // [36] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#1 [phi:scrollup3::@4->scrollup3::@3#0] -- register_copy - // [36] phi (byte) scrollup3::c#2 = (byte) scrollup3::c#1 [phi:scrollup3::@4->scrollup3::@3#1] -- register_copy + // [35] phi from scrollup3::@4 to scrollup3::@3 [phi:scrollup3::@4->scrollup3::@3] + // [35] phi (word) scrollup3::l2#2 = (word) scrollup3::l2#1 [phi:scrollup3::@4->scrollup3::@3#0] -- register_copy + // [35] phi (byte) scrollup3::c#2 = (byte) scrollup3::c#1 [phi:scrollup3::@4->scrollup3::@3#1] -- register_copy jmp __b3 } // File Data diff --git a/src/test/ref/test-scroll-up.sym b/src/test/ref/test-scroll-up.sym index 1e7ed43a2..e6b61af24 100644 --- a/src/test/ref/test-scroll-up.sym +++ b/src/test/ref/test-scroll-up.sym @@ -4,8 +4,7 @@ (label) main::@return (const nomodify byte*) screen = (byte*) 1024 (void()) scrollup1() -(word~) scrollup1::$2 zp[2]:5 667.3333333333334 -(word~) scrollup1::$4 zp[2]:7 2002.0 +(word~) scrollup1::$4 zp[2]:5 1501.5 (byte*~) scrollup1::$5 zp[2]:7 1001.0 (byte*~) scrollup1::$6 zp[2]:5 2002.0 (label) scrollup1::@1 @@ -15,10 +14,10 @@ (label) scrollup1::@return (byte) scrollup1::c (byte) scrollup1::c#1 reg byte x 2002.0 -(byte) scrollup1::c#2 reg byte x 715.0 +(byte) scrollup1::c#2 reg byte x 667.3333333333334 (word) scrollup1::line (word) scrollup1::line#1 line zp[2]:9 202.0 -(word) scrollup1::line#2 line zp[2]:9 230.49999999999997 +(word) scrollup1::line#2 line zp[2]:9 144.88888888888889 (void()) scrollup2() (label) scrollup2::@1 (label) scrollup2::@2 @@ -63,6 +62,6 @@ zp[1]:2 [ scrollup2::l#4 scrollup2::l#1 ] reg byte x [ scrollup2::c#2 scrollup2::c#1 ] zp[2]:3 [ scrollup3::line#2 scrollup3::line#1 scrollup2::line1#2 scrollup2::line1#3 scrollup2::line1#1 ] reg byte x [ scrollup3::c#2 scrollup3::c#1 ] -zp[2]:5 [ scrollup1::$2 scrollup1::$6 scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] -zp[2]:7 [ scrollup3::$3 scrollup1::$4 scrollup1::$5 ] +zp[2]:5 [ scrollup1::$4 scrollup1::$6 scrollup3::l2#2 scrollup3::l2#4 scrollup3::l2#1 ] +zp[2]:7 [ scrollup3::$3 scrollup1::$5 ] zp[2]:9 [ scrollup3::$4 scrollup2::line2#2 scrollup2::line2#3 scrollup2::line2#1 scrollup1::line#2 scrollup1::line#1 ] diff --git a/src/test/ref/test-word-size-arrays.asm b/src/test/ref/test-word-size-arrays.asm index 2a26fde86..afbb70f48 100644 --- a/src/test/ref/test-word-size-arrays.asm +++ b/src/test/ref/test-word-size-arrays.asm @@ -3,8 +3,7 @@ .pc = $80d "Program" main: { .label screen = $400 - .label __2 = 6 - .label __4 = 8 + .label __4 = 6 .label __6 = 4 .label line = 2 .label __7 = 8 @@ -74,24 +73,16 @@ main: { txa clc adc.z line - sta.z __2 - lda #0 - adc.z line+1 - sta.z __2+1 - // line+c+40 - txa - clc - adc.z line sta.z __4 lda #0 adc.z line+1 sta.z __4+1 // screen[line+c] = screen[line+c+40] + lda.z __4 clc - lda.z __7 adc #screen+$28 sta.z __7+1 clc diff --git a/src/test/ref/test-word-size-arrays.cfg b/src/test/ref/test-word-size-arrays.cfg index 09ed2bcbb..343f6c83e 100644 --- a/src/test/ref/test-word-size-arrays.cfg +++ b/src/test/ref/test-word-size-arrays.cfg @@ -28,10 +28,9 @@ main::@4: scope:[main] from main::@2 [12] (word) main::line#2 ← (word) main::line#10 + (byte) $28 to:main::@1 main::@3: scope:[main] from main::@2 - [13] (word~) main::$2 ← (word) main::line#10 + (byte) main::c#2 - [14] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 - [15] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 - [16] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$2 - [17] *((byte*~) main::$8) ← *((byte*~) main::$7) - [18] (byte) main::c#1 ← ++ (byte) main::c#2 + [13] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 + [14] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 + [15] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$4 + [16] *((byte*~) main::$8) ← *((byte*~) main::$7) + [17] (byte) main::c#1 ← ++ (byte) main::c#2 to:main::@2 diff --git a/src/test/ref/test-word-size-arrays.log b/src/test/ref/test-word-size-arrays.log index 641fd8adb..08dcc1777 100644 --- a/src/test/ref/test-word-size-arrays.log +++ b/src/test/ref/test-word-size-arrays.log @@ -143,6 +143,8 @@ Successful SSA optimization Pass2AliasElimination Identical Phi Values (word) main::line#4 (word) main::line#10 Identical Phi Values (word) main::line#6 (word) main::line#10 Successful SSA optimization Pass2IdenticalPhiElimination +Identified duplicate assignment right side [14] (word~) main::$3 ← (word) main::line#10 + (byte) main::c#2 +Successful SSA optimization Pass2DuplicateRValueIdentification Simple Condition (bool~) main::$0 [4] if((word) main::line#10<(word)(number) $28*(number) $18) goto main::@2 Simple Condition (bool~) main::$1 [9] if((byte) main::c#2<(byte) $28) goto main::@5 Simple Condition (bool~) main::$5 [18] if((byte) main::c1#2<(byte) $28) goto main::@8 @@ -163,6 +165,8 @@ Removing unused procedure block __start Removing unused procedure block __start::@1 Removing unused procedure block __start::@return Successful SSA optimization PassNEliminateEmptyStart +Alias main::$3 = main::$2 +Successful SSA optimization Pass2AliasElimination Inlining constant with var siblings (const word) main::line#1 Inlining constant with var siblings (const byte) main::c#0 Inlining constant with var siblings (const byte) main::c1#0 @@ -182,7 +186,7 @@ CALL GRAPH Created 3 initial phi equivalence classes Coalesced [11] main::c1#4 ← main::c1#1 Coalesced [16] main::line#11 ← main::line#2 -Coalesced [23] main::c#4 ← main::c#1 +Coalesced [22] main::c#4 ← main::c#1 Coalesced down to 3 phi equivalence classes Culled Empty Block (label) main::@3 Culled Empty Block (label) main::@2 @@ -224,31 +228,29 @@ main::@4: scope:[main] from main::@2 [12] (word) main::line#2 ← (word) main::line#10 + (byte) $28 to:main::@1 main::@3: scope:[main] from main::@2 - [13] (word~) main::$2 ← (word) main::line#10 + (byte) main::c#2 - [14] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 - [15] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 - [16] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$2 - [17] *((byte*~) main::$8) ← *((byte*~) main::$7) - [18] (byte) main::c#1 ← ++ (byte) main::c#2 + [13] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 + [14] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 + [15] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$4 + [16] *((byte*~) main::$8) ← *((byte*~) main::$7) + [17] (byte) main::c#1 ← ++ (byte) main::c#2 to:main::@2 VARIABLE REGISTER WEIGHTS (void()) main() -(word~) main::$2 67.33333333333333 -(word~) main::$4 202.0 +(word~) main::$4 151.5 (word~) main::$6 22.0 (byte*~) main::$7 101.0 (byte*~) main::$8 202.0 (byte*~) main::$9 22.0 (byte) main::c (byte) main::c#1 202.0 -(byte) main::c#2 72.14285714285714 +(byte) main::c#2 67.33333333333333 (byte) main::c1 (byte) main::c1#1 22.0 (byte) main::c1#2 8.8 (word) main::line -(word) main::line#10 15.375 +(word) main::line#10 9.666666666666666 (word) main::line#2 22.0 Initial phi equivalence classes @@ -257,7 +259,6 @@ Initial phi equivalence classes [ main::c#2 main::c#1 ] Added variable main::$6 to live range equivalence class [ main::$6 ] Added variable main::$9 to live range equivalence class [ main::$9 ] -Added variable main::$2 to live range equivalence class [ main::$2 ] Added variable main::$4 to live range equivalence class [ main::$4 ] Added variable main::$7 to live range equivalence class [ main::$7 ] Added variable main::$8 to live range equivalence class [ main::$8 ] @@ -267,7 +268,6 @@ Complete equivalence classes [ main::c#2 main::c#1 ] [ main::$6 ] [ main::$9 ] -[ main::$2 ] [ main::$4 ] [ main::$7 ] [ main::$8 ] @@ -276,10 +276,9 @@ Allocated zp[1]:4 [ main::c1#2 main::c1#1 ] Allocated zp[1]:5 [ main::c#2 main::c#1 ] Allocated zp[2]:6 [ main::$6 ] Allocated zp[2]:8 [ main::$9 ] -Allocated zp[2]:10 [ main::$2 ] -Allocated zp[2]:12 [ main::$4 ] -Allocated zp[2]:14 [ main::$7 ] -Allocated zp[2]:16 [ main::$8 ] +Allocated zp[2]:10 [ main::$4 ] +Allocated zp[2]:12 [ main::$7 ] +Allocated zp[2]:14 [ main::$8 ] INITIAL ASM Target platform is c64basic / MOS6502X @@ -292,14 +291,13 @@ Target platform is c64basic / MOS6502X // main main: { .label screen = $400 - .label __2 = $a - .label __4 = $c + .label __4 = $a .label __6 = 6 .label c = 5 .label line = 2 .label c1 = 4 - .label __7 = $e - .label __8 = $10 + .label __7 = $c + .label __8 = $e .label __9 = 8 // [1] phi from main to main::@1 [phi:main->main::@1] __b1_from_main: @@ -395,15 +393,7 @@ main: { jmp __b1 // main::@3 __b3: - // [13] (word~) main::$2 ← (word) main::line#10 + (byte) main::c#2 -- vwuz1=vwuz2_plus_vbuz3 - lda.z c - clc - adc.z line - sta.z __2 - lda #0 - adc.z line+1 - sta.z __2+1 - // [14] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 -- vwuz1=vwuz2_plus_vbuz3 + // [13] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 -- vwuz1=vwuz2_plus_vbuz3 lda.z c clc adc.z line @@ -411,7 +401,7 @@ main: { lda #0 adc.z line+1 sta.z __4+1 - // [15] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 -- pbuz1=pbuc1_plus_vwuz2 + // [14] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 -- pbuz1=pbuc1_plus_vwuz2 lda.z __4 clc adc #screen+$28 sta.z __7+1 - // [16] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$2 -- pbuz1=pbuc1_plus_vwuz2 - lda.z __2 + // [15] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$4 -- pbuz1=pbuc1_plus_vwuz2 + lda.z __4 clc adc #screen sta.z __8+1 - // [17] *((byte*~) main::$8) ← *((byte*~) main::$7) -- _deref_pbuz1=_deref_pbuz2 + // [16] *((byte*~) main::$8) ← *((byte*~) main::$7) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (__7),y ldy #0 sta (__8),y - // [18] (byte) main::c#1 ← ++ (byte) main::c#2 -- vbuz1=_inc_vbuz1 + // [17] (byte) main::c#1 ← ++ (byte) main::c#2 -- vbuz1=_inc_vbuz1 inc.z c // [10] phi from main::@3 to main::@2 [phi:main::@3->main::@2] __b2_from___b3: @@ -449,45 +439,41 @@ Statement [7] (byte*~) main::$9 ← (const byte*) main::screen + (word~) main::$ Statement [8] *((byte*~) main::$9) ← (byte) ' ' [ main::line#10 main::c1#2 ] ( [ main::line#10 main::c1#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:4 [ main::c1#2 main::c1#1 ] Statement [12] (word) main::line#2 ← (word) main::line#10 + (byte) $28 [ main::line#2 ] ( [ main::line#2 ] { } ) always clobbers reg byte a -Statement [13] (word~) main::$2 ← (word) main::line#10 + (byte) main::c#2 [ main::line#10 main::c#2 main::$2 ] ( [ main::line#10 main::c#2 main::$2 ] { } ) always clobbers reg byte a +Statement [13] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 [ main::line#10 main::c#2 main::$4 ] ( [ main::line#10 main::c#2 main::$4 ] { } ) always clobbers reg byte a Removing always clobbered register reg byte a as potential for zp[1]:5 [ main::c#2 main::c#1 ] -Statement [14] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 [ main::line#10 main::c#2 main::$2 main::$4 ] ( [ main::line#10 main::c#2 main::$2 main::$4 ] { } ) always clobbers reg byte a -Statement [15] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 [ main::line#10 main::c#2 main::$2 main::$7 ] ( [ main::line#10 main::c#2 main::$2 main::$7 ] { } ) always clobbers reg byte a -Statement [16] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$2 [ main::line#10 main::c#2 main::$7 main::$8 ] ( [ main::line#10 main::c#2 main::$7 main::$8 ] { } ) always clobbers reg byte a -Statement [17] *((byte*~) main::$8) ← *((byte*~) main::$7) [ main::line#10 main::c#2 ] ( [ main::line#10 main::c#2 ] { } ) always clobbers reg byte a reg byte y +Statement [14] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 [ main::line#10 main::c#2 main::$4 main::$7 ] ( [ main::line#10 main::c#2 main::$4 main::$7 ] { } ) always clobbers reg byte a +Statement [15] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$4 [ main::line#10 main::c#2 main::$7 main::$8 ] ( [ main::line#10 main::c#2 main::$7 main::$8 ] { } ) always clobbers reg byte a +Statement [16] *((byte*~) main::$8) ← *((byte*~) main::$7) [ main::line#10 main::c#2 ] ( [ main::line#10 main::c#2 ] { } ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp[1]:5 [ main::c#2 main::c#1 ] Statement [2] if((word) main::line#10<(word)(number) $28*(number) $18) goto main::@2 [ main::line#10 ] ( [ main::line#10 ] { } ) always clobbers reg byte a Statement [6] (word~) main::$6 ← (word) main::line#10 + (byte) main::c1#2 [ main::line#10 main::c1#2 main::$6 ] ( [ main::line#10 main::c1#2 main::$6 ] { } ) always clobbers reg byte a Statement [7] (byte*~) main::$9 ← (const byte*) main::screen + (word~) main::$6 [ main::line#10 main::c1#2 main::$9 ] ( [ main::line#10 main::c1#2 main::$9 ] { } ) always clobbers reg byte a Statement [8] *((byte*~) main::$9) ← (byte) ' ' [ main::line#10 main::c1#2 ] ( [ main::line#10 main::c1#2 ] { } ) always clobbers reg byte a reg byte y Statement [12] (word) main::line#2 ← (word) main::line#10 + (byte) $28 [ main::line#2 ] ( [ main::line#2 ] { } ) always clobbers reg byte a -Statement [13] (word~) main::$2 ← (word) main::line#10 + (byte) main::c#2 [ main::line#10 main::c#2 main::$2 ] ( [ main::line#10 main::c#2 main::$2 ] { } ) always clobbers reg byte a -Statement [14] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 [ main::line#10 main::c#2 main::$2 main::$4 ] ( [ main::line#10 main::c#2 main::$2 main::$4 ] { } ) always clobbers reg byte a -Statement [15] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 [ main::line#10 main::c#2 main::$2 main::$7 ] ( [ main::line#10 main::c#2 main::$2 main::$7 ] { } ) always clobbers reg byte a -Statement [16] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$2 [ main::line#10 main::c#2 main::$7 main::$8 ] ( [ main::line#10 main::c#2 main::$7 main::$8 ] { } ) always clobbers reg byte a -Statement [17] *((byte*~) main::$8) ← *((byte*~) main::$7) [ main::line#10 main::c#2 ] ( [ main::line#10 main::c#2 ] { } ) always clobbers reg byte a reg byte y +Statement [13] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 [ main::line#10 main::c#2 main::$4 ] ( [ main::line#10 main::c#2 main::$4 ] { } ) always clobbers reg byte a +Statement [14] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 [ main::line#10 main::c#2 main::$4 main::$7 ] ( [ main::line#10 main::c#2 main::$4 main::$7 ] { } ) always clobbers reg byte a +Statement [15] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$4 [ main::line#10 main::c#2 main::$7 main::$8 ] ( [ main::line#10 main::c#2 main::$7 main::$8 ] { } ) always clobbers reg byte a +Statement [16] *((byte*~) main::$8) ← *((byte*~) main::$7) [ main::line#10 main::c#2 ] ( [ main::line#10 main::c#2 ] { } ) always clobbers reg byte a reg byte y Potential registers zp[2]:2 [ main::line#10 main::line#2 ] : zp[2]:2 , Potential registers zp[1]:4 [ main::c1#2 main::c1#1 ] : zp[1]:4 , reg byte x , Potential registers zp[1]:5 [ main::c#2 main::c#1 ] : zp[1]:5 , reg byte x , Potential registers zp[2]:6 [ main::$6 ] : zp[2]:6 , Potential registers zp[2]:8 [ main::$9 ] : zp[2]:8 , -Potential registers zp[2]:10 [ main::$2 ] : zp[2]:10 , -Potential registers zp[2]:12 [ main::$4 ] : zp[2]:12 , -Potential registers zp[2]:14 [ main::$7 ] : zp[2]:14 , -Potential registers zp[2]:16 [ main::$8 ] : zp[2]:16 , +Potential registers zp[2]:10 [ main::$4 ] : zp[2]:10 , +Potential registers zp[2]:12 [ main::$7 ] : zp[2]:12 , +Potential registers zp[2]:14 [ main::$8 ] : zp[2]:14 , REGISTER UPLIFT SCOPES -Uplift Scope [main] 274.14: zp[1]:5 [ main::c#2 main::c#1 ] 202: zp[2]:12 [ main::$4 ] 202: zp[2]:16 [ main::$8 ] 101: zp[2]:14 [ main::$7 ] 67.33: zp[2]:10 [ main::$2 ] 37.38: zp[2]:2 [ main::line#10 main::line#2 ] 30.8: zp[1]:4 [ main::c1#2 main::c1#1 ] 22: zp[2]:6 [ main::$6 ] 22: zp[2]:8 [ main::$9 ] +Uplift Scope [main] 269.33: zp[1]:5 [ main::c#2 main::c#1 ] 202: zp[2]:14 [ main::$8 ] 151.5: zp[2]:10 [ main::$4 ] 101: zp[2]:12 [ main::$7 ] 31.67: zp[2]:2 [ main::line#10 main::line#2 ] 30.8: zp[1]:4 [ main::c1#2 main::c1#1 ] 22: zp[2]:6 [ main::$6 ] 22: zp[2]:8 [ main::$9 ] Uplift Scope [] -Uplifting [main] best 11651 combination reg byte x [ main::c#2 main::c#1 ] zp[2]:12 [ main::$4 ] zp[2]:16 [ main::$8 ] zp[2]:14 [ main::$7 ] zp[2]:10 [ main::$2 ] zp[2]:2 [ main::line#10 main::line#2 ] reg byte x [ main::c1#2 main::c1#1 ] zp[2]:6 [ main::$6 ] zp[2]:8 [ main::$9 ] -Uplifting [] best 11651 combination +Uplifting [main] best 9851 combination reg byte x [ main::c#2 main::c#1 ] zp[2]:14 [ main::$8 ] zp[2]:10 [ main::$4 ] zp[2]:12 [ main::$7 ] zp[2]:2 [ main::line#10 main::line#2 ] reg byte x [ main::c1#2 main::c1#1 ] zp[2]:6 [ main::$6 ] zp[2]:8 [ main::$9 ] +Uplifting [] best 9851 combination Coalescing zero page register [ zp[2]:6 [ main::$6 ] ] with [ zp[2]:8 [ main::$9 ] ] - score: 1 -Coalescing zero page register [ zp[2]:10 [ main::$2 ] ] with [ zp[2]:16 [ main::$8 ] ] - score: 1 -Coalescing zero page register [ zp[2]:12 [ main::$4 ] ] with [ zp[2]:14 [ main::$7 ] ] - score: 1 +Coalescing zero page register [ zp[2]:10 [ main::$4 ] ] with [ zp[2]:14 [ main::$8 ] ] - score: 1 Allocated (was zp[2]:6) zp[2]:4 [ main::$6 main::$9 ] -Allocated (was zp[2]:10) zp[2]:6 [ main::$2 main::$8 ] -Allocated (was zp[2]:12) zp[2]:8 [ main::$4 main::$7 ] +Allocated (was zp[2]:10) zp[2]:6 [ main::$4 main::$8 ] +Allocated (was zp[2]:12) zp[2]:8 [ main::$7 ] ASSEMBLER BEFORE OPTIMIZATION // File Comments @@ -499,8 +485,7 @@ ASSEMBLER BEFORE OPTIMIZATION // main main: { .label screen = $400 - .label __2 = 6 - .label __4 = 8 + .label __4 = 6 .label __6 = 4 .label line = 2 .label __7 = 8 @@ -596,15 +581,7 @@ main: { jmp __b1 // main::@3 __b3: - // [13] (word~) main::$2 ← (word) main::line#10 + (byte) main::c#2 -- vwuz1=vwuz2_plus_vbuxx - txa - clc - adc.z line - sta.z __2 - lda #0 - adc.z line+1 - sta.z __2+1 - // [14] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 -- vwuz1=vwuz2_plus_vbuxx + // [13] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 -- vwuz1=vwuz2_plus_vbuxx txa clc adc.z line @@ -612,15 +589,15 @@ main: { lda #0 adc.z line+1 sta.z __4+1 - // [15] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 -- pbuz1=pbuc1_plus_vwuz1 + // [14] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 -- pbuz1=pbuc1_plus_vwuz2 + lda.z __4 clc - lda.z __7 adc #screen+$28 sta.z __7+1 - // [16] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$2 -- pbuz1=pbuc1_plus_vwuz1 + // [15] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$4 -- pbuz1=pbuc1_plus_vwuz1 clc lda.z __8 adc #screen sta.z __8+1 - // [17] *((byte*~) main::$8) ← *((byte*~) main::$7) -- _deref_pbuz1=_deref_pbuz2 + // [16] *((byte*~) main::$8) ← *((byte*~) main::$7) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (__7),y ldy #0 sta (__8),y - // [18] (byte) main::c#1 ← ++ (byte) main::c#2 -- vbuxx=_inc_vbuxx + // [17] (byte) main::c#1 ← ++ (byte) main::c#2 -- vbuxx=_inc_vbuxx inx // [10] phi from main::@3 to main::@2 [phi:main::@3->main::@2] __b2_from___b3: @@ -665,8 +642,7 @@ Succesful ASM optimization Pass5RelabelLongLabels FINAL SYMBOL TABLE (void()) main() -(word~) main::$2 zp[2]:6 67.33333333333333 -(word~) main::$4 zp[2]:8 202.0 +(word~) main::$4 zp[2]:6 151.5 (word~) main::$6 zp[2]:4 22.0 (byte*~) main::$7 zp[2]:8 101.0 (byte*~) main::$8 zp[2]:6 202.0 @@ -680,12 +656,12 @@ FINAL SYMBOL TABLE (label) main::@return (byte) main::c (byte) main::c#1 reg byte x 202.0 -(byte) main::c#2 reg byte x 72.14285714285714 +(byte) main::c#2 reg byte x 67.33333333333333 (byte) main::c1 (byte) main::c1#1 reg byte x 22.0 (byte) main::c1#2 reg byte x 8.8 (word) main::line -(word) main::line#10 line zp[2]:2 15.375 +(word) main::line#10 line zp[2]:2 9.666666666666666 (word) main::line#2 line zp[2]:2 22.0 (const byte*) main::screen = (byte*) 1024 @@ -693,12 +669,12 @@ zp[2]:2 [ main::line#10 main::line#2 ] reg byte x [ main::c1#2 main::c1#1 ] reg byte x [ main::c#2 main::c#1 ] zp[2]:4 [ main::$6 main::$9 ] -zp[2]:6 [ main::$2 main::$8 ] -zp[2]:8 [ main::$4 main::$7 ] +zp[2]:6 [ main::$4 main::$8 ] +zp[2]:8 [ main::$7 ] FINAL ASSEMBLER -Score: 10741 +Score: 8941 // File Comments // Upstart @@ -709,8 +685,7 @@ Score: 10741 // main main: { .label screen = $400 - .label __2 = 6 - .label __4 = 8 + .label __4 = 6 .label __6 = 4 .label line = 2 .label __7 = 8 @@ -803,16 +778,7 @@ main: { // main::@3 __b3: // line+c - // [13] (word~) main::$2 ← (word) main::line#10 + (byte) main::c#2 -- vwuz1=vwuz2_plus_vbuxx - txa - clc - adc.z line - sta.z __2 - lda #0 - adc.z line+1 - sta.z __2+1 - // line+c+40 - // [14] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 -- vwuz1=vwuz2_plus_vbuxx + // [13] (word~) main::$4 ← (word) main::line#10 + (byte) main::c#2 -- vwuz1=vwuz2_plus_vbuxx txa clc adc.z line @@ -821,15 +787,15 @@ main: { adc.z line+1 sta.z __4+1 // screen[line+c] = screen[line+c+40] - // [15] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 -- pbuz1=pbuc1_plus_vwuz1 + // [14] (byte*~) main::$7 ← (const byte*) main::screen+(byte) $28 + (word~) main::$4 -- pbuz1=pbuc1_plus_vwuz2 + lda.z __4 clc - lda.z __7 adc #screen+$28 sta.z __7+1 - // [16] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$2 -- pbuz1=pbuc1_plus_vwuz1 + // [15] (byte*~) main::$8 ← (const byte*) main::screen + (word~) main::$4 -- pbuz1=pbuc1_plus_vwuz1 clc lda.z __8 adc #screen sta.z __8+1 - // [17] *((byte*~) main::$8) ← *((byte*~) main::$7) -- _deref_pbuz1=_deref_pbuz2 + // [16] *((byte*~) main::$8) ← *((byte*~) main::$7) -- _deref_pbuz1=_deref_pbuz2 ldy #0 lda (__7),y sta (__8),y // for (byte c=0; c<40; ++c) - // [18] (byte) main::c#1 ← ++ (byte) main::c#2 -- vbuxx=_inc_vbuxx + // [17] (byte) main::c#1 ← ++ (byte) main::c#2 -- vbuxx=_inc_vbuxx inx // [10] phi from main::@3 to main::@2 [phi:main::@3->main::@2] // [10] phi (byte) main::c#2 = (byte) main::c#1 [phi:main::@3->main::@2#0] -- register_copy diff --git a/src/test/ref/test-word-size-arrays.sym b/src/test/ref/test-word-size-arrays.sym index 94567b10e..97cdef34b 100644 --- a/src/test/ref/test-word-size-arrays.sym +++ b/src/test/ref/test-word-size-arrays.sym @@ -1,6 +1,5 @@ (void()) main() -(word~) main::$2 zp[2]:6 67.33333333333333 -(word~) main::$4 zp[2]:8 202.0 +(word~) main::$4 zp[2]:6 151.5 (word~) main::$6 zp[2]:4 22.0 (byte*~) main::$7 zp[2]:8 101.0 (byte*~) main::$8 zp[2]:6 202.0 @@ -14,12 +13,12 @@ (label) main::@return (byte) main::c (byte) main::c#1 reg byte x 202.0 -(byte) main::c#2 reg byte x 72.14285714285714 +(byte) main::c#2 reg byte x 67.33333333333333 (byte) main::c1 (byte) main::c1#1 reg byte x 22.0 (byte) main::c1#2 reg byte x 8.8 (word) main::line -(word) main::line#10 line zp[2]:2 15.375 +(word) main::line#10 line zp[2]:2 9.666666666666666 (word) main::line#2 line zp[2]:2 22.0 (const byte*) main::screen = (byte*) 1024 @@ -27,5 +26,5 @@ zp[2]:2 [ main::line#10 main::line#2 ] reg byte x [ main::c1#2 main::c1#1 ] reg byte x [ main::c#2 main::c#1 ] zp[2]:4 [ main::$6 main::$9 ] -zp[2]:6 [ main::$2 main::$8 ] -zp[2]:8 [ main::$4 main::$7 ] +zp[2]:6 [ main::$4 main::$8 ] +zp[2]:8 [ main::$7 ]