From 93fb8e1bff2bacdaed3978c4210644a8a0ecedd2 Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Tue, 3 Apr 2018 22:52:59 +0200 Subject: [PATCH] Added form colors. Added all fields to form. --- .../kickc/test/kc/c64dtv-gfxexplorer.kc | 39 +- .../kickc/test/ref/c64dtv-gfxexplorer.asm | 89 +- .../kickc/test/ref/c64dtv-gfxexplorer.cfg | 342 +- .../kickc/test/ref/c64dtv-gfxexplorer.log | 5205 +++++++++-------- .../kickc/test/ref/c64dtv-gfxexplorer.sym | 68 +- 5 files changed, 2968 insertions(+), 2775 deletions(-) diff --git a/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxexplorer.kc b/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxexplorer.kc index 2935d23ce..e055070d9 100644 --- a/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxexplorer.kc +++ b/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxexplorer.kc @@ -11,12 +11,23 @@ void main() { } } +byte[] MENU_COLS = + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn ooooooooo @" + + " nnnnnnn nnnnnnnn ooooooooo @" + + " nnnnnnn nnnnnnnn ooooooooo @" + + "@" ; byte[] MENU_TEXT = - " DTV GfxExplorer PRESET 8bpp pixel cell @" + + " DTV GfxExplorer MODE 0 8bpp pixel cell @" + " CONTROL PLANE A PLANE B VIC II @" + - " bmm 0 patt p1 patt p2 screen s3 @" + - " mcm 0 start 00 start 00 gfx g4 @" + - " ecm 0 step 00 step 00 colors c5 @" + + " bmm 0 patt p0 patt p0 screen s0 @" + + " mcm 0 start 00 start 00 gfx g0 @" + + " ecm 0 step 00 step 00 colors c0 @" + " hicol 0 mod 00 mod 00 bgcol0 00 @" + " line 0 bgcol1 00 @" + " colof 0 borof 0 bgcol2 00 @" + @@ -45,12 +56,14 @@ void menu() { for(byte i : 0..$f) { DTV_PALETTE[i] = DTV_PALETTE_DEFAULT[i]; } - // Char Colors - for(byte* c=COLS;c!=COLS+1000;c++) *c=LIGHT_GREEN; // Screen colors *BGCOL = 0; *BORDERCOL = 0; - // Display menu Text + // Menu Colors + print_set_screen(COLS); + print_cls(); + print_str_lines(MENU_COLS); + // Menu Text print_set_screen(SCREEN); print_cls(); print_str_lines(MENU_TEXT); @@ -70,14 +83,14 @@ byte[25] form_line_hi; // Current selected field in the form byte form_field_idx = 0; // Number of form fields -byte form_fields_cnt = 9; +byte form_fields_cnt = 35; // Form fields x/y-positions -byte[] form_fields_x = { 7, 7, 7, 7, 7, 7, 7, 17, 17 }; -byte[] form_fields_y = { 2, 3, 4, 5, 6, 7, 8, 7, 8 }; -// Form field max values (all values are in the interval 0 .. max-1) -byte[] form_fields_max = { 1, 1, 1, 1, 1, 2, 1, 1, 1 }; +byte[] form_fields_x = { 22, 7, 7, 7, 7, 7, 7, 7, 17, 17, 17, 16, 17, 16, 17, 16, 17, 27, 26, 27, 26, 27, 26, 27, 38, 38, 38, 37, 38, 37, 38, 37, 38, 37, 38 }; +byte[] form_fields_y = { 0, 2, 3, 4, 5, 6, 7, 8, 7, 8, 2, 3, 3, 4, 4, 5, 5, 2, 3, 3, 4, 4, 5, 5, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8 }; +// Form field max values (all values are in the interval 0..max) +byte[] form_fields_max = { $d, 1, 1, 1, 1, 1, 2, 1, 1, 1, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f }; // Form fields values -byte[] form_fields_val = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +byte[] form_fields_val = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // Press-status for the DOWN key from last frame - used for debounce byte key_down_debounce = 0; diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.asm b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.asm index db86899c2..57860a035 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.asm @@ -15,7 +15,6 @@ .label CIA1_PORT_B = $dc01 .label CIA2_PORT_A = $dd00 .label CIA2_PORT_A_DDR = $dd02 - .const LIGHT_GREEN = $d .label DTV_FEATURE = $d03f .const DTV_FEATURE_ENABLE = 1 .label DTV_CONTROL = $d03c @@ -27,14 +26,14 @@ .const KEY_CRSR_RIGHT = 2 .const KEY_CRSR_DOWN = 7 .const KEY_RSHIFT = $34 - .const form_fields_cnt = 9 + .const form_fields_cnt = $23 .const FORM_CURSOR_BLINK = $28 .label print_char_cursor = 8 + .label print_line_cursor = $a .label form_cursor_count = 2 .label key_down_debounce = 3 .label form_field_idx = 4 .label key_right_debounce = 5 - .label print_line_cursor = $a jsr main main: { sei @@ -53,7 +52,6 @@ main: { menu: { .label SCREEN = $8000 .label CHARSET = $9800 - .label c = 6 lda #($ffffffff&CHARSET)/$10000 sta DTV_GRAPHICS_VIC_BANK lda #DTV_COLOR_BANK_DEFAULT/$400 @@ -78,38 +76,39 @@ menu: { inx cpx #$10 bne b1 - lda #COLS - sta c+1 - b2: - lda #LIGHT_GREEN - ldy #0 - sta (c),y - inc c - bne !+ - inc c+1 - !: - lda c+1 - cmp #>COLS+$3e8 - bne b2 - lda c - cmp #COLS + sta print_set_screen.screen+1 jsr print_set_screen jsr print_cls + lda #MENU_COLS + sta print_str_lines.str+1 + jsr print_str_lines + lda #SCREEN + sta print_set_screen.screen+1 + jsr print_set_screen + jsr print_cls + lda #MENU_TEXT + sta print_str_lines.str+1 jsr print_str_lines jsr form_set_screen jsr form_render_values - b6: + b5: lda RASTER cmp #$ff - bne b6 + bne b5 jsr form_control - jmp b6 + jmp b5 } form_control: { .label field = 6 @@ -297,18 +296,10 @@ form_set_screen: { } print_str_lines: { .label str = 6 - lda #menu.SCREEN - sta print_line_cursor+1 - lda #menu.SCREEN + lda print_set_screen.screen+1 sta print_char_cursor+1 - lda #MENU_TEXT - sta str+1 b1: ldy #0 lda (str),y @@ -360,10 +351,11 @@ print_ln: { rts } print_cls: { + .label _0 = 8 .label sc = 6 - lda #menu.SCREEN + lda print_set_screen.screen+1 sta sc+1 b1: lda #' ' @@ -373,15 +365,23 @@ print_cls: { bne !+ inc sc+1 !: + lda print_set_screen.screen + clc + adc #<$3e8 + sta _0 + lda print_set_screen.screen+1 + adc #>$3e8 + sta _0+1 lda sc+1 - cmp #>menu.SCREEN+$3e8 + cmp _0+1 bne b1 lda sc - cmp #=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) + [50] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) + [51] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) + [52] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) to:form_control::@1 form_control::@1: scope:[form_control] from form_control::@32 form_control::@37 - [51] (signed byte) form_cursor_count#15 ← phi( form_control::@32/(const signed byte) FORM_CURSOR_BLINK#0 form_control::@37/(signed byte) form_cursor_count#5 ) [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) - [52] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [53] (signed byte) form_cursor_count#15 ← phi( form_control::@32/(const signed byte) FORM_CURSOR_BLINK#0 form_control::@37/(signed byte) form_cursor_count#5 ) [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) to:form_control::@17 form_control::@17: scope:[form_control] from form_control::@1 - [53] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) - [54] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) + [56] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) to:form_control::@3 form_control::@3: scope:[form_control] from form_control::@17 form_control::@2 - [55] phi() [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) - [56] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) - [57] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) + [57] phi() [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [58] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) + [59] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) to:form_control::@33 form_control::@33: scope:[form_control] from form_control::@3 - [58] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) - [59] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) + [60] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) + [61] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) to:form_control::@19 form_control::@19: scope:[form_control] from form_control::@33 - [60] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) - [61] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) + [62] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) + [63] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) to:form_control::@20 form_control::@20: scope:[form_control] from form_control::@19 - [62] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) - [63] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) - [64] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) - [65] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) + [64] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) + [65] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) + [66] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) + [67] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) to:form_control::@35 form_control::@35: scope:[form_control] from form_control::@20 - [66] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) - [67] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) + [68] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) + [69] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) to:form_control::@21 form_control::@21: scope:[form_control] from form_control::@35 - [68] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) - [69] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) + [70] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) + [71] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) to:form_control::@8 form_control::@8: scope:[form_control] from form_control::@21 form_control::@38 form_control::@39 form_control::@6 - [70] (byte) form_field_idx#32 ← phi( form_control::@21/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@6/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@38/(byte) form_field_idx#41 form_control::@39/(byte) form_field_idx#42 ) [ key_right_debounce#11 key_down_debounce#23 form_field_idx#32 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#32 ] ) + [72] (byte) form_field_idx#32 ← phi( form_control::@21/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@6/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@38/(byte) form_field_idx#41 form_control::@39/(byte) form_field_idx#42 ) [ key_right_debounce#11 key_down_debounce#23 form_field_idx#32 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#32 ] ) to:form_control::@return form_control::@return: scope:[form_control] from form_control::@14 form_control::@26 form_control::@34 form_control::@8 - [71] (byte) key_right_debounce#13 ← phi( form_control::@34/(byte) key_right_debounce#11 form_control::@26/(byte) key_right_debounce#21 form_control::@14/(byte) key_right_debounce#21 form_control::@8/(byte) key_right_debounce#11 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) - [71] (byte) form_field_idx#18 ← phi( form_control::@34/(byte) form_field_idx#14 form_control::@26/(byte) form_field_idx#14 form_control::@14/(byte) form_field_idx#14 form_control::@8/(byte) form_field_idx#32 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) - [71] (byte) key_down_debounce#13 ← phi( form_control::@34/(byte) key_down_debounce#20 form_control::@26/(byte) key_down_debounce#20 form_control::@14/(byte) key_down_debounce#20 form_control::@8/(byte) key_down_debounce#23 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) - [71] (signed byte) form_cursor_count#16 ← phi( form_control::@34/(signed byte) form_cursor_count#15 form_control::@26/(signed byte) form_cursor_count#15 form_control::@14/(signed byte) form_cursor_count#15 form_control::@8/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) - [72] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [73] (byte) key_right_debounce#13 ← phi( form_control::@34/(byte) key_right_debounce#11 form_control::@26/(byte) key_right_debounce#21 form_control::@14/(byte) key_right_debounce#21 form_control::@8/(byte) key_right_debounce#11 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [73] (byte) form_field_idx#18 ← phi( form_control::@34/(byte) form_field_idx#14 form_control::@26/(byte) form_field_idx#14 form_control::@14/(byte) form_field_idx#14 form_control::@8/(byte) form_field_idx#32 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [73] (byte) key_down_debounce#13 ← phi( form_control::@34/(byte) key_down_debounce#20 form_control::@26/(byte) key_down_debounce#20 form_control::@14/(byte) key_down_debounce#20 form_control::@8/(byte) key_down_debounce#23 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [73] (signed byte) form_cursor_count#16 ← phi( form_control::@34/(signed byte) form_cursor_count#15 form_control::@26/(signed byte) form_cursor_count#15 form_control::@14/(signed byte) form_cursor_count#15 form_control::@8/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [74] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) to:@return form_control::@38: scope:[form_control] from form_control::@21 - [73] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) + [75] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) to:form_control::@8 form_control::@6: scope:[form_control] from form_control::@35 - [74] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) - [75] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) + [76] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) + [77] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) to:form_control::@8 form_control::@39: scope:[form_control] from form_control::@6 - [76] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) + [78] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) to:form_control::@8 form_control::@4: scope:[form_control] from form_control::@19 form_control::@33 - [77] (byte) key_down_debounce#20 ← phi( form_control::@33/(byte) key_down_debounce#11 form_control::@19/(byte) key_down_debounce#23 ) [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 ] ) - [78] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) - [79] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) + [79] (byte) key_down_debounce#20 ← phi( form_control::@33/(byte) key_down_debounce#11 form_control::@19/(byte) key_down_debounce#23 ) [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 ] ) + [80] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) + [81] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) to:form_control::@34 form_control::@34: scope:[form_control] from form_control::@4 - [80] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) - [81] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) + [82] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) + [83] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) to:form_control::@26 form_control::@26: scope:[form_control] from form_control::@34 - [82] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) - [83] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [84] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) + [85] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@27 form_control::@27: scope:[form_control] from form_control::@26 - [84] phi() [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) - [85] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) - [86] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) + [86] phi() [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [87] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) + [88] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) to:form_control::@36 form_control::@36: scope:[form_control] from form_control::@27 - [87] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) - [88] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [89] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) + [90] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@28 form_control::@28: scope:[form_control] from form_control::@36 - [89] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) - [90] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [92] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@29 form_control::@29: scope:[form_control] from form_control::@28 - [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@14 form_control::@14: scope:[form_control] from form_control::@12 form_control::@28 form_control::@29 form_control::@31 - [92] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [94] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@return form_control::@12: scope:[form_control] from form_control::@36 - [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) - [94] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [96] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@31 form_control::@31: scope:[form_control] from form_control::@12 - [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [97] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@14 form_control::@2: scope:[form_control] from form_control::@1 - [96] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) - [97] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [98] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) + [99] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) to:form_control::@3 form_control::@37: scope:[form_control] from form_control::@32 - [98] phi() [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) + [100] phi() [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) to:form_control::@1 keyboard_key_pressed: scope:[keyboard_key_pressed] from form_control::@20 form_control::@27 form_control::@3 form_control::@4 - [99] (byte) keyboard_key_pressed::key#4 ← phi( form_control::@20/(const byte) KEY_RSHIFT#0 form_control::@27/(const byte) KEY_RSHIFT#0 form_control::@3/(const byte) KEY_CRSR_DOWN#0 form_control::@4/(const byte) KEY_CRSR_RIGHT#0 ) [ keyboard_key_pressed::key#4 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 ] ) - [100] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) - [101] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) - [102] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) - [103] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - [104] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) + [101] (byte) keyboard_key_pressed::key#4 ← phi( form_control::@20/(const byte) KEY_RSHIFT#0 form_control::@27/(const byte) KEY_RSHIFT#0 form_control::@3/(const byte) KEY_CRSR_DOWN#0 form_control::@4/(const byte) KEY_CRSR_RIGHT#0 ) [ keyboard_key_pressed::key#4 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 ] ) + [102] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) + [103] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) + [104] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) + [105] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [106] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) to:keyboard_key_pressed::@2 keyboard_key_pressed::@2: scope:[keyboard_key_pressed] from keyboard_key_pressed - [105] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) - [106] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) + [107] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) + [108] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) to:keyboard_key_pressed::@return keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_pressed::@2 - [107] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) + [109] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) to:@return keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_key_pressed - [108] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) - [109] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [110] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) + [111] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) to:keyboard_matrix_read::@return keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read - [110] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [112] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) to:@return form_field_ptr: scope:[form_field_ptr] from form_control form_render_values::@1 - [111] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@1/(byte) form_field_ptr::field_idx#0 ) [ form_field_ptr::field_idx#2 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 ] ) - [112] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) - [113] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) - [114] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) - [115] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) + [113] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@1/(byte) form_field_ptr::field_idx#0 ) [ form_field_ptr::field_idx#2 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 ] ) + [114] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) + [115] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) + [116] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) + [117] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) to:form_field_ptr::@return form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr - [116] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) + [118] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) to:@return -form_render_values: scope:[form_render_values] from menu::@20 - [117] phi() [ ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +form_render_values: scope:[form_render_values] from menu::@21 + [119] phi() [ ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:form_render_values::@1 form_render_values::@1: scope:[form_render_values] from form_render_values form_render_values::@3 - [118] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte/signed byte/word/signed word/dword/signed dword) 0 form_render_values::@3/(byte) form_render_values::idx#1 ) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) - [119] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) - [120] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) - [121] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) + [120] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte/signed byte/word/signed word/dword/signed dword) 0 form_render_values::@3/(byte) form_render_values::idx#1 ) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) + [121] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) + [122] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) + [123] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) to:form_render_values::@3 form_render_values::@3: scope:[form_render_values] from form_render_values::@1 - [122] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) - [123] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) - [124] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) - [125] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) + [124] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) + [125] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) + [126] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) + [127] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) to:form_render_values::@return form_render_values::@return: scope:[form_render_values] from form_render_values::@3 - [126] return [ ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [128] return [ ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:@return -form_set_screen: scope:[form_set_screen] from menu::@19 - [127] phi() [ ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +form_set_screen: scope:[form_set_screen] from menu::@20 + [129] phi() [ ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:form_set_screen::@1 form_set_screen::@1: scope:[form_set_screen] from form_set_screen form_set_screen::@1 - [128] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte/signed byte/word/signed word/dword/signed dword) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) - [128] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const byte*) menu::SCREEN#0 form_set_screen::@1/(byte*) form_set_screen::line#1 ) [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) - [129] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) - [130] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) - [131] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) - [132] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) - [133] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) - [134] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) - [135] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) + [130] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte/signed byte/word/signed word/dword/signed dword) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) + [130] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const byte*) menu::SCREEN#0 form_set_screen::@1/(byte*) form_set_screen::line#1 ) [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) + [131] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) + [132] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) + [133] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) + [134] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) + [135] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) + [136] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) + [137] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) to:form_set_screen::@return form_set_screen::@return: scope:[form_set_screen] from form_set_screen::@1 - [136] return [ ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [138] return [ ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:@return -print_str_lines: scope:[print_str_lines] from menu::@18 - [137] phi() [ ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +print_str_lines: scope:[print_str_lines] from menu::@16 menu::@19 + [139] (byte*) print_str_lines::str#5 ← phi( menu::@16/(const string) MENU_COLS#0 menu::@19/(const string) MENU_TEXT#0 ) [ print_str_lines::str#5 print_set_screen::screen#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_set_screen::screen#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_set_screen::screen#2 ] ) + [140] (byte*~) print_char_cursor#63 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] ) to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@9 - [138] (byte*) print_line_cursor#17 ← phi( print_str_lines/(const byte*) menu::SCREEN#0 print_str_lines::@9/(byte*) print_line_cursor#19 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [138] (byte*) print_char_cursor#19 ← phi( print_str_lines/(const byte*) menu::SCREEN#0 print_str_lines::@9/(byte*~) print_char_cursor#59 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [138] (byte*) print_str_lines::str#2 ← phi( print_str_lines/(const string) MENU_TEXT#0 print_str_lines::@9/(byte*) print_str_lines::str#0 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [139] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [141] (byte*) print_line_cursor#2 ← phi( print_str_lines/(byte*) print_set_screen::screen#2 print_str_lines::@9/(byte*) print_line_cursor#22 ) [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) + [141] (byte*) print_char_cursor#22 ← phi( print_str_lines/(byte*~) print_char_cursor#63 print_str_lines::@9/(byte*~) print_char_cursor#64 ) [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) + [141] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@9/(byte*) print_str_lines::str#0 ) [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) + [142] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - [140] return [ ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [143] return [ ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:@return print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@5 - [141] (byte*) print_char_cursor#17 ← phi( print_str_lines::@1/(byte*) print_char_cursor#19 print_str_lines::@5/(byte*) print_char_cursor#32 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) - [141] (byte*) print_str_lines::str#3 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#2 print_str_lines::@5/(byte*) print_str_lines::str#0 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) - [142] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) - [143] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) - [144] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) + [144] (byte*) print_char_cursor#20 ← phi( print_str_lines::@1/(byte*) print_char_cursor#22 print_str_lines::@5/(byte*) print_char_cursor#38 ) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] ) + [144] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@5/(byte*) print_str_lines::str#0 ) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] ) + [145] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) + [146] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) + [147] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) to:print_str_lines::@8 print_str_lines::@8: scope:[print_str_lines] from print_str_lines::@4 - [145] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) - [146] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) + [148] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) + [149] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 [ print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@4 print_str_lines::@8 - [147] (byte*) print_char_cursor#32 ← phi( print_str_lines::@4/(byte*) print_char_cursor#17 print_str_lines::@8/(byte*) print_char_cursor#1 ) [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ) - [148] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) + [150] (byte*) print_char_cursor#38 ← phi( print_str_lines::@4/(byte*) print_char_cursor#20 print_str_lines::@8/(byte*) print_char_cursor#1 ) [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 print_str_lines::ch#0 ] ) + [151] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ) to:print_str_lines::@9 print_str_lines::@9: scope:[print_str_lines] from print_str_lines::@5 - [149] phi() [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) - [150] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) - [151] (byte*~) print_char_cursor#59 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ) + [152] phi() [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ) + [153] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) + [154] (byte*~) print_char_cursor#64 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ) to:print_str_lines::@1 print_ln: scope:[print_ln] from print_str_lines::@9 - [152] phi() [ print_line_cursor#17 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#17 print_char_cursor#32 ] ) + [155] phi() [ print_line_cursor#2 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#38 ] ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [153] (byte*) print_line_cursor#18 ← phi( print_ln/(byte*) print_line_cursor#17 print_ln::@1/(byte*) print_line_cursor#19 ) [ print_char_cursor#32 print_line_cursor#18 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#32 print_line_cursor#18 ] ) - [154] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) - [155] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) + [156] (byte*) print_line_cursor#21 ← phi( print_ln/(byte*) print_line_cursor#2 print_ln::@1/(byte*) print_line_cursor#22 ) [ print_char_cursor#38 print_line_cursor#21 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#38 print_line_cursor#21 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#38 print_line_cursor#21 ] ) + [157] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) + [158] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [156] return [ print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) + [159] return [ print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) to:@return -print_cls: scope:[print_cls] from menu::@17 - [157] phi() [ ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +print_cls: scope:[print_cls] from menu::@15 menu::@18 + [160] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 [ print_set_screen::screen#2 print_cls::sc#0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#0 ] ) to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [158] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) menu::SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#2 ] ) - [159] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#2 ] ) - [160] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) - [161] if((byte*) print_cls::sc#1!=(const byte*) menu::SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) + [161] (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] ) + [162] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] ) + [163] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) + [164] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) + [165] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [162] return [ ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [166] return [ print_set_screen::screen#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) to:@return -print_set_screen: scope:[print_set_screen] from menu::@10 - [163] phi() [ ] ( main:2::menu:10::print_set_screen:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +print_set_screen: scope:[print_set_screen] from menu::@17 menu::@8 + [167] (byte*) print_set_screen::screen#2 ← phi( menu::@17/(const byte*) menu::SCREEN#0 menu::@8/(const byte*) COLS#0 ) [ print_set_screen::screen#2 ] ( main:2::menu:10::print_set_screen:26 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] main:2::menu:10::print_set_screen:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - [164] return [ ] ( main:2::menu:10::print_set_screen:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [168] return [ print_set_screen::screen#2 ] ( main:2::menu:10::print_set_screen:26 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] main:2::menu:10::print_set_screen:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) to:@return diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log index f0e392a76..d06b4e596 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log @@ -12,12 +12,23 @@ void main() { } } +byte[] MENU_COLS = + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + + " nnnnnnn ooooooooo @" + + " nnnnnnn nnnnnnnn ooooooooo @" + + " nnnnnnn nnnnnnnn ooooooooo @" + + "@" ; byte[] MENU_TEXT = - " DTV GfxExplorer PRESET 8bpp pixel cell @" + + " DTV GfxExplorer MODE 0 8bpp pixel cell @" + " CONTROL PLANE A PLANE B VIC II @" + - " bmm 0 patt p1 patt p2 screen s3 @" + - " mcm 0 start 00 start 00 gfx g4 @" + - " ecm 0 step 00 step 00 colors c5 @" + + " bmm 0 patt p0 patt p0 screen s0 @" + + " mcm 0 start 00 start 00 gfx g0 @" + + " ecm 0 step 00 step 00 colors c0 @" + " hicol 0 mod 00 mod 00 bgcol0 00 @" + " line 0 bgcol1 00 @" + " colof 0 borof 0 bgcol2 00 @" + @@ -46,12 +57,14 @@ void menu() { for(byte i : 0..$f) { DTV_PALETTE[i] = DTV_PALETTE_DEFAULT[i]; } - // Char Colors - for(byte* c=COLS;c!=COLS+1000;c++) *c=LIGHT_GREEN; // Screen colors *BGCOL = 0; *BORDERCOL = 0; - // Display menu Text + // Menu Colors + print_set_screen(COLS); + print_cls(); + print_str_lines(MENU_COLS); + // Menu Text print_set_screen(SCREEN); print_cls(); print_str_lines(MENU_TEXT); @@ -71,14 +84,14 @@ byte[25] form_line_hi; // Current selected field in the form byte form_field_idx = 0; // Number of form fields -byte form_fields_cnt = 9; +byte form_fields_cnt = 35; // Form fields x/y-positions -byte[] form_fields_x = { 7, 7, 7, 7, 7, 7, 7, 17, 17 }; -byte[] form_fields_y = { 2, 3, 4, 5, 6, 7, 8, 7, 8 }; -// Form field max values (all values are in the interval 0 .. max-1) -byte[] form_fields_max = { 1, 1, 1, 1, 1, 2, 1, 1, 1 }; +byte[] form_fields_x = { 22, 7, 7, 7, 7, 7, 7, 7, 17, 17, 17, 16, 17, 16, 17, 16, 17, 27, 26, 27, 26, 27, 26, 27, 38, 38, 38, 37, 38, 37, 38, 37, 38, 37, 38 }; +byte[] form_fields_y = { 0, 2, 3, 4, 5, 6, 7, 8, 7, 8, 2, 3, 3, 4, 4, 5, 5, 2, 3, 3, 4, 4, 5, 5, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8 }; +// Form field max values (all values are in the interval 0..max) +byte[] form_fields_max = { $d, 1, 1, 1, 1, 1, 2, 1, 1, 1, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f, $f }; // Form fields values -byte[] form_fields_val = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +byte[] form_fields_val = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // Press-status for the DOWN key from last frame - used for debounce byte key_down_debounce = 0; @@ -630,7 +643,6 @@ byte keyboard_get_keycode(byte ch) { return keyboard_char_keycodes[ch]; } Importing c64.kc -Adding pre/post-modifier (byte*) menu::c ← ++ (byte*) menu::c Adding pre/post-modifier (byte) form_render_values::idx ← ++ (byte) form_render_values::idx Adding pre/post-modifier (signed byte) form_cursor_count ← -- (signed byte) form_cursor_count Adding pre/post-modifier (byte) form_field_idx ← ++ (byte) form_field_idx @@ -1018,16 +1030,26 @@ main::@3: main::@return: return endproc // main() - (string~) $0 ← (string) " DTV GfxExplorer PRESET 8bpp pixel cell @" + (string) " CONTROL PLANE A PLANE B VIC II @" - (string~) $1 ← (string~) $0 + (string) " bmm 0 patt p1 patt p2 screen s3 @" - (string~) $2 ← (string~) $1 + (string) " mcm 0 start 00 start 00 gfx g4 @" - (string~) $3 ← (string~) $2 + (string) " ecm 0 step 00 step 00 colors c5 @" - (string~) $4 ← (string~) $3 + (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" - (string~) $5 ← (string~) $4 + (string) " line 0 bgcol1 00 @" - (string~) $6 ← (string~) $5 + (string) " colof 0 borof 0 bgcol2 00 @" - (string~) $7 ← (string~) $6 + (string) " chunk 0 overs 0 bgcol3 00 @" + (string~) $0 ← (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $1 ← (string~) $0 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $2 ← (string~) $1 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $3 ← (string~) $2 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $4 ← (string~) $3 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $5 ← (string~) $4 + (string) " nnnnnnn ooooooooo @" + (string~) $6 ← (string~) $5 + (string) " nnnnnnn nnnnnnnn ooooooooo @" + (string~) $7 ← (string~) $6 + (string) " nnnnnnn nnnnnnnn ooooooooo @" (string~) $8 ← (string~) $7 + (string) "@" - (byte[]) MENU_TEXT ← (string~) $8 + (byte[]) MENU_COLS ← (string~) $8 + (string~) $9 ← (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @" + (string) " CONTROL PLANE A PLANE B VIC II @" + (string~) $10 ← (string~) $9 + (string) " bmm 0 patt p0 patt p0 screen s0 @" + (string~) $11 ← (string~) $10 + (string) " mcm 0 start 00 start 00 gfx g0 @" + (string~) $12 ← (string~) $11 + (string) " ecm 0 step 00 step 00 colors c0 @" + (string~) $13 ← (string~) $12 + (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" + (string~) $14 ← (string~) $13 + (string) " line 0 bgcol1 00 @" + (string~) $15 ← (string~) $14 + (string) " colof 0 borof 0 bgcol2 00 @" + (string~) $16 ← (string~) $15 + (string) " chunk 0 overs 0 bgcol3 00 @" + (string~) $17 ← (string~) $16 + (string) "@" + (byte[]) MENU_TEXT ← (string~) $17 proc (void()) menu() (byte*) menu::SCREEN ← (word/dword/signed dword) 32768 (byte*) menu::CHARSET ← (word/dword/signed dword) 38912 @@ -1069,50 +1091,46 @@ menu::@1: (byte) menu::i ← ++ (byte) menu::i (boolean~) menu::$23 ← (byte) menu::i != (byte/signed byte/word/signed word/dword/signed dword) 16 if((boolean~) menu::$23) goto menu::@1 - (byte*) menu::c ← (byte*) COLS -menu::@2: - *((byte*) menu::c) ← (byte) LIGHT_GREEN - (byte*) menu::c ← ++ (byte*) menu::c - (byte*~) menu::$24 ← (byte*) COLS + (word/signed word/dword/signed dword) 1000 - (boolean~) menu::$25 ← (byte*) menu::c != (byte*~) menu::$24 - if((boolean~) menu::$25) goto menu::@2 *((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 *((byte*) BORDERCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (void~) menu::$26 ← call print_set_screen (byte*) menu::SCREEN - (void~) menu::$27 ← call print_cls - (void~) menu::$28 ← call print_str_lines (byte[]) MENU_TEXT - (void~) menu::$29 ← call form_set_screen (byte*) menu::SCREEN - (void~) menu::$30 ← call form_render_values + (void~) menu::$24 ← call print_set_screen (byte*) COLS + (void~) menu::$25 ← call print_cls + (void~) menu::$26 ← call print_str_lines (byte[]) MENU_COLS + (void~) menu::$27 ← call print_set_screen (byte*) menu::SCREEN + (void~) menu::$28 ← call print_cls + (void~) menu::$29 ← call print_str_lines (byte[]) MENU_TEXT + (void~) menu::$30 ← call form_set_screen (byte*) menu::SCREEN + (void~) menu::$31 ← call form_render_values +menu::@2: + if(true) goto menu::@3 + goto menu::@4 menu::@3: - if(true) goto menu::@4 - goto menu::@5 -menu::@4: -menu::@6: - (boolean~) menu::$31 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword) 255 - if((boolean~) menu::$31) goto menu::@7 - goto menu::@8 -menu::@7: - goto menu::@6 -menu::@8: - (void~) menu::$32 ← call form_control - goto menu::@3 menu::@5: + (boolean~) menu::$32 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword) 255 + if((boolean~) menu::$32) goto menu::@6 + goto menu::@7 +menu::@6: + goto menu::@5 +menu::@7: + (void~) menu::$33 ← call form_control + goto menu::@2 +menu::@4: menu::@return: return endproc // menu() (byte[25]) form_line_lo ← { fill( 25, 0) } (byte[25]) form_line_hi ← { fill( 25, 0) } (byte) form_field_idx ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (byte) form_fields_cnt ← (byte/signed byte/word/signed word/dword/signed dword) 9 - (byte[]) form_fields_x ← { (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17 } - (byte[]) form_fields_y ← { (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8 } - (byte[]) form_fields_max ← { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1 } - (byte[]) form_fields_val ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 } + (byte) form_fields_cnt ← (byte/signed byte/word/signed word/dword/signed dword) 35 + (byte[]) form_fields_x ← { (byte/signed byte/word/signed word/dword/signed dword) 22, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38 } + (byte[]) form_fields_y ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 8 } + (byte[]) form_fields_max ← { (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15 } + (byte[]) form_fields_val ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 } (byte) key_down_debounce ← (byte/signed byte/word/signed word/dword/signed dword) 0 (byte) key_right_debounce ← (byte/signed byte/word/signed word/dword/signed dword) 0 (signed byte) FORM_CURSOR_BLINK ← (byte/signed byte/word/signed word/dword/signed dword) 40 - (signed word/signed byte/signed dword~) $9 ← (signed byte) FORM_CURSOR_BLINK / (byte/signed byte/word/signed word/dword/signed dword) 2 - (signed byte) form_cursor_count ← (signed word/signed byte/signed dword~) $9 + (signed word/signed byte/signed dword~) $18 ← (signed byte) FORM_CURSOR_BLINK / (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed byte) form_cursor_count ← (signed word/signed byte/signed dword~) $18 proc (void()) form_set_screen((byte*) form_set_screen::screen) (byte*) form_set_screen::line ← (byte*) form_set_screen::screen (byte) form_set_screen::y ← (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -1249,6 +1267,15 @@ endproc // form_control() SYMBOLS (string~) $0 (string~) $1 +(string~) $10 +(string~) $11 +(string~) $12 +(string~) $13 +(string~) $14 +(string~) $15 +(string~) $16 +(string~) $17 +(signed word/signed byte/signed dword~) $18 (string~) $2 (string~) $3 (string~) $4 @@ -1256,7 +1283,7 @@ SYMBOLS (string~) $6 (string~) $7 (string~) $8 -(signed word/signed byte/signed dword~) $9 +(string~) $9 (byte*) BGCOL (byte*) BGCOL1 (byte*) BGCOL2 @@ -1382,6 +1409,7 @@ SYMBOLS (byte) LIGHT_BLUE (byte) LIGHT_GREEN (byte) LIGHT_GREY +(byte[]) MENU_COLS (byte[]) MENU_TEXT (byte) ORANGE (byte) PINK @@ -1565,16 +1593,17 @@ SYMBOLS (word/dword~) menu::$21 (byte~) menu::$22 (boolean~) menu::$23 -(byte*~) menu::$24 -(boolean~) menu::$25 +(void~) menu::$24 +(void~) menu::$25 (void~) menu::$26 (void~) menu::$27 (void~) menu::$28 (void~) menu::$29 (dword~) menu::$3 (void~) menu::$30 -(boolean~) menu::$31 -(void~) menu::$32 +(void~) menu::$31 +(boolean~) menu::$32 +(void~) menu::$33 (word~) menu::$4 (byte~) menu::$5 (dword~) menu::$6 @@ -1588,11 +1617,9 @@ SYMBOLS (label) menu::@5 (label) menu::@6 (label) menu::@7 -(label) menu::@8 (label) menu::@return (byte*) menu::CHARSET (byte*) menu::SCREEN -(byte*) menu::c (byte) menu::i (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 @@ -2254,16 +2281,26 @@ main::@return: scope:[main] from main::@3 return to:@return @20: scope:[] from @19 - (string~) $0 ← (string) " DTV GfxExplorer PRESET 8bpp pixel cell @" + (string) " CONTROL PLANE A PLANE B VIC II @" - (string~) $1 ← (string~) $0 + (string) " bmm 0 patt p1 patt p2 screen s3 @" - (string~) $2 ← (string~) $1 + (string) " mcm 0 start 00 start 00 gfx g4 @" - (string~) $3 ← (string~) $2 + (string) " ecm 0 step 00 step 00 colors c5 @" - (string~) $4 ← (string~) $3 + (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" - (string~) $5 ← (string~) $4 + (string) " line 0 bgcol1 00 @" - (string~) $6 ← (string~) $5 + (string) " colof 0 borof 0 bgcol2 00 @" - (string~) $7 ← (string~) $6 + (string) " chunk 0 overs 0 bgcol3 00 @" + (string~) $0 ← (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $1 ← (string~) $0 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $2 ← (string~) $1 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $3 ← (string~) $2 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $4 ← (string~) $3 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $5 ← (string~) $4 + (string) " nnnnnnn ooooooooo @" + (string~) $6 ← (string~) $5 + (string) " nnnnnnn nnnnnnnn ooooooooo @" + (string~) $7 ← (string~) $6 + (string) " nnnnnnn nnnnnnnn ooooooooo @" (string~) $8 ← (string~) $7 + (string) "@" - (byte[]) MENU_TEXT ← (string~) $8 + (byte[]) MENU_COLS ← (string~) $8 + (string~) $9 ← (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @" + (string) " CONTROL PLANE A PLANE B VIC II @" + (string~) $10 ← (string~) $9 + (string) " bmm 0 patt p0 patt p0 screen s0 @" + (string~) $11 ← (string~) $10 + (string) " mcm 0 start 00 start 00 gfx g0 @" + (string~) $12 ← (string~) $11 + (string) " ecm 0 step 00 step 00 colors c0 @" + (string~) $13 ← (string~) $12 + (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" + (string~) $14 ← (string~) $13 + (string) " line 0 bgcol1 00 @" + (string~) $15 ← (string~) $14 + (string) " colof 0 borof 0 bgcol2 00 @" + (string~) $16 ← (string~) $15 + (string) " chunk 0 overs 0 bgcol3 00 @" + (string~) $17 ← (string~) $16 + (string) "@" + (byte[]) MENU_TEXT ← (string~) $17 to:@21 menu: scope:[menu] from (byte*) menu::SCREEN ← ((byte*)) (word/dword/signed dword) 32768 @@ -2307,71 +2344,64 @@ menu::@1: scope:[menu] from menu menu::@1 (byte) menu::i ← ++ (byte) menu::i (boolean~) menu::$23 ← (byte) menu::i != (byte/signed byte/word/signed word/dword/signed dword) 16 if((boolean~) menu::$23) goto menu::@1 - to:menu::@9 -menu::@9: scope:[menu] from menu::@1 - (byte*) menu::c ← (byte*) COLS - to:menu::@2 -menu::@2: scope:[menu] from menu::@2 menu::@9 - *((byte*) menu::c) ← (byte) LIGHT_GREEN - (byte*) menu::c ← ++ (byte*) menu::c - (byte*~) menu::$24 ← (byte*) COLS + (word/signed word/dword/signed dword) 1000 - (boolean~) menu::$25 ← (byte*) menu::c != (byte*~) menu::$24 - if((boolean~) menu::$25) goto menu::@2 - to:menu::@10 -menu::@10: scope:[menu] from menu::@2 + to:menu::@8 +menu::@8: scope:[menu] from menu::@1 *((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 *((byte*) BORDERCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (void~) menu::$26 ← call print_set_screen (byte*) menu::SCREEN - (void~) menu::$27 ← call print_cls - (void~) menu::$28 ← call print_str_lines (byte[]) MENU_TEXT - (void~) menu::$29 ← call form_set_screen (byte*) menu::SCREEN - (void~) menu::$30 ← call form_render_values - to:menu::@3 -menu::@3: scope:[menu] from menu::@10 menu::@8 - if(true) goto menu::@4 - to:menu::@11 -menu::@4: scope:[menu] from menu::@12 menu::@3 - to:menu::@6 -menu::@11: scope:[menu] from menu::@3 + (void~) menu::$24 ← call print_set_screen (byte*) COLS + (void~) menu::$25 ← call print_cls + (void~) menu::$26 ← call print_str_lines (byte[]) MENU_COLS + (void~) menu::$27 ← call print_set_screen (byte*) menu::SCREEN + (void~) menu::$28 ← call print_cls + (void~) menu::$29 ← call print_str_lines (byte[]) MENU_TEXT + (void~) menu::$30 ← call form_set_screen (byte*) menu::SCREEN + (void~) menu::$31 ← call form_render_values + to:menu::@2 +menu::@2: scope:[menu] from menu::@7 menu::@8 + if(true) goto menu::@3 + to:menu::@9 +menu::@3: scope:[menu] from menu::@10 menu::@2 to:menu::@5 -menu::@5: scope:[menu] from menu::@11 menu::@16 - to:menu::@return -menu::@12: scope:[menu] from +menu::@9: scope:[menu] from menu::@2 to:menu::@4 -menu::@6: scope:[menu] from menu::@4 menu::@7 - (boolean~) menu::$31 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword) 255 - if((boolean~) menu::$31) goto menu::@7 - to:menu::@13 -menu::@7: scope:[menu] from menu::@14 menu::@6 - to:menu::@6 -menu::@13: scope:[menu] from menu::@6 - to:menu::@8 -menu::@8: scope:[menu] from menu::@13 menu::@15 - (void~) menu::$32 ← call form_control +menu::@4: scope:[menu] from menu::@14 menu::@9 + to:menu::@return +menu::@10: scope:[menu] from to:menu::@3 -menu::@14: scope:[menu] from - to:menu::@7 -menu::@15: scope:[menu] from - to:menu::@8 -menu::@16: scope:[menu] from +menu::@5: scope:[menu] from menu::@3 menu::@6 + (boolean~) menu::$32 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword) 255 + if((boolean~) menu::$32) goto menu::@6 + to:menu::@11 +menu::@6: scope:[menu] from menu::@12 menu::@5 to:menu::@5 -menu::@return: scope:[menu] from menu::@5 +menu::@11: scope:[menu] from menu::@5 + to:menu::@7 +menu::@7: scope:[menu] from menu::@11 menu::@13 + (void~) menu::$33 ← call form_control + to:menu::@2 +menu::@12: scope:[menu] from + to:menu::@6 +menu::@13: scope:[menu] from + to:menu::@7 +menu::@14: scope:[menu] from + to:menu::@4 +menu::@return: scope:[menu] from menu::@4 return to:@return @21: scope:[] from @20 (byte[25]) form_line_lo ← { fill( 25, 0) } (byte[25]) form_line_hi ← { fill( 25, 0) } (byte) form_field_idx ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (byte) form_fields_cnt ← (byte/signed byte/word/signed word/dword/signed dword) 9 - (byte[]) form_fields_x ← { (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17 } - (byte[]) form_fields_y ← { (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8 } - (byte[]) form_fields_max ← { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1 } - (byte[]) form_fields_val ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 } + (byte) form_fields_cnt ← (byte/signed byte/word/signed word/dword/signed dword) 35 + (byte[]) form_fields_x ← { (byte/signed byte/word/signed word/dword/signed dword) 22, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38 } + (byte[]) form_fields_y ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 8 } + (byte[]) form_fields_max ← { (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15 } + (byte[]) form_fields_val ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 } (byte) key_down_debounce ← (byte/signed byte/word/signed word/dword/signed dword) 0 (byte) key_right_debounce ← (byte/signed byte/word/signed word/dword/signed dword) 0 (signed byte) FORM_CURSOR_BLINK ← (byte/signed byte/word/signed word/dword/signed dword) 40 - (signed word/signed byte/signed dword~) $9 ← (signed byte) FORM_CURSOR_BLINK / (byte/signed byte/word/signed word/dword/signed dword) 2 - (signed byte) form_cursor_count ← (signed word/signed byte/signed dword~) $9 + (signed word/signed byte/signed dword~) $18 ← (signed byte) FORM_CURSOR_BLINK / (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed byte) form_cursor_count ← (signed word/signed byte/signed dword~) $18 to:@22 form_set_screen: scope:[form_set_screen] from (byte*) form_set_screen::line ← (byte*) form_set_screen::screen @@ -2630,6 +2660,7 @@ Eliminating unused variable (byte) BROWN and assignment [58] (byte) BROWN ← (b Eliminating unused variable (byte) PINK and assignment [59] (byte) PINK ← (byte/signed byte/word/signed word/dword/signed dword) 10 Eliminating unused variable (byte) DARK_GREY and assignment [60] (byte) DARK_GREY ← (byte/signed byte/word/signed word/dword/signed dword) 11 Eliminating unused variable (byte) GREY and assignment [61] (byte) GREY ← (byte/signed byte/word/signed word/dword/signed dword) 12 +Eliminating unused variable (byte) LIGHT_GREEN and assignment [62] (byte) LIGHT_GREEN ← (byte/signed byte/word/signed word/dword/signed dword) 13 Eliminating unused variable (byte) LIGHT_BLUE and assignment [63] (byte) LIGHT_BLUE ← (byte/signed byte/word/signed word/dword/signed dword) 14 Eliminating unused variable (byte) LIGHT_GREY and assignment [64] (byte) LIGHT_GREY ← (byte/signed byte/word/signed word/dword/signed dword) 15 Eliminating unused variable (byte) DTV_FEATURE_DISABLE_TIL_RESET and assignment [67] (byte) DTV_FEATURE_DISABLE_TIL_RESET ← (byte/signed byte/word/signed word/dword/signed dword) 2 @@ -2668,73 +2699,86 @@ Eliminating unused variable (byte) KEY_COMMODORE and assignment [193] (byte) KEY Eliminating unused variable (byte) KEY_RUNSTOP and assignment [195] (byte) KEY_RUNSTOP ← (byte/signed byte/word/signed word/dword/signed dword) 63 Eliminating unused variable (byte[]) keyboard_char_keycodes and assignment [196] (byte[]) keyboard_char_keycodes ← { (byte) KEY_AT, (byte) KEY_A, (byte) KEY_B, (byte) KEY_C, (byte) KEY_D, (byte) KEY_E, (byte) KEY_F, (byte) KEY_G, (byte) KEY_H, (byte) KEY_I, (byte) KEY_J, (byte) KEY_K, (byte) KEY_L, (byte) KEY_M, (byte) KEY_N, (byte) KEY_O, (byte) KEY_P, (byte) KEY_Q, (byte) KEY_R, (byte) KEY_S, (byte) KEY_T, (byte) KEY_U, (byte) KEY_V, (byte) KEY_W, (byte) KEY_X, (byte) KEY_Y, (byte) KEY_Z, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_POUND, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_ARROW_UP, (byte) KEY_ARROW_LEFT, (byte) KEY_SPACE, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_ASTERISK, (byte) KEY_PLUS, (byte) KEY_COMMA, (byte) KEY_MINUS, (byte) KEY_DOT, (byte) KEY_SLASH, (byte) KEY_0, (byte) KEY_1, (byte) KEY_2, (byte) KEY_3, (byte) KEY_4, (byte) KEY_5, (byte) KEY_6, (byte) KEY_7, (byte) KEY_8, (byte) KEY_9, (byte) KEY_COLON, (byte) KEY_SEMICOLON, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_EQUALS, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63 } Eliminating unused variable - keeping the call (void~) main::$0 +Eliminating unused variable - keeping the call (void~) menu::$24 +Eliminating unused variable - keeping the call (void~) menu::$25 Eliminating unused variable - keeping the call (void~) menu::$26 Eliminating unused variable - keeping the call (void~) menu::$27 Eliminating unused variable - keeping the call (void~) menu::$28 Eliminating unused variable - keeping the call (void~) menu::$29 Eliminating unused variable - keeping the call (void~) menu::$30 -Eliminating unused variable - keeping the call (void~) menu::$32 -Eliminating unused variable (byte) KEY_3 and assignment [62] (byte) KEY_3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 -Eliminating unused variable (byte) KEY_W and assignment [63] (byte) KEY_W ← (byte/signed byte/word/signed word/dword/signed dword) 9 -Eliminating unused variable (byte) KEY_A and assignment [64] (byte) KEY_A ← (byte/signed byte/word/signed word/dword/signed dword) 10 -Eliminating unused variable (byte) KEY_4 and assignment [65] (byte) KEY_4 ← (byte/signed byte/word/signed word/dword/signed dword) 11 -Eliminating unused variable (byte) KEY_Z and assignment [66] (byte) KEY_Z ← (byte/signed byte/word/signed word/dword/signed dword) 12 -Eliminating unused variable (byte) KEY_S and assignment [67] (byte) KEY_S ← (byte/signed byte/word/signed word/dword/signed dword) 13 -Eliminating unused variable (byte) KEY_E and assignment [68] (byte) KEY_E ← (byte/signed byte/word/signed word/dword/signed dword) 14 -Eliminating unused variable (byte) KEY_5 and assignment [69] (byte) KEY_5 ← (byte/signed byte/word/signed word/dword/signed dword) 16 -Eliminating unused variable (byte) KEY_R and assignment [70] (byte) KEY_R ← (byte/signed byte/word/signed word/dword/signed dword) 17 -Eliminating unused variable (byte) KEY_D and assignment [71] (byte) KEY_D ← (byte/signed byte/word/signed word/dword/signed dword) 18 -Eliminating unused variable (byte) KEY_6 and assignment [72] (byte) KEY_6 ← (byte/signed byte/word/signed word/dword/signed dword) 19 -Eliminating unused variable (byte) KEY_C and assignment [73] (byte) KEY_C ← (byte/signed byte/word/signed word/dword/signed dword) 20 -Eliminating unused variable (byte) KEY_F and assignment [74] (byte) KEY_F ← (byte/signed byte/word/signed word/dword/signed dword) 21 -Eliminating unused variable (byte) KEY_T and assignment [75] (byte) KEY_T ← (byte/signed byte/word/signed word/dword/signed dword) 22 -Eliminating unused variable (byte) KEY_X and assignment [76] (byte) KEY_X ← (byte/signed byte/word/signed word/dword/signed dword) 23 -Eliminating unused variable (byte) KEY_7 and assignment [77] (byte) KEY_7 ← (byte/signed byte/word/signed word/dword/signed dword) 24 -Eliminating unused variable (byte) KEY_Y and assignment [78] (byte) KEY_Y ← (byte/signed byte/word/signed word/dword/signed dword) 25 -Eliminating unused variable (byte) KEY_G and assignment [79] (byte) KEY_G ← (byte/signed byte/word/signed word/dword/signed dword) 26 -Eliminating unused variable (byte) KEY_8 and assignment [80] (byte) KEY_8 ← (byte/signed byte/word/signed word/dword/signed dword) 27 -Eliminating unused variable (byte) KEY_B and assignment [81] (byte) KEY_B ← (byte/signed byte/word/signed word/dword/signed dword) 28 -Eliminating unused variable (byte) KEY_H and assignment [82] (byte) KEY_H ← (byte/signed byte/word/signed word/dword/signed dword) 29 -Eliminating unused variable (byte) KEY_U and assignment [83] (byte) KEY_U ← (byte/signed byte/word/signed word/dword/signed dword) 30 -Eliminating unused variable (byte) KEY_V and assignment [84] (byte) KEY_V ← (byte/signed byte/word/signed word/dword/signed dword) 31 -Eliminating unused variable (byte) KEY_9 and assignment [85] (byte) KEY_9 ← (byte/signed byte/word/signed word/dword/signed dword) 32 -Eliminating unused variable (byte) KEY_I and assignment [86] (byte) KEY_I ← (byte/signed byte/word/signed word/dword/signed dword) 33 -Eliminating unused variable (byte) KEY_J and assignment [87] (byte) KEY_J ← (byte/signed byte/word/signed word/dword/signed dword) 34 -Eliminating unused variable (byte) KEY_0 and assignment [88] (byte) KEY_0 ← (byte/signed byte/word/signed word/dword/signed dword) 35 -Eliminating unused variable (byte) KEY_M and assignment [89] (byte) KEY_M ← (byte/signed byte/word/signed word/dword/signed dword) 36 -Eliminating unused variable (byte) KEY_K and assignment [90] (byte) KEY_K ← (byte/signed byte/word/signed word/dword/signed dword) 37 -Eliminating unused variable (byte) KEY_O and assignment [91] (byte) KEY_O ← (byte/signed byte/word/signed word/dword/signed dword) 38 -Eliminating unused variable (byte) KEY_N and assignment [92] (byte) KEY_N ← (byte/signed byte/word/signed word/dword/signed dword) 39 -Eliminating unused variable (byte) KEY_PLUS and assignment [93] (byte) KEY_PLUS ← (byte/signed byte/word/signed word/dword/signed dword) 40 -Eliminating unused variable (byte) KEY_P and assignment [94] (byte) KEY_P ← (byte/signed byte/word/signed word/dword/signed dword) 41 -Eliminating unused variable (byte) KEY_L and assignment [95] (byte) KEY_L ← (byte/signed byte/word/signed word/dword/signed dword) 42 -Eliminating unused variable (byte) KEY_MINUS and assignment [96] (byte) KEY_MINUS ← (byte/signed byte/word/signed word/dword/signed dword) 43 -Eliminating unused variable (byte) KEY_DOT and assignment [97] (byte) KEY_DOT ← (byte/signed byte/word/signed word/dword/signed dword) 44 -Eliminating unused variable (byte) KEY_COLON and assignment [98] (byte) KEY_COLON ← (byte/signed byte/word/signed word/dword/signed dword) 45 -Eliminating unused variable (byte) KEY_AT and assignment [99] (byte) KEY_AT ← (byte/signed byte/word/signed word/dword/signed dword) 46 -Eliminating unused variable (byte) KEY_COMMA and assignment [100] (byte) KEY_COMMA ← (byte/signed byte/word/signed word/dword/signed dword) 47 -Eliminating unused variable (byte) KEY_POUND and assignment [101] (byte) KEY_POUND ← (byte/signed byte/word/signed word/dword/signed dword) 48 -Eliminating unused variable (byte) KEY_ASTERISK and assignment [102] (byte) KEY_ASTERISK ← (byte/signed byte/word/signed word/dword/signed dword) 49 -Eliminating unused variable (byte) KEY_SEMICOLON and assignment [103] (byte) KEY_SEMICOLON ← (byte/signed byte/word/signed word/dword/signed dword) 50 -Eliminating unused variable (byte) KEY_EQUALS and assignment [105] (byte) KEY_EQUALS ← (byte/signed byte/word/signed word/dword/signed dword) 53 -Eliminating unused variable (byte) KEY_ARROW_UP and assignment [106] (byte) KEY_ARROW_UP ← (byte/signed byte/word/signed word/dword/signed dword) 54 -Eliminating unused variable (byte) KEY_SLASH and assignment [107] (byte) KEY_SLASH ← (byte/signed byte/word/signed word/dword/signed dword) 55 -Eliminating unused variable (byte) KEY_1 and assignment [108] (byte) KEY_1 ← (byte/signed byte/word/signed word/dword/signed dword) 56 -Eliminating unused variable (byte) KEY_ARROW_LEFT and assignment [109] (byte) KEY_ARROW_LEFT ← (byte/signed byte/word/signed word/dword/signed dword) 57 -Eliminating unused variable (byte) KEY_2 and assignment [110] (byte) KEY_2 ← (byte/signed byte/word/signed word/dword/signed dword) 59 -Eliminating unused variable (byte) KEY_SPACE and assignment [111] (byte) KEY_SPACE ← (byte/signed byte/word/signed word/dword/signed dword) 60 -Eliminating unused variable (byte) KEY_Q and assignment [112] (byte) KEY_Q ← (byte/signed byte/word/signed word/dword/signed dword) 62 -Creating constant string variable for inline (const string) $10 "0123456789abcdef" -Creating constant string variable for inline (const string) $11 " DTV GfxExplorer PRESET 8bpp pixel cell @" -Creating constant string variable for inline (const string) $12 " CONTROL PLANE A PLANE B VIC II @" -Creating constant string variable for inline (const string) $13 " bmm 0 patt p1 patt p2 screen s3 @" -Creating constant string variable for inline (const string) $14 " mcm 0 start 00 start 00 gfx g4 @" -Creating constant string variable for inline (const string) $15 " ecm 0 step 00 step 00 colors c5 @" -Creating constant string variable for inline (const string) $16 " hicol 0 mod 00 mod 00 bgcol0 00 @" -Creating constant string variable for inline (const string) $17 " line 0 bgcol1 00 @" -Creating constant string variable for inline (const string) $18 " colof 0 borof 0 bgcol2 00 @" -Creating constant string variable for inline (const string) $19 " chunk 0 overs 0 bgcol3 00 @" -Creating constant string variable for inline (const string) $20 "@" +Eliminating unused variable - keeping the call (void~) menu::$31 +Eliminating unused variable - keeping the call (void~) menu::$33 +Eliminating unused variable (byte) KEY_3 and assignment [61] (byte) KEY_3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 +Eliminating unused variable (byte) KEY_W and assignment [62] (byte) KEY_W ← (byte/signed byte/word/signed word/dword/signed dword) 9 +Eliminating unused variable (byte) KEY_A and assignment [63] (byte) KEY_A ← (byte/signed byte/word/signed word/dword/signed dword) 10 +Eliminating unused variable (byte) KEY_4 and assignment [64] (byte) KEY_4 ← (byte/signed byte/word/signed word/dword/signed dword) 11 +Eliminating unused variable (byte) KEY_Z and assignment [65] (byte) KEY_Z ← (byte/signed byte/word/signed word/dword/signed dword) 12 +Eliminating unused variable (byte) KEY_S and assignment [66] (byte) KEY_S ← (byte/signed byte/word/signed word/dword/signed dword) 13 +Eliminating unused variable (byte) KEY_E and assignment [67] (byte) KEY_E ← (byte/signed byte/word/signed word/dword/signed dword) 14 +Eliminating unused variable (byte) KEY_5 and assignment [68] (byte) KEY_5 ← (byte/signed byte/word/signed word/dword/signed dword) 16 +Eliminating unused variable (byte) KEY_R and assignment [69] (byte) KEY_R ← (byte/signed byte/word/signed word/dword/signed dword) 17 +Eliminating unused variable (byte) KEY_D and assignment [70] (byte) KEY_D ← (byte/signed byte/word/signed word/dword/signed dword) 18 +Eliminating unused variable (byte) KEY_6 and assignment [71] (byte) KEY_6 ← (byte/signed byte/word/signed word/dword/signed dword) 19 +Eliminating unused variable (byte) KEY_C and assignment [72] (byte) KEY_C ← (byte/signed byte/word/signed word/dword/signed dword) 20 +Eliminating unused variable (byte) KEY_F and assignment [73] (byte) KEY_F ← (byte/signed byte/word/signed word/dword/signed dword) 21 +Eliminating unused variable (byte) KEY_T and assignment [74] (byte) KEY_T ← (byte/signed byte/word/signed word/dword/signed dword) 22 +Eliminating unused variable (byte) KEY_X and assignment [75] (byte) KEY_X ← (byte/signed byte/word/signed word/dword/signed dword) 23 +Eliminating unused variable (byte) KEY_7 and assignment [76] (byte) KEY_7 ← (byte/signed byte/word/signed word/dword/signed dword) 24 +Eliminating unused variable (byte) KEY_Y and assignment [77] (byte) KEY_Y ← (byte/signed byte/word/signed word/dword/signed dword) 25 +Eliminating unused variable (byte) KEY_G and assignment [78] (byte) KEY_G ← (byte/signed byte/word/signed word/dword/signed dword) 26 +Eliminating unused variable (byte) KEY_8 and assignment [79] (byte) KEY_8 ← (byte/signed byte/word/signed word/dword/signed dword) 27 +Eliminating unused variable (byte) KEY_B and assignment [80] (byte) KEY_B ← (byte/signed byte/word/signed word/dword/signed dword) 28 +Eliminating unused variable (byte) KEY_H and assignment [81] (byte) KEY_H ← (byte/signed byte/word/signed word/dword/signed dword) 29 +Eliminating unused variable (byte) KEY_U and assignment [82] (byte) KEY_U ← (byte/signed byte/word/signed word/dword/signed dword) 30 +Eliminating unused variable (byte) KEY_V and assignment [83] (byte) KEY_V ← (byte/signed byte/word/signed word/dword/signed dword) 31 +Eliminating unused variable (byte) KEY_9 and assignment [84] (byte) KEY_9 ← (byte/signed byte/word/signed word/dword/signed dword) 32 +Eliminating unused variable (byte) KEY_I and assignment [85] (byte) KEY_I ← (byte/signed byte/word/signed word/dword/signed dword) 33 +Eliminating unused variable (byte) KEY_J and assignment [86] (byte) KEY_J ← (byte/signed byte/word/signed word/dword/signed dword) 34 +Eliminating unused variable (byte) KEY_0 and assignment [87] (byte) KEY_0 ← (byte/signed byte/word/signed word/dword/signed dword) 35 +Eliminating unused variable (byte) KEY_M and assignment [88] (byte) KEY_M ← (byte/signed byte/word/signed word/dword/signed dword) 36 +Eliminating unused variable (byte) KEY_K and assignment [89] (byte) KEY_K ← (byte/signed byte/word/signed word/dword/signed dword) 37 +Eliminating unused variable (byte) KEY_O and assignment [90] (byte) KEY_O ← (byte/signed byte/word/signed word/dword/signed dword) 38 +Eliminating unused variable (byte) KEY_N and assignment [91] (byte) KEY_N ← (byte/signed byte/word/signed word/dword/signed dword) 39 +Eliminating unused variable (byte) KEY_PLUS and assignment [92] (byte) KEY_PLUS ← (byte/signed byte/word/signed word/dword/signed dword) 40 +Eliminating unused variable (byte) KEY_P and assignment [93] (byte) KEY_P ← (byte/signed byte/word/signed word/dword/signed dword) 41 +Eliminating unused variable (byte) KEY_L and assignment [94] (byte) KEY_L ← (byte/signed byte/word/signed word/dword/signed dword) 42 +Eliminating unused variable (byte) KEY_MINUS and assignment [95] (byte) KEY_MINUS ← (byte/signed byte/word/signed word/dword/signed dword) 43 +Eliminating unused variable (byte) KEY_DOT and assignment [96] (byte) KEY_DOT ← (byte/signed byte/word/signed word/dword/signed dword) 44 +Eliminating unused variable (byte) KEY_COLON and assignment [97] (byte) KEY_COLON ← (byte/signed byte/word/signed word/dword/signed dword) 45 +Eliminating unused variable (byte) KEY_AT and assignment [98] (byte) KEY_AT ← (byte/signed byte/word/signed word/dword/signed dword) 46 +Eliminating unused variable (byte) KEY_COMMA and assignment [99] (byte) KEY_COMMA ← (byte/signed byte/word/signed word/dword/signed dword) 47 +Eliminating unused variable (byte) KEY_POUND and assignment [100] (byte) KEY_POUND ← (byte/signed byte/word/signed word/dword/signed dword) 48 +Eliminating unused variable (byte) KEY_ASTERISK and assignment [101] (byte) KEY_ASTERISK ← (byte/signed byte/word/signed word/dword/signed dword) 49 +Eliminating unused variable (byte) KEY_SEMICOLON and assignment [102] (byte) KEY_SEMICOLON ← (byte/signed byte/word/signed word/dword/signed dword) 50 +Eliminating unused variable (byte) KEY_EQUALS and assignment [104] (byte) KEY_EQUALS ← (byte/signed byte/word/signed word/dword/signed dword) 53 +Eliminating unused variable (byte) KEY_ARROW_UP and assignment [105] (byte) KEY_ARROW_UP ← (byte/signed byte/word/signed word/dword/signed dword) 54 +Eliminating unused variable (byte) KEY_SLASH and assignment [106] (byte) KEY_SLASH ← (byte/signed byte/word/signed word/dword/signed dword) 55 +Eliminating unused variable (byte) KEY_1 and assignment [107] (byte) KEY_1 ← (byte/signed byte/word/signed word/dword/signed dword) 56 +Eliminating unused variable (byte) KEY_ARROW_LEFT and assignment [108] (byte) KEY_ARROW_LEFT ← (byte/signed byte/word/signed word/dword/signed dword) 57 +Eliminating unused variable (byte) KEY_2 and assignment [109] (byte) KEY_2 ← (byte/signed byte/word/signed word/dword/signed dword) 59 +Eliminating unused variable (byte) KEY_SPACE and assignment [110] (byte) KEY_SPACE ← (byte/signed byte/word/signed word/dword/signed dword) 60 +Eliminating unused variable (byte) KEY_Q and assignment [111] (byte) KEY_Q ← (byte/signed byte/word/signed word/dword/signed dword) 62 +Creating constant string variable for inline (const string) $19 "0123456789abcdef" +Creating constant string variable for inline (const string) $20 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" +Creating constant string variable for inline (const string) $21 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $22 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $23 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $24 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $25 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $26 " nnnnnnn ooooooooo @" +Creating constant string variable for inline (const string) $27 " nnnnnnn nnnnnnnn ooooooooo @" +Creating constant string variable for inline (const string) $28 " nnnnnnn nnnnnnnn ooooooooo @" +Creating constant string variable for inline (const string) $29 "@" +Creating constant string variable for inline (const string) $30 " DTV GfxExplorer MODE 0 8bpp pixel cell @" +Creating constant string variable for inline (const string) $31 " CONTROL PLANE A PLANE B VIC II @" +Creating constant string variable for inline (const string) $32 " bmm 0 patt p0 patt p0 screen s0 @" +Creating constant string variable for inline (const string) $33 " mcm 0 start 00 start 00 gfx g0 @" +Creating constant string variable for inline (const string) $34 " ecm 0 step 00 step 00 colors c0 @" +Creating constant string variable for inline (const string) $35 " hicol 0 mod 00 mod 00 bgcol0 00 @" +Creating constant string variable for inline (const string) $36 " line 0 bgcol1 00 @" +Creating constant string variable for inline (const string) $37 " colof 0 borof 0 bgcol2 00 @" +Creating constant string variable for inline (const string) $38 " chunk 0 overs 0 bgcol3 00 @" +Creating constant string variable for inline (const string) $39 "@" Removing empty block print_str_lines::@6 Removing empty block print_str_lines::@3 Removing empty block print_str_lines::@7 @@ -2761,13 +2805,13 @@ Removing empty block main::@4 Removing empty block main::@3 Removing empty block main::@5 Removing empty block main::@6 +Removing empty block menu::@9 +Removing empty block menu::@4 +Removing empty block menu::@10 Removing empty block menu::@11 -Removing empty block menu::@5 Removing empty block menu::@12 Removing empty block menu::@13 Removing empty block menu::@14 -Removing empty block menu::@15 -Removing empty block menu::@16 Removing empty block form_set_screen::@2 Removing empty block @22 Removing empty block form_field_ptr::@1 @@ -2823,6 +2867,7 @@ Completing Phi functions... Completing Phi functions... Completing Phi functions... Completing Phi functions... +Completing Phi functions... CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN @begin: scope:[] from @@ -2840,7 +2885,6 @@ CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN (byte*) CIA1_PORT_B#0 ← ((byte*)) (word/dword/signed dword) 56321 (byte*) CIA2_PORT_A#0 ← ((byte*)) (word/dword/signed dword) 56576 (byte*) CIA2_PORT_A_DDR#0 ← ((byte*)) (word/dword/signed dword) 56578 - (byte) LIGHT_GREEN#0 ← (byte/signed byte/word/signed word/dword/signed dword) 13 (byte*) DTV_FEATURE#0 ← ((byte*)) (word/dword/signed dword) 53311 (byte) DTV_FEATURE_ENABLE#0 ← (byte/signed byte/word/signed word/dword/signed dword) 1 (byte*) DTV_CONTROL#0 ← ((byte*)) (word/dword/signed dword) 53308 @@ -2856,142 +2900,142 @@ CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN (byte*) print_line_cursor#0 ← (byte*) print_screen#0 (byte*) print_char_cursor#0 ← (byte*) print_line_cursor#0 to:@11 -print_str_lines: scope:[print_str_lines] from menu::@18 - (byte*) print_line_cursor#38 ← phi( menu::@18/(byte*) print_line_cursor#12 ) - (byte*) print_char_cursor#40 ← phi( menu::@18/(byte*) print_char_cursor#13 ) - (byte*) print_str_lines::str#4 ← phi( menu::@18/(byte*) print_str_lines::str#1 ) +print_str_lines: scope:[print_str_lines] from menu::@16 menu::@19 + (byte*) print_line_cursor#44 ← phi( menu::@16/(byte*) print_line_cursor#12 menu::@19/(byte*) print_line_cursor#15 ) + (byte*) print_char_cursor#46 ← phi( menu::@16/(byte*) print_char_cursor#13 menu::@19/(byte*) print_char_cursor#16 ) + (byte*) print_str_lines::str#5 ← phi( menu::@16/(byte*) print_str_lines::str#1 menu::@19/(byte*) print_str_lines::str#2 ) to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@11 - (byte*) print_line_cursor#31 ← phi( print_str_lines/(byte*) print_line_cursor#38 print_str_lines::@11/(byte*) print_line_cursor#1 ) - (byte*) print_char_cursor#33 ← phi( print_str_lines/(byte*) print_char_cursor#40 print_str_lines::@11/(byte*) print_char_cursor#2 ) - (byte*) print_str_lines::str#2 ← phi( print_str_lines/(byte*) print_str_lines::str#4 print_str_lines::@11/(byte*) print_str_lines::str#5 ) - (boolean~) print_str_lines::$0 ← *((byte*) print_str_lines::str#2) != (byte) '@' + (byte*) print_line_cursor#37 ← phi( print_str_lines/(byte*) print_line_cursor#44 print_str_lines::@11/(byte*) print_line_cursor#1 ) + (byte*) print_char_cursor#39 ← phi( print_str_lines/(byte*) print_char_cursor#46 print_str_lines::@11/(byte*) print_char_cursor#2 ) + (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@11/(byte*) print_str_lines::str#6 ) + (boolean~) print_str_lines::$0 ← *((byte*) print_str_lines::str#3) != (byte) '@' if((boolean~) print_str_lines::$0) goto print_str_lines::@2 to:print_str_lines::@return print_str_lines::@2: scope:[print_str_lines] from print_str_lines::@1 - (byte*) print_line_cursor#51 ← phi( print_str_lines::@1/(byte*) print_line_cursor#31 ) - (byte*) print_char_cursor#41 ← phi( print_str_lines::@1/(byte*) print_char_cursor#33 ) - (byte*) print_str_lines::str#6 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#2 ) + (byte*) print_line_cursor#57 ← phi( print_str_lines::@1/(byte*) print_line_cursor#37 ) + (byte*) print_char_cursor#47 ← phi( print_str_lines::@1/(byte*) print_char_cursor#39 ) + (byte*) print_str_lines::str#7 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 ) to:print_str_lines::@4 print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 print_str_lines::@5 - (byte*) print_line_cursor#45 ← phi( print_str_lines::@2/(byte*) print_line_cursor#51 print_str_lines::@5/(byte*) print_line_cursor#39 ) - (byte*) print_char_cursor#31 ← phi( print_str_lines::@2/(byte*) print_char_cursor#41 print_str_lines::@5/(byte*) print_char_cursor#42 ) - (byte*) print_str_lines::str#3 ← phi( print_str_lines::@2/(byte*) print_str_lines::str#6 print_str_lines::@5/(byte*) print_str_lines::str#7 ) - (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) - (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 + (byte*) print_line_cursor#51 ← phi( print_str_lines::@2/(byte*) print_line_cursor#57 print_str_lines::@5/(byte*) print_line_cursor#45 ) + (byte*) print_char_cursor#37 ← phi( print_str_lines::@2/(byte*) print_char_cursor#47 print_str_lines::@5/(byte*) print_char_cursor#48 ) + (byte*) print_str_lines::str#4 ← phi( print_str_lines::@2/(byte*) print_str_lines::str#7 print_str_lines::@5/(byte*) print_str_lines::str#8 ) + (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) + (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 (boolean~) print_str_lines::$1 ← (byte) print_str_lines::ch#0 != (byte) '@' (boolean~) print_str_lines::$2 ← ! (boolean~) print_str_lines::$1 if((boolean~) print_str_lines::$2) goto print_str_lines::@5 to:print_str_lines::@8 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@4 print_str_lines::@8 - (byte*) print_line_cursor#39 ← phi( print_str_lines::@4/(byte*) print_line_cursor#45 print_str_lines::@8/(byte*) print_line_cursor#46 ) - (byte*) print_char_cursor#42 ← phi( print_str_lines::@4/(byte*) print_char_cursor#31 print_str_lines::@8/(byte*) print_char_cursor#1 ) - (byte*) print_str_lines::str#7 ← phi( print_str_lines::@4/(byte*) print_str_lines::str#0 print_str_lines::@8/(byte*) print_str_lines::str#8 ) + (byte*) print_line_cursor#45 ← phi( print_str_lines::@4/(byte*) print_line_cursor#51 print_str_lines::@8/(byte*) print_line_cursor#52 ) + (byte*) print_char_cursor#48 ← phi( print_str_lines::@4/(byte*) print_char_cursor#37 print_str_lines::@8/(byte*) print_char_cursor#1 ) + (byte*) print_str_lines::str#8 ← phi( print_str_lines::@4/(byte*) print_str_lines::str#0 print_str_lines::@8/(byte*) print_str_lines::str#9 ) (byte) print_str_lines::ch#1 ← phi( print_str_lines::@4/(byte) print_str_lines::ch#0 print_str_lines::@8/(byte) print_str_lines::ch#2 ) (boolean~) print_str_lines::$3 ← (byte) print_str_lines::ch#1 != (byte) '@' if((boolean~) print_str_lines::$3) goto print_str_lines::@4 to:print_str_lines::@9 print_str_lines::@8: scope:[print_str_lines] from print_str_lines::@4 - (byte*) print_line_cursor#46 ← phi( print_str_lines::@4/(byte*) print_line_cursor#45 ) - (byte*) print_str_lines::str#8 ← phi( print_str_lines::@4/(byte*) print_str_lines::str#0 ) - (byte*) print_char_cursor#17 ← phi( print_str_lines::@4/(byte*) print_char_cursor#31 ) + (byte*) print_line_cursor#52 ← phi( print_str_lines::@4/(byte*) print_line_cursor#51 ) + (byte*) print_str_lines::str#9 ← phi( print_str_lines::@4/(byte*) print_str_lines::str#0 ) + (byte*) print_char_cursor#20 ← phi( print_str_lines::@4/(byte*) print_char_cursor#37 ) (byte) print_str_lines::ch#2 ← phi( print_str_lines::@4/(byte) print_str_lines::ch#0 ) - *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#2 - (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 + *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#2 + (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 to:print_str_lines::@5 print_str_lines::@9: scope:[print_str_lines] from print_str_lines::@5 - (byte*) print_str_lines::str#9 ← phi( print_str_lines::@5/(byte*) print_str_lines::str#7 ) - (byte*) print_char_cursor#32 ← phi( print_str_lines::@5/(byte*) print_char_cursor#42 ) - (byte*) print_line_cursor#30 ← phi( print_str_lines::@5/(byte*) print_line_cursor#39 ) + (byte*) print_str_lines::str#10 ← phi( print_str_lines::@5/(byte*) print_str_lines::str#8 ) + (byte*) print_char_cursor#38 ← phi( print_str_lines::@5/(byte*) print_char_cursor#48 ) + (byte*) print_line_cursor#36 ← phi( print_str_lines::@5/(byte*) print_line_cursor#45 ) call print_ln param-assignment to:print_str_lines::@11 print_str_lines::@11: scope:[print_str_lines] from print_str_lines::@9 - (byte*) print_str_lines::str#5 ← phi( print_str_lines::@9/(byte*) print_str_lines::str#9 ) - (byte*) print_char_cursor#18 ← phi( print_str_lines::@9/(byte*) print_char_cursor#5 ) - (byte*) print_line_cursor#16 ← phi( print_str_lines::@9/(byte*) print_line_cursor#4 ) - (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#16 - (byte*) print_char_cursor#2 ← (byte*) print_char_cursor#18 + (byte*) print_str_lines::str#6 ← phi( print_str_lines::@9/(byte*) print_str_lines::str#10 ) + (byte*) print_char_cursor#21 ← phi( print_str_lines::@9/(byte*) print_char_cursor#5 ) + (byte*) print_line_cursor#19 ← phi( print_str_lines::@9/(byte*) print_line_cursor#4 ) + (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#19 + (byte*) print_char_cursor#2 ← (byte*) print_char_cursor#21 to:print_str_lines::@1 print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - (byte*) print_line_cursor#17 ← phi( print_str_lines::@1/(byte*) print_line_cursor#31 ) - (byte*) print_char_cursor#19 ← phi( print_str_lines::@1/(byte*) print_char_cursor#33 ) - (byte*) print_char_cursor#3 ← (byte*) print_char_cursor#19 - (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#17 + (byte*) print_line_cursor#20 ← phi( print_str_lines::@1/(byte*) print_line_cursor#37 ) + (byte*) print_char_cursor#22 ← phi( print_str_lines::@1/(byte*) print_char_cursor#39 ) + (byte*) print_char_cursor#3 ← (byte*) print_char_cursor#22 + (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#20 return to:@return print_ln: scope:[print_ln] from print_str_lines::@9 - (byte*) print_char_cursor#34 ← phi( print_str_lines::@9/(byte*) print_char_cursor#32 ) - (byte*) print_line_cursor#32 ← phi( print_str_lines::@9/(byte*) print_line_cursor#30 ) + (byte*) print_char_cursor#40 ← phi( print_str_lines::@9/(byte*) print_char_cursor#38 ) + (byte*) print_line_cursor#38 ← phi( print_str_lines::@9/(byte*) print_line_cursor#36 ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - (byte*) print_char_cursor#20 ← phi( print_ln/(byte*) print_char_cursor#34 print_ln::@1/(byte*) print_char_cursor#20 ) - (byte*) print_line_cursor#18 ← phi( print_ln/(byte*) print_line_cursor#32 print_ln::@1/(byte*) print_line_cursor#3 ) - (byte*~) print_ln::$0 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 + (byte*) print_char_cursor#23 ← phi( print_ln/(byte*) print_char_cursor#40 print_ln::@1/(byte*) print_char_cursor#23 ) + (byte*) print_line_cursor#21 ← phi( print_ln/(byte*) print_line_cursor#38 print_ln::@1/(byte*) print_line_cursor#3 ) + (byte*~) print_ln::$0 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 (byte*) print_line_cursor#3 ← (byte*~) print_ln::$0 - (boolean~) print_ln::$1 ← (byte*) print_line_cursor#3 < (byte*) print_char_cursor#20 + (boolean~) print_ln::$1 ← (byte*) print_line_cursor#3 < (byte*) print_char_cursor#23 if((boolean~) print_ln::$1) goto print_ln::@1 to:print_ln::@2 print_ln::@2: scope:[print_ln] from print_ln::@1 - (byte*) print_line_cursor#19 ← phi( print_ln::@1/(byte*) print_line_cursor#3 ) - (byte*) print_char_cursor#4 ← (byte*) print_line_cursor#19 + (byte*) print_line_cursor#22 ← phi( print_ln::@1/(byte*) print_line_cursor#3 ) + (byte*) print_char_cursor#4 ← (byte*) print_line_cursor#22 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@2 - (byte*) print_char_cursor#21 ← phi( print_ln::@2/(byte*) print_char_cursor#4 ) - (byte*) print_line_cursor#20 ← phi( print_ln::@2/(byte*) print_line_cursor#19 ) - (byte*) print_line_cursor#4 ← (byte*) print_line_cursor#20 - (byte*) print_char_cursor#5 ← (byte*) print_char_cursor#21 + (byte*) print_char_cursor#24 ← phi( print_ln::@2/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#23 ← phi( print_ln::@2/(byte*) print_line_cursor#22 ) + (byte*) print_line_cursor#4 ← (byte*) print_line_cursor#23 + (byte*) print_char_cursor#5 ← (byte*) print_char_cursor#24 return to:@return @11: scope:[] from @1 - (byte*) print_char_cursor#55 ← phi( @1/(byte*) print_char_cursor#0 ) - (byte*) print_line_cursor#55 ← phi( @1/(byte*) print_line_cursor#0 ) - (byte*) print_screen#35 ← phi( @1/(byte*) print_screen#0 ) - (byte[]) print_hextab#0 ← (const string) $10 + (byte*) print_char_cursor#60 ← phi( @1/(byte*) print_char_cursor#0 ) + (byte*) print_line_cursor#60 ← phi( @1/(byte*) print_line_cursor#0 ) + (byte*) print_screen#38 ← phi( @1/(byte*) print_screen#0 ) + (byte[]) print_hextab#0 ← (const string) $19 to:@15 -print_cls: scope:[print_cls] from menu::@17 - (byte*) print_screen#8 ← phi( menu::@17/(byte*) print_screen#5 ) - (byte*) print_cls::sc#0 ← (byte*) print_screen#8 +print_cls: scope:[print_cls] from menu::@15 menu::@18 + (byte*) print_screen#9 ← phi( menu::@15/(byte*) print_screen#5 menu::@18/(byte*) print_screen#6 ) + (byte*) print_cls::sc#0 ← (byte*) print_screen#9 to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - (byte*) print_screen#9 ← phi( print_cls/(byte*) print_screen#8 print_cls::@1/(byte*) print_screen#9 ) + (byte*) print_screen#10 ← phi( print_cls/(byte*) print_screen#9 print_cls::@1/(byte*) print_screen#10 ) (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) *((byte*) print_cls::sc#2) ← (byte) ' ' (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 - (byte*~) print_cls::$0 ← (byte*) print_screen#9 + (word/signed word/dword/signed dword) 1000 + (byte*~) print_cls::$0 ← (byte*) print_screen#10 + (word/signed word/dword/signed dword) 1000 (boolean~) print_cls::$1 ← (byte*) print_cls::sc#1 != (byte*~) print_cls::$0 if((boolean~) print_cls::$1) goto print_cls::@1 to:print_cls::@2 print_cls::@2: scope:[print_cls] from print_cls::@1 - (byte*) print_screen#10 ← phi( print_cls::@1/(byte*) print_screen#9 ) - (byte*) print_line_cursor#5 ← (byte*) print_screen#10 + (byte*) print_screen#11 ← phi( print_cls::@1/(byte*) print_screen#10 ) + (byte*) print_line_cursor#5 ← (byte*) print_screen#11 (byte*) print_char_cursor#6 ← (byte*) print_line_cursor#5 to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@2 - (byte*) print_char_cursor#22 ← phi( print_cls::@2/(byte*) print_char_cursor#6 ) - (byte*) print_line_cursor#21 ← phi( print_cls::@2/(byte*) print_line_cursor#5 ) - (byte*) print_line_cursor#6 ← (byte*) print_line_cursor#21 - (byte*) print_char_cursor#7 ← (byte*) print_char_cursor#22 + (byte*) print_char_cursor#25 ← phi( print_cls::@2/(byte*) print_char_cursor#6 ) + (byte*) print_line_cursor#24 ← phi( print_cls::@2/(byte*) print_line_cursor#5 ) + (byte*) print_line_cursor#6 ← (byte*) print_line_cursor#24 + (byte*) print_char_cursor#7 ← (byte*) print_char_cursor#25 return to:@return -print_set_screen: scope:[print_set_screen] from menu::@10 - (byte*) print_set_screen::screen#1 ← phi( menu::@10/(byte*) print_set_screen::screen#0 ) - (byte*) print_screen#1 ← (byte*) print_set_screen::screen#1 +print_set_screen: scope:[print_set_screen] from menu::@17 menu::@8 + (byte*) print_set_screen::screen#2 ← phi( menu::@17/(byte*) print_set_screen::screen#1 menu::@8/(byte*) print_set_screen::screen#0 ) + (byte*) print_screen#1 ← (byte*) print_set_screen::screen#2 (byte*) print_line_cursor#7 ← (byte*) print_screen#1 (byte*) print_char_cursor#8 ← (byte*) print_line_cursor#7 to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - (byte*) print_char_cursor#23 ← phi( print_set_screen/(byte*) print_char_cursor#8 ) - (byte*) print_line_cursor#22 ← phi( print_set_screen/(byte*) print_line_cursor#7 ) - (byte*) print_screen#11 ← phi( print_set_screen/(byte*) print_screen#1 ) - (byte*) print_screen#2 ← (byte*) print_screen#11 - (byte*) print_line_cursor#8 ← (byte*) print_line_cursor#22 - (byte*) print_char_cursor#9 ← (byte*) print_char_cursor#23 + (byte*) print_char_cursor#26 ← phi( print_set_screen/(byte*) print_char_cursor#8 ) + (byte*) print_line_cursor#25 ← phi( print_set_screen/(byte*) print_line_cursor#7 ) + (byte*) print_screen#12 ← phi( print_set_screen/(byte*) print_screen#1 ) + (byte*) print_screen#2 ← (byte*) print_screen#12 + (byte*) print_line_cursor#8 ← (byte*) print_line_cursor#25 + (byte*) print_char_cursor#9 ← (byte*) print_char_cursor#26 return to:@return @15: scope:[] from @11 - (byte*) print_char_cursor#52 ← phi( @11/(byte*) print_char_cursor#55 ) - (byte*) print_line_cursor#52 ← phi( @11/(byte*) print_line_cursor#55 ) - (byte*) print_screen#31 ← phi( @11/(byte*) print_screen#35 ) + (byte*) print_char_cursor#58 ← phi( @11/(byte*) print_char_cursor#60 ) + (byte*) print_line_cursor#58 ← phi( @11/(byte*) print_line_cursor#60 ) + (byte*) print_screen#35 ← phi( @11/(byte*) print_screen#38 ) (byte) KEY_CRSR_RIGHT#0 ← (byte/signed byte/word/signed word/dword/signed dword) 2 (byte) KEY_CRSR_DOWN#0 ← (byte/signed byte/word/signed word/dword/signed dword) 7 (byte) KEY_RSHIFT#0 ← (byte/signed byte/word/signed word/dword/signed dword) 52 @@ -3033,51 +3077,51 @@ keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_p return to:@return main: scope:[main] from @25 - (byte) form_fields_cnt#34 ← phi( @25/(byte) form_fields_cnt#38 ) + (byte) form_fields_cnt#37 ← phi( @25/(byte) form_fields_cnt#39 ) (byte) key_right_debounce#25 ← phi( @25/(byte) key_right_debounce#24 ) (byte) form_field_idx#37 ← phi( @25/(byte) form_field_idx#36 ) (byte) key_down_debounce#25 ← phi( @25/(byte) key_down_debounce#24 ) (signed byte) form_cursor_count#27 ← phi( @25/(signed byte) form_cursor_count#26 ) - (byte*) print_char_cursor#43 ← phi( @25/(byte*) print_char_cursor#39 ) - (byte*) print_line_cursor#40 ← phi( @25/(byte*) print_line_cursor#37 ) - (byte*) print_screen#22 ← phi( @25/(byte*) print_screen#21 ) + (byte*) print_char_cursor#49 ← phi( @25/(byte*) print_char_cursor#45 ) + (byte*) print_line_cursor#46 ← phi( @25/(byte*) print_line_cursor#43 ) + (byte*) print_screen#25 ← phi( @25/(byte*) print_screen#24 ) asm { sei } *((byte*) DTV_FEATURE#0) ← (byte) DTV_FEATURE_ENABLE#0 to:main::@1 main::@1: scope:[main] from main main::@7 - (byte) form_fields_cnt#32 ← phi( main/(byte) form_fields_cnt#34 main::@7/(byte) form_fields_cnt#35 ) + (byte) form_fields_cnt#34 ← phi( main/(byte) form_fields_cnt#37 main::@7/(byte) form_fields_cnt#38 ) (byte) key_right_debounce#16 ← phi( main/(byte) key_right_debounce#25 main::@7/(byte) key_right_debounce#0 ) (byte) form_field_idx#26 ← phi( main/(byte) form_field_idx#37 main::@7/(byte) form_field_idx#0 ) (byte) key_down_debounce#16 ← phi( main/(byte) key_down_debounce#25 main::@7/(byte) key_down_debounce#0 ) (signed byte) form_cursor_count#19 ← phi( main/(signed byte) form_cursor_count#27 main::@7/(signed byte) form_cursor_count#0 ) - (byte*) print_char_cursor#36 ← phi( main/(byte*) print_char_cursor#43 main::@7/(byte*) print_char_cursor#10 ) - (byte*) print_line_cursor#34 ← phi( main/(byte*) print_line_cursor#40 main::@7/(byte*) print_line_cursor#9 ) - (byte*) print_screen#18 ← phi( main/(byte*) print_screen#22 main::@7/(byte*) print_screen#3 ) + (byte*) print_char_cursor#42 ← phi( main/(byte*) print_char_cursor#49 main::@7/(byte*) print_char_cursor#10 ) + (byte*) print_line_cursor#40 ← phi( main/(byte*) print_line_cursor#46 main::@7/(byte*) print_line_cursor#9 ) + (byte*) print_screen#20 ← phi( main/(byte*) print_screen#25 main::@7/(byte*) print_screen#3 ) if(true) goto main::@2 to:main::@return main::@2: scope:[main] from main::@1 - (byte) form_fields_cnt#29 ← phi( main::@1/(byte) form_fields_cnt#32 ) + (byte) form_fields_cnt#32 ← phi( main::@1/(byte) form_fields_cnt#34 ) (byte) key_right_debounce#15 ← phi( main::@1/(byte) key_right_debounce#16 ) (byte) form_field_idx#25 ← phi( main::@1/(byte) form_field_idx#26 ) (byte) key_down_debounce#15 ← phi( main::@1/(byte) key_down_debounce#16 ) (signed byte) form_cursor_count#18 ← phi( main::@1/(signed byte) form_cursor_count#19 ) - (byte*) print_char_cursor#35 ← phi( main::@1/(byte*) print_char_cursor#36 ) - (byte*) print_line_cursor#33 ← phi( main::@1/(byte*) print_line_cursor#34 ) - (byte*) print_screen#17 ← phi( main::@1/(byte*) print_screen#18 ) + (byte*) print_char_cursor#41 ← phi( main::@1/(byte*) print_char_cursor#42 ) + (byte*) print_line_cursor#39 ← phi( main::@1/(byte*) print_line_cursor#40 ) + (byte*) print_screen#19 ← phi( main::@1/(byte*) print_screen#20 ) call menu param-assignment to:main::@7 main::@7: scope:[main] from main::@2 - (byte) form_fields_cnt#35 ← phi( main::@2/(byte) form_fields_cnt#29 ) + (byte) form_fields_cnt#38 ← phi( main::@2/(byte) form_fields_cnt#32 ) (byte) key_right_debounce#8 ← phi( main::@2/(byte) key_right_debounce#3 ) (byte) form_field_idx#11 ← phi( main::@2/(byte) form_field_idx#3 ) (byte) key_down_debounce#8 ← phi( main::@2/(byte) key_down_debounce#3 ) (signed byte) form_cursor_count#10 ← phi( main::@2/(signed byte) form_cursor_count#3 ) - (byte*) print_char_cursor#24 ← phi( main::@2/(byte*) print_char_cursor#15 ) - (byte*) print_line_cursor#23 ← phi( main::@2/(byte*) print_line_cursor#14 ) - (byte*) print_screen#12 ← phi( main::@2/(byte*) print_screen#6 ) - (byte*) print_screen#3 ← (byte*) print_screen#12 - (byte*) print_line_cursor#9 ← (byte*) print_line_cursor#23 - (byte*) print_char_cursor#10 ← (byte*) print_char_cursor#24 + (byte*) print_char_cursor#27 ← phi( main::@2/(byte*) print_char_cursor#18 ) + (byte*) print_line_cursor#26 ← phi( main::@2/(byte*) print_line_cursor#17 ) + (byte*) print_screen#13 ← phi( main::@2/(byte*) print_screen#7 ) + (byte*) print_screen#3 ← (byte*) print_screen#13 + (byte*) print_line_cursor#9 ← (byte*) print_line_cursor#26 + (byte*) print_char_cursor#10 ← (byte*) print_char_cursor#27 (signed byte) form_cursor_count#0 ← (signed byte) form_cursor_count#10 (byte) key_down_debounce#0 ← (byte) key_down_debounce#8 (byte) form_field_idx#0 ← (byte) form_field_idx#11 @@ -3088,12 +3132,12 @@ main::@return: scope:[main] from main::@1 (byte) form_field_idx#12 ← phi( main::@1/(byte) form_field_idx#26 ) (byte) key_down_debounce#9 ← phi( main::@1/(byte) key_down_debounce#16 ) (signed byte) form_cursor_count#11 ← phi( main::@1/(signed byte) form_cursor_count#19 ) - (byte*) print_char_cursor#25 ← phi( main::@1/(byte*) print_char_cursor#36 ) - (byte*) print_line_cursor#24 ← phi( main::@1/(byte*) print_line_cursor#34 ) - (byte*) print_screen#13 ← phi( main::@1/(byte*) print_screen#18 ) - (byte*) print_screen#4 ← (byte*) print_screen#13 - (byte*) print_line_cursor#10 ← (byte*) print_line_cursor#24 - (byte*) print_char_cursor#11 ← (byte*) print_char_cursor#25 + (byte*) print_char_cursor#28 ← phi( main::@1/(byte*) print_char_cursor#42 ) + (byte*) print_line_cursor#27 ← phi( main::@1/(byte*) print_line_cursor#40 ) + (byte*) print_screen#14 ← phi( main::@1/(byte*) print_screen#20 ) + (byte*) print_screen#4 ← (byte*) print_screen#14 + (byte*) print_line_cursor#10 ← (byte*) print_line_cursor#27 + (byte*) print_char_cursor#11 ← (byte*) print_char_cursor#28 (signed byte) form_cursor_count#1 ← (signed byte) form_cursor_count#11 (byte) key_down_debounce#1 ← (byte) key_down_debounce#9 (byte) form_field_idx#1 ← (byte) form_field_idx#12 @@ -3101,29 +3145,39 @@ main::@return: scope:[main] from main::@1 return to:@return @20: scope:[] from @15 - (byte*) print_char_cursor#51 ← phi( @15/(byte*) print_char_cursor#52 ) - (byte*) print_line_cursor#50 ← phi( @15/(byte*) print_line_cursor#52 ) - (byte*) print_screen#30 ← phi( @15/(byte*) print_screen#31 ) - (string~) $0 ← (const string) $11 + (const string) $12 - (string~) $1 ← (string~) $0 + (const string) $13 - (string~) $2 ← (string~) $1 + (const string) $14 - (string~) $3 ← (string~) $2 + (const string) $15 - (string~) $4 ← (string~) $3 + (const string) $16 - (string~) $5 ← (string~) $4 + (const string) $17 - (string~) $6 ← (string~) $5 + (const string) $18 - (string~) $7 ← (string~) $6 + (const string) $19 - (string~) $8 ← (string~) $7 + (const string) $20 - (byte[]) MENU_TEXT#0 ← (string~) $8 + (byte*) print_char_cursor#57 ← phi( @15/(byte*) print_char_cursor#58 ) + (byte*) print_line_cursor#56 ← phi( @15/(byte*) print_line_cursor#58 ) + (byte*) print_screen#34 ← phi( @15/(byte*) print_screen#35 ) + (string~) $0 ← (const string) $20 + (const string) $21 + (string~) $1 ← (string~) $0 + (const string) $22 + (string~) $2 ← (string~) $1 + (const string) $23 + (string~) $3 ← (string~) $2 + (const string) $24 + (string~) $4 ← (string~) $3 + (const string) $25 + (string~) $5 ← (string~) $4 + (const string) $26 + (string~) $6 ← (string~) $5 + (const string) $27 + (string~) $7 ← (string~) $6 + (const string) $28 + (string~) $8 ← (string~) $7 + (const string) $29 + (byte[]) MENU_COLS#0 ← (string~) $8 + (string~) $9 ← (const string) $30 + (const string) $31 + (string~) $10 ← (string~) $9 + (const string) $32 + (string~) $11 ← (string~) $10 + (const string) $33 + (string~) $12 ← (string~) $11 + (const string) $34 + (string~) $13 ← (string~) $12 + (const string) $35 + (string~) $14 ← (string~) $13 + (const string) $36 + (string~) $15 ← (string~) $14 + (const string) $37 + (string~) $16 ← (string~) $15 + (const string) $38 + (string~) $17 ← (string~) $16 + (const string) $39 + (byte[]) MENU_TEXT#0 ← (string~) $17 to:@21 menu: scope:[menu] from main::@2 - (byte) form_fields_cnt#27 ← phi( main::@2/(byte) form_fields_cnt#29 ) - (byte) key_right_debounce#64 ← phi( main::@2/(byte) key_right_debounce#15 ) - (byte) form_field_idx#66 ← phi( main::@2/(byte) form_field_idx#25 ) - (byte) key_down_debounce#64 ← phi( main::@2/(byte) key_down_debounce#15 ) - (signed byte) form_cursor_count#57 ← phi( main::@2/(signed byte) form_cursor_count#18 ) - (byte*) print_char_cursor#56 ← phi( main::@2/(byte*) print_char_cursor#35 ) - (byte*) print_line_cursor#56 ← phi( main::@2/(byte*) print_line_cursor#33 ) - (byte*) print_screen#36 ← phi( main::@2/(byte*) print_screen#17 ) + (byte) form_fields_cnt#29 ← phi( main::@2/(byte) form_fields_cnt#32 ) + (byte) key_right_debounce#65 ← phi( main::@2/(byte) key_right_debounce#15 ) + (byte) form_field_idx#67 ← phi( main::@2/(byte) form_field_idx#25 ) + (byte) key_down_debounce#65 ← phi( main::@2/(byte) key_down_debounce#15 ) + (signed byte) form_cursor_count#58 ← phi( main::@2/(signed byte) form_cursor_count#18 ) + (byte*) print_char_cursor#54 ← phi( main::@2/(byte*) print_char_cursor#41 ) + (byte*) print_line_cursor#53 ← phi( main::@2/(byte*) print_line_cursor#39 ) + (byte*) print_screen#31 ← phi( main::@2/(byte*) print_screen#19 ) (byte*) menu::SCREEN#0 ← ((byte*)) (word/dword/signed dword) 32768 (byte*) menu::CHARSET#0 ← ((byte*)) (word/dword/signed dword) 38912 (dword~) menu::$0 ← ((dword)) (byte*) menu::CHARSET#0 @@ -3161,203 +3215,218 @@ menu: scope:[menu] from main::@2 (byte) menu::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:menu::@1 menu::@1: scope:[menu] from menu menu::@1 - (byte) form_fields_cnt#25 ← phi( menu/(byte) form_fields_cnt#27 menu::@1/(byte) form_fields_cnt#25 ) - (byte) key_right_debounce#63 ← phi( menu/(byte) key_right_debounce#64 menu::@1/(byte) key_right_debounce#63 ) - (byte) form_field_idx#65 ← phi( menu/(byte) form_field_idx#66 menu::@1/(byte) form_field_idx#65 ) - (byte) key_down_debounce#63 ← phi( menu/(byte) key_down_debounce#64 menu::@1/(byte) key_down_debounce#63 ) - (signed byte) form_cursor_count#56 ← phi( menu/(signed byte) form_cursor_count#57 menu::@1/(signed byte) form_cursor_count#56 ) - (byte*) print_char_cursor#53 ← phi( menu/(byte*) print_char_cursor#56 menu::@1/(byte*) print_char_cursor#53 ) - (byte*) print_line_cursor#53 ← phi( menu/(byte*) print_line_cursor#56 menu::@1/(byte*) print_line_cursor#53 ) - (byte*) print_screen#32 ← phi( menu/(byte*) print_screen#36 menu::@1/(byte*) print_screen#32 ) + (byte) form_fields_cnt#27 ← phi( menu/(byte) form_fields_cnt#29 menu::@1/(byte) form_fields_cnt#27 ) + (byte) key_right_debounce#64 ← phi( menu/(byte) key_right_debounce#65 menu::@1/(byte) key_right_debounce#64 ) + (byte) form_field_idx#66 ← phi( menu/(byte) form_field_idx#67 menu::@1/(byte) form_field_idx#66 ) + (byte) key_down_debounce#64 ← phi( menu/(byte) key_down_debounce#65 menu::@1/(byte) key_down_debounce#64 ) + (signed byte) form_cursor_count#57 ← phi( menu/(signed byte) form_cursor_count#58 menu::@1/(signed byte) form_cursor_count#57 ) + (byte*) print_char_cursor#50 ← phi( menu/(byte*) print_char_cursor#54 menu::@1/(byte*) print_char_cursor#50 ) + (byte*) print_line_cursor#47 ← phi( menu/(byte*) print_line_cursor#53 menu::@1/(byte*) print_line_cursor#47 ) + (byte*) print_screen#26 ← phi( menu/(byte*) print_screen#31 menu::@1/(byte*) print_screen#26 ) (byte) menu::i#2 ← phi( menu/(byte) menu::i#0 menu::@1/(byte) menu::i#1 ) *((byte*) DTV_PALETTE#0 + (byte) menu::i#2) ← *((byte[16]) DTV_PALETTE_DEFAULT#0 + (byte) menu::i#2) (byte) menu::i#1 ← ++ (byte) menu::i#2 (boolean~) menu::$23 ← (byte) menu::i#1 != (byte/signed byte/word/signed word/dword/signed dword) 16 if((boolean~) menu::$23) goto menu::@1 - to:menu::@9 -menu::@9: scope:[menu] from menu::@1 - (byte) form_fields_cnt#23 ← phi( menu::@1/(byte) form_fields_cnt#25 ) - (byte) key_right_debounce#62 ← phi( menu::@1/(byte) key_right_debounce#63 ) - (byte) form_field_idx#64 ← phi( menu::@1/(byte) form_field_idx#65 ) - (byte) key_down_debounce#62 ← phi( menu::@1/(byte) key_down_debounce#63 ) - (signed byte) form_cursor_count#55 ← phi( menu::@1/(signed byte) form_cursor_count#56 ) - (byte*) print_char_cursor#48 ← phi( menu::@1/(byte*) print_char_cursor#53 ) - (byte*) print_line_cursor#47 ← phi( menu::@1/(byte*) print_line_cursor#53 ) - (byte*) print_screen#27 ← phi( menu::@1/(byte*) print_screen#32 ) - (byte*) menu::c#0 ← (byte*) COLS#0 - to:menu::@2 -menu::@2: scope:[menu] from menu::@2 menu::@9 - (byte) form_fields_cnt#20 ← phi( menu::@2/(byte) form_fields_cnt#20 menu::@9/(byte) form_fields_cnt#23 ) - (byte) key_right_debounce#61 ← phi( menu::@2/(byte) key_right_debounce#61 menu::@9/(byte) key_right_debounce#62 ) - (byte) form_field_idx#61 ← phi( menu::@2/(byte) form_field_idx#61 menu::@9/(byte) form_field_idx#64 ) - (byte) key_down_debounce#61 ← phi( menu::@2/(byte) key_down_debounce#61 menu::@9/(byte) key_down_debounce#62 ) - (signed byte) form_cursor_count#54 ← phi( menu::@2/(signed byte) form_cursor_count#54 menu::@9/(signed byte) form_cursor_count#55 ) - (byte*) print_char_cursor#44 ← phi( menu::@2/(byte*) print_char_cursor#44 menu::@9/(byte*) print_char_cursor#48 ) - (byte*) print_line_cursor#41 ← phi( menu::@2/(byte*) print_line_cursor#41 menu::@9/(byte*) print_line_cursor#47 ) - (byte*) print_screen#23 ← phi( menu::@2/(byte*) print_screen#23 menu::@9/(byte*) print_screen#27 ) - (byte*) menu::c#2 ← phi( menu::@2/(byte*) menu::c#1 menu::@9/(byte*) menu::c#0 ) - *((byte*) menu::c#2) ← (byte) LIGHT_GREEN#0 - (byte*) menu::c#1 ← ++ (byte*) menu::c#2 - (byte*~) menu::$24 ← (byte*) COLS#0 + (word/signed word/dword/signed dword) 1000 - (boolean~) menu::$25 ← (byte*) menu::c#1 != (byte*~) menu::$24 - if((boolean~) menu::$25) goto menu::@2 - to:menu::@10 -menu::@10: scope:[menu] from menu::@2 - (byte) form_fields_cnt#18 ← phi( menu::@2/(byte) form_fields_cnt#20 ) - (byte) key_right_debounce#59 ← phi( menu::@2/(byte) key_right_debounce#61 ) - (byte) form_field_idx#59 ← phi( menu::@2/(byte) form_field_idx#61 ) - (byte) key_down_debounce#60 ← phi( menu::@2/(byte) key_down_debounce#61 ) - (signed byte) form_cursor_count#53 ← phi( menu::@2/(signed byte) form_cursor_count#54 ) - (byte*) print_char_cursor#37 ← phi( menu::@2/(byte*) print_char_cursor#44 ) - (byte*) print_line_cursor#35 ← phi( menu::@2/(byte*) print_line_cursor#41 ) - (byte*) print_screen#19 ← phi( menu::@2/(byte*) print_screen#23 ) + to:menu::@8 +menu::@8: scope:[menu] from menu::@1 + (byte) form_fields_cnt#25 ← phi( menu::@1/(byte) form_fields_cnt#27 ) + (byte) key_right_debounce#63 ← phi( menu::@1/(byte) key_right_debounce#64 ) + (byte) form_field_idx#65 ← phi( menu::@1/(byte) form_field_idx#66 ) + (byte) key_down_debounce#63 ← phi( menu::@1/(byte) key_down_debounce#64 ) + (signed byte) form_cursor_count#56 ← phi( menu::@1/(signed byte) form_cursor_count#57 ) + (byte*) print_char_cursor#43 ← phi( menu::@1/(byte*) print_char_cursor#50 ) + (byte*) print_line_cursor#41 ← phi( menu::@1/(byte*) print_line_cursor#47 ) + (byte*) print_screen#21 ← phi( menu::@1/(byte*) print_screen#26 ) *((byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 *((byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (byte*) print_set_screen::screen#0 ← (byte*) menu::SCREEN#0 + (byte*) print_set_screen::screen#0 ← (byte*) COLS#0 call print_set_screen param-assignment - to:menu::@17 -menu::@17: scope:[menu] from menu::@10 - (byte) form_fields_cnt#15 ← phi( menu::@10/(byte) form_fields_cnt#18 ) - (byte) key_right_debounce#56 ← phi( menu::@10/(byte) key_right_debounce#59 ) - (byte) form_field_idx#56 ← phi( menu::@10/(byte) form_field_idx#59 ) - (byte) key_down_debounce#59 ← phi( menu::@10/(byte) key_down_debounce#60 ) - (signed byte) form_cursor_count#50 ← phi( menu::@10/(signed byte) form_cursor_count#53 ) - (byte*) print_char_cursor#26 ← phi( menu::@10/(byte*) print_char_cursor#9 ) - (byte*) print_line_cursor#25 ← phi( menu::@10/(byte*) print_line_cursor#8 ) - (byte*) print_screen#14 ← phi( menu::@10/(byte*) print_screen#2 ) - (byte*) print_screen#5 ← (byte*) print_screen#14 - (byte*) print_line_cursor#11 ← (byte*) print_line_cursor#25 - (byte*) print_char_cursor#12 ← (byte*) print_char_cursor#26 + to:menu::@15 +menu::@15: scope:[menu] from menu::@8 + (byte) form_fields_cnt#23 ← phi( menu::@8/(byte) form_fields_cnt#25 ) + (byte) key_right_debounce#62 ← phi( menu::@8/(byte) key_right_debounce#63 ) + (byte) form_field_idx#64 ← phi( menu::@8/(byte) form_field_idx#65 ) + (byte) key_down_debounce#62 ← phi( menu::@8/(byte) key_down_debounce#63 ) + (signed byte) form_cursor_count#55 ← phi( menu::@8/(signed byte) form_cursor_count#56 ) + (byte*) print_char_cursor#29 ← phi( menu::@8/(byte*) print_char_cursor#9 ) + (byte*) print_line_cursor#28 ← phi( menu::@8/(byte*) print_line_cursor#8 ) + (byte*) print_screen#15 ← phi( menu::@8/(byte*) print_screen#2 ) + (byte*) print_screen#5 ← (byte*) print_screen#15 + (byte*) print_line_cursor#11 ← (byte*) print_line_cursor#28 + (byte*) print_char_cursor#12 ← (byte*) print_char_cursor#29 call print_cls param-assignment + to:menu::@16 +menu::@16: scope:[menu] from menu::@15 + (byte) form_fields_cnt#20 ← phi( menu::@15/(byte) form_fields_cnt#23 ) + (byte) key_right_debounce#61 ← phi( menu::@15/(byte) key_right_debounce#62 ) + (byte) form_field_idx#61 ← phi( menu::@15/(byte) form_field_idx#64 ) + (byte) key_down_debounce#61 ← phi( menu::@15/(byte) key_down_debounce#62 ) + (signed byte) form_cursor_count#54 ← phi( menu::@15/(signed byte) form_cursor_count#55 ) + (byte*) print_screen#27 ← phi( menu::@15/(byte*) print_screen#5 ) + (byte*) print_char_cursor#30 ← phi( menu::@15/(byte*) print_char_cursor#7 ) + (byte*) print_line_cursor#29 ← phi( menu::@15/(byte*) print_line_cursor#6 ) + (byte*) print_line_cursor#12 ← (byte*) print_line_cursor#29 + (byte*) print_char_cursor#13 ← (byte*) print_char_cursor#30 + (byte*) print_str_lines::str#1 ← (byte[]) MENU_COLS#0 + call print_str_lines param-assignment + to:menu::@17 +menu::@17: scope:[menu] from menu::@16 + (byte) form_fields_cnt#18 ← phi( menu::@16/(byte) form_fields_cnt#20 ) + (byte) key_right_debounce#59 ← phi( menu::@16/(byte) key_right_debounce#61 ) + (byte) form_field_idx#59 ← phi( menu::@16/(byte) form_field_idx#61 ) + (byte) key_down_debounce#60 ← phi( menu::@16/(byte) key_down_debounce#61 ) + (signed byte) form_cursor_count#53 ← phi( menu::@16/(signed byte) form_cursor_count#54 ) + (byte*) print_screen#22 ← phi( menu::@16/(byte*) print_screen#27 ) + (byte*) print_line_cursor#30 ← phi( menu::@16/(byte*) print_line_cursor#2 ) + (byte*) print_char_cursor#31 ← phi( menu::@16/(byte*) print_char_cursor#3 ) + (byte*) print_char_cursor#14 ← (byte*) print_char_cursor#31 + (byte*) print_line_cursor#13 ← (byte*) print_line_cursor#30 + (byte*) print_set_screen::screen#1 ← (byte*) menu::SCREEN#0 + call print_set_screen param-assignment to:menu::@18 menu::@18: scope:[menu] from menu::@17 - (byte) form_fields_cnt#13 ← phi( menu::@17/(byte) form_fields_cnt#15 ) - (byte) key_right_debounce#52 ← phi( menu::@17/(byte) key_right_debounce#56 ) - (byte) form_field_idx#54 ← phi( menu::@17/(byte) form_field_idx#56 ) - (byte) key_down_debounce#55 ← phi( menu::@17/(byte) key_down_debounce#59 ) - (signed byte) form_cursor_count#46 ← phi( menu::@17/(signed byte) form_cursor_count#50 ) - (byte*) print_screen#37 ← phi( menu::@17/(byte*) print_screen#5 ) - (byte*) print_char_cursor#27 ← phi( menu::@17/(byte*) print_char_cursor#7 ) - (byte*) print_line_cursor#26 ← phi( menu::@17/(byte*) print_line_cursor#6 ) - (byte*) print_line_cursor#12 ← (byte*) print_line_cursor#26 - (byte*) print_char_cursor#13 ← (byte*) print_char_cursor#27 - (byte*) print_str_lines::str#1 ← (byte[]) MENU_TEXT#0 - call print_str_lines param-assignment + (byte) form_fields_cnt#15 ← phi( menu::@17/(byte) form_fields_cnt#18 ) + (byte) key_right_debounce#56 ← phi( menu::@17/(byte) key_right_debounce#59 ) + (byte) form_field_idx#56 ← phi( menu::@17/(byte) form_field_idx#59 ) + (byte) key_down_debounce#59 ← phi( menu::@17/(byte) key_down_debounce#60 ) + (signed byte) form_cursor_count#50 ← phi( menu::@17/(signed byte) form_cursor_count#53 ) + (byte*) print_char_cursor#32 ← phi( menu::@17/(byte*) print_char_cursor#9 ) + (byte*) print_line_cursor#31 ← phi( menu::@17/(byte*) print_line_cursor#8 ) + (byte*) print_screen#16 ← phi( menu::@17/(byte*) print_screen#2 ) + (byte*) print_screen#6 ← (byte*) print_screen#16 + (byte*) print_line_cursor#14 ← (byte*) print_line_cursor#31 + (byte*) print_char_cursor#15 ← (byte*) print_char_cursor#32 + call print_cls param-assignment to:menu::@19 menu::@19: scope:[menu] from menu::@18 - (byte) form_fields_cnt#11 ← phi( menu::@18/(byte) form_fields_cnt#13 ) - (byte) key_right_debounce#47 ← phi( menu::@18/(byte) key_right_debounce#52 ) - (byte) form_field_idx#51 ← phi( menu::@18/(byte) form_field_idx#54 ) - (byte) key_down_debounce#49 ← phi( menu::@18/(byte) key_down_debounce#55 ) - (signed byte) form_cursor_count#42 ← phi( menu::@18/(signed byte) form_cursor_count#46 ) - (byte*) print_screen#33 ← phi( menu::@18/(byte*) print_screen#37 ) - (byte*) print_line_cursor#27 ← phi( menu::@18/(byte*) print_line_cursor#2 ) - (byte*) print_char_cursor#28 ← phi( menu::@18/(byte*) print_char_cursor#3 ) - (byte*) print_char_cursor#14 ← (byte*) print_char_cursor#28 - (byte*) print_line_cursor#13 ← (byte*) print_line_cursor#27 - (byte*) form_set_screen::screen#0 ← (byte*) menu::SCREEN#0 - call form_set_screen param-assignment + (byte) form_fields_cnt#13 ← phi( menu::@18/(byte) form_fields_cnt#15 ) + (byte) key_right_debounce#52 ← phi( menu::@18/(byte) key_right_debounce#56 ) + (byte) form_field_idx#54 ← phi( menu::@18/(byte) form_field_idx#56 ) + (byte) key_down_debounce#55 ← phi( menu::@18/(byte) key_down_debounce#59 ) + (signed byte) form_cursor_count#46 ← phi( menu::@18/(signed byte) form_cursor_count#50 ) + (byte*) print_screen#39 ← phi( menu::@18/(byte*) print_screen#6 ) + (byte*) print_char_cursor#33 ← phi( menu::@18/(byte*) print_char_cursor#7 ) + (byte*) print_line_cursor#32 ← phi( menu::@18/(byte*) print_line_cursor#6 ) + (byte*) print_line_cursor#15 ← (byte*) print_line_cursor#32 + (byte*) print_char_cursor#16 ← (byte*) print_char_cursor#33 + (byte*) print_str_lines::str#2 ← (byte[]) MENU_TEXT#0 + call print_str_lines param-assignment to:menu::@20 menu::@20: scope:[menu] from menu::@19 - (byte) form_fields_cnt#9 ← phi( menu::@19/(byte) form_fields_cnt#11 ) - (byte) key_right_debounce#38 ← phi( menu::@19/(byte) key_right_debounce#47 ) - (byte) form_field_idx#46 ← phi( menu::@19/(byte) form_field_idx#51 ) - (byte) key_down_debounce#40 ← phi( menu::@19/(byte) key_down_debounce#49 ) - (signed byte) form_cursor_count#36 ← phi( menu::@19/(signed byte) form_cursor_count#42 ) - (byte*) print_char_cursor#49 ← phi( menu::@19/(byte*) print_char_cursor#14 ) - (byte*) print_line_cursor#48 ← phi( menu::@19/(byte*) print_line_cursor#13 ) - (byte*) print_screen#28 ← phi( menu::@19/(byte*) print_screen#33 ) - call form_render_values param-assignment + (byte) form_fields_cnt#11 ← phi( menu::@19/(byte) form_fields_cnt#13 ) + (byte) key_right_debounce#47 ← phi( menu::@19/(byte) key_right_debounce#52 ) + (byte) form_field_idx#51 ← phi( menu::@19/(byte) form_field_idx#54 ) + (byte) key_down_debounce#49 ← phi( menu::@19/(byte) key_down_debounce#55 ) + (signed byte) form_cursor_count#42 ← phi( menu::@19/(signed byte) form_cursor_count#46 ) + (byte*) print_screen#36 ← phi( menu::@19/(byte*) print_screen#39 ) + (byte*) print_line_cursor#33 ← phi( menu::@19/(byte*) print_line_cursor#2 ) + (byte*) print_char_cursor#34 ← phi( menu::@19/(byte*) print_char_cursor#3 ) + (byte*) print_char_cursor#17 ← (byte*) print_char_cursor#34 + (byte*) print_line_cursor#16 ← (byte*) print_line_cursor#33 + (byte*) form_set_screen::screen#0 ← (byte*) menu::SCREEN#0 + call form_set_screen param-assignment to:menu::@21 menu::@21: scope:[menu] from menu::@20 - (byte) form_fields_cnt#36 ← phi( menu::@20/(byte) form_fields_cnt#9 ) - (byte) key_right_debounce#26 ← phi( menu::@20/(byte) key_right_debounce#38 ) - (byte) form_field_idx#38 ← phi( menu::@20/(byte) form_field_idx#46 ) - (byte) key_down_debounce#26 ← phi( menu::@20/(byte) key_down_debounce#40 ) - (signed byte) form_cursor_count#28 ← phi( menu::@20/(signed byte) form_cursor_count#36 ) - (byte*) print_char_cursor#45 ← phi( menu::@20/(byte*) print_char_cursor#49 ) - (byte*) print_line_cursor#42 ← phi( menu::@20/(byte*) print_line_cursor#48 ) - (byte*) print_screen#24 ← phi( menu::@20/(byte*) print_screen#28 ) - to:menu::@3 -menu::@3: scope:[menu] from menu::@21 menu::@22 - (byte) form_fields_cnt#33 ← phi( menu::@21/(byte) form_fields_cnt#36 menu::@22/(byte) form_fields_cnt#37 ) - (byte) key_right_debounce#18 ← phi( menu::@21/(byte) key_right_debounce#26 menu::@22/(byte) key_right_debounce#2 ) - (byte) form_field_idx#28 ← phi( menu::@21/(byte) form_field_idx#38 menu::@22/(byte) form_field_idx#2 ) - (byte) key_down_debounce#18 ← phi( menu::@21/(byte) key_down_debounce#26 menu::@22/(byte) key_down_debounce#2 ) - (signed byte) form_cursor_count#21 ← phi( menu::@21/(signed byte) form_cursor_count#28 menu::@22/(signed byte) form_cursor_count#2 ) - (byte*) print_char_cursor#38 ← phi( menu::@21/(byte*) print_char_cursor#45 menu::@22/(byte*) print_char_cursor#46 ) - (byte*) print_line_cursor#36 ← phi( menu::@21/(byte*) print_line_cursor#42 menu::@22/(byte*) print_line_cursor#43 ) - (byte*) print_screen#20 ← phi( menu::@21/(byte*) print_screen#24 menu::@22/(byte*) print_screen#25 ) - if(true) goto menu::@4 - to:menu::@return -menu::@4: scope:[menu] from menu::@3 - (byte) form_fields_cnt#30 ← phi( menu::@3/(byte) form_fields_cnt#33 ) - (byte*) print_char_cursor#57 ← phi( menu::@3/(byte*) print_char_cursor#38 ) - (byte*) print_line_cursor#57 ← phi( menu::@3/(byte*) print_line_cursor#36 ) - (byte*) print_screen#38 ← phi( menu::@3/(byte*) print_screen#20 ) - (byte) key_right_debounce#39 ← phi( menu::@3/(byte) key_right_debounce#18 ) - (byte) form_field_idx#47 ← phi( menu::@3/(byte) form_field_idx#28 ) - (byte) key_down_debounce#41 ← phi( menu::@3/(byte) key_down_debounce#18 ) - (signed byte) form_cursor_count#37 ← phi( menu::@3/(signed byte) form_cursor_count#21 ) - to:menu::@6 -menu::@6: scope:[menu] from menu::@4 menu::@7 - (byte) form_fields_cnt#28 ← phi( menu::@4/(byte) form_fields_cnt#30 menu::@7/(byte) form_fields_cnt#31 ) - (byte*) print_char_cursor#54 ← phi( menu::@4/(byte*) print_char_cursor#57 menu::@7/(byte*) print_char_cursor#58 ) - (byte*) print_line_cursor#54 ← phi( menu::@4/(byte*) print_line_cursor#57 menu::@7/(byte*) print_line_cursor#58 ) - (byte*) print_screen#34 ← phi( menu::@4/(byte*) print_screen#38 menu::@7/(byte*) print_screen#39 ) - (byte) key_right_debounce#27 ← phi( menu::@4/(byte) key_right_debounce#39 menu::@7/(byte) key_right_debounce#40 ) - (byte) form_field_idx#39 ← phi( menu::@4/(byte) form_field_idx#47 menu::@7/(byte) form_field_idx#48 ) - (byte) key_down_debounce#27 ← phi( menu::@4/(byte) key_down_debounce#41 menu::@7/(byte) key_down_debounce#42 ) - (signed byte) form_cursor_count#29 ← phi( menu::@4/(signed byte) form_cursor_count#37 menu::@7/(signed byte) form_cursor_count#38 ) - (boolean~) menu::$31 ← *((byte*) RASTER#0) != (byte/word/signed word/dword/signed dword) 255 - if((boolean~) menu::$31) goto menu::@7 - to:menu::@8 -menu::@7: scope:[menu] from menu::@6 - (byte) form_fields_cnt#31 ← phi( menu::@6/(byte) form_fields_cnt#28 ) - (byte*) print_char_cursor#58 ← phi( menu::@6/(byte*) print_char_cursor#54 ) - (byte*) print_line_cursor#58 ← phi( menu::@6/(byte*) print_line_cursor#54 ) - (byte*) print_screen#39 ← phi( menu::@6/(byte*) print_screen#34 ) - (byte) key_right_debounce#40 ← phi( menu::@6/(byte) key_right_debounce#27 ) - (byte) form_field_idx#48 ← phi( menu::@6/(byte) form_field_idx#39 ) - (byte) key_down_debounce#42 ← phi( menu::@6/(byte) key_down_debounce#27 ) - (signed byte) form_cursor_count#38 ← phi( menu::@6/(signed byte) form_cursor_count#29 ) - to:menu::@6 -menu::@8: scope:[menu] from menu::@6 - (byte) form_fields_cnt#26 ← phi( menu::@6/(byte) form_fields_cnt#28 ) - (byte*) print_char_cursor#50 ← phi( menu::@6/(byte*) print_char_cursor#54 ) - (byte*) print_line_cursor#49 ← phi( menu::@6/(byte*) print_line_cursor#54 ) - (byte*) print_screen#29 ← phi( menu::@6/(byte*) print_screen#34 ) - (byte) key_right_debounce#17 ← phi( menu::@6/(byte) key_right_debounce#27 ) - (byte) form_field_idx#27 ← phi( menu::@6/(byte) form_field_idx#39 ) - (byte) key_down_debounce#17 ← phi( menu::@6/(byte) key_down_debounce#27 ) - (signed byte) form_cursor_count#20 ← phi( menu::@6/(signed byte) form_cursor_count#29 ) - call form_control param-assignment + (byte) form_fields_cnt#9 ← phi( menu::@20/(byte) form_fields_cnt#11 ) + (byte) key_right_debounce#38 ← phi( menu::@20/(byte) key_right_debounce#47 ) + (byte) form_field_idx#46 ← phi( menu::@20/(byte) form_field_idx#51 ) + (byte) key_down_debounce#40 ← phi( menu::@20/(byte) key_down_debounce#49 ) + (signed byte) form_cursor_count#36 ← phi( menu::@20/(signed byte) form_cursor_count#42 ) + (byte*) print_char_cursor#55 ← phi( menu::@20/(byte*) print_char_cursor#17 ) + (byte*) print_line_cursor#54 ← phi( menu::@20/(byte*) print_line_cursor#16 ) + (byte*) print_screen#32 ← phi( menu::@20/(byte*) print_screen#36 ) + call form_render_values param-assignment to:menu::@22 -menu::@22: scope:[menu] from menu::@8 - (byte) form_fields_cnt#37 ← phi( menu::@8/(byte) form_fields_cnt#26 ) - (byte*) print_char_cursor#46 ← phi( menu::@8/(byte*) print_char_cursor#50 ) - (byte*) print_line_cursor#43 ← phi( menu::@8/(byte*) print_line_cursor#49 ) - (byte*) print_screen#25 ← phi( menu::@8/(byte*) print_screen#29 ) - (byte) key_right_debounce#10 ← phi( menu::@8/(byte) key_right_debounce#5 ) - (byte) form_field_idx#13 ← phi( menu::@8/(byte) form_field_idx#9 ) - (byte) key_down_debounce#10 ← phi( menu::@8/(byte) key_down_debounce#6 ) - (signed byte) form_cursor_count#12 ← phi( menu::@8/(signed byte) form_cursor_count#8 ) +menu::@22: scope:[menu] from menu::@21 + (byte) form_fields_cnt#35 ← phi( menu::@21/(byte) form_fields_cnt#9 ) + (byte) key_right_debounce#26 ← phi( menu::@21/(byte) key_right_debounce#38 ) + (byte) form_field_idx#38 ← phi( menu::@21/(byte) form_field_idx#46 ) + (byte) key_down_debounce#26 ← phi( menu::@21/(byte) key_down_debounce#40 ) + (signed byte) form_cursor_count#28 ← phi( menu::@21/(signed byte) form_cursor_count#36 ) + (byte*) print_char_cursor#51 ← phi( menu::@21/(byte*) print_char_cursor#55 ) + (byte*) print_line_cursor#48 ← phi( menu::@21/(byte*) print_line_cursor#54 ) + (byte*) print_screen#28 ← phi( menu::@21/(byte*) print_screen#32 ) + to:menu::@2 +menu::@2: scope:[menu] from menu::@22 menu::@23 + (byte) form_fields_cnt#33 ← phi( menu::@22/(byte) form_fields_cnt#35 menu::@23/(byte) form_fields_cnt#36 ) + (byte) key_right_debounce#18 ← phi( menu::@22/(byte) key_right_debounce#26 menu::@23/(byte) key_right_debounce#2 ) + (byte) form_field_idx#28 ← phi( menu::@22/(byte) form_field_idx#38 menu::@23/(byte) form_field_idx#2 ) + (byte) key_down_debounce#18 ← phi( menu::@22/(byte) key_down_debounce#26 menu::@23/(byte) key_down_debounce#2 ) + (signed byte) form_cursor_count#21 ← phi( menu::@22/(signed byte) form_cursor_count#28 menu::@23/(signed byte) form_cursor_count#2 ) + (byte*) print_char_cursor#44 ← phi( menu::@22/(byte*) print_char_cursor#51 menu::@23/(byte*) print_char_cursor#52 ) + (byte*) print_line_cursor#42 ← phi( menu::@22/(byte*) print_line_cursor#48 menu::@23/(byte*) print_line_cursor#49 ) + (byte*) print_screen#23 ← phi( menu::@22/(byte*) print_screen#28 menu::@23/(byte*) print_screen#29 ) + if(true) goto menu::@3 + to:menu::@return +menu::@3: scope:[menu] from menu::@2 + (byte) form_fields_cnt#30 ← phi( menu::@2/(byte) form_fields_cnt#33 ) + (byte*) print_char_cursor#61 ← phi( menu::@2/(byte*) print_char_cursor#44 ) + (byte*) print_line_cursor#61 ← phi( menu::@2/(byte*) print_line_cursor#42 ) + (byte*) print_screen#40 ← phi( menu::@2/(byte*) print_screen#23 ) + (byte) key_right_debounce#39 ← phi( menu::@2/(byte) key_right_debounce#18 ) + (byte) form_field_idx#47 ← phi( menu::@2/(byte) form_field_idx#28 ) + (byte) key_down_debounce#41 ← phi( menu::@2/(byte) key_down_debounce#18 ) + (signed byte) form_cursor_count#37 ← phi( menu::@2/(signed byte) form_cursor_count#21 ) + to:menu::@5 +menu::@5: scope:[menu] from menu::@3 menu::@6 + (byte) form_fields_cnt#28 ← phi( menu::@3/(byte) form_fields_cnt#30 menu::@6/(byte) form_fields_cnt#31 ) + (byte*) print_char_cursor#59 ← phi( menu::@3/(byte*) print_char_cursor#61 menu::@6/(byte*) print_char_cursor#62 ) + (byte*) print_line_cursor#59 ← phi( menu::@3/(byte*) print_line_cursor#61 menu::@6/(byte*) print_line_cursor#62 ) + (byte*) print_screen#37 ← phi( menu::@3/(byte*) print_screen#40 menu::@6/(byte*) print_screen#41 ) + (byte) key_right_debounce#27 ← phi( menu::@3/(byte) key_right_debounce#39 menu::@6/(byte) key_right_debounce#40 ) + (byte) form_field_idx#39 ← phi( menu::@3/(byte) form_field_idx#47 menu::@6/(byte) form_field_idx#48 ) + (byte) key_down_debounce#27 ← phi( menu::@3/(byte) key_down_debounce#41 menu::@6/(byte) key_down_debounce#42 ) + (signed byte) form_cursor_count#29 ← phi( menu::@3/(signed byte) form_cursor_count#37 menu::@6/(signed byte) form_cursor_count#38 ) + (boolean~) menu::$32 ← *((byte*) RASTER#0) != (byte/word/signed word/dword/signed dword) 255 + if((boolean~) menu::$32) goto menu::@6 + to:menu::@7 +menu::@6: scope:[menu] from menu::@5 + (byte) form_fields_cnt#31 ← phi( menu::@5/(byte) form_fields_cnt#28 ) + (byte*) print_char_cursor#62 ← phi( menu::@5/(byte*) print_char_cursor#59 ) + (byte*) print_line_cursor#62 ← phi( menu::@5/(byte*) print_line_cursor#59 ) + (byte*) print_screen#41 ← phi( menu::@5/(byte*) print_screen#37 ) + (byte) key_right_debounce#40 ← phi( menu::@5/(byte) key_right_debounce#27 ) + (byte) form_field_idx#48 ← phi( menu::@5/(byte) form_field_idx#39 ) + (byte) key_down_debounce#42 ← phi( menu::@5/(byte) key_down_debounce#27 ) + (signed byte) form_cursor_count#38 ← phi( menu::@5/(signed byte) form_cursor_count#29 ) + to:menu::@5 +menu::@7: scope:[menu] from menu::@5 + (byte) form_fields_cnt#26 ← phi( menu::@5/(byte) form_fields_cnt#28 ) + (byte*) print_char_cursor#56 ← phi( menu::@5/(byte*) print_char_cursor#59 ) + (byte*) print_line_cursor#55 ← phi( menu::@5/(byte*) print_line_cursor#59 ) + (byte*) print_screen#33 ← phi( menu::@5/(byte*) print_screen#37 ) + (byte) key_right_debounce#17 ← phi( menu::@5/(byte) key_right_debounce#27 ) + (byte) form_field_idx#27 ← phi( menu::@5/(byte) form_field_idx#39 ) + (byte) key_down_debounce#17 ← phi( menu::@5/(byte) key_down_debounce#27 ) + (signed byte) form_cursor_count#20 ← phi( menu::@5/(signed byte) form_cursor_count#29 ) + call form_control param-assignment + to:menu::@23 +menu::@23: scope:[menu] from menu::@7 + (byte) form_fields_cnt#36 ← phi( menu::@7/(byte) form_fields_cnt#26 ) + (byte*) print_char_cursor#52 ← phi( menu::@7/(byte*) print_char_cursor#56 ) + (byte*) print_line_cursor#49 ← phi( menu::@7/(byte*) print_line_cursor#55 ) + (byte*) print_screen#29 ← phi( menu::@7/(byte*) print_screen#33 ) + (byte) key_right_debounce#10 ← phi( menu::@7/(byte) key_right_debounce#5 ) + (byte) form_field_idx#13 ← phi( menu::@7/(byte) form_field_idx#9 ) + (byte) key_down_debounce#10 ← phi( menu::@7/(byte) key_down_debounce#6 ) + (signed byte) form_cursor_count#12 ← phi( menu::@7/(signed byte) form_cursor_count#8 ) (signed byte) form_cursor_count#2 ← (signed byte) form_cursor_count#12 (byte) key_down_debounce#2 ← (byte) key_down_debounce#10 (byte) form_field_idx#2 ← (byte) form_field_idx#13 (byte) key_right_debounce#2 ← (byte) key_right_debounce#10 - to:menu::@3 -menu::@return: scope:[menu] from menu::@3 - (byte) key_right_debounce#11 ← phi( menu::@3/(byte) key_right_debounce#18 ) - (byte) form_field_idx#14 ← phi( menu::@3/(byte) form_field_idx#28 ) - (byte) key_down_debounce#11 ← phi( menu::@3/(byte) key_down_debounce#18 ) - (signed byte) form_cursor_count#13 ← phi( menu::@3/(signed byte) form_cursor_count#21 ) - (byte*) print_char_cursor#29 ← phi( menu::@3/(byte*) print_char_cursor#38 ) - (byte*) print_line_cursor#28 ← phi( menu::@3/(byte*) print_line_cursor#36 ) - (byte*) print_screen#15 ← phi( menu::@3/(byte*) print_screen#20 ) - (byte*) print_screen#6 ← (byte*) print_screen#15 - (byte*) print_line_cursor#14 ← (byte*) print_line_cursor#28 - (byte*) print_char_cursor#15 ← (byte*) print_char_cursor#29 + to:menu::@2 +menu::@return: scope:[menu] from menu::@2 + (byte) key_right_debounce#11 ← phi( menu::@2/(byte) key_right_debounce#18 ) + (byte) form_field_idx#14 ← phi( menu::@2/(byte) form_field_idx#28 ) + (byte) key_down_debounce#11 ← phi( menu::@2/(byte) key_down_debounce#18 ) + (signed byte) form_cursor_count#13 ← phi( menu::@2/(signed byte) form_cursor_count#21 ) + (byte*) print_char_cursor#35 ← phi( menu::@2/(byte*) print_char_cursor#44 ) + (byte*) print_line_cursor#34 ← phi( menu::@2/(byte*) print_line_cursor#42 ) + (byte*) print_screen#17 ← phi( menu::@2/(byte*) print_screen#23 ) + (byte*) print_screen#7 ← (byte*) print_screen#17 + (byte*) print_line_cursor#17 ← (byte*) print_line_cursor#34 + (byte*) print_char_cursor#18 ← (byte*) print_char_cursor#35 (signed byte) form_cursor_count#3 ← (signed byte) form_cursor_count#13 (byte) key_down_debounce#3 ← (byte) key_down_debounce#11 (byte) form_field_idx#3 ← (byte) form_field_idx#14 @@ -3365,25 +3434,25 @@ menu::@return: scope:[menu] from menu::@3 return to:@return @21: scope:[] from @20 - (byte*) print_char_cursor#47 ← phi( @20/(byte*) print_char_cursor#51 ) - (byte*) print_line_cursor#44 ← phi( @20/(byte*) print_line_cursor#50 ) - (byte*) print_screen#26 ← phi( @20/(byte*) print_screen#30 ) + (byte*) print_char_cursor#53 ← phi( @20/(byte*) print_char_cursor#57 ) + (byte*) print_line_cursor#50 ← phi( @20/(byte*) print_line_cursor#56 ) + (byte*) print_screen#30 ← phi( @20/(byte*) print_screen#34 ) (byte[25]) form_line_lo#0 ← { fill( 25, 0) } (byte[25]) form_line_hi#0 ← { fill( 25, 0) } (byte) form_field_idx#4 ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (byte) form_fields_cnt#0 ← (byte/signed byte/word/signed word/dword/signed dword) 9 - (byte[]) form_fields_x#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17 } - (byte[]) form_fields_y#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8 } - (byte[]) form_fields_max#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1 } - (byte[]) form_fields_val#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 } + (byte) form_fields_cnt#0 ← (byte/signed byte/word/signed word/dword/signed dword) 35 + (byte[]) form_fields_x#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 22, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38 } + (byte[]) form_fields_y#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 8 } + (byte[]) form_fields_max#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15 } + (byte[]) form_fields_val#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 } (byte) key_down_debounce#4 ← (byte/signed byte/word/signed word/dword/signed dword) 0 (byte) key_right_debounce#4 ← (byte/signed byte/word/signed word/dword/signed dword) 0 (signed byte) FORM_CURSOR_BLINK#0 ← (byte/signed byte/word/signed word/dword/signed dword) 40 - (signed word/signed byte/signed dword~) $9 ← (signed byte) FORM_CURSOR_BLINK#0 / (byte/signed byte/word/signed word/dword/signed dword) 2 - (signed byte) form_cursor_count#4 ← (signed word/signed byte/signed dword~) $9 + (signed word/signed byte/signed dword~) $18 ← (signed byte) FORM_CURSOR_BLINK#0 / (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed byte) form_cursor_count#4 ← (signed word/signed byte/signed dword~) $18 to:@25 -form_set_screen: scope:[form_set_screen] from menu::@19 - (byte*) form_set_screen::screen#1 ← phi( menu::@19/(byte*) form_set_screen::screen#0 ) +form_set_screen: scope:[form_set_screen] from menu::@20 + (byte*) form_set_screen::screen#1 ← phi( menu::@20/(byte*) form_set_screen::screen#0 ) (byte*) form_set_screen::line#0 ← (byte*) form_set_screen::screen#1 (byte) form_set_screen::y#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:form_set_screen::@1 @@ -3418,8 +3487,8 @@ form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr (byte*) form_field_ptr::return#1 ← (byte*) form_field_ptr::return#4 return to:@return -form_render_values: scope:[form_render_values] from menu::@20 - (byte) form_fields_cnt#7 ← phi( menu::@20/(byte) form_fields_cnt#9 ) +form_render_values: scope:[form_render_values] from menu::@21 + (byte) form_fields_cnt#7 ← phi( menu::@21/(byte) form_fields_cnt#9 ) (byte) form_render_values::idx#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:form_render_values::@1 form_render_values::@1: scope:[form_render_values] from form_render_values form_render_values::@3 @@ -3443,12 +3512,12 @@ form_render_values::@3: scope:[form_render_values] from form_render_values::@1 form_render_values::@return: scope:[form_render_values] from form_render_values::@3 return to:@return -form_control: scope:[form_control] from menu::@8 - (byte) form_fields_cnt#24 ← phi( menu::@8/(byte) form_fields_cnt#26 ) - (byte) key_right_debounce#60 ← phi( menu::@8/(byte) key_right_debounce#17 ) - (byte) key_down_debounce#56 ← phi( menu::@8/(byte) key_down_debounce#17 ) - (signed byte) form_cursor_count#22 ← phi( menu::@8/(signed byte) form_cursor_count#20 ) - (byte) form_field_idx#15 ← phi( menu::@8/(byte) form_field_idx#27 ) +form_control: scope:[form_control] from menu::@7 + (byte) form_fields_cnt#24 ← phi( menu::@7/(byte) form_fields_cnt#26 ) + (byte) key_right_debounce#60 ← phi( menu::@7/(byte) key_right_debounce#17 ) + (byte) key_down_debounce#56 ← phi( menu::@7/(byte) key_down_debounce#17 ) + (signed byte) form_cursor_count#22 ← phi( menu::@7/(signed byte) form_cursor_count#20 ) + (byte) form_field_idx#15 ← phi( menu::@7/(byte) form_field_idx#27 ) (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#15 call form_field_ptr param-assignment (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#1 @@ -3763,14 +3832,14 @@ form_control::@31: scope:[form_control] from form_control::@12 *((byte[]) form_fields_val#0 + (byte) form_field_idx#23) ← *((byte[]) form_fields_max#0 + (byte) form_field_idx#23) to:form_control::@14 @25: scope:[] from @21 - (byte) form_fields_cnt#38 ← phi( @21/(byte) form_fields_cnt#0 ) + (byte) form_fields_cnt#39 ← phi( @21/(byte) form_fields_cnt#0 ) (byte) key_right_debounce#24 ← phi( @21/(byte) key_right_debounce#4 ) (byte) form_field_idx#36 ← phi( @21/(byte) form_field_idx#4 ) (byte) key_down_debounce#24 ← phi( @21/(byte) key_down_debounce#4 ) (signed byte) form_cursor_count#26 ← phi( @21/(signed byte) form_cursor_count#4 ) - (byte*) print_char_cursor#39 ← phi( @21/(byte*) print_char_cursor#47 ) - (byte*) print_line_cursor#37 ← phi( @21/(byte*) print_line_cursor#44 ) - (byte*) print_screen#21 ← phi( @21/(byte*) print_screen#26 ) + (byte*) print_char_cursor#45 ← phi( @21/(byte*) print_char_cursor#53 ) + (byte*) print_line_cursor#43 ← phi( @21/(byte*) print_line_cursor#50 ) + (byte*) print_screen#24 ← phi( @21/(byte*) print_screen#30 ) call main param-assignment to:@26 @26: scope:[] from @25 @@ -3778,12 +3847,12 @@ form_control::@31: scope:[form_control] from form_control::@12 (byte) form_field_idx#24 ← phi( @25/(byte) form_field_idx#1 ) (byte) key_down_debounce#14 ← phi( @25/(byte) key_down_debounce#1 ) (signed byte) form_cursor_count#17 ← phi( @25/(signed byte) form_cursor_count#1 ) - (byte*) print_char_cursor#30 ← phi( @25/(byte*) print_char_cursor#11 ) - (byte*) print_line_cursor#29 ← phi( @25/(byte*) print_line_cursor#10 ) - (byte*) print_screen#16 ← phi( @25/(byte*) print_screen#4 ) - (byte*) print_screen#7 ← (byte*) print_screen#16 - (byte*) print_line_cursor#15 ← (byte*) print_line_cursor#29 - (byte*) print_char_cursor#16 ← (byte*) print_char_cursor#30 + (byte*) print_char_cursor#36 ← phi( @25/(byte*) print_char_cursor#11 ) + (byte*) print_line_cursor#35 ← phi( @25/(byte*) print_line_cursor#10 ) + (byte*) print_screen#18 ← phi( @25/(byte*) print_screen#4 ) + (byte*) print_screen#8 ← (byte*) print_screen#18 + (byte*) print_line_cursor#18 ← (byte*) print_line_cursor#35 + (byte*) print_char_cursor#19 ← (byte*) print_char_cursor#36 (signed byte) form_cursor_count#9 ← (signed byte) form_cursor_count#17 (byte) key_down_debounce#7 ← (byte) key_down_debounce#14 (byte) form_field_idx#10 ← (byte) form_field_idx#24 @@ -3794,25 +3863,44 @@ form_control::@31: scope:[form_control] from form_control::@12 SYMBOL TABLE SSA (string~) $0 (string~) $1 -(const string) $10 = (string) "0123456789abcdef" -(const string) $11 = (string) " DTV GfxExplorer PRESET 8bpp pixel cell @" -(const string) $12 = (string) " CONTROL PLANE A PLANE B VIC II @" -(const string) $13 = (string) " bmm 0 patt p1 patt p2 screen s3 @" -(const string) $14 = (string) " mcm 0 start 00 start 00 gfx g4 @" -(const string) $15 = (string) " ecm 0 step 00 step 00 colors c5 @" -(const string) $16 = (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" -(const string) $17 = (string) " line 0 bgcol1 00 @" -(const string) $18 = (string) " colof 0 borof 0 bgcol2 00 @" -(const string) $19 = (string) " chunk 0 overs 0 bgcol3 00 @" +(string~) $10 +(string~) $11 +(string~) $12 +(string~) $13 +(string~) $14 +(string~) $15 +(string~) $16 +(string~) $17 +(signed word/signed byte/signed dword~) $18 +(const string) $19 = (string) "0123456789abcdef" (string~) $2 -(const string) $20 = (string) "@" +(const string) $20 = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" +(const string) $21 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +(const string) $22 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +(const string) $23 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +(const string) $24 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +(const string) $25 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +(const string) $26 = (string) " nnnnnnn ooooooooo @" +(const string) $27 = (string) " nnnnnnn nnnnnnnn ooooooooo @" +(const string) $28 = (string) " nnnnnnn nnnnnnnn ooooooooo @" +(const string) $29 = (string) "@" (string~) $3 +(const string) $30 = (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @" +(const string) $31 = (string) " CONTROL PLANE A PLANE B VIC II @" +(const string) $32 = (string) " bmm 0 patt p0 patt p0 screen s0 @" +(const string) $33 = (string) " mcm 0 start 00 start 00 gfx g0 @" +(const string) $34 = (string) " ecm 0 step 00 step 00 colors c0 @" +(const string) $35 = (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" +(const string) $36 = (string) " line 0 bgcol1 00 @" +(const string) $37 = (string) " colof 0 borof 0 bgcol2 00 @" +(const string) $38 = (string) " chunk 0 overs 0 bgcol3 00 @" +(const string) $39 = (string) "@" (string~) $4 (string~) $5 (string~) $6 (string~) $7 (string~) $8 -(signed word/signed byte/signed dword~) $9 +(string~) $9 (label) @1 (label) @11 (label) @15 @@ -3862,8 +3950,8 @@ SYMBOL TABLE SSA (byte) KEY_CRSR_RIGHT#0 (byte) KEY_RSHIFT (byte) KEY_RSHIFT#0 -(byte) LIGHT_GREEN -(byte) LIGHT_GREEN#0 +(byte[]) MENU_COLS +(byte[]) MENU_COLS#0 (byte[]) MENU_TEXT (byte[]) MENU_TEXT#0 (byte*) RASTER @@ -4033,6 +4121,7 @@ SYMBOL TABLE SSA (signed byte) form_cursor_count#55 (signed byte) form_cursor_count#56 (signed byte) form_cursor_count#57 +(signed byte) form_cursor_count#58 (signed byte) form_cursor_count#6 (signed byte) form_cursor_count#7 (signed byte) form_cursor_count#8 @@ -4102,6 +4191,7 @@ SYMBOL TABLE SSA (byte) form_field_idx#64 (byte) form_field_idx#65 (byte) form_field_idx#66 +(byte) form_field_idx#67 (byte) form_field_idx#7 (byte) form_field_idx#8 (byte) form_field_idx#9 @@ -4163,6 +4253,7 @@ SYMBOL TABLE SSA (byte) form_fields_cnt#36 (byte) form_fields_cnt#37 (byte) form_fields_cnt#38 +(byte) form_fields_cnt#39 (byte) form_fields_cnt#4 (byte) form_fields_cnt#5 (byte) form_fields_cnt#6 @@ -4275,6 +4366,7 @@ SYMBOL TABLE SSA (byte) key_down_debounce#62 (byte) key_down_debounce#63 (byte) key_down_debounce#64 +(byte) key_down_debounce#65 (byte) key_down_debounce#7 (byte) key_down_debounce#8 (byte) key_down_debounce#9 @@ -4341,6 +4433,7 @@ SYMBOL TABLE SSA (byte) key_right_debounce#62 (byte) key_right_debounce#63 (byte) key_right_debounce#64 +(byte) key_right_debounce#65 (byte) key_right_debounce#7 (byte) key_right_debounce#8 (byte) key_right_debounce#9 @@ -4415,10 +4508,8 @@ SYMBOL TABLE SSA (word/dword~) menu::$21 (byte~) menu::$22 (boolean~) menu::$23 -(byte*~) menu::$24 -(boolean~) menu::$25 (dword~) menu::$3 -(boolean~) menu::$31 +(boolean~) menu::$32 (word~) menu::$4 (byte~) menu::$5 (dword~) menu::$6 @@ -4426,7 +4517,8 @@ SYMBOL TABLE SSA (byte~) menu::$8 (word~) menu::$9 (label) menu::@1 -(label) menu::@10 +(label) menu::@15 +(label) menu::@16 (label) menu::@17 (label) menu::@18 (label) menu::@19 @@ -4434,21 +4526,17 @@ SYMBOL TABLE SSA (label) menu::@20 (label) menu::@21 (label) menu::@22 +(label) menu::@23 (label) menu::@3 -(label) menu::@4 +(label) menu::@5 (label) menu::@6 (label) menu::@7 (label) menu::@8 -(label) menu::@9 (label) menu::@return (byte*) menu::CHARSET (byte*) menu::CHARSET#0 (byte*) menu::SCREEN (byte*) menu::SCREEN#0 -(byte*) menu::c -(byte*) menu::c#0 -(byte*) menu::c#1 -(byte*) menu::c#2 (byte) menu::i (byte) menu::i#0 (byte) menu::i#1 @@ -4509,7 +4597,11 @@ SYMBOL TABLE SSA (byte*) print_char_cursor#56 (byte*) print_char_cursor#57 (byte*) print_char_cursor#58 +(byte*) print_char_cursor#59 (byte*) print_char_cursor#6 +(byte*) print_char_cursor#60 +(byte*) print_char_cursor#61 +(byte*) print_char_cursor#62 (byte*) print_char_cursor#7 (byte*) print_char_cursor#8 (byte*) print_char_cursor#9 @@ -4581,7 +4673,11 @@ SYMBOL TABLE SSA (byte*) print_line_cursor#56 (byte*) print_line_cursor#57 (byte*) print_line_cursor#58 +(byte*) print_line_cursor#59 (byte*) print_line_cursor#6 +(byte*) print_line_cursor#60 +(byte*) print_line_cursor#61 +(byte*) print_line_cursor#62 (byte*) print_line_cursor#7 (byte*) print_line_cursor#8 (byte*) print_line_cursor#9 @@ -4627,6 +4723,8 @@ SYMBOL TABLE SSA (byte*) print_screen#38 (byte*) print_screen#39 (byte*) print_screen#4 +(byte*) print_screen#40 +(byte*) print_screen#41 (byte*) print_screen#5 (byte*) print_screen#6 (byte*) print_screen#7 @@ -4637,6 +4735,7 @@ SYMBOL TABLE SSA (byte*) print_set_screen::screen (byte*) print_set_screen::screen#0 (byte*) print_set_screen::screen#1 +(byte*) print_set_screen::screen#2 (void()) print_str_lines((byte*) print_str_lines::str) (boolean~) print_str_lines::$0 (boolean~) print_str_lines::$1 @@ -4657,6 +4756,7 @@ SYMBOL TABLE SSA (byte*) print_str_lines::str (byte*) print_str_lines::str#0 (byte*) print_str_lines::str#1 +(byte*) print_str_lines::str#10 (byte*) print_str_lines::str#2 (byte*) print_str_lines::str#3 (byte*) print_str_lines::str#4 @@ -4681,63 +4781,63 @@ Inversing boolean not (boolean~) form_control::$30 ← (byte~) form_control::$28 Inversing boolean not (boolean~) form_control::$34 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#19) != (byte/word/signed word/dword/signed dword) 255 from (boolean~) form_control::$33 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#19) == (byte/word/signed word/dword/signed dword) 255 Inversing boolean not (boolean~) form_control::$32 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#20) <= *((byte[]) form_fields_max#0 + (byte) form_field_idx#20) from (boolean~) form_control::$31 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#20) > *((byte[]) form_fields_max#0 + (byte) form_field_idx#20) Succesful SSA optimization Pass2UnaryNotSimplification -Not aliassing across scopes: print_str_lines::str#4 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#40 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#38 print_line_cursor#12 -Not aliassing across scopes: print_line_cursor#16 print_line_cursor#4 -Not aliassing across scopes: print_char_cursor#18 print_char_cursor#5 -Not aliassing across scopes: print_line_cursor#32 print_line_cursor#30 -Not aliassing across scopes: print_char_cursor#34 print_char_cursor#32 -Not aliassing across scopes: print_screen#8 print_screen#5 -Not aliassing across scopes: print_cls::sc#0 print_screen#8 -Not aliassing across scopes: print_set_screen::screen#1 print_set_screen::screen#0 -Not aliassing across scopes: print_screen#1 print_set_screen::screen#1 +Not aliassing across scopes: print_str_lines::str#5 print_str_lines::str#1 +Not aliassing across scopes: print_char_cursor#46 print_char_cursor#13 +Not aliassing across scopes: print_line_cursor#44 print_line_cursor#12 +Not aliassing across scopes: print_line_cursor#19 print_line_cursor#4 +Not aliassing across scopes: print_char_cursor#21 print_char_cursor#5 +Not aliassing across scopes: print_line_cursor#38 print_line_cursor#36 +Not aliassing across scopes: print_char_cursor#40 print_char_cursor#38 +Not aliassing across scopes: print_screen#9 print_screen#5 +Not aliassing across scopes: print_cls::sc#0 print_screen#9 +Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#1 +Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 Not aliassing across scopes: keyboard_key_pressed::key#4 keyboard_key_pressed::key#2 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_key_pressed::rowidx#0 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#1 Not aliassing across scopes: keyboard_key_pressed::$2 keyboard_matrix_read::return#4 -Not aliassing across scopes: print_screen#22 print_screen#21 -Not aliassing across scopes: print_line_cursor#40 print_line_cursor#37 -Not aliassing across scopes: print_char_cursor#43 print_char_cursor#39 +Not aliassing across scopes: print_screen#25 print_screen#24 +Not aliassing across scopes: print_line_cursor#46 print_line_cursor#43 +Not aliassing across scopes: print_char_cursor#49 print_char_cursor#45 Not aliassing across scopes: form_cursor_count#27 form_cursor_count#26 Not aliassing across scopes: key_down_debounce#25 key_down_debounce#24 Not aliassing across scopes: form_field_idx#37 form_field_idx#36 Not aliassing across scopes: key_right_debounce#25 key_right_debounce#24 -Not aliassing across scopes: form_fields_cnt#34 form_fields_cnt#38 -Not aliassing across scopes: print_screen#12 print_screen#6 -Not aliassing across scopes: print_line_cursor#23 print_line_cursor#14 -Not aliassing across scopes: print_char_cursor#24 print_char_cursor#15 +Not aliassing across scopes: form_fields_cnt#37 form_fields_cnt#39 +Not aliassing across scopes: print_screen#13 print_screen#7 +Not aliassing across scopes: print_line_cursor#26 print_line_cursor#17 +Not aliassing across scopes: print_char_cursor#27 print_char_cursor#18 Not aliassing across scopes: form_cursor_count#10 form_cursor_count#3 Not aliassing across scopes: key_down_debounce#8 key_down_debounce#3 Not aliassing across scopes: form_field_idx#11 form_field_idx#3 Not aliassing across scopes: key_right_debounce#8 key_right_debounce#3 -Not aliassing across scopes: print_screen#36 print_screen#17 -Not aliassing across scopes: print_line_cursor#56 print_line_cursor#33 -Not aliassing across scopes: print_char_cursor#56 print_char_cursor#35 -Not aliassing across scopes: form_cursor_count#57 form_cursor_count#18 -Not aliassing across scopes: key_down_debounce#64 key_down_debounce#15 -Not aliassing across scopes: form_field_idx#66 form_field_idx#25 -Not aliassing across scopes: key_right_debounce#64 key_right_debounce#15 -Not aliassing across scopes: form_fields_cnt#27 form_fields_cnt#29 -Not aliassing across scopes: menu::c#0 COLS#0 -Not aliassing identity: print_screen#23 print_screen#23 -Not aliassing identity: print_line_cursor#41 print_line_cursor#41 -Not aliassing identity: print_char_cursor#44 print_char_cursor#44 -Not aliassing identity: form_cursor_count#54 form_cursor_count#54 -Not aliassing identity: key_down_debounce#61 key_down_debounce#61 -Not aliassing identity: form_field_idx#61 form_field_idx#61 -Not aliassing identity: key_right_debounce#61 key_right_debounce#61 -Not aliassing identity: form_fields_cnt#20 form_fields_cnt#20 -Not aliassing across scopes: print_set_screen::screen#0 menu::SCREEN#0 -Not aliassing across scopes: print_screen#14 print_screen#2 -Not aliassing across scopes: print_line_cursor#25 print_line_cursor#8 -Not aliassing across scopes: print_char_cursor#26 print_char_cursor#9 -Not aliassing across scopes: print_line_cursor#26 print_line_cursor#6 -Not aliassing across scopes: print_char_cursor#27 print_char_cursor#7 -Not aliassing across scopes: print_str_lines::str#1 MENU_TEXT#0 -Not aliassing across scopes: print_char_cursor#28 print_char_cursor#3 -Not aliassing across scopes: print_line_cursor#27 print_line_cursor#2 +Not aliassing across scopes: print_screen#31 print_screen#19 +Not aliassing across scopes: print_line_cursor#53 print_line_cursor#39 +Not aliassing across scopes: print_char_cursor#54 print_char_cursor#41 +Not aliassing across scopes: form_cursor_count#58 form_cursor_count#18 +Not aliassing across scopes: key_down_debounce#65 key_down_debounce#15 +Not aliassing across scopes: form_field_idx#67 form_field_idx#25 +Not aliassing across scopes: key_right_debounce#65 key_right_debounce#15 +Not aliassing across scopes: form_fields_cnt#29 form_fields_cnt#32 +Not aliassing across scopes: print_set_screen::screen#0 COLS#0 +Not aliassing across scopes: print_screen#15 print_screen#2 +Not aliassing across scopes: print_line_cursor#28 print_line_cursor#8 +Not aliassing across scopes: print_char_cursor#29 print_char_cursor#9 +Not aliassing across scopes: print_line_cursor#29 print_line_cursor#6 +Not aliassing across scopes: print_char_cursor#30 print_char_cursor#7 +Not aliassing across scopes: print_str_lines::str#1 MENU_COLS#0 +Not aliassing across scopes: print_char_cursor#31 print_char_cursor#3 +Not aliassing across scopes: print_line_cursor#30 print_line_cursor#2 +Not aliassing across scopes: print_set_screen::screen#1 menu::SCREEN#0 +Not aliassing across scopes: print_screen#16 print_screen#2 +Not aliassing across scopes: print_line_cursor#31 print_line_cursor#8 +Not aliassing across scopes: print_char_cursor#32 print_char_cursor#9 +Not aliassing across scopes: print_line_cursor#32 print_line_cursor#6 +Not aliassing across scopes: print_char_cursor#33 print_char_cursor#7 +Not aliassing across scopes: print_str_lines::str#2 MENU_TEXT#0 +Not aliassing across scopes: print_char_cursor#34 print_char_cursor#3 +Not aliassing across scopes: print_line_cursor#33 print_line_cursor#2 Not aliassing across scopes: form_set_screen::screen#0 menu::SCREEN#0 Not aliassing across scopes: form_cursor_count#12 form_cursor_count#8 Not aliassing across scopes: key_down_debounce#10 key_down_debounce#6 @@ -4772,94 +4872,94 @@ Not aliassing across scopes: key_right_debounce#6 form_control::key_right#1 Not aliassing across scopes: keyboard_key_pressed::key#3 KEY_RSHIFT#0 Not aliassing across scopes: keyboard_key_pressed::return#5 keyboard_key_pressed::return#1 Not aliassing across scopes: form_control::$28 keyboard_key_pressed::return#10 -Not aliassing across scopes: print_screen#16 print_screen#4 -Not aliassing across scopes: print_line_cursor#29 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#30 print_char_cursor#11 +Not aliassing across scopes: print_screen#18 print_screen#4 +Not aliassing across scopes: print_line_cursor#35 print_line_cursor#10 +Not aliassing across scopes: print_char_cursor#36 print_char_cursor#11 Not aliassing across scopes: form_cursor_count#17 form_cursor_count#1 Not aliassing across scopes: key_down_debounce#14 key_down_debounce#1 Not aliassing across scopes: form_field_idx#24 form_field_idx#1 Not aliassing across scopes: key_right_debounce#14 key_right_debounce#1 -Alias (byte*) print_screen#0 = (byte*) print_line_cursor#0 (byte*) print_char_cursor#0 (byte*) print_screen#35 (byte*) print_line_cursor#55 (byte*) print_char_cursor#55 (byte*) print_screen#31 (byte*) print_line_cursor#52 (byte*) print_char_cursor#52 (byte*) print_screen#30 (byte*) print_line_cursor#50 (byte*) print_char_cursor#51 (byte*) print_screen#26 (byte*) print_line_cursor#44 (byte*) print_char_cursor#47 (byte*) print_screen#21 (byte*) print_line_cursor#37 (byte*) print_char_cursor#39 -Alias (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#6 -Alias (byte*) print_char_cursor#19 = (byte*) print_char_cursor#41 (byte*) print_char_cursor#33 (byte*) print_char_cursor#3 -Alias (byte*) print_line_cursor#17 = (byte*) print_line_cursor#51 (byte*) print_line_cursor#31 (byte*) print_line_cursor#2 +Alias (byte*) print_screen#0 = (byte*) print_line_cursor#0 (byte*) print_char_cursor#0 (byte*) print_screen#38 (byte*) print_line_cursor#60 (byte*) print_char_cursor#60 (byte*) print_screen#35 (byte*) print_line_cursor#58 (byte*) print_char_cursor#58 (byte*) print_screen#34 (byte*) print_line_cursor#56 (byte*) print_char_cursor#57 (byte*) print_screen#30 (byte*) print_line_cursor#50 (byte*) print_char_cursor#53 (byte*) print_screen#24 (byte*) print_line_cursor#43 (byte*) print_char_cursor#45 +Alias (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#7 +Alias (byte*) print_char_cursor#22 = (byte*) print_char_cursor#47 (byte*) print_char_cursor#39 (byte*) print_char_cursor#3 +Alias (byte*) print_line_cursor#2 = (byte*) print_line_cursor#57 (byte*) print_line_cursor#37 (byte*) print_line_cursor#20 Alias (byte) print_str_lines::ch#0 = (byte) print_str_lines::ch#2 -Alias (byte*) print_char_cursor#17 = (byte*) print_char_cursor#31 -Alias (byte*) print_str_lines::str#0 = (byte*) print_str_lines::str#8 -Alias (byte*) print_line_cursor#45 = (byte*) print_line_cursor#46 -Alias (byte*) print_line_cursor#30 = (byte*) print_line_cursor#39 -Alias (byte*) print_char_cursor#32 = (byte*) print_char_cursor#42 -Alias (byte*) print_str_lines::str#5 = (byte*) print_str_lines::str#9 (byte*) print_str_lines::str#7 -Alias (byte*) print_line_cursor#1 = (byte*) print_line_cursor#16 -Alias (byte*) print_char_cursor#18 = (byte*) print_char_cursor#2 -Alias (byte*) print_line_cursor#19 = (byte*) print_line_cursor#3 (byte*~) print_ln::$0 (byte*) print_char_cursor#4 (byte*) print_line_cursor#20 (byte*) print_char_cursor#21 (byte*) print_line_cursor#4 (byte*) print_char_cursor#5 -Alias (byte*) print_line_cursor#21 = (byte*) print_screen#10 (byte*) print_screen#9 (byte*) print_line_cursor#5 (byte*) print_char_cursor#6 (byte*) print_char_cursor#22 (byte*) print_line_cursor#6 (byte*) print_char_cursor#7 -Alias (byte*) print_screen#1 = (byte*) print_line_cursor#7 (byte*) print_char_cursor#8 (byte*) print_screen#11 (byte*) print_line_cursor#22 (byte*) print_char_cursor#23 (byte*) print_screen#2 (byte*) print_line_cursor#8 (byte*) print_char_cursor#9 +Alias (byte*) print_char_cursor#20 = (byte*) print_char_cursor#37 +Alias (byte*) print_str_lines::str#0 = (byte*) print_str_lines::str#9 +Alias (byte*) print_line_cursor#51 = (byte*) print_line_cursor#52 +Alias (byte*) print_line_cursor#36 = (byte*) print_line_cursor#45 +Alias (byte*) print_char_cursor#38 = (byte*) print_char_cursor#48 +Alias (byte*) print_str_lines::str#10 = (byte*) print_str_lines::str#8 (byte*) print_str_lines::str#6 +Alias (byte*) print_line_cursor#1 = (byte*) print_line_cursor#19 +Alias (byte*) print_char_cursor#2 = (byte*) print_char_cursor#21 +Alias (byte*) print_line_cursor#22 = (byte*) print_line_cursor#3 (byte*~) print_ln::$0 (byte*) print_char_cursor#4 (byte*) print_line_cursor#23 (byte*) print_char_cursor#24 (byte*) print_line_cursor#4 (byte*) print_char_cursor#5 +Alias (byte*) print_line_cursor#24 = (byte*) print_screen#11 (byte*) print_screen#10 (byte*) print_line_cursor#5 (byte*) print_char_cursor#6 (byte*) print_char_cursor#25 (byte*) print_line_cursor#6 (byte*) print_char_cursor#7 +Alias (byte*) print_screen#1 = (byte*) print_line_cursor#7 (byte*) print_char_cursor#8 (byte*) print_screen#12 (byte*) print_line_cursor#25 (byte*) print_char_cursor#26 (byte*) print_screen#2 (byte*) print_line_cursor#8 (byte*) print_char_cursor#9 Alias (byte) keyboard_matrix_read::return#0 = (byte) keyboard_matrix_read::row_pressed_bits#0 (byte~) keyboard_matrix_read::$0 (byte) keyboard_matrix_read::return#3 (byte) keyboard_matrix_read::return#1 Alias (byte) keyboard_key_pressed::colidx#0 = (byte~) keyboard_key_pressed::$0 (byte) keyboard_key_pressed::colidx#1 Alias (byte) keyboard_key_pressed::rowidx#0 = (byte~) keyboard_key_pressed::$1 Alias (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#4 Alias (byte) keyboard_key_pressed::return#0 = (byte~) keyboard_key_pressed::$3 (byte) keyboard_key_pressed::return#6 (byte) keyboard_key_pressed::return#1 -Alias (byte*) print_screen#13 = (byte*) print_screen#17 (byte*) print_screen#18 (byte*) print_screen#4 -Alias (byte*) print_line_cursor#10 = (byte*) print_line_cursor#33 (byte*) print_line_cursor#34 (byte*) print_line_cursor#24 -Alias (byte*) print_char_cursor#11 = (byte*) print_char_cursor#35 (byte*) print_char_cursor#36 (byte*) print_char_cursor#25 +Alias (byte*) print_screen#14 = (byte*) print_screen#19 (byte*) print_screen#20 (byte*) print_screen#4 +Alias (byte*) print_line_cursor#10 = (byte*) print_line_cursor#39 (byte*) print_line_cursor#40 (byte*) print_line_cursor#27 +Alias (byte*) print_char_cursor#11 = (byte*) print_char_cursor#41 (byte*) print_char_cursor#42 (byte*) print_char_cursor#28 Alias (signed byte) form_cursor_count#1 = (signed byte) form_cursor_count#18 (signed byte) form_cursor_count#19 (signed byte) form_cursor_count#11 Alias (byte) key_down_debounce#1 = (byte) key_down_debounce#15 (byte) key_down_debounce#16 (byte) key_down_debounce#9 Alias (byte) form_field_idx#1 = (byte) form_field_idx#25 (byte) form_field_idx#26 (byte) form_field_idx#12 Alias (byte) key_right_debounce#1 = (byte) key_right_debounce#15 (byte) key_right_debounce#16 (byte) key_right_debounce#9 -Alias (byte) form_fields_cnt#29 = (byte) form_fields_cnt#32 (byte) form_fields_cnt#35 -Alias (byte*) print_screen#12 = (byte*) print_screen#3 -Alias (byte*) print_line_cursor#23 = (byte*) print_line_cursor#9 -Alias (byte*) print_char_cursor#10 = (byte*) print_char_cursor#24 +Alias (byte) form_fields_cnt#32 = (byte) form_fields_cnt#34 (byte) form_fields_cnt#38 +Alias (byte*) print_screen#13 = (byte*) print_screen#3 +Alias (byte*) print_line_cursor#26 = (byte*) print_line_cursor#9 +Alias (byte*) print_char_cursor#10 = (byte*) print_char_cursor#27 Alias (signed byte) form_cursor_count#0 = (signed byte) form_cursor_count#10 Alias (byte) key_down_debounce#0 = (byte) key_down_debounce#8 Alias (byte) form_field_idx#0 = (byte) form_field_idx#11 Alias (byte) key_right_debounce#0 = (byte) key_right_debounce#8 -Alias (byte[]) MENU_TEXT#0 = (string~) $8 -Alias (byte*) print_screen#27 = (byte*) print_screen#32 -Alias (byte*) print_line_cursor#47 = (byte*) print_line_cursor#53 -Alias (byte*) print_char_cursor#48 = (byte*) print_char_cursor#53 -Alias (signed byte) form_cursor_count#55 = (signed byte) form_cursor_count#56 -Alias (byte) key_down_debounce#62 = (byte) key_down_debounce#63 -Alias (byte) form_field_idx#64 = (byte) form_field_idx#65 -Alias (byte) key_right_debounce#62 = (byte) key_right_debounce#63 -Alias (byte) form_fields_cnt#23 = (byte) form_fields_cnt#25 -Alias (byte*) print_screen#19 = (byte*) print_screen#23 -Alias (byte*) print_line_cursor#35 = (byte*) print_line_cursor#41 -Alias (byte*) print_char_cursor#37 = (byte*) print_char_cursor#44 -Alias (signed byte) form_cursor_count#28 = (signed byte) form_cursor_count#53 (signed byte) form_cursor_count#54 (signed byte) form_cursor_count#50 (signed byte) form_cursor_count#46 (signed byte) form_cursor_count#42 (signed byte) form_cursor_count#36 -Alias (byte) key_down_debounce#26 = (byte) key_down_debounce#60 (byte) key_down_debounce#61 (byte) key_down_debounce#59 (byte) key_down_debounce#55 (byte) key_down_debounce#49 (byte) key_down_debounce#40 -Alias (byte) form_field_idx#38 = (byte) form_field_idx#59 (byte) form_field_idx#61 (byte) form_field_idx#56 (byte) form_field_idx#54 (byte) form_field_idx#51 (byte) form_field_idx#46 -Alias (byte) key_right_debounce#26 = (byte) key_right_debounce#59 (byte) key_right_debounce#61 (byte) key_right_debounce#56 (byte) key_right_debounce#52 (byte) key_right_debounce#47 (byte) key_right_debounce#38 -Alias (byte) form_fields_cnt#11 = (byte) form_fields_cnt#18 (byte) form_fields_cnt#20 (byte) form_fields_cnt#15 (byte) form_fields_cnt#13 (byte) form_fields_cnt#9 (byte) form_fields_cnt#36 -Alias (byte*) print_screen#14 = (byte*) print_screen#5 (byte*) print_screen#37 (byte*) print_screen#33 (byte*) print_screen#28 (byte*) print_screen#24 -Alias (byte*) print_line_cursor#11 = (byte*) print_line_cursor#25 -Alias (byte*) print_char_cursor#12 = (byte*) print_char_cursor#26 -Alias (byte*) print_line_cursor#12 = (byte*) print_line_cursor#26 -Alias (byte*) print_char_cursor#13 = (byte*) print_char_cursor#27 -Alias (byte*) print_char_cursor#14 = (byte*) print_char_cursor#28 (byte*) print_char_cursor#49 (byte*) print_char_cursor#45 -Alias (byte*) print_line_cursor#13 = (byte*) print_line_cursor#27 (byte*) print_line_cursor#48 (byte*) print_line_cursor#42 +Alias (byte[]) MENU_COLS#0 = (string~) $8 +Alias (byte[]) MENU_TEXT#0 = (string~) $17 +Alias (byte*) print_screen#21 = (byte*) print_screen#26 +Alias (byte*) print_line_cursor#41 = (byte*) print_line_cursor#47 +Alias (byte*) print_char_cursor#43 = (byte*) print_char_cursor#50 +Alias (signed byte) form_cursor_count#28 = (signed byte) form_cursor_count#56 (signed byte) form_cursor_count#57 (signed byte) form_cursor_count#55 (signed byte) form_cursor_count#54 (signed byte) form_cursor_count#53 (signed byte) form_cursor_count#50 (signed byte) form_cursor_count#46 (signed byte) form_cursor_count#42 (signed byte) form_cursor_count#36 +Alias (byte) key_down_debounce#26 = (byte) key_down_debounce#63 (byte) key_down_debounce#64 (byte) key_down_debounce#62 (byte) key_down_debounce#61 (byte) key_down_debounce#60 (byte) key_down_debounce#59 (byte) key_down_debounce#55 (byte) key_down_debounce#49 (byte) key_down_debounce#40 +Alias (byte) form_field_idx#38 = (byte) form_field_idx#65 (byte) form_field_idx#66 (byte) form_field_idx#64 (byte) form_field_idx#61 (byte) form_field_idx#59 (byte) form_field_idx#56 (byte) form_field_idx#54 (byte) form_field_idx#51 (byte) form_field_idx#46 +Alias (byte) key_right_debounce#26 = (byte) key_right_debounce#63 (byte) key_right_debounce#64 (byte) key_right_debounce#62 (byte) key_right_debounce#61 (byte) key_right_debounce#59 (byte) key_right_debounce#56 (byte) key_right_debounce#52 (byte) key_right_debounce#47 (byte) key_right_debounce#38 +Alias (byte) form_fields_cnt#11 = (byte) form_fields_cnt#25 (byte) form_fields_cnt#27 (byte) form_fields_cnt#23 (byte) form_fields_cnt#20 (byte) form_fields_cnt#18 (byte) form_fields_cnt#15 (byte) form_fields_cnt#13 (byte) form_fields_cnt#9 (byte) form_fields_cnt#35 +Alias (byte*) print_screen#15 = (byte*) print_screen#5 (byte*) print_screen#27 (byte*) print_screen#22 +Alias (byte*) print_line_cursor#11 = (byte*) print_line_cursor#28 +Alias (byte*) print_char_cursor#12 = (byte*) print_char_cursor#29 +Alias (byte*) print_line_cursor#12 = (byte*) print_line_cursor#29 +Alias (byte*) print_char_cursor#13 = (byte*) print_char_cursor#30 +Alias (byte*) print_char_cursor#14 = (byte*) print_char_cursor#31 +Alias (byte*) print_line_cursor#13 = (byte*) print_line_cursor#30 +Alias (byte*) print_screen#16 = (byte*) print_screen#6 (byte*) print_screen#39 (byte*) print_screen#36 (byte*) print_screen#32 (byte*) print_screen#28 +Alias (byte*) print_line_cursor#14 = (byte*) print_line_cursor#31 +Alias (byte*) print_char_cursor#15 = (byte*) print_char_cursor#32 +Alias (byte*) print_line_cursor#15 = (byte*) print_line_cursor#32 +Alias (byte*) print_char_cursor#16 = (byte*) print_char_cursor#33 +Alias (byte*) print_char_cursor#17 = (byte*) print_char_cursor#34 (byte*) print_char_cursor#55 (byte*) print_char_cursor#51 +Alias (byte*) print_line_cursor#16 = (byte*) print_line_cursor#33 (byte*) print_line_cursor#54 (byte*) print_line_cursor#48 Alias (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#37 (signed byte) form_cursor_count#21 (signed byte) form_cursor_count#3 Alias (byte) key_down_debounce#11 = (byte) key_down_debounce#41 (byte) key_down_debounce#18 (byte) key_down_debounce#3 Alias (byte) form_field_idx#14 = (byte) form_field_idx#47 (byte) form_field_idx#28 (byte) form_field_idx#3 Alias (byte) key_right_debounce#11 = (byte) key_right_debounce#39 (byte) key_right_debounce#18 (byte) key_right_debounce#3 -Alias (byte*) print_screen#15 = (byte*) print_screen#38 (byte*) print_screen#20 (byte*) print_screen#6 -Alias (byte*) print_line_cursor#14 = (byte*) print_line_cursor#57 (byte*) print_line_cursor#36 (byte*) print_line_cursor#28 -Alias (byte*) print_char_cursor#15 = (byte*) print_char_cursor#57 (byte*) print_char_cursor#38 (byte*) print_char_cursor#29 +Alias (byte*) print_screen#17 = (byte*) print_screen#40 (byte*) print_screen#23 (byte*) print_screen#7 +Alias (byte*) print_line_cursor#17 = (byte*) print_line_cursor#61 (byte*) print_line_cursor#42 (byte*) print_line_cursor#34 +Alias (byte*) print_char_cursor#18 = (byte*) print_char_cursor#61 (byte*) print_char_cursor#44 (byte*) print_char_cursor#35 Alias (byte) form_fields_cnt#30 = (byte) form_fields_cnt#33 Alias (signed byte) form_cursor_count#20 = (signed byte) form_cursor_count#38 (signed byte) form_cursor_count#29 Alias (byte) key_down_debounce#17 = (byte) key_down_debounce#42 (byte) key_down_debounce#27 Alias (byte) form_field_idx#27 = (byte) form_field_idx#48 (byte) form_field_idx#39 Alias (byte) key_right_debounce#17 = (byte) key_right_debounce#40 (byte) key_right_debounce#27 -Alias (byte*) print_screen#25 = (byte*) print_screen#39 (byte*) print_screen#34 (byte*) print_screen#29 -Alias (byte*) print_line_cursor#43 = (byte*) print_line_cursor#58 (byte*) print_line_cursor#54 (byte*) print_line_cursor#49 -Alias (byte*) print_char_cursor#46 = (byte*) print_char_cursor#58 (byte*) print_char_cursor#54 (byte*) print_char_cursor#50 -Alias (byte) form_fields_cnt#26 = (byte) form_fields_cnt#31 (byte) form_fields_cnt#28 (byte) form_fields_cnt#37 +Alias (byte*) print_screen#29 = (byte*) print_screen#41 (byte*) print_screen#37 (byte*) print_screen#33 +Alias (byte*) print_line_cursor#49 = (byte*) print_line_cursor#62 (byte*) print_line_cursor#59 (byte*) print_line_cursor#55 +Alias (byte*) print_char_cursor#52 = (byte*) print_char_cursor#62 (byte*) print_char_cursor#59 (byte*) print_char_cursor#56 +Alias (byte) form_fields_cnt#26 = (byte) form_fields_cnt#31 (byte) form_fields_cnt#28 (byte) form_fields_cnt#36 Alias (signed byte) form_cursor_count#12 = (signed byte) form_cursor_count#2 Alias (byte) key_down_debounce#10 = (byte) key_down_debounce#2 Alias (byte) form_field_idx#13 = (byte) form_field_idx#2 Alias (byte) key_right_debounce#10 = (byte) key_right_debounce#2 -Alias (signed byte) form_cursor_count#26 = (signed byte) form_cursor_count#4 (signed word/signed byte/signed dword~) $9 +Alias (signed byte) form_cursor_count#26 = (signed byte) form_cursor_count#4 (signed word/signed byte/signed dword~) $18 Alias (byte*) form_set_screen::line#0 = (byte*) form_set_screen::screen#1 Alias (byte*) form_set_screen::line#1 = (byte*~) form_set_screen::$2 Alias (byte*) form_field_ptr::line#0 = (byte*~) form_field_ptr::$0 @@ -4911,72 +5011,72 @@ Alias (byte) keyboard_key_pressed::return#10 = (byte) keyboard_key_pressed::retu Alias (byte) key_down_debounce#24 = (byte) key_down_debounce#4 Alias (byte) form_field_idx#36 = (byte) form_field_idx#4 Alias (byte) key_right_debounce#24 = (byte) key_right_debounce#4 -Alias (byte) form_fields_cnt#0 = (byte) form_fields_cnt#38 -Alias (byte*) print_screen#16 = (byte*) print_screen#7 -Alias (byte*) print_line_cursor#15 = (byte*) print_line_cursor#29 -Alias (byte*) print_char_cursor#16 = (byte*) print_char_cursor#30 +Alias (byte) form_fields_cnt#0 = (byte) form_fields_cnt#39 +Alias (byte*) print_screen#18 = (byte*) print_screen#8 +Alias (byte*) print_line_cursor#18 = (byte*) print_line_cursor#35 +Alias (byte*) print_char_cursor#19 = (byte*) print_char_cursor#36 Alias (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#9 Alias (byte) key_down_debounce#14 = (byte) key_down_debounce#7 Alias (byte) form_field_idx#10 = (byte) form_field_idx#24 Alias (byte) key_right_debounce#14 = (byte) key_right_debounce#7 Succesful SSA optimization Pass2AliasElimination -Not aliassing across scopes: print_str_lines::str#4 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#40 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#38 print_line_cursor#12 -Not aliassing across scopes: print_line_cursor#1 print_line_cursor#19 -Not aliassing across scopes: print_char_cursor#18 print_line_cursor#19 -Not aliassing across scopes: print_line_cursor#32 print_line_cursor#30 -Not aliassing across scopes: print_char_cursor#34 print_char_cursor#32 -Not aliassing across scopes: print_screen#8 print_screen#14 -Not aliassing across scopes: print_cls::sc#0 print_screen#8 -Not aliassing across scopes: print_set_screen::screen#1 print_set_screen::screen#0 -Not aliassing across scopes: print_screen#1 print_set_screen::screen#1 +Not aliassing across scopes: print_str_lines::str#5 print_str_lines::str#1 +Not aliassing across scopes: print_char_cursor#46 print_char_cursor#13 +Not aliassing across scopes: print_line_cursor#44 print_line_cursor#12 +Not aliassing across scopes: print_line_cursor#1 print_line_cursor#22 +Not aliassing across scopes: print_char_cursor#2 print_line_cursor#22 +Not aliassing across scopes: print_line_cursor#38 print_line_cursor#36 +Not aliassing across scopes: print_char_cursor#40 print_char_cursor#38 +Not aliassing across scopes: print_screen#9 print_screen#15 +Not aliassing across scopes: print_cls::sc#0 print_screen#9 +Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#1 +Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 Not aliassing across scopes: keyboard_key_pressed::key#4 keyboard_key_pressed::key#2 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_key_pressed::rowidx#0 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_key_pressed::$2 keyboard_matrix_read::return#2 -Not aliassing across scopes: print_screen#22 print_screen#0 -Not aliassing across scopes: print_line_cursor#40 print_screen#0 -Not aliassing across scopes: print_char_cursor#43 print_screen#0 +Not aliassing across scopes: print_screen#25 print_screen#0 +Not aliassing across scopes: print_line_cursor#46 print_screen#0 +Not aliassing across scopes: print_char_cursor#49 print_screen#0 Not aliassing across scopes: form_cursor_count#27 form_cursor_count#26 Not aliassing across scopes: key_down_debounce#25 key_down_debounce#24 Not aliassing across scopes: form_field_idx#37 form_field_idx#36 Not aliassing across scopes: key_right_debounce#25 key_right_debounce#24 -Not aliassing across scopes: form_fields_cnt#34 form_fields_cnt#0 -Not aliassing across scopes: print_screen#12 print_screen#15 -Not aliassing across scopes: print_line_cursor#23 print_line_cursor#14 -Not aliassing across scopes: print_char_cursor#10 print_char_cursor#15 +Not aliassing across scopes: form_fields_cnt#37 form_fields_cnt#0 +Not aliassing across scopes: print_screen#13 print_screen#17 +Not aliassing across scopes: print_line_cursor#26 print_line_cursor#17 +Not aliassing across scopes: print_char_cursor#10 print_char_cursor#18 Not aliassing across scopes: form_cursor_count#0 form_cursor_count#13 Not aliassing across scopes: key_down_debounce#0 key_down_debounce#11 Not aliassing across scopes: form_field_idx#0 form_field_idx#14 Not aliassing across scopes: key_right_debounce#0 key_right_debounce#11 -Not aliassing across scopes: print_screen#36 print_screen#13 -Not aliassing across scopes: print_line_cursor#56 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#56 print_char_cursor#11 -Not aliassing across scopes: form_cursor_count#57 form_cursor_count#1 -Not aliassing across scopes: key_down_debounce#64 key_down_debounce#1 -Not aliassing across scopes: form_field_idx#66 form_field_idx#1 -Not aliassing across scopes: key_right_debounce#64 key_right_debounce#1 -Not aliassing across scopes: form_fields_cnt#27 form_fields_cnt#29 -Not aliassing across scopes: menu::c#0 COLS#0 -Not aliassing identity: print_screen#19 print_screen#19 -Not aliassing identity: print_line_cursor#35 print_line_cursor#35 -Not aliassing identity: print_char_cursor#37 print_char_cursor#37 -Not aliassing identity: form_cursor_count#28 form_cursor_count#28 -Not aliassing identity: key_down_debounce#26 key_down_debounce#26 -Not aliassing identity: form_field_idx#38 form_field_idx#38 -Not aliassing identity: key_right_debounce#26 key_right_debounce#26 -Not aliassing identity: form_fields_cnt#11 form_fields_cnt#11 -Not aliassing across scopes: print_set_screen::screen#0 menu::SCREEN#0 -Not aliassing across scopes: print_screen#14 print_screen#1 +Not aliassing across scopes: print_screen#31 print_screen#14 +Not aliassing across scopes: print_line_cursor#53 print_line_cursor#10 +Not aliassing across scopes: print_char_cursor#54 print_char_cursor#11 +Not aliassing across scopes: form_cursor_count#58 form_cursor_count#1 +Not aliassing across scopes: key_down_debounce#65 key_down_debounce#1 +Not aliassing across scopes: form_field_idx#67 form_field_idx#1 +Not aliassing across scopes: key_right_debounce#65 key_right_debounce#1 +Not aliassing across scopes: form_fields_cnt#29 form_fields_cnt#32 +Not aliassing across scopes: print_set_screen::screen#0 COLS#0 +Not aliassing across scopes: print_screen#15 print_screen#1 Not aliassing across scopes: print_line_cursor#11 print_screen#1 Not aliassing across scopes: print_char_cursor#12 print_screen#1 -Not aliassing across scopes: print_line_cursor#12 print_line_cursor#21 -Not aliassing across scopes: print_char_cursor#13 print_line_cursor#21 -Not aliassing across scopes: print_str_lines::str#1 MENU_TEXT#0 -Not aliassing across scopes: print_char_cursor#14 print_char_cursor#19 -Not aliassing across scopes: print_line_cursor#13 print_line_cursor#17 +Not aliassing across scopes: print_line_cursor#12 print_line_cursor#24 +Not aliassing across scopes: print_char_cursor#13 print_line_cursor#24 +Not aliassing across scopes: print_str_lines::str#1 MENU_COLS#0 +Not aliassing across scopes: print_char_cursor#14 print_char_cursor#22 +Not aliassing across scopes: print_line_cursor#13 print_line_cursor#2 +Not aliassing across scopes: print_set_screen::screen#1 menu::SCREEN#0 +Not aliassing across scopes: print_screen#16 print_screen#1 +Not aliassing across scopes: print_line_cursor#14 print_screen#1 +Not aliassing across scopes: print_char_cursor#15 print_screen#1 +Not aliassing across scopes: print_line_cursor#15 print_line_cursor#24 +Not aliassing across scopes: print_char_cursor#16 print_line_cursor#24 +Not aliassing across scopes: print_str_lines::str#2 MENU_TEXT#0 +Not aliassing across scopes: print_char_cursor#17 print_char_cursor#22 +Not aliassing across scopes: print_line_cursor#16 print_line_cursor#2 Not aliassing across scopes: form_set_screen::screen#0 menu::SCREEN#0 Not aliassing across scopes: form_cursor_count#12 form_cursor_count#16 Not aliassing across scopes: key_down_debounce#10 key_down_debounce#13 @@ -5011,16 +5111,16 @@ Not aliassing across scopes: key_right_debounce#21 form_control::key_right#0 Not aliassing across scopes: keyboard_key_pressed::key#3 KEY_RSHIFT#0 Not aliassing across scopes: keyboard_key_pressed::return#10 keyboard_key_pressed::return#0 Not aliassing across scopes: form_control::$28 keyboard_key_pressed::return#10 -Not aliassing across scopes: print_screen#16 print_screen#13 -Not aliassing across scopes: print_line_cursor#15 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#16 print_char_cursor#11 +Not aliassing across scopes: print_screen#18 print_screen#14 +Not aliassing across scopes: print_line_cursor#18 print_line_cursor#10 +Not aliassing across scopes: print_char_cursor#19 print_char_cursor#11 Not aliassing across scopes: form_cursor_count#17 form_cursor_count#1 Not aliassing across scopes: key_down_debounce#14 key_down_debounce#1 Not aliassing across scopes: form_field_idx#10 form_field_idx#1 Not aliassing across scopes: key_right_debounce#14 key_right_debounce#1 Alias (byte) print_str_lines::ch#0 = (byte) print_str_lines::ch#1 -Alias (byte*) print_str_lines::str#0 = (byte*) print_str_lines::str#5 -Alias (byte*) print_line_cursor#30 = (byte*) print_line_cursor#45 +Alias (byte*) print_str_lines::str#0 = (byte*) print_str_lines::str#10 +Alias (byte*) print_line_cursor#36 = (byte*) print_line_cursor#51 Alias (byte*) form_control::field#0 = (byte*) form_control::field#1 (byte*) form_control::field#12 (byte*) form_control::field#10 (byte*) form_control::field#4 Alias (byte) key_down_debounce#12 = (byte) key_down_debounce#28 (byte) key_down_debounce#50 Alias (byte) key_right_debounce#12 = (byte) key_right_debounce#48 (byte) key_right_debounce#57 (byte) key_right_debounce#28 (byte) key_right_debounce#23 @@ -5031,63 +5131,63 @@ Alias (byte) key_down_debounce#23 = (byte) key_down_debounce#30 Alias (byte) key_down_debounce#20 = (byte) key_down_debounce#22 Alias (byte) key_right_debounce#21 = (byte) key_right_debounce#22 Succesful SSA optimization Pass2AliasElimination -Not aliassing across scopes: print_str_lines::str#4 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#40 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#38 print_line_cursor#12 -Not aliassing across scopes: print_line_cursor#1 print_line_cursor#19 -Not aliassing across scopes: print_char_cursor#18 print_line_cursor#19 -Not aliassing across scopes: print_line_cursor#32 print_line_cursor#30 -Not aliassing across scopes: print_char_cursor#34 print_char_cursor#32 -Not aliassing across scopes: print_screen#8 print_screen#14 -Not aliassing across scopes: print_cls::sc#0 print_screen#8 -Not aliassing across scopes: print_set_screen::screen#1 print_set_screen::screen#0 -Not aliassing across scopes: print_screen#1 print_set_screen::screen#1 +Not aliassing across scopes: print_str_lines::str#5 print_str_lines::str#1 +Not aliassing across scopes: print_char_cursor#46 print_char_cursor#13 +Not aliassing across scopes: print_line_cursor#44 print_line_cursor#12 +Not aliassing across scopes: print_line_cursor#1 print_line_cursor#22 +Not aliassing across scopes: print_char_cursor#2 print_line_cursor#22 +Not aliassing across scopes: print_line_cursor#38 print_line_cursor#36 +Not aliassing across scopes: print_char_cursor#40 print_char_cursor#38 +Not aliassing across scopes: print_screen#9 print_screen#15 +Not aliassing across scopes: print_cls::sc#0 print_screen#9 +Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#1 +Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 Not aliassing across scopes: keyboard_key_pressed::key#4 keyboard_key_pressed::key#2 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_key_pressed::rowidx#0 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_key_pressed::$2 keyboard_matrix_read::return#2 -Not aliassing across scopes: print_screen#22 print_screen#0 -Not aliassing across scopes: print_line_cursor#40 print_screen#0 -Not aliassing across scopes: print_char_cursor#43 print_screen#0 +Not aliassing across scopes: print_screen#25 print_screen#0 +Not aliassing across scopes: print_line_cursor#46 print_screen#0 +Not aliassing across scopes: print_char_cursor#49 print_screen#0 Not aliassing across scopes: form_cursor_count#27 form_cursor_count#26 Not aliassing across scopes: key_down_debounce#25 key_down_debounce#24 Not aliassing across scopes: form_field_idx#37 form_field_idx#36 Not aliassing across scopes: key_right_debounce#25 key_right_debounce#24 -Not aliassing across scopes: form_fields_cnt#34 form_fields_cnt#0 -Not aliassing across scopes: print_screen#12 print_screen#15 -Not aliassing across scopes: print_line_cursor#23 print_line_cursor#14 -Not aliassing across scopes: print_char_cursor#10 print_char_cursor#15 +Not aliassing across scopes: form_fields_cnt#37 form_fields_cnt#0 +Not aliassing across scopes: print_screen#13 print_screen#17 +Not aliassing across scopes: print_line_cursor#26 print_line_cursor#17 +Not aliassing across scopes: print_char_cursor#10 print_char_cursor#18 Not aliassing across scopes: form_cursor_count#0 form_cursor_count#13 Not aliassing across scopes: key_down_debounce#0 key_down_debounce#11 Not aliassing across scopes: form_field_idx#0 form_field_idx#14 Not aliassing across scopes: key_right_debounce#0 key_right_debounce#11 -Not aliassing across scopes: print_screen#36 print_screen#13 -Not aliassing across scopes: print_line_cursor#56 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#56 print_char_cursor#11 -Not aliassing across scopes: form_cursor_count#57 form_cursor_count#1 -Not aliassing across scopes: key_down_debounce#64 key_down_debounce#1 -Not aliassing across scopes: form_field_idx#66 form_field_idx#1 -Not aliassing across scopes: key_right_debounce#64 key_right_debounce#1 -Not aliassing across scopes: form_fields_cnt#27 form_fields_cnt#29 -Not aliassing across scopes: menu::c#0 COLS#0 -Not aliassing identity: print_screen#19 print_screen#19 -Not aliassing identity: print_line_cursor#35 print_line_cursor#35 -Not aliassing identity: print_char_cursor#37 print_char_cursor#37 -Not aliassing identity: form_cursor_count#28 form_cursor_count#28 -Not aliassing identity: key_down_debounce#26 key_down_debounce#26 -Not aliassing identity: form_field_idx#38 form_field_idx#38 -Not aliassing identity: key_right_debounce#26 key_right_debounce#26 -Not aliassing identity: form_fields_cnt#11 form_fields_cnt#11 -Not aliassing across scopes: print_set_screen::screen#0 menu::SCREEN#0 -Not aliassing across scopes: print_screen#14 print_screen#1 +Not aliassing across scopes: print_screen#31 print_screen#14 +Not aliassing across scopes: print_line_cursor#53 print_line_cursor#10 +Not aliassing across scopes: print_char_cursor#54 print_char_cursor#11 +Not aliassing across scopes: form_cursor_count#58 form_cursor_count#1 +Not aliassing across scopes: key_down_debounce#65 key_down_debounce#1 +Not aliassing across scopes: form_field_idx#67 form_field_idx#1 +Not aliassing across scopes: key_right_debounce#65 key_right_debounce#1 +Not aliassing across scopes: form_fields_cnt#29 form_fields_cnt#32 +Not aliassing across scopes: print_set_screen::screen#0 COLS#0 +Not aliassing across scopes: print_screen#15 print_screen#1 Not aliassing across scopes: print_line_cursor#11 print_screen#1 Not aliassing across scopes: print_char_cursor#12 print_screen#1 -Not aliassing across scopes: print_line_cursor#12 print_line_cursor#21 -Not aliassing across scopes: print_char_cursor#13 print_line_cursor#21 -Not aliassing across scopes: print_str_lines::str#1 MENU_TEXT#0 -Not aliassing across scopes: print_char_cursor#14 print_char_cursor#19 -Not aliassing across scopes: print_line_cursor#13 print_line_cursor#17 +Not aliassing across scopes: print_line_cursor#12 print_line_cursor#24 +Not aliassing across scopes: print_char_cursor#13 print_line_cursor#24 +Not aliassing across scopes: print_str_lines::str#1 MENU_COLS#0 +Not aliassing across scopes: print_char_cursor#14 print_char_cursor#22 +Not aliassing across scopes: print_line_cursor#13 print_line_cursor#2 +Not aliassing across scopes: print_set_screen::screen#1 menu::SCREEN#0 +Not aliassing across scopes: print_screen#16 print_screen#1 +Not aliassing across scopes: print_line_cursor#14 print_screen#1 +Not aliassing across scopes: print_char_cursor#15 print_screen#1 +Not aliassing across scopes: print_line_cursor#15 print_line_cursor#24 +Not aliassing across scopes: print_char_cursor#16 print_line_cursor#24 +Not aliassing across scopes: print_str_lines::str#2 MENU_TEXT#0 +Not aliassing across scopes: print_char_cursor#17 print_char_cursor#22 +Not aliassing across scopes: print_line_cursor#16 print_line_cursor#2 Not aliassing across scopes: form_set_screen::screen#0 menu::SCREEN#0 Not aliassing across scopes: form_cursor_count#12 form_cursor_count#16 Not aliassing across scopes: key_down_debounce#10 key_down_debounce#13 @@ -5122,28 +5222,20 @@ Not aliassing across scopes: key_right_debounce#21 form_control::key_right#0 Not aliassing across scopes: keyboard_key_pressed::key#3 KEY_RSHIFT#0 Not aliassing across scopes: keyboard_key_pressed::return#10 keyboard_key_pressed::return#0 Not aliassing across scopes: form_control::$28 keyboard_key_pressed::return#10 -Not aliassing across scopes: print_screen#16 print_screen#13 -Not aliassing across scopes: print_line_cursor#15 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#16 print_char_cursor#11 +Not aliassing across scopes: print_screen#18 print_screen#14 +Not aliassing across scopes: print_line_cursor#18 print_line_cursor#10 +Not aliassing across scopes: print_char_cursor#19 print_char_cursor#11 Not aliassing across scopes: form_cursor_count#17 form_cursor_count#1 Not aliassing across scopes: key_down_debounce#14 key_down_debounce#1 Not aliassing across scopes: form_field_idx#10 form_field_idx#1 Not aliassing across scopes: key_right_debounce#14 key_right_debounce#1 -Self Phi Eliminated (byte*) print_line_cursor#30 -Self Phi Eliminated (byte*) print_char_cursor#20 -Self Phi Eliminated (byte*) print_line_cursor#21 -Self Phi Eliminated (byte) form_fields_cnt#29 -Self Phi Eliminated (byte*) print_screen#27 -Self Phi Eliminated (byte*) print_line_cursor#47 -Self Phi Eliminated (byte*) print_char_cursor#48 -Self Phi Eliminated (signed byte) form_cursor_count#55 -Self Phi Eliminated (byte) key_down_debounce#62 -Self Phi Eliminated (byte) form_field_idx#64 -Self Phi Eliminated (byte) key_right_debounce#62 -Self Phi Eliminated (byte) form_fields_cnt#23 -Self Phi Eliminated (byte*) print_screen#19 -Self Phi Eliminated (byte*) print_line_cursor#35 -Self Phi Eliminated (byte*) print_char_cursor#37 +Self Phi Eliminated (byte*) print_line_cursor#36 +Self Phi Eliminated (byte*) print_char_cursor#23 +Self Phi Eliminated (byte*) print_line_cursor#24 +Self Phi Eliminated (byte) form_fields_cnt#32 +Self Phi Eliminated (byte*) print_screen#21 +Self Phi Eliminated (byte*) print_line_cursor#41 +Self Phi Eliminated (byte*) print_char_cursor#43 Self Phi Eliminated (signed byte) form_cursor_count#28 Self Phi Eliminated (byte) key_down_debounce#26 Self Phi Eliminated (byte) form_field_idx#38 @@ -5153,79 +5245,73 @@ Self Phi Eliminated (signed byte) form_cursor_count#20 Self Phi Eliminated (byte) key_down_debounce#17 Self Phi Eliminated (byte) form_field_idx#27 Self Phi Eliminated (byte) key_right_debounce#17 -Self Phi Eliminated (byte*) print_screen#25 -Self Phi Eliminated (byte*) print_line_cursor#43 -Self Phi Eliminated (byte*) print_char_cursor#46 +Self Phi Eliminated (byte*) print_screen#29 +Self Phi Eliminated (byte*) print_line_cursor#49 +Self Phi Eliminated (byte*) print_char_cursor#52 Self Phi Eliminated (byte) form_fields_cnt#26 Self Phi Eliminated (byte) form_fields_cnt#1 Succesful SSA optimization Pass2SelfPhiElimination -Redundant Phi (byte*) print_str_lines::str#4 (byte*) print_str_lines::str#1 -Redundant Phi (byte*) print_char_cursor#40 (byte*) print_char_cursor#13 -Redundant Phi (byte*) print_line_cursor#38 (byte*) print_line_cursor#12 -Redundant Phi (byte*) print_line_cursor#30 (byte*) print_line_cursor#17 -Redundant Phi (byte*) print_line_cursor#1 (byte*) print_line_cursor#19 -Redundant Phi (byte*) print_char_cursor#18 (byte*) print_line_cursor#19 -Redundant Phi (byte*) print_line_cursor#32 (byte*) print_line_cursor#30 -Redundant Phi (byte*) print_char_cursor#34 (byte*) print_char_cursor#32 -Redundant Phi (byte*) print_char_cursor#20 (byte*) print_char_cursor#34 -Redundant Phi (byte*) print_screen#8 (byte*) print_screen#14 -Redundant Phi (byte*) print_line_cursor#21 (byte*) print_screen#8 -Redundant Phi (byte*) print_set_screen::screen#1 (byte*) print_set_screen::screen#0 +Redundant Phi (byte*) print_line_cursor#36 (byte*) print_line_cursor#2 +Redundant Phi (byte*) print_line_cursor#1 (byte*) print_line_cursor#22 +Redundant Phi (byte*) print_char_cursor#2 (byte*) print_line_cursor#22 +Redundant Phi (byte*) print_line_cursor#38 (byte*) print_line_cursor#36 +Redundant Phi (byte*) print_char_cursor#40 (byte*) print_char_cursor#38 +Redundant Phi (byte*) print_char_cursor#23 (byte*) print_char_cursor#40 +Redundant Phi (byte*) print_line_cursor#24 (byte*) print_screen#9 Redundant Phi (byte) keyboard_matrix_read::rowid#1 (byte) keyboard_matrix_read::rowid#0 -Redundant Phi (byte*) print_screen#22 (byte*) print_screen#0 -Redundant Phi (byte*) print_line_cursor#40 (byte*) print_screen#0 -Redundant Phi (byte*) print_char_cursor#43 (byte*) print_screen#0 +Redundant Phi (byte*) print_screen#25 (byte*) print_screen#0 +Redundant Phi (byte*) print_line_cursor#46 (byte*) print_screen#0 +Redundant Phi (byte*) print_char_cursor#49 (byte*) print_screen#0 Redundant Phi (signed byte) form_cursor_count#27 (signed byte) form_cursor_count#26 Redundant Phi (byte) key_down_debounce#25 (byte) key_down_debounce#24 Redundant Phi (byte) form_field_idx#37 (byte) form_field_idx#36 Redundant Phi (byte) key_right_debounce#25 (byte) key_right_debounce#24 -Redundant Phi (byte) form_fields_cnt#34 (byte) form_fields_cnt#0 -Redundant Phi (byte) form_fields_cnt#29 (byte) form_fields_cnt#34 -Redundant Phi (byte*) print_screen#12 (byte*) print_screen#15 -Redundant Phi (byte*) print_line_cursor#23 (byte*) print_line_cursor#14 -Redundant Phi (byte*) print_char_cursor#10 (byte*) print_char_cursor#15 +Redundant Phi (byte) form_fields_cnt#37 (byte) form_fields_cnt#0 +Redundant Phi (byte) form_fields_cnt#32 (byte) form_fields_cnt#37 +Redundant Phi (byte*) print_screen#13 (byte*) print_screen#17 +Redundant Phi (byte*) print_line_cursor#26 (byte*) print_line_cursor#17 +Redundant Phi (byte*) print_char_cursor#10 (byte*) print_char_cursor#18 Redundant Phi (signed byte) form_cursor_count#0 (signed byte) form_cursor_count#13 Redundant Phi (byte) key_down_debounce#0 (byte) key_down_debounce#11 Redundant Phi (byte) form_field_idx#0 (byte) form_field_idx#14 Redundant Phi (byte) key_right_debounce#0 (byte) key_right_debounce#11 -Redundant Phi (byte*) print_screen#36 (byte*) print_screen#13 -Redundant Phi (byte*) print_line_cursor#56 (byte*) print_line_cursor#10 -Redundant Phi (byte*) print_char_cursor#56 (byte*) print_char_cursor#11 -Redundant Phi (signed byte) form_cursor_count#57 (signed byte) form_cursor_count#1 -Redundant Phi (byte) key_down_debounce#64 (byte) key_down_debounce#1 -Redundant Phi (byte) form_field_idx#66 (byte) form_field_idx#1 -Redundant Phi (byte) key_right_debounce#64 (byte) key_right_debounce#1 -Redundant Phi (byte) form_fields_cnt#27 (byte) form_fields_cnt#29 -Redundant Phi (byte*) print_screen#27 (byte*) print_screen#36 -Redundant Phi (byte*) print_line_cursor#47 (byte*) print_line_cursor#56 -Redundant Phi (byte*) print_char_cursor#48 (byte*) print_char_cursor#56 -Redundant Phi (signed byte) form_cursor_count#55 (signed byte) form_cursor_count#57 -Redundant Phi (byte) key_down_debounce#62 (byte) key_down_debounce#64 -Redundant Phi (byte) form_field_idx#64 (byte) form_field_idx#66 -Redundant Phi (byte) key_right_debounce#62 (byte) key_right_debounce#64 -Redundant Phi (byte) form_fields_cnt#23 (byte) form_fields_cnt#27 -Redundant Phi (byte*) print_screen#19 (byte*) print_screen#27 -Redundant Phi (byte*) print_line_cursor#35 (byte*) print_line_cursor#47 -Redundant Phi (byte*) print_char_cursor#37 (byte*) print_char_cursor#48 -Redundant Phi (signed byte) form_cursor_count#28 (signed byte) form_cursor_count#55 -Redundant Phi (byte) key_down_debounce#26 (byte) key_down_debounce#62 -Redundant Phi (byte) form_field_idx#38 (byte) form_field_idx#64 -Redundant Phi (byte) key_right_debounce#26 (byte) key_right_debounce#62 -Redundant Phi (byte) form_fields_cnt#11 (byte) form_fields_cnt#23 -Redundant Phi (byte*) print_screen#14 (byte*) print_screen#1 +Redundant Phi (byte*) print_screen#31 (byte*) print_screen#14 +Redundant Phi (byte*) print_line_cursor#53 (byte*) print_line_cursor#10 +Redundant Phi (byte*) print_char_cursor#54 (byte*) print_char_cursor#11 +Redundant Phi (signed byte) form_cursor_count#58 (signed byte) form_cursor_count#1 +Redundant Phi (byte) key_down_debounce#65 (byte) key_down_debounce#1 +Redundant Phi (byte) form_field_idx#67 (byte) form_field_idx#1 +Redundant Phi (byte) key_right_debounce#65 (byte) key_right_debounce#1 +Redundant Phi (byte) form_fields_cnt#29 (byte) form_fields_cnt#32 +Redundant Phi (byte*) print_screen#21 (byte*) print_screen#31 +Redundant Phi (byte*) print_line_cursor#41 (byte*) print_line_cursor#53 +Redundant Phi (byte*) print_char_cursor#43 (byte*) print_char_cursor#54 +Redundant Phi (signed byte) form_cursor_count#28 (signed byte) form_cursor_count#58 +Redundant Phi (byte) key_down_debounce#26 (byte) key_down_debounce#65 +Redundant Phi (byte) form_field_idx#38 (byte) form_field_idx#67 +Redundant Phi (byte) key_right_debounce#26 (byte) key_right_debounce#65 +Redundant Phi (byte) form_fields_cnt#11 (byte) form_fields_cnt#29 +Redundant Phi (byte*) print_screen#15 (byte*) print_screen#1 Redundant Phi (byte*) print_line_cursor#11 (byte*) print_screen#1 Redundant Phi (byte*) print_char_cursor#12 (byte*) print_screen#1 -Redundant Phi (byte*) print_line_cursor#12 (byte*) print_line_cursor#21 -Redundant Phi (byte*) print_char_cursor#13 (byte*) print_line_cursor#21 -Redundant Phi (byte*) print_char_cursor#14 (byte*) print_char_cursor#19 -Redundant Phi (byte*) print_line_cursor#13 (byte*) print_line_cursor#17 +Redundant Phi (byte*) print_line_cursor#12 (byte*) print_line_cursor#24 +Redundant Phi (byte*) print_char_cursor#13 (byte*) print_line_cursor#24 +Redundant Phi (byte*) print_char_cursor#14 (byte*) print_char_cursor#22 +Redundant Phi (byte*) print_line_cursor#13 (byte*) print_line_cursor#2 +Redundant Phi (byte*) print_screen#16 (byte*) print_screen#1 +Redundant Phi (byte*) print_line_cursor#14 (byte*) print_screen#1 +Redundant Phi (byte*) print_char_cursor#15 (byte*) print_screen#1 +Redundant Phi (byte*) print_line_cursor#15 (byte*) print_line_cursor#24 +Redundant Phi (byte*) print_char_cursor#16 (byte*) print_line_cursor#24 +Redundant Phi (byte*) print_char_cursor#17 (byte*) print_char_cursor#22 +Redundant Phi (byte*) print_line_cursor#16 (byte*) print_line_cursor#2 Redundant Phi (signed byte) form_cursor_count#20 (signed byte) form_cursor_count#13 Redundant Phi (byte) key_down_debounce#17 (byte) key_down_debounce#11 Redundant Phi (byte) form_field_idx#27 (byte) form_field_idx#14 Redundant Phi (byte) key_right_debounce#17 (byte) key_right_debounce#11 -Redundant Phi (byte*) print_screen#25 (byte*) print_screen#15 -Redundant Phi (byte*) print_line_cursor#43 (byte*) print_line_cursor#14 -Redundant Phi (byte*) print_char_cursor#46 (byte*) print_char_cursor#15 +Redundant Phi (byte*) print_screen#29 (byte*) print_screen#17 +Redundant Phi (byte*) print_line_cursor#49 (byte*) print_line_cursor#17 +Redundant Phi (byte*) print_char_cursor#52 (byte*) print_char_cursor#18 Redundant Phi (byte) form_fields_cnt#26 (byte) form_fields_cnt#30 Redundant Phi (signed byte) form_cursor_count#12 (signed byte) form_cursor_count#16 Redundant Phi (byte) key_down_debounce#10 (byte) key_down_debounce#13 @@ -5239,22 +5325,25 @@ Redundant Phi (signed byte) form_cursor_count#14 (signed byte) form_cursor_count Redundant Phi (byte) key_down_debounce#12 (byte) key_down_debounce#17 Redundant Phi (byte) key_right_debounce#12 (byte) key_right_debounce#17 Redundant Phi (byte) form_fields_cnt#10 (byte) form_fields_cnt#26 -Redundant Phi (byte*) print_screen#16 (byte*) print_screen#13 -Redundant Phi (byte*) print_line_cursor#15 (byte*) print_line_cursor#10 -Redundant Phi (byte*) print_char_cursor#16 (byte*) print_char_cursor#11 +Redundant Phi (byte*) print_screen#18 (byte*) print_screen#14 +Redundant Phi (byte*) print_line_cursor#18 (byte*) print_line_cursor#10 +Redundant Phi (byte*) print_char_cursor#19 (byte*) print_char_cursor#11 Redundant Phi (signed byte) form_cursor_count#17 (signed byte) form_cursor_count#1 Redundant Phi (byte) key_down_debounce#14 (byte) key_down_debounce#1 Redundant Phi (byte) form_field_idx#10 (byte) form_field_idx#1 Redundant Phi (byte) key_right_debounce#14 (byte) key_right_debounce#1 Succesful SSA optimization Pass2RedundantPhiElimination -Simple Condition (boolean~) print_str_lines::$0 if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@2 +Redundant Phi (byte*) print_char_cursor#46 (byte*) print_screen#9 +Redundant Phi (byte*) print_line_cursor#44 (byte*) print_screen#9 +Redundant Phi (byte*) print_screen#9 (byte*) print_screen#1 +Succesful SSA optimization Pass2RedundantPhiElimination +Simple Condition (boolean~) print_str_lines::$0 if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 Simple Condition (boolean~) print_str_lines::$2 if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 Simple Condition (boolean~) print_str_lines::$3 if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 -Simple Condition (boolean~) print_ln::$1 if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 +Simple Condition (boolean~) print_ln::$1 if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 Simple Condition (boolean~) print_cls::$1 if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 Simple Condition (boolean~) menu::$23 if((byte) menu::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto menu::@1 -Simple Condition (boolean~) menu::$25 if((byte*) menu::c#1!=(byte*~) menu::$24) goto menu::@2 -Simple Condition (boolean~) menu::$31 if(*((byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@7 +Simple Condition (boolean~) menu::$32 if(*((byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@6 Simple Condition (boolean~) form_set_screen::$3 if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 Simple Condition (boolean~) form_render_values::$1 if((byte) form_render_values::idx#1<(byte) form_fields_cnt#0) goto form_render_values::@1 Simple Condition (boolean~) form_control::$2 if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@1 @@ -5284,7 +5373,6 @@ Constant (const byte*) CIA1_PORT_A#0 = ((byte*))56320 Constant (const byte*) CIA1_PORT_B#0 = ((byte*))56321 Constant (const byte*) CIA2_PORT_A#0 = ((byte*))56576 Constant (const byte*) CIA2_PORT_A_DDR#0 = ((byte*))56578 -Constant (const byte) LIGHT_GREEN#0 = 13 Constant (const byte*) DTV_FEATURE#0 = ((byte*))53311 Constant (const byte) DTV_FEATURE_ENABLE#0 = 1 Constant (const byte*) DTV_CONTROL#0 = ((byte*))53308 @@ -5295,24 +5383,25 @@ Constant (const byte*) DTV_COLOR_BANK_HI#0 = ((byte*))53303 Constant (const dword) DTV_COLOR_BANK_DEFAULT#0 = 120832 Constant (const byte*) DTV_GRAPHICS_VIC_BANK#0 = ((byte*))53309 Constant (const byte*) print_screen#0 = ((byte*))1024 -Constant (const string) print_hextab#0 = $10 +Constant (const string) print_hextab#0 = $19 Constant (const byte) KEY_CRSR_RIGHT#0 = 2 Constant (const byte) KEY_CRSR_DOWN#0 = 7 Constant (const byte) KEY_RSHIFT#0 = 52 Constant (const byte[8]) keyboard_matrix_row_bitmask#0 = { 254, 253, 251, 247, 239, 223, 191, 127 } Constant (const byte[]) keyboard_matrix_col_bitmask#0 = { 1, 2, 4, 8, 16, 32, 64, 128 } -Constant (const string) $0 = " DTV GfxExplorer PRESET 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @" +Constant (const string) $0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $9 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @" Constant (const byte*) menu::SCREEN#0 = ((byte*))32768 Constant (const byte*) menu::CHARSET#0 = ((byte*))38912 Constant (const byte) menu::i#0 = 0 Constant (const byte[25]) form_line_lo#0 = { fill( 25, 0) } Constant (const byte[25]) form_line_hi#0 = { fill( 25, 0) } Constant (const byte) form_field_idx#36 = 0 -Constant (const byte) form_fields_cnt#0 = 9 -Constant (const byte[]) form_fields_x#0 = { 7, 7, 7, 7, 7, 7, 7, 17, 17 } -Constant (const byte[]) form_fields_y#0 = { 2, 3, 4, 5, 6, 7, 8, 7, 8 } -Constant (const byte[]) form_fields_max#0 = { 1, 1, 1, 1, 1, 2, 1, 1, 1 } -Constant (const byte[]) form_fields_val#0 = { 0, 0, 0, 0, 0, 0, 0, 0, 0 } +Constant (const byte) form_fields_cnt#0 = 35 +Constant (const byte[]) form_fields_x#0 = { 22, 7, 7, 7, 7, 7, 7, 7, 17, 17, 17, 16, 17, 16, 17, 16, 17, 27, 26, 27, 26, 27, 26, 27, 38, 38, 38, 37, 38, 37, 38, 37, 38, 37, 38 } +Constant (const byte[]) form_fields_y#0 = { 0, 2, 3, 4, 5, 6, 7, 8, 7, 8, 2, 3, 3, 4, 4, 5, 5, 2, 3, 3, 4, 4, 5, 5, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8 } +Constant (const byte[]) form_fields_max#0 = { 13, 1, 1, 1, 1, 1, 2, 1, 1, 1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 } +Constant (const byte[]) form_fields_val#0 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } Constant (const byte) key_down_debounce#24 = 0 Constant (const byte) key_right_debounce#24 = 0 Constant (const signed byte) FORM_CURSOR_BLINK#0 = 40 @@ -5320,7 +5409,8 @@ Constant (const byte) form_set_screen::y#0 = 0 Constant (const byte) form_render_values::idx#0 = 0 Constant (const byte) form_field_idx#7 = 0 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $1 = " DTV GfxExplorer PRESET 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p1 patt p2 screen s3 @" +Constant (const string) $1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $10 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @" Constant (const dword) menu::$0 = ((dword))menu::CHARSET#0 Constant (const dword) menu::$3 = DTV_COLOR_BANK_DEFAULT#0/1024 Constant (const dword) menu::$6 = DTV_COLOR_BANK_DEFAULT#0/1024 @@ -5328,9 +5418,8 @@ Constant (const word) menu::$9 = ((word))menu::CHARSET#0 Constant (const byte) menu::$13 = VIC_DEN#0|VIC_RSEL#0 Constant (const word) menu::$15 = ((word))menu::SCREEN#0 Constant (const word) menu::$18 = ((word))menu::CHARSET#0 -Constant (const byte*) menu::c#0 = COLS#0 -Constant (const byte*) menu::$24 = COLS#0+1000 -Constant (const byte*) print_set_screen::screen#0 = menu::SCREEN#0 +Constant (const byte*) print_set_screen::screen#0 = COLS#0 +Constant (const byte*) print_set_screen::screen#1 = menu::SCREEN#0 Constant (const byte*) form_set_screen::screen#0 = menu::SCREEN#0 Constant (const signed byte) form_cursor_count#26 = FORM_CURSOR_BLINK#0/2 Constant (const signed word/signed byte/signed dword) form_control::$3 = FORM_CURSOR_BLINK#0/2 @@ -5341,8 +5430,8 @@ Constant (const byte) keyboard_key_pressed::key#2 = KEY_RSHIFT#0 Constant (const signed byte) form_cursor_count#7 = FORM_CURSOR_BLINK#0/2 Constant (const byte) keyboard_key_pressed::key#3 = KEY_RSHIFT#0 Succesful SSA optimization Pass2ConstantIdentification -Constant (const byte*) print_screen#1 = print_set_screen::screen#0 -Constant (const string) $2 = " DTV GfxExplorer PRESET 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p1 patt p2 screen s3 @"+" mcm 0 start 00 start 00 gfx g4 @" +Constant (const string) $2 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $11 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @" Constant (const dword) menu::$1 = menu::$0/65536 Constant (const word) menu::$4 = ((word))menu::$3 Constant (const word) menu::$7 = ((word))menu::$6 @@ -5351,9 +5440,8 @@ Constant (const byte/word/dword) menu::$14 = menu::$13|3 Constant (const word) menu::$16 = menu::$15&16383 Constant (const word) menu::$19 = menu::$18&16383 Succesful SSA optimization Pass2ConstantIdentification -Constant (const byte*) print_cls::sc#0 = print_screen#1 -Constant (const byte*) print_cls::$0 = print_screen#1+1000 -Constant (const string) $3 = " DTV GfxExplorer PRESET 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p1 patt p2 screen s3 @"+" mcm 0 start 00 start 00 gfx g4 @"+" ecm 0 step 00 step 00 colors c5 @" +Constant (const string) $3 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $12 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @" Constant (const byte) menu::$2 = ((byte))menu::$1 Constant (const byte) menu::$5 = menu::$7 @@ -5361,21 +5449,28 @@ Constant (const byte) menu::$11 = ((byte))menu::$10 Constant (const word/signed dword/dword) menu::$17 = menu::$16/64 Constant (const word/signed dword/dword) menu::$20 = menu::$19/1024 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $4 = " DTV GfxExplorer PRESET 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p1 patt p2 screen s3 @"+" mcm 0 start 00 start 00 gfx g4 @"+" ecm 0 step 00 step 00 colors c5 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @" +Constant (const string) $4 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $13 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @" Constant (const byte/word/dword) menu::$12 = 3^menu::$11 Constant (const word/dword) menu::$21 = menu::$17|menu::$20 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $5 = " DTV GfxExplorer PRESET 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p1 patt p2 screen s3 @"+" mcm 0 start 00 start 00 gfx g4 @"+" ecm 0 step 00 step 00 colors c5 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @" +Constant (const string) $5 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @" +Constant (const string) $14 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @" Constant (const byte) menu::$22 = ((byte))menu::$21 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $6 = " DTV GfxExplorer PRESET 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p1 patt p2 screen s3 @"+" mcm 0 start 00 start 00 gfx g4 @"+" ecm 0 step 00 step 00 colors c5 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @" +Constant (const string) $6 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @" +Constant (const string) $15 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @" Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $7 = " DTV GfxExplorer PRESET 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p1 patt p2 screen s3 @"+" mcm 0 start 00 start 00 gfx g4 @"+" ecm 0 step 00 step 00 colors c5 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @"+" chunk 0 overs 0 bgcol3 00 @" +Constant (const string) $7 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @" +Constant (const string) $16 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @"+" chunk 0 overs 0 bgcol3 00 @" Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) MENU_TEXT#0 = " DTV GfxExplorer PRESET 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p1 patt p2 screen s3 @"+" mcm 0 start 00 start 00 gfx g4 @"+" ecm 0 step 00 step 00 colors c5 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @"+" chunk 0 overs 0 bgcol3 00 @"+"@" +Constant (const string) MENU_COLS#0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @"+"@" +Constant (const string) MENU_TEXT#0 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @"+" chunk 0 overs 0 bgcol3 00 @"+"@" Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) print_str_lines::str#1 = MENU_TEXT#0 +Constant (const string) print_str_lines::str#1 = MENU_COLS#0 +Constant (const string) print_str_lines::str#2 = MENU_TEXT#0 Succesful SSA optimization Pass2ConstantIdentification +Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 @@ -5389,31 +5484,49 @@ Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx# Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 Fixing inline constructor with form_field_ptr::$2 ← *(form_line_hi#0 + form_field_ptr::y#0) w= *(form_line_lo#0 + form_field_ptr::y#0) Succesful SSA optimization Pass2FixInlineConstructors -Eliminating unused variable - keeping the phi block (byte*) print_screen#13 +Eliminating unused variable - keeping the phi block (byte*) print_screen#14 Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#10 Eliminating unused variable - keeping the phi block (byte*) print_char_cursor#11 -Eliminating unused constant (const string) $11 -Eliminating unused constant (const string) $12 -Eliminating unused constant (const string) $13 -Eliminating unused constant (const string) $14 -Eliminating unused constant (const string) $15 -Eliminating unused constant (const string) $16 -Eliminating unused constant (const string) $17 -Eliminating unused constant (const string) $18 -Eliminating unused constant (const string) $19 Eliminating unused constant (const string) $20 +Eliminating unused constant (const string) $21 +Eliminating unused constant (const string) $22 +Eliminating unused constant (const string) $23 +Eliminating unused constant (const string) $24 +Eliminating unused constant (const string) $25 +Eliminating unused constant (const string) $26 +Eliminating unused constant (const string) $27 +Eliminating unused constant (const string) $28 +Eliminating unused constant (const string) $29 +Eliminating unused constant (const string) $30 +Eliminating unused constant (const string) $31 +Eliminating unused constant (const string) $32 +Eliminating unused constant (const string) $33 +Eliminating unused constant (const string) $34 +Eliminating unused constant (const string) $35 +Eliminating unused constant (const string) $36 +Eliminating unused constant (const string) $37 +Eliminating unused constant (const string) $38 +Eliminating unused constant (const string) $39 Eliminating unused constant (const string) $0 +Eliminating unused constant (const string) $9 Eliminating unused constant (const string) $1 +Eliminating unused constant (const string) $10 Eliminating unused constant (const string) $2 +Eliminating unused constant (const string) $11 Eliminating unused constant (const string) $3 +Eliminating unused constant (const string) $12 Eliminating unused constant (const string) $4 +Eliminating unused constant (const string) $13 Eliminating unused constant (const string) $5 +Eliminating unused constant (const string) $14 Eliminating unused constant (const string) $6 +Eliminating unused constant (const string) $15 Eliminating unused constant (const string) $7 +Eliminating unused constant (const string) $16 Succesful SSA optimization PassNEliminateUnusedVars -Eliminating unused variable - keeping the phi block (byte*) print_screen#15 -Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#14 -Eliminating unused variable - keeping the phi block (byte*) print_char_cursor#15 +Eliminating unused variable - keeping the phi block (byte*) print_screen#17 +Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#17 +Eliminating unused variable - keeping the phi block (byte*) print_char_cursor#18 Eliminating unused constant (const byte*) print_screen#0 Succesful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (byte*) form_field_ptr::line#0 ← ((byte*)) (word~) form_field_ptr::$2 @@ -5427,11 +5540,10 @@ Culled Empty Block (label) print_cls::@2 Culled Empty Block (label) @15 Culled Empty Block (label) main::@7 Culled Empty Block (label) @20 -Culled Empty Block (label) menu::@9 -Culled Empty Block (label) menu::@21 -Culled Empty Block (label) menu::@4 -Culled Empty Block (label) menu::@7 Culled Empty Block (label) menu::@22 +Culled Empty Block (label) menu::@3 +Culled Empty Block (label) menu::@6 +Culled Empty Block (label) menu::@23 Culled Empty Block (label) @21 Not culling empty block because it shares successor with its predecessor. (label) form_control::@16 Culled Empty Block (label) form_control::@5 @@ -5446,7 +5558,11 @@ Culled Empty Block (label) @26 Succesful SSA optimization Pass2CullEmptyBlocks Not culling empty block because it shares successor with its predecessor. (label) form_control::@16 Not culling empty block because it shares successor with its predecessor. (label) form_control::@22 -Not aliassing across scopes: print_line_cursor#18 print_line_cursor#17 +Not aliassing across scopes: print_char_cursor#22 print_screen#1 +Not aliassing across scopes: print_line_cursor#2 print_screen#1 +Not aliassing across scopes: print_line_cursor#21 print_line_cursor#2 +Not aliassing across scopes: print_cls::sc#0 print_screen#1 +Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_key_pressed::rowidx#0 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_key_pressed::$2 keyboard_matrix_read::return#2 @@ -5480,6 +5596,7 @@ Redundant Phi (byte) form_fields_cnt#30 (const byte) form_fields_cnt#0 Succesful SSA optimization Pass2RedundantPhiElimination Constant (const byte) form_field_idx#8 = form_fields_cnt#0-1 Succesful SSA optimization Pass2ConstantIdentification +Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 @@ -5494,7 +5611,11 @@ Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx# Not culling empty block because it shares successor with its predecessor. (label) form_control::@16 Not culling empty block because it shares successor with its predecessor. (label) form_control::@22 Not culling empty block because it shares successor with its predecessor. (label) form_control::@24 -Not aliassing across scopes: print_line_cursor#18 print_line_cursor#17 +Not aliassing across scopes: print_char_cursor#22 print_screen#1 +Not aliassing across scopes: print_line_cursor#2 print_screen#1 +Not aliassing across scopes: print_line_cursor#21 print_line_cursor#2 +Not aliassing across scopes: print_cls::sc#0 print_screen#1 +Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_key_pressed::rowidx#0 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_key_pressed::$2 keyboard_matrix_read::return#2 @@ -5522,6 +5643,7 @@ Not aliassing across scopes: key_right_debounce#13 key_right_debounce#11 Not aliassing across scopes: key_right_debounce#21 form_control::key_right#0 Not aliassing across scopes: keyboard_key_pressed::return#10 keyboard_key_pressed::return#0 Not aliassing across scopes: form_control::$28 keyboard_key_pressed::return#10 +Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 @@ -5537,16 +5659,19 @@ OPTIMIZING CONTROL FLOW GRAPH Inlining constant with var siblings (const string) print_str_lines::str#1 Inlining constant with var siblings (const string) print_str_lines::str#1 Inlining constant with var siblings (const string) print_str_lines::str#1 -Inlining constant with var siblings (const byte*) print_cls::sc#0 -Inlining constant with var siblings (const byte*) print_cls::sc#0 +Inlining constant with var siblings (const string) print_str_lines::str#1 +Inlining constant with var siblings (const string) print_str_lines::str#2 +Inlining constant with var siblings (const string) print_str_lines::str#2 +Inlining constant with var siblings (const string) print_str_lines::str#2 +Inlining constant with var siblings (const string) print_str_lines::str#2 +Inlining constant with var siblings (const byte*) print_set_screen::screen#0 +Inlining constant with var siblings (const byte*) print_set_screen::screen#1 Inlining constant with var siblings (const byte) keyboard_key_pressed::key#0 Inlining constant with var siblings (const byte) keyboard_key_pressed::key#1 Inlining constant with var siblings (const byte) keyboard_key_pressed::key#2 Inlining constant with var siblings (const byte) keyboard_key_pressed::key#3 Inlining constant with var siblings (const byte) menu::i#0 Inlining constant with var siblings (const byte) menu::i#0 -Inlining constant with var siblings (const byte*) menu::c#0 -Inlining constant with var siblings (const byte*) menu::c#0 Inlining constant with var siblings (const byte) form_set_screen::y#0 Inlining constant with var siblings (const byte) form_set_screen::y#0 Inlining constant with var siblings (const byte) form_render_values::idx#0 @@ -5605,16 +5730,13 @@ Constant inlined form_field_idx#36 = (byte/signed byte/word/signed word/dword/si Constant inlined key_down_debounce#24 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined menu::$9 = ((word))(const byte*) menu::CHARSET#0 Constant inlined form_control::$3 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 -Constant inlined $10 = (const string) print_hextab#0 -Constant inlined print_cls::$0 = (const byte*) menu::SCREEN#0+(word/signed word/dword/signed dword) 1000 Constant inlined menu::$7 = ((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 Constant inlined menu::$8 = >((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 Constant inlined menu::$5 = <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 Constant inlined menu::$6 = (const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 Constant inlined form_field_idx#8 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 -Constant inlined menu::c#0 = (const byte*) COLS#0 -Constant inlined print_screen#1 = (const byte*) menu::SCREEN#0 Constant inlined form_field_idx#7 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined $19 = (const string) print_hextab#0 Constant inlined menu::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined form_set_screen::y#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined form_set_screen::screen#0 = (const byte*) menu::SCREEN#0 @@ -5623,8 +5745,9 @@ Constant inlined menu::$17 = ((word))(const byte*) menu::SCREEN#0&(word/signed w Constant inlined menu::$14 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 Constant inlined menu::$15 = ((word))(const byte*) menu::SCREEN#0 Constant inlined menu::$18 = ((word))(const byte*) menu::CHARSET#0 -Constant inlined print_set_screen::screen#0 = (const byte*) menu::SCREEN#0 +Constant inlined print_set_screen::screen#0 = (const byte*) COLS#0 Constant inlined menu::$19 = ((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383 +Constant inlined print_set_screen::screen#1 = (const byte*) menu::SCREEN#0 Constant inlined menu::$3 = (const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 Constant inlined menu::$4 = ((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 Constant inlined menu::$1 = ((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 @@ -5639,20 +5762,18 @@ Constant inlined form_render_values::idx#0 = (byte/signed byte/word/signed word/ Constant inlined keyboard_key_pressed::key#1 = (const byte) KEY_CRSR_RIGHT#0 Constant inlined keyboard_key_pressed::key#2 = (const byte) KEY_RSHIFT#0 Constant inlined keyboard_key_pressed::key#3 = (const byte) KEY_RSHIFT#0 -Constant inlined print_cls::sc#0 = (const byte*) menu::SCREEN#0 -Constant inlined print_str_lines::str#1 = (const string) MENU_TEXT#0 +Constant inlined print_str_lines::str#2 = (const string) MENU_TEXT#0 +Constant inlined print_str_lines::str#1 = (const string) MENU_COLS#0 Constant inlined key_right_debounce#24 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined menu::$20 = ((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 Constant inlined form_cursor_count#6 = (const signed byte) FORM_CURSOR_BLINK#0 Constant inlined form_cursor_count#26 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 -Constant inlined menu::$24 = (const byte*) COLS#0+(word/signed word/dword/signed dword) 1000 Constant inlined form_cursor_count#7 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 Constant inlined menu::$21 = ((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 Constant inlined menu::$22 = ((byte))((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 Succesful SSA optimization Pass2ConstantInlining -Block Sequence Planned @begin @25 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@2 menu::@10 menu::@17 menu::@18 menu::@19 menu::@20 menu::@3 menu::@return menu::@6 menu::@8 form_control form_control::@32 form_control::@16 form_control::@1 form_control::@17 form_control::@3 form_control::@33 form_control::@19 form_control::@20 form_control::@35 form_control::@21 form_control::@22 form_control::@8 form_control::@return form_control::@6 form_control::@24 form_control::@4 form_control::@34 form_control::@26 form_control::@27 form_control::@36 form_control::@28 form_control::@29 form_control::@14 form_control::@12 form_control::@31 form_control::@2 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_set_screen form_set_screen::@1 form_set_screen::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return -Added new block during phi lifting menu::@23(between menu::@1 and menu::@1) -Added new block during phi lifting menu::@24(between menu::@2 and menu::@2) +Block Sequence Planned @begin @25 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@8 menu::@15 menu::@16 menu::@17 menu::@18 menu::@19 menu::@20 menu::@21 menu::@2 menu::@return menu::@5 menu::@7 form_control form_control::@32 form_control::@16 form_control::@1 form_control::@17 form_control::@3 form_control::@33 form_control::@19 form_control::@20 form_control::@35 form_control::@21 form_control::@22 form_control::@8 form_control::@return form_control::@6 form_control::@24 form_control::@4 form_control::@34 form_control::@26 form_control::@27 form_control::@36 form_control::@28 form_control::@29 form_control::@14 form_control::@12 form_control::@31 form_control::@2 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_set_screen form_set_screen::@1 form_set_screen::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return +Added new block during phi lifting menu::@24(between menu::@1 and menu::@1) Added new block during phi lifting form_control::@37(between form_control::@32 and form_control::@1) Added new block during phi lifting form_control::@38(between form_control::@21 and form_control::@8) Added new block during phi lifting form_control::@39(between form_control::@6 and form_control::@8) @@ -5667,16 +5788,19 @@ Added new block during phi lifting print_str_lines::@13(between print_str_lines: Added new block during phi lifting print_str_lines::@14(between print_str_lines::@4 and print_str_lines::@5) Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1) Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1) -Block Sequence Planned @begin @25 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@2 menu::@10 menu::@17 menu::@18 menu::@19 menu::@20 menu::@3 menu::@return menu::@6 menu::@8 menu::@24 menu::@23 form_control form_control::@32 form_control::@16 form_control::@1 form_control::@17 form_control::@3 form_control::@33 form_control::@19 form_control::@20 form_control::@35 form_control::@21 form_control::@22 form_control::@8 form_control::@return form_control::@38 form_control::@6 form_control::@24 form_control::@39 form_control::@43 form_control::@4 form_control::@34 form_control::@26 form_control::@27 form_control::@36 form_control::@28 form_control::@29 form_control::@14 form_control::@12 form_control::@31 form_control::@41 form_control::@40 form_control::@42 form_control::@2 form_control::@37 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_render_values::@4 form_set_screen form_set_screen::@1 form_set_screen::@return form_set_screen::@3 print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@12 print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_str_lines::@13 print_str_lines::@14 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_cls print_cls::@1 print_cls::@return print_cls::@3 print_set_screen print_set_screen::@return +Block Sequence Planned @begin @25 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@8 menu::@15 menu::@16 menu::@17 menu::@18 menu::@19 menu::@20 menu::@21 menu::@2 menu::@return menu::@5 menu::@7 menu::@24 form_control form_control::@32 form_control::@16 form_control::@1 form_control::@17 form_control::@3 form_control::@33 form_control::@19 form_control::@20 form_control::@35 form_control::@21 form_control::@22 form_control::@8 form_control::@return form_control::@38 form_control::@6 form_control::@24 form_control::@39 form_control::@43 form_control::@4 form_control::@34 form_control::@26 form_control::@27 form_control::@36 form_control::@28 form_control::@29 form_control::@14 form_control::@12 form_control::@31 form_control::@41 form_control::@40 form_control::@42 form_control::@2 form_control::@37 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_render_values::@4 form_set_screen form_set_screen::@1 form_set_screen::@return form_set_screen::@3 print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@12 print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_str_lines::@13 print_str_lines::@14 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_cls print_cls::@1 print_cls::@return print_cls::@3 print_set_screen print_set_screen::@return Adding NOP phi() at start of @begin Adding NOP phi() at start of @25 Adding NOP phi() at start of @end Adding NOP phi() at start of main::@2 +Adding NOP phi() at start of menu::@15 +Adding NOP phi() at start of menu::@16 Adding NOP phi() at start of menu::@17 Adding NOP phi() at start of menu::@18 Adding NOP phi() at start of menu::@19 Adding NOP phi() at start of menu::@20 -Adding NOP phi() at start of menu::@8 +Adding NOP phi() at start of menu::@21 +Adding NOP phi() at start of menu::@7 Adding NOP phi() at start of form_control::@16 Adding NOP phi() at start of form_control::@3 Adding NOP phi() at start of form_control::@22 @@ -5684,18 +5808,15 @@ Adding NOP phi() at start of form_control::@24 Adding NOP phi() at start of form_control::@27 Adding NOP phi() at start of form_render_values Adding NOP phi() at start of form_set_screen -Adding NOP phi() at start of print_str_lines Adding NOP phi() at start of print_str_lines::@9 -Adding NOP phi() at start of print_cls -Adding NOP phi() at start of print_set_screen CALL GRAPH Calls in [] to main:2 Calls in [main] to menu:10 -Calls in [menu] to print_set_screen:34 print_cls:36 print_str_lines:38 form_set_screen:40 form_render_values:42 form_control:52 -Calls in [form_control] to form_field_ptr:61 keyboard_key_pressed:72 keyboard_key_pressed:80 keyboard_key_pressed:100 keyboard_key_pressed:107 -Calls in [keyboard_key_pressed] to keyboard_matrix_read:138 -Calls in [form_render_values] to form_field_ptr:156 -Calls in [print_str_lines] to print_ln:192 +Calls in [menu] to print_set_screen:30 print_cls:32 print_str_lines:34 print_set_screen:36 print_cls:38 print_str_lines:40 form_set_screen:42 form_render_values:44 form_control:54 +Calls in [form_control] to form_field_ptr:62 keyboard_key_pressed:73 keyboard_key_pressed:81 keyboard_key_pressed:101 keyboard_key_pressed:108 +Calls in [keyboard_key_pressed] to keyboard_matrix_read:139 +Calls in [form_render_values] to form_field_ptr:157 +Calls in [print_str_lines] to print_ln:196 Propagating live ranges... Propagating live ranges... @@ -5732,61 +5853,66 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Created 30 initial phi equivalence classes -Coalesced [11] form_cursor_count#58 ← form_cursor_count#13 -Coalesced [12] key_down_debounce#65 ← key_down_debounce#11 -Coalesced [13] form_field_idx#67 ← form_field_idx#14 -Coalesced [14] key_right_debounce#65 ← key_right_debounce#11 -Coalesced (already) [43] form_cursor_count#59 ← form_cursor_count#1 -Coalesced (already) [44] key_down_debounce#66 ← key_down_debounce#1 -Coalesced (already) [45] form_field_idx#68 ← form_field_idx#1 -Coalesced (already) [46] key_right_debounce#66 ← key_right_debounce#1 -Coalesced [53] form_cursor_count#60 ← form_cursor_count#16 -Coalesced [54] key_down_debounce#67 ← key_down_debounce#13 -Coalesced [55] form_field_idx#69 ← form_field_idx#18 -Coalesced [56] key_right_debounce#67 ← key_right_debounce#13 -Coalesced [57] menu::c#3 ← menu::c#1 -Coalesced [58] menu::i#3 ← menu::i#1 -Coalesced [60] form_field_ptr::field_idx#3 ← form_field_ptr::field_idx#1 -Coalesced [88] key_down_debounce#71 ← key_down_debounce#23 -Coalesced [89] form_field_idx#75 ← form_field_idx#32 -Coalesced (already) [90] key_right_debounce#71 ← key_right_debounce#11 -Coalesced [93] form_field_idx#70 ← form_field_idx#41 -Coalesced [97] form_field_idx#71 ← form_field_idx#42 -Coalesced [98] key_down_debounce#73 ← key_down_debounce#23 -Coalesced [115] form_cursor_count#64 ← form_cursor_count#15 -Coalesced (already) [116] key_down_debounce#70 ← key_down_debounce#20 -Coalesced (already) [117] form_field_idx#74 ← form_field_idx#14 -Coalesced [118] key_right_debounce#70 ← key_right_debounce#21 -Coalesced (already) [122] form_cursor_count#63 ← form_cursor_count#15 -Coalesced (already) [123] key_down_debounce#69 ← key_down_debounce#20 -Coalesced (already) [124] form_field_idx#73 ← form_field_idx#14 -Coalesced (already) [125] key_right_debounce#69 ← key_right_debounce#21 -Coalesced (already) [126] form_cursor_count#62 ← form_cursor_count#15 -Coalesced (already) [127] key_down_debounce#68 ← key_down_debounce#20 -Coalesced (already) [128] form_field_idx#72 ← form_field_idx#14 -Coalesced (already) [129] key_right_debounce#68 ← key_right_debounce#11 -Coalesced (already) [130] key_down_debounce#72 ← key_down_debounce#11 -Coalesced [133] form_cursor_count#61 ← form_cursor_count#5 -Coalesced [155] form_field_ptr::field_idx#4 ← form_field_ptr::field_idx#0 -Coalesced [163] form_render_values::idx#4 ← form_render_values::idx#1 -Coalesced [174] form_set_screen::line#3 ← form_set_screen::line#1 -Coalesced [175] form_set_screen::y#3 ← form_set_screen::y#1 -Coalesced [180] print_str_lines::str#11 ← print_str_lines::str#2 -Coalesced [181] print_char_cursor#60 ← print_char_cursor#19 -Coalesced [188] print_char_cursor#63 ← print_char_cursor#1 -Coalesced [193] print_str_lines::str#10 ← print_str_lines::str#0 -Not coalescing [194] print_char_cursor#59 ← print_line_cursor#19 -Coalesced [195] print_line_cursor#59 ← print_line_cursor#19 -Coalesced (already) [196] print_str_lines::str#12 ← print_str_lines::str#0 -Coalesced [197] print_char_cursor#61 ← print_char_cursor#32 -Coalesced (already) [198] print_char_cursor#62 ← print_char_cursor#17 -Coalesced [199] print_line_cursor#60 ← print_line_cursor#17 -Coalesced (already) [204] print_line_cursor#61 ← print_line_cursor#19 -Coalesced [211] print_cls::sc#3 ← print_cls::sc#1 -Coalesced down to 15 phi equivalence classes +Propagating live ranges... +Propagating live ranges... +Created 31 initial phi equivalence classes +Coalesced [11] form_cursor_count#59 ← form_cursor_count#13 +Coalesced [12] key_down_debounce#66 ← key_down_debounce#11 +Coalesced [13] form_field_idx#68 ← form_field_idx#14 +Coalesced [14] key_right_debounce#66 ← key_right_debounce#11 +Coalesced (already) [45] form_cursor_count#60 ← form_cursor_count#1 +Coalesced (already) [46] key_down_debounce#67 ← key_down_debounce#1 +Coalesced (already) [47] form_field_idx#69 ← form_field_idx#1 +Coalesced (already) [48] key_right_debounce#67 ← key_right_debounce#1 +Coalesced [55] form_cursor_count#61 ← form_cursor_count#16 +Coalesced [56] key_down_debounce#68 ← key_down_debounce#13 +Coalesced [57] form_field_idx#70 ← form_field_idx#18 +Coalesced [58] key_right_debounce#68 ← key_right_debounce#13 +Coalesced [59] menu::i#3 ← menu::i#1 +Coalesced [61] form_field_ptr::field_idx#3 ← form_field_ptr::field_idx#1 +Coalesced [89] key_down_debounce#72 ← key_down_debounce#23 +Coalesced [90] form_field_idx#76 ← form_field_idx#32 +Coalesced (already) [91] key_right_debounce#72 ← key_right_debounce#11 +Coalesced [94] form_field_idx#71 ← form_field_idx#41 +Coalesced [98] form_field_idx#72 ← form_field_idx#42 +Coalesced [99] key_down_debounce#74 ← key_down_debounce#23 +Coalesced [116] form_cursor_count#65 ← form_cursor_count#15 +Coalesced (already) [117] key_down_debounce#71 ← key_down_debounce#20 +Coalesced (already) [118] form_field_idx#75 ← form_field_idx#14 +Coalesced [119] key_right_debounce#71 ← key_right_debounce#21 +Coalesced (already) [123] form_cursor_count#64 ← form_cursor_count#15 +Coalesced (already) [124] key_down_debounce#70 ← key_down_debounce#20 +Coalesced (already) [125] form_field_idx#74 ← form_field_idx#14 +Coalesced (already) [126] key_right_debounce#70 ← key_right_debounce#21 +Coalesced (already) [127] form_cursor_count#63 ← form_cursor_count#15 +Coalesced (already) [128] key_down_debounce#69 ← key_down_debounce#20 +Coalesced (already) [129] form_field_idx#73 ← form_field_idx#14 +Coalesced (already) [130] key_right_debounce#69 ← key_right_debounce#11 +Coalesced (already) [131] key_down_debounce#73 ← key_down_debounce#11 +Coalesced [134] form_cursor_count#62 ← form_cursor_count#5 +Coalesced [156] form_field_ptr::field_idx#4 ← form_field_ptr::field_idx#0 +Coalesced [164] form_render_values::idx#4 ← form_render_values::idx#1 +Coalesced [175] form_set_screen::line#3 ← form_set_screen::line#1 +Coalesced [176] form_set_screen::y#3 ← form_set_screen::y#1 +Coalesced [178] print_str_lines::str#11 ← print_str_lines::str#5 +Not coalescing [179] print_char_cursor#63 ← print_screen#1 +Coalesced [180] print_line_cursor#63 ← print_screen#1 +Coalesced [184] print_str_lines::str#13 ← print_str_lines::str#3 +Coalesced [185] print_char_cursor#65 ← print_char_cursor#22 +Coalesced [192] print_char_cursor#68 ← print_char_cursor#1 +Coalesced [197] print_str_lines::str#12 ← print_str_lines::str#0 +Not coalescing [198] print_char_cursor#64 ← print_line_cursor#22 +Coalesced [199] print_line_cursor#64 ← print_line_cursor#22 +Coalesced (already) [200] print_str_lines::str#14 ← print_str_lines::str#0 +Coalesced [201] print_char_cursor#66 ← print_char_cursor#38 +Coalesced (already) [202] print_char_cursor#67 ← print_char_cursor#20 +Coalesced [203] print_line_cursor#65 ← print_line_cursor#2 +Coalesced (already) [208] print_line_cursor#66 ← print_line_cursor#22 +Coalesced [210] print_cls::sc#3 ← print_cls::sc#0 +Coalesced [217] print_cls::sc#4 ← print_cls::sc#1 +Coalesced [219] print_screen#1 ← print_set_screen::screen#2 +Coalesced down to 14 phi equivalence classes Culled Empty Block (label) menu::@24 -Culled Empty Block (label) menu::@23 Culled Empty Block (label) form_control::@16 Culled Empty Block (label) form_control::@22 Not culling empty block because it shares successor with its predecessor. (label) form_control::@38 @@ -5804,16 +5930,19 @@ Culled Empty Block (label) print_str_lines::@13 Culled Empty Block (label) print_str_lines::@14 Culled Empty Block (label) print_ln::@3 Culled Empty Block (label) print_cls::@3 -Block Sequence Planned @begin @25 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@2 menu::@10 menu::@17 menu::@18 menu::@19 menu::@20 menu::@3 menu::@return menu::@6 menu::@8 form_control form_control::@32 form_control::@1 form_control::@17 form_control::@3 form_control::@33 form_control::@19 form_control::@20 form_control::@35 form_control::@21 form_control::@8 form_control::@return form_control::@38 form_control::@6 form_control::@39 form_control::@4 form_control::@34 form_control::@26 form_control::@27 form_control::@36 form_control::@28 form_control::@29 form_control::@14 form_control::@12 form_control::@31 form_control::@2 form_control::@37 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_set_screen form_set_screen::@1 form_set_screen::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return +Block Sequence Planned @begin @25 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@8 menu::@15 menu::@16 menu::@17 menu::@18 menu::@19 menu::@20 menu::@21 menu::@2 menu::@return menu::@5 menu::@7 form_control form_control::@32 form_control::@1 form_control::@17 form_control::@3 form_control::@33 form_control::@19 form_control::@20 form_control::@35 form_control::@21 form_control::@8 form_control::@return form_control::@38 form_control::@6 form_control::@39 form_control::@4 form_control::@34 form_control::@26 form_control::@27 form_control::@36 form_control::@28 form_control::@29 form_control::@14 form_control::@12 form_control::@31 form_control::@2 form_control::@37 keyboard_key_pressed keyboard_key_pressed::@2 keyboard_key_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_set_screen form_set_screen::@1 form_set_screen::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return Adding NOP phi() at start of @begin Adding NOP phi() at start of @25 Adding NOP phi() at start of @end Adding NOP phi() at start of main::@2 +Adding NOP phi() at start of menu::@15 +Adding NOP phi() at start of menu::@16 Adding NOP phi() at start of menu::@17 Adding NOP phi() at start of menu::@18 Adding NOP phi() at start of menu::@19 Adding NOP phi() at start of menu::@20 -Adding NOP phi() at start of menu::@8 +Adding NOP phi() at start of menu::@21 +Adding NOP phi() at start of menu::@7 Adding NOP phi() at start of form_control::@3 Adding NOP phi() at start of form_control::@38 Adding NOP phi() at start of form_control::@39 @@ -5821,11 +5950,10 @@ Adding NOP phi() at start of form_control::@27 Adding NOP phi() at start of form_control::@37 Adding NOP phi() at start of form_render_values Adding NOP phi() at start of form_set_screen -Adding NOP phi() at start of print_str_lines Adding NOP phi() at start of print_str_lines::@9 Adding NOP phi() at start of print_ln -Adding NOP phi() at start of print_cls -Adding NOP phi() at start of print_set_screen +Propagating live ranges... +Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... @@ -5903,289 +6031,297 @@ menu::@1: scope:[menu] from menu menu::@1 [21] *((const byte*) DTV_PALETTE#0 + (byte) menu::i#2) ← *((const byte[16]) DTV_PALETTE_DEFAULT#0 + (byte) menu::i#2) [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#2 ] ) [22] (byte) menu::i#1 ← ++ (byte) menu::i#2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#1 ] ) [23] if((byte) menu::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto menu::@1 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#1 ] ) - to:menu::@2 -menu::@2: scope:[menu] from menu::@1 menu::@2 - [24] (byte*) menu::c#2 ← phi( menu::@2/(byte*) menu::c#1 menu::@1/(const byte*) COLS#0 ) [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ) - [25] *((byte*) menu::c#2) ← (const byte) LIGHT_GREEN#0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ) - [26] (byte*) menu::c#1 ← ++ (byte*) menu::c#2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) - [27] if((byte*) menu::c#1!=(const byte*) COLS#0+(word/signed word/dword/signed dword) 1000) goto menu::@2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) - to:menu::@10 -menu::@10: scope:[menu] from menu::@2 - [28] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - [29] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - [30] call print_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + to:menu::@8 +menu::@8: scope:[menu] from menu::@1 + [24] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [25] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [26] call print_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + to:menu::@15 +menu::@15: scope:[menu] from menu::@8 + [27] phi() [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + [28] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + to:menu::@16 +menu::@16: scope:[menu] from menu::@15 + [29] phi() [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + [30] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:menu::@17 -menu::@17: scope:[menu] from menu::@10 +menu::@17: scope:[menu] from menu::@16 [31] phi() [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - [32] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [32] call print_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) to:menu::@18 menu::@18: scope:[menu] from menu::@17 - [33] phi() [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - [34] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [33] phi() [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + [34] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) to:menu::@19 menu::@19: scope:[menu] from menu::@18 - [35] phi() [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - [36] call form_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [35] phi() [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + [36] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:menu::@20 menu::@20: scope:[menu] from menu::@19 [37] phi() [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - [38] call form_render_values param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - to:menu::@3 -menu::@3: scope:[menu] from menu::@20 menu::@8 - [39] (byte) key_right_debounce#11 ← phi( menu::@20/(byte) key_right_debounce#1 menu::@8/(byte) key_right_debounce#13 ) [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) - [39] (byte) form_field_idx#14 ← phi( menu::@20/(byte) form_field_idx#1 menu::@8/(byte) form_field_idx#18 ) [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) - [39] (byte) key_down_debounce#11 ← phi( menu::@20/(byte) key_down_debounce#1 menu::@8/(byte) key_down_debounce#13 ) [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) - [39] (signed byte) form_cursor_count#13 ← phi( menu::@20/(signed byte) form_cursor_count#1 menu::@8/(signed byte) form_cursor_count#16 ) [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) - [40] if(true) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + [38] call form_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + to:menu::@21 +menu::@21: scope:[menu] from menu::@20 + [39] phi() [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [40] call form_render_values param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + to:menu::@2 +menu::@2: scope:[menu] from menu::@21 menu::@7 + [41] (byte) key_right_debounce#11 ← phi( menu::@21/(byte) key_right_debounce#1 menu::@7/(byte) key_right_debounce#13 ) [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + [41] (byte) form_field_idx#14 ← phi( menu::@21/(byte) form_field_idx#1 menu::@7/(byte) form_field_idx#18 ) [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + [41] (byte) key_down_debounce#11 ← phi( menu::@21/(byte) key_down_debounce#1 menu::@7/(byte) key_down_debounce#13 ) [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + [41] (signed byte) form_cursor_count#13 ← phi( menu::@21/(signed byte) form_cursor_count#1 menu::@7/(signed byte) form_cursor_count#16 ) [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + [42] if(true) goto menu::@5 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) to:menu::@return -menu::@return: scope:[menu] from menu::@3 - [41] return [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) +menu::@return: scope:[menu] from menu::@2 + [43] return [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) to:@return -menu::@6: scope:[menu] from menu::@3 menu::@6 - [42] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) - to:menu::@8 -menu::@8: scope:[menu] from menu::@6 - [43] phi() [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) - [44] call form_control param-assignment [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) - to:menu::@3 -form_control: scope:[form_control] from menu::@8 - [45] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#14 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ) - [46] call form_field_ptr param-assignment [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ) - [47] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) +menu::@5: scope:[menu] from menu::@2 menu::@5 + [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + to:menu::@7 +menu::@7: scope:[menu] from menu::@5 + [45] phi() [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + [46] call form_control param-assignment [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + to:menu::@2 +form_control: scope:[form_control] from menu::@7 + [47] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#14 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ) + [48] call form_field_ptr param-assignment [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ) + [49] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) to:form_control::@32 form_control::@32: scope:[form_control] from form_control - [48] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) - [49] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) - [50] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) + [50] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) + [51] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) + [52] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) to:form_control::@1 form_control::@1: scope:[form_control] from form_control::@32 form_control::@37 - [51] (signed byte) form_cursor_count#15 ← phi( form_control::@32/(const signed byte) FORM_CURSOR_BLINK#0 form_control::@37/(signed byte) form_cursor_count#5 ) [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) - [52] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [53] (signed byte) form_cursor_count#15 ← phi( form_control::@32/(const signed byte) FORM_CURSOR_BLINK#0 form_control::@37/(signed byte) form_cursor_count#5 ) [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) to:form_control::@17 form_control::@17: scope:[form_control] from form_control::@1 - [53] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) - [54] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) + [56] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) to:form_control::@3 form_control::@3: scope:[form_control] from form_control::@17 form_control::@2 - [55] phi() [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) - [56] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) - [57] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) + [57] phi() [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [58] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) + [59] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) to:form_control::@33 form_control::@33: scope:[form_control] from form_control::@3 - [58] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) - [59] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) + [60] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) + [61] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) to:form_control::@19 form_control::@19: scope:[form_control] from form_control::@33 - [60] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) - [61] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) + [62] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) + [63] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) to:form_control::@20 form_control::@20: scope:[form_control] from form_control::@19 - [62] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) - [63] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) - [64] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) - [65] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) + [64] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) + [65] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) + [66] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) + [67] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) to:form_control::@35 form_control::@35: scope:[form_control] from form_control::@20 - [66] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) - [67] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) + [68] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) + [69] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) to:form_control::@21 form_control::@21: scope:[form_control] from form_control::@35 - [68] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) - [69] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) + [70] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) + [71] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) to:form_control::@8 form_control::@8: scope:[form_control] from form_control::@21 form_control::@38 form_control::@39 form_control::@6 - [70] (byte) form_field_idx#32 ← phi( form_control::@21/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@6/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@38/(byte) form_field_idx#41 form_control::@39/(byte) form_field_idx#42 ) [ key_right_debounce#11 key_down_debounce#23 form_field_idx#32 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#32 ] ) + [72] (byte) form_field_idx#32 ← phi( form_control::@21/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@6/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@38/(byte) form_field_idx#41 form_control::@39/(byte) form_field_idx#42 ) [ key_right_debounce#11 key_down_debounce#23 form_field_idx#32 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#32 ] ) to:form_control::@return form_control::@return: scope:[form_control] from form_control::@14 form_control::@26 form_control::@34 form_control::@8 - [71] (byte) key_right_debounce#13 ← phi( form_control::@34/(byte) key_right_debounce#11 form_control::@26/(byte) key_right_debounce#21 form_control::@14/(byte) key_right_debounce#21 form_control::@8/(byte) key_right_debounce#11 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) - [71] (byte) form_field_idx#18 ← phi( form_control::@34/(byte) form_field_idx#14 form_control::@26/(byte) form_field_idx#14 form_control::@14/(byte) form_field_idx#14 form_control::@8/(byte) form_field_idx#32 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) - [71] (byte) key_down_debounce#13 ← phi( form_control::@34/(byte) key_down_debounce#20 form_control::@26/(byte) key_down_debounce#20 form_control::@14/(byte) key_down_debounce#20 form_control::@8/(byte) key_down_debounce#23 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) - [71] (signed byte) form_cursor_count#16 ← phi( form_control::@34/(signed byte) form_cursor_count#15 form_control::@26/(signed byte) form_cursor_count#15 form_control::@14/(signed byte) form_cursor_count#15 form_control::@8/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) - [72] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [73] (byte) key_right_debounce#13 ← phi( form_control::@34/(byte) key_right_debounce#11 form_control::@26/(byte) key_right_debounce#21 form_control::@14/(byte) key_right_debounce#21 form_control::@8/(byte) key_right_debounce#11 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [73] (byte) form_field_idx#18 ← phi( form_control::@34/(byte) form_field_idx#14 form_control::@26/(byte) form_field_idx#14 form_control::@14/(byte) form_field_idx#14 form_control::@8/(byte) form_field_idx#32 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [73] (byte) key_down_debounce#13 ← phi( form_control::@34/(byte) key_down_debounce#20 form_control::@26/(byte) key_down_debounce#20 form_control::@14/(byte) key_down_debounce#20 form_control::@8/(byte) key_down_debounce#23 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [73] (signed byte) form_cursor_count#16 ← phi( form_control::@34/(signed byte) form_cursor_count#15 form_control::@26/(signed byte) form_cursor_count#15 form_control::@14/(signed byte) form_cursor_count#15 form_control::@8/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 ) [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + [74] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) to:@return form_control::@38: scope:[form_control] from form_control::@21 - [73] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) + [75] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) to:form_control::@8 form_control::@6: scope:[form_control] from form_control::@35 - [74] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) - [75] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) + [76] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) + [77] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) to:form_control::@8 form_control::@39: scope:[form_control] from form_control::@6 - [76] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) + [78] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) to:form_control::@8 form_control::@4: scope:[form_control] from form_control::@19 form_control::@33 - [77] (byte) key_down_debounce#20 ← phi( form_control::@33/(byte) key_down_debounce#11 form_control::@19/(byte) key_down_debounce#23 ) [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 ] ) - [78] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) - [79] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) + [79] (byte) key_down_debounce#20 ← phi( form_control::@33/(byte) key_down_debounce#11 form_control::@19/(byte) key_down_debounce#23 ) [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 ] ) + [80] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) + [81] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) to:form_control::@34 form_control::@34: scope:[form_control] from form_control::@4 - [80] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) - [81] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) + [82] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) + [83] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) to:form_control::@26 form_control::@26: scope:[form_control] from form_control::@34 - [82] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) - [83] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [84] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) + [85] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@27 form_control::@27: scope:[form_control] from form_control::@26 - [84] phi() [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) - [85] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) - [86] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) + [86] phi() [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [87] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) + [88] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) to:form_control::@36 form_control::@36: scope:[form_control] from form_control::@27 - [87] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) - [88] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [89] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) + [90] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@28 form_control::@28: scope:[form_control] from form_control::@36 - [89] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) - [90] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [92] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@29 form_control::@29: scope:[form_control] from form_control::@28 - [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@14 form_control::@14: scope:[form_control] from form_control::@12 form_control::@28 form_control::@29 form_control::@31 - [92] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [94] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@return form_control::@12: scope:[form_control] from form_control::@36 - [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) - [94] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [96] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@31 form_control::@31: scope:[form_control] from form_control::@12 - [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) + [97] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) to:form_control::@14 form_control::@2: scope:[form_control] from form_control::@1 - [96] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) - [97] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) + [98] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) + [99] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) to:form_control::@3 form_control::@37: scope:[form_control] from form_control::@32 - [98] phi() [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) + [100] phi() [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) to:form_control::@1 keyboard_key_pressed: scope:[keyboard_key_pressed] from form_control::@20 form_control::@27 form_control::@3 form_control::@4 - [99] (byte) keyboard_key_pressed::key#4 ← phi( form_control::@20/(const byte) KEY_RSHIFT#0 form_control::@27/(const byte) KEY_RSHIFT#0 form_control::@3/(const byte) KEY_CRSR_DOWN#0 form_control::@4/(const byte) KEY_CRSR_RIGHT#0 ) [ keyboard_key_pressed::key#4 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 ] ) - [100] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) - [101] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) - [102] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) - [103] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) - [104] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) + [101] (byte) keyboard_key_pressed::key#4 ← phi( form_control::@20/(const byte) KEY_RSHIFT#0 form_control::@27/(const byte) KEY_RSHIFT#0 form_control::@3/(const byte) KEY_CRSR_DOWN#0 form_control::@4/(const byte) KEY_CRSR_RIGHT#0 ) [ keyboard_key_pressed::key#4 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 ] ) + [102] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) + [103] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) + [104] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) + [105] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [106] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) to:keyboard_key_pressed::@2 keyboard_key_pressed::@2: scope:[keyboard_key_pressed] from keyboard_key_pressed - [105] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) - [106] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) + [107] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) + [108] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) to:keyboard_key_pressed::@return keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_pressed::@2 - [107] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) + [109] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) to:@return keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_key_pressed - [108] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) - [109] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [110] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) + [111] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) to:keyboard_matrix_read::@return keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read - [110] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + [112] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) to:@return form_field_ptr: scope:[form_field_ptr] from form_control form_render_values::@1 - [111] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@1/(byte) form_field_ptr::field_idx#0 ) [ form_field_ptr::field_idx#2 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 ] ) - [112] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) - [113] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) - [114] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) - [115] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) + [113] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@1/(byte) form_field_ptr::field_idx#0 ) [ form_field_ptr::field_idx#2 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 ] ) + [114] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) + [115] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) + [116] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) + [117] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) to:form_field_ptr::@return form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr - [116] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) + [118] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) to:@return -form_render_values: scope:[form_render_values] from menu::@20 - [117] phi() [ ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +form_render_values: scope:[form_render_values] from menu::@21 + [119] phi() [ ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:form_render_values::@1 form_render_values::@1: scope:[form_render_values] from form_render_values form_render_values::@3 - [118] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte/signed byte/word/signed word/dword/signed dword) 0 form_render_values::@3/(byte) form_render_values::idx#1 ) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) - [119] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) - [120] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) - [121] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) + [120] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte/signed byte/word/signed word/dword/signed dword) 0 form_render_values::@3/(byte) form_render_values::idx#1 ) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) + [121] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) + [122] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) + [123] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) to:form_render_values::@3 form_render_values::@3: scope:[form_render_values] from form_render_values::@1 - [122] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) - [123] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) - [124] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) - [125] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) + [124] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) + [125] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) + [126] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) + [127] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) to:form_render_values::@return form_render_values::@return: scope:[form_render_values] from form_render_values::@3 - [126] return [ ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [128] return [ ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:@return -form_set_screen: scope:[form_set_screen] from menu::@19 - [127] phi() [ ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +form_set_screen: scope:[form_set_screen] from menu::@20 + [129] phi() [ ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:form_set_screen::@1 form_set_screen::@1: scope:[form_set_screen] from form_set_screen form_set_screen::@1 - [128] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte/signed byte/word/signed word/dword/signed dword) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) - [128] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const byte*) menu::SCREEN#0 form_set_screen::@1/(byte*) form_set_screen::line#1 ) [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) - [129] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) - [130] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) - [131] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) - [132] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) - [133] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) - [134] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) - [135] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) + [130] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte/signed byte/word/signed word/dword/signed dword) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) + [130] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const byte*) menu::SCREEN#0 form_set_screen::@1/(byte*) form_set_screen::line#1 ) [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) + [131] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) + [132] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) + [133] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) + [134] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) + [135] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) + [136] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) + [137] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) to:form_set_screen::@return form_set_screen::@return: scope:[form_set_screen] from form_set_screen::@1 - [136] return [ ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [138] return [ ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:@return -print_str_lines: scope:[print_str_lines] from menu::@18 - [137] phi() [ ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +print_str_lines: scope:[print_str_lines] from menu::@16 menu::@19 + [139] (byte*) print_str_lines::str#5 ← phi( menu::@16/(const string) MENU_COLS#0 menu::@19/(const string) MENU_TEXT#0 ) [ print_str_lines::str#5 print_set_screen::screen#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_set_screen::screen#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_set_screen::screen#2 ] ) + [140] (byte*~) print_char_cursor#63 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] ) to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@9 - [138] (byte*) print_line_cursor#17 ← phi( print_str_lines/(const byte*) menu::SCREEN#0 print_str_lines::@9/(byte*) print_line_cursor#19 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [138] (byte*) print_char_cursor#19 ← phi( print_str_lines/(const byte*) menu::SCREEN#0 print_str_lines::@9/(byte*~) print_char_cursor#59 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [138] (byte*) print_str_lines::str#2 ← phi( print_str_lines/(const string) MENU_TEXT#0 print_str_lines::@9/(byte*) print_str_lines::str#0 ) [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) - [139] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) + [141] (byte*) print_line_cursor#2 ← phi( print_str_lines/(byte*) print_set_screen::screen#2 print_str_lines::@9/(byte*) print_line_cursor#22 ) [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) + [141] (byte*) print_char_cursor#22 ← phi( print_str_lines/(byte*~) print_char_cursor#63 print_str_lines::@9/(byte*~) print_char_cursor#64 ) [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) + [141] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@9/(byte*) print_str_lines::str#0 ) [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) + [142] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - [140] return [ ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [143] return [ ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) to:@return print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@5 - [141] (byte*) print_char_cursor#17 ← phi( print_str_lines::@1/(byte*) print_char_cursor#19 print_str_lines::@5/(byte*) print_char_cursor#32 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) - [141] (byte*) print_str_lines::str#3 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#2 print_str_lines::@5/(byte*) print_str_lines::str#0 ) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 ] ) - [142] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) - [143] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) - [144] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) + [144] (byte*) print_char_cursor#20 ← phi( print_str_lines::@1/(byte*) print_char_cursor#22 print_str_lines::@5/(byte*) print_char_cursor#38 ) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] ) + [144] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@5/(byte*) print_str_lines::str#0 ) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] ) + [145] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) + [146] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) + [147] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) to:print_str_lines::@8 print_str_lines::@8: scope:[print_str_lines] from print_str_lines::@4 - [145] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) - [146] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) + [148] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) + [149] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 [ print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@4 print_str_lines::@8 - [147] (byte*) print_char_cursor#32 ← phi( print_str_lines::@4/(byte*) print_char_cursor#17 print_str_lines::@8/(byte*) print_char_cursor#1 ) [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 print_str_lines::ch#0 ] ) - [148] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) + [150] (byte*) print_char_cursor#38 ← phi( print_str_lines::@4/(byte*) print_char_cursor#20 print_str_lines::@8/(byte*) print_char_cursor#1 ) [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 print_str_lines::ch#0 ] ) + [151] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ) to:print_str_lines::@9 print_str_lines::@9: scope:[print_str_lines] from print_str_lines::@5 - [149] phi() [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) - [150] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) - [151] (byte*~) print_char_cursor#59 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ) + [152] phi() [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ) + [153] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) + [154] (byte*~) print_char_cursor#64 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ) to:print_str_lines::@1 print_ln: scope:[print_ln] from print_str_lines::@9 - [152] phi() [ print_line_cursor#17 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#17 print_char_cursor#32 ] ) + [155] phi() [ print_line_cursor#2 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#38 ] ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - [153] (byte*) print_line_cursor#18 ← phi( print_ln/(byte*) print_line_cursor#17 print_ln::@1/(byte*) print_line_cursor#19 ) [ print_char_cursor#32 print_line_cursor#18 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#32 print_line_cursor#18 ] ) - [154] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) - [155] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) + [156] (byte*) print_line_cursor#21 ← phi( print_ln/(byte*) print_line_cursor#2 print_ln::@1/(byte*) print_line_cursor#22 ) [ print_char_cursor#38 print_line_cursor#21 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#38 print_line_cursor#21 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#38 print_line_cursor#21 ] ) + [157] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) + [158] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 - [156] return [ print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) + [159] return [ print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) to:@return -print_cls: scope:[print_cls] from menu::@17 - [157] phi() [ ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +print_cls: scope:[print_cls] from menu::@15 menu::@18 + [160] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 [ print_set_screen::screen#2 print_cls::sc#0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#0 ] ) to:print_cls::@1 print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - [158] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) menu::SCREEN#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#2 ] ) - [159] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#2 ] ) - [160] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) - [161] if((byte*) print_cls::sc#1!=(const byte*) menu::SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) + [161] (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] ) + [162] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] ) + [163] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) + [164] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) + [165] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls::@1 - [162] return [ ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [166] return [ print_set_screen::screen#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) to:@return -print_set_screen: scope:[print_set_screen] from menu::@10 - [163] phi() [ ] ( main:2::menu:10::print_set_screen:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) +print_set_screen: scope:[print_set_screen] from menu::@17 menu::@8 + [167] (byte*) print_set_screen::screen#2 ← phi( menu::@17/(const byte*) menu::SCREEN#0 menu::@8/(const byte*) COLS#0 ) [ print_set_screen::screen#2 ] ( main:2::menu:10::print_set_screen:26 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] main:2::menu:10::print_set_screen:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - [164] return [ ] ( main:2::menu:10::print_set_screen:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + [168] return [ print_set_screen::screen#2 ] ( main:2::menu:10::print_set_screen:26 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] main:2::menu:10::print_set_screen:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) to:@return DOMINATORS @@ -6198,79 +6334,80 @@ main::@return dominated by @25 main main::@1 @begin main::@return main::@2 dominated by @25 main main::@1 main::@2 @begin menu dominated by @25 main main::@1 main::@2 @begin menu menu::@1 dominated by @25 main main::@1 main::@2 @begin menu::@1 menu -menu::@2 dominated by @25 main main::@1 main::@2 @begin menu::@1 menu::@2 menu -menu::@10 dominated by @25 main main::@1 main::@2 @begin menu::@1 menu::@2 menu menu::@10 -menu::@17 dominated by @25 main main::@1 main::@2 @begin menu::@1 menu::@2 menu menu::@10 menu::@17 -menu::@18 dominated by @25 main main::@1 main::@2 @begin menu::@1 menu::@2 menu menu::@18 menu::@10 menu::@17 -menu::@19 dominated by @25 main main::@1 main::@2 @begin menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -menu::@20 dominated by @25 main main::@1 main::@2 @begin menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -menu::@3 dominated by @25 main main::@1 main::@2 @begin menu::@20 menu::@3 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -menu::@return dominated by @25 main main::@1 main::@2 @begin menu::@return menu::@20 menu::@3 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -menu::@6 dominated by @25 main main::@1 main::@2 @begin menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -menu::@8 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -form_control dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 menu menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@32 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@1 dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@17 dominated by @25 main main::@1 main::@2 @begin form_control::@17 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@3 dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@33 dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@19 dominated by @25 main main::@1 main::@2 @begin form_control::@19 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@20 dominated by @25 main main::@1 main::@2 @begin form_control::@20 form_control::@19 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@35 dominated by @25 main form_control::@35 main::@1 main::@2 @begin form_control::@20 form_control::@19 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@21 dominated by @25 main form_control::@35 main::@1 main::@2 @begin form_control::@20 form_control::@21 form_control::@19 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@8 dominated by @25 main form_control::@35 main::@1 main::@2 @begin form_control::@20 form_control::@19 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 form_control::@8 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@return dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@return menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@38 dominated by @25 main form_control::@35 form_control::@38 main::@1 main::@2 @begin form_control::@20 form_control::@21 form_control::@19 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@6 dominated by @25 main form_control::@35 main::@1 main::@2 @begin form_control::@20 form_control::@19 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 form_control::@6 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@39 dominated by @25 main form_control::@35 form_control::@39 main::@1 main::@2 @begin form_control::@20 form_control::@19 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 form_control::@6 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@4 dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@34 dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@26 dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 menu::@10 menu::@17 -form_control::@27 dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@10 menu::@17 -form_control::@36 dominated by @25 main form_control::@36 main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@10 menu::@17 -form_control::@28 dominated by @25 main form_control::@36 main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 form_control::@28 menu::@10 menu::@17 -form_control::@29 dominated by @25 main form_control::@36 main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 form_control::@28 form_control::@29 menu::@10 menu::@17 -form_control::@14 dominated by @25 main form_control::@36 main::@1 main::@2 @begin form_control::@14 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@10 menu::@17 -form_control::@12 dominated by @25 main form_control::@36 main::@1 main::@2 @begin form_control::@12 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@10 menu::@17 -form_control::@31 dominated by @25 main form_control::@36 main::@1 main::@2 @begin form_control::@12 menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@31 form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@10 menu::@17 -form_control::@2 dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 form_control::@2 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@10 menu::@17 -form_control::@37 dominated by @25 main form_control::@37 main::@1 main::@2 @begin menu::@8 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@10 menu::@17 -keyboard_key_pressed dominated by @25 main main::@1 main::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 keyboard_key_pressed menu::@10 menu::@17 -keyboard_key_pressed::@2 dominated by @25 main main::@1 main::@2 keyboard_key_pressed::@2 @begin menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 keyboard_key_pressed menu::@10 menu::@17 -keyboard_key_pressed::@return dominated by @25 main main::@1 main::@2 keyboard_key_pressed::@2 @begin keyboard_key_pressed::@return menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 keyboard_key_pressed menu::@10 menu::@17 -keyboard_matrix_read dominated by @25 main main::@1 main::@2 @begin keyboard_matrix_read menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 keyboard_key_pressed menu::@10 menu::@17 -keyboard_matrix_read::@return dominated by @25 main main::@1 main::@2 @begin keyboard_matrix_read menu::@8 form_control::@1 menu::@6 menu::@20 menu::@3 menu::@1 menu::@2 form_control::@3 menu form_control::@32 keyboard_matrix_read::@return menu::@19 form_control menu::@18 keyboard_key_pressed menu::@10 menu::@17 -form_field_ptr dominated by @25 main main::@1 main::@2 @begin form_field_ptr menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -form_field_ptr::@return dominated by @25 main main::@1 form_field_ptr::@return main::@2 @begin form_field_ptr menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -form_render_values dominated by @25 main main::@1 main::@2 @begin form_render_values menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -form_render_values::@1 dominated by @25 main form_render_values::@1 main::@1 main::@2 @begin form_render_values menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -form_render_values::@3 dominated by @25 form_render_values::@3 main form_render_values::@1 main::@1 main::@2 @begin form_render_values menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -form_render_values::@return dominated by @25 form_render_values::@3 main form_render_values::@1 main::@1 main::@2 @begin form_render_values::@return form_render_values menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -form_set_screen dominated by @25 form_set_screen main main::@1 main::@2 @begin menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -form_set_screen::@1 dominated by @25 form_set_screen main main::@1 main::@2 @begin form_set_screen::@1 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -form_set_screen::@return dominated by @25 form_set_screen main form_set_screen::@return main::@1 main::@2 @begin form_set_screen::@1 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@10 menu::@17 -print_str_lines dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 menu menu::@18 menu::@10 menu::@17 -print_str_lines::@1 dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 print_str_lines::@1 menu menu::@18 menu::@10 menu::@17 -print_str_lines::@return dominated by @25 main main::@1 main::@2 print_str_lines @begin print_str_lines::@return menu::@1 menu::@2 print_str_lines::@1 menu menu::@18 menu::@10 menu::@17 -print_str_lines::@4 dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu menu::@18 menu::@10 menu::@17 -print_str_lines::@8 dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@8 menu::@18 menu::@10 menu::@17 -print_str_lines::@5 dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@18 menu::@10 menu::@17 -print_str_lines::@9 dominated by @25 main main::@1 main::@2 print_str_lines @begin print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@18 menu::@10 menu::@17 -print_ln dominated by @25 main main::@1 main::@2 print_str_lines @begin print_ln print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@18 menu::@10 menu::@17 -print_ln::@1 dominated by print_ln::@1 @25 main main::@1 main::@2 print_str_lines @begin print_ln print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@18 menu::@10 menu::@17 -print_ln::@return dominated by print_ln::@1 @25 main print_ln::@return main::@1 main::@2 print_str_lines @begin print_ln print_str_lines::@9 menu::@1 menu::@2 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@18 menu::@10 menu::@17 -print_cls dominated by @25 main main::@1 main::@2 @begin menu::@1 menu::@2 menu print_cls menu::@10 menu::@17 -print_cls::@1 dominated by @25 main main::@1 main::@2 @begin menu::@1 menu::@2 print_cls::@1 menu print_cls menu::@10 menu::@17 -print_cls::@return dominated by @25 main main::@1 main::@2 @begin print_cls::@return menu::@1 menu::@2 print_cls::@1 menu print_cls menu::@10 menu::@17 -print_set_screen dominated by @25 main main::@1 main::@2 @begin print_set_screen menu::@1 menu::@2 menu menu::@10 -print_set_screen::@return dominated by @25 main main::@1 main::@2 @begin print_set_screen menu::@1 menu::@2 menu print_set_screen::@return menu::@10 +menu::@8 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@1 menu +menu::@15 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@1 menu menu::@15 +menu::@16 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@1 menu menu::@16 menu::@15 +menu::@17 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@1 menu menu::@17 menu::@16 menu::@15 +menu::@18 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@1 menu menu::@18 menu::@17 menu::@16 menu::@15 +menu::@19 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +menu::@20 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +menu::@21 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@8 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +menu::@2 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@8 menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +menu::@return dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@return menu::@8 menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +menu::@5 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +menu::@7 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +form_control dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@32 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@1 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@17 dominated by @25 main main::@1 main::@2 menu::@21 @begin form_control::@17 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@3 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@33 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@19 dominated by @25 main main::@1 main::@2 menu::@21 @begin form_control::@19 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@20 dominated by @25 main main::@1 main::@2 menu::@21 @begin form_control::@20 form_control::@19 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@35 dominated by @25 main form_control::@35 main::@1 main::@2 menu::@21 @begin form_control::@20 form_control::@19 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@21 dominated by @25 main form_control::@35 main::@1 main::@2 menu::@21 @begin form_control::@20 form_control::@21 form_control::@19 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@8 dominated by @25 main form_control::@35 main::@1 main::@2 menu::@21 @begin form_control::@20 form_control::@19 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 form_control::@8 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@return dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@return menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@38 dominated by @25 main form_control::@35 form_control::@38 main::@1 main::@2 menu::@21 @begin form_control::@20 form_control::@21 form_control::@19 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@6 dominated by @25 main form_control::@35 main::@1 main::@2 menu::@21 @begin form_control::@20 form_control::@19 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 form_control::@6 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@39 dominated by @25 main form_control::@35 form_control::@39 main::@1 main::@2 menu::@21 @begin form_control::@20 form_control::@19 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 form_control::@6 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@4 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@34 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@26 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@27 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@17 menu::@16 menu::@15 +form_control::@36 dominated by @25 main form_control::@36 main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@17 menu::@16 menu::@15 +form_control::@28 dominated by @25 main form_control::@36 main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 form_control::@28 menu::@17 menu::@16 menu::@15 +form_control::@29 dominated by @25 main form_control::@36 main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 form_control::@28 form_control::@29 menu::@17 menu::@16 menu::@15 +form_control::@14 dominated by @25 main form_control::@36 main::@1 main::@2 menu::@21 @begin form_control::@14 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@17 menu::@16 menu::@15 +form_control::@12 dominated by @25 main form_control::@36 main::@1 main::@2 menu::@21 @begin form_control::@12 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@17 menu::@16 menu::@15 +form_control::@31 dominated by @25 main form_control::@36 main::@1 main::@2 menu::@21 @begin form_control::@12 menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 form_control::@4 menu::@1 menu::@2 form_control::@3 menu form_control::@31 form_control::@32 form_control::@33 form_control::@34 menu::@19 form_control form_control::@26 menu::@18 form_control::@27 menu::@17 menu::@16 menu::@15 +form_control::@2 dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 form_control::@2 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +form_control::@37 dominated by @25 main form_control::@37 main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu form_control::@32 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 +keyboard_key_pressed dominated by @25 main main::@1 main::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 keyboard_key_pressed menu::@17 menu::@16 menu::@15 +keyboard_key_pressed::@2 dominated by @25 main main::@1 main::@2 keyboard_key_pressed::@2 menu::@21 @begin menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 keyboard_key_pressed menu::@17 menu::@16 menu::@15 +keyboard_key_pressed::@return dominated by @25 main main::@1 main::@2 keyboard_key_pressed::@2 menu::@21 @begin keyboard_key_pressed::@return menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 keyboard_key_pressed menu::@17 menu::@16 menu::@15 +keyboard_matrix_read dominated by @25 main main::@1 main::@2 menu::@21 @begin keyboard_matrix_read menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 menu::@19 form_control menu::@18 keyboard_key_pressed menu::@17 menu::@16 menu::@15 +keyboard_matrix_read::@return dominated by @25 main main::@1 main::@2 menu::@21 @begin keyboard_matrix_read menu::@7 menu::@8 form_control::@1 menu::@5 menu::@20 menu::@1 menu::@2 form_control::@3 menu form_control::@32 keyboard_matrix_read::@return menu::@19 form_control menu::@18 keyboard_key_pressed menu::@17 menu::@16 menu::@15 +form_field_ptr dominated by @25 main main::@1 main::@2 menu::@21 @begin form_field_ptr menu::@8 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +form_field_ptr::@return dominated by @25 main main::@1 form_field_ptr::@return main::@2 menu::@21 @begin form_field_ptr menu::@8 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +form_render_values dominated by @25 main main::@1 main::@2 menu::@21 @begin form_render_values menu::@8 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +form_render_values::@1 dominated by @25 main form_render_values::@1 main::@1 main::@2 menu::@21 @begin form_render_values menu::@8 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +form_render_values::@3 dominated by @25 form_render_values::@3 main form_render_values::@1 main::@1 main::@2 menu::@21 @begin form_render_values menu::@8 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +form_render_values::@return dominated by @25 form_render_values::@3 main form_render_values::@1 main::@1 main::@2 menu::@21 @begin form_render_values::@return form_render_values menu::@8 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +form_set_screen dominated by @25 form_set_screen main main::@1 main::@2 @begin menu::@8 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +form_set_screen::@1 dominated by @25 form_set_screen main main::@1 main::@2 @begin menu::@8 form_set_screen::@1 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +form_set_screen::@return dominated by @25 form_set_screen main form_set_screen::@return main::@1 main::@2 @begin menu::@8 form_set_screen::@1 menu::@20 menu::@1 menu menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 +print_str_lines dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 menu menu::@16 menu::@15 +print_str_lines::@1 dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 print_str_lines::@1 menu menu::@16 menu::@15 +print_str_lines::@return dominated by @25 main main::@1 main::@2 print_str_lines @begin print_str_lines::@return menu::@8 menu::@1 print_str_lines::@1 menu menu::@16 menu::@15 +print_str_lines::@4 dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 print_str_lines::@1 print_str_lines::@4 menu menu::@16 menu::@15 +print_str_lines::@8 dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@8 menu::@16 menu::@15 +print_str_lines::@5 dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@8 menu::@1 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@16 menu::@15 +print_str_lines::@9 dominated by @25 main main::@1 main::@2 print_str_lines @begin menu::@8 print_str_lines::@9 menu::@1 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@16 menu::@15 +print_ln dominated by @25 main main::@1 main::@2 print_str_lines @begin print_ln menu::@8 print_str_lines::@9 menu::@1 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@16 menu::@15 +print_ln::@1 dominated by print_ln::@1 @25 main main::@1 main::@2 print_str_lines @begin print_ln menu::@8 print_str_lines::@9 menu::@1 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@16 menu::@15 +print_ln::@return dominated by print_ln::@1 @25 main print_ln::@return main::@1 main::@2 print_str_lines @begin print_ln menu::@8 print_str_lines::@9 menu::@1 print_str_lines::@1 print_str_lines::@4 menu print_str_lines::@5 menu::@16 menu::@15 +print_cls dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@1 menu print_cls menu::@15 +print_cls::@1 dominated by @25 main main::@1 main::@2 @begin menu::@8 menu::@1 print_cls::@1 menu print_cls menu::@15 +print_cls::@return dominated by @25 main main::@1 main::@2 @begin print_cls::@return menu::@8 menu::@1 print_cls::@1 menu print_cls menu::@15 +print_set_screen dominated by @25 main main::@1 main::@2 @begin print_set_screen menu::@8 menu::@1 menu +print_set_screen::@return dominated by @25 main main::@1 main::@2 @begin print_set_screen menu::@8 menu::@1 menu print_set_screen::@return NATURAL LOOPS Found back edge: Loop head: main::@1 tails: main::@2 blocks: null Found back edge: Loop head: menu::@1 tails: menu::@1 blocks: null -Found back edge: Loop head: menu::@2 tails: menu::@2 blocks: null -Found back edge: Loop head: menu::@6 tails: menu::@6 blocks: null -Found back edge: Loop head: menu::@3 tails: menu::@8 blocks: null +Found back edge: Loop head: menu::@5 tails: menu::@5 blocks: null +Found back edge: Loop head: menu::@2 tails: menu::@7 blocks: null Found back edge: Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: null Found back edge: Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: null Found back edge: Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: null @@ -6279,9 +6416,8 @@ Found back edge: Loop head: print_ln::@1 tails: print_ln::@1 blocks: null Found back edge: Loop head: print_cls::@1 tails: print_cls::@1 blocks: null Populated: Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 Populated: Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 -Populated: Loop head: menu::@2 tails: menu::@2 blocks: menu::@2 -Populated: Loop head: menu::@6 tails: menu::@6 blocks: menu::@6 -Populated: Loop head: menu::@3 tails: menu::@8 blocks: menu::@8 menu::@6 menu::@3 +Populated: Loop head: menu::@5 tails: menu::@5 blocks: menu::@5 +Populated: Loop head: menu::@2 tails: menu::@7 blocks: menu::@7 menu::@5 menu::@2 Populated: Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: form_render_values::@3 form_render_values::@1 Populated: Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: form_set_screen::@1 Populated: Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 @@ -6290,9 +6426,8 @@ Populated: Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 Populated: Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 -Loop head: menu::@2 tails: menu::@2 blocks: menu::@2 -Loop head: menu::@6 tails: menu::@6 blocks: menu::@6 -Loop head: menu::@3 tails: menu::@8 blocks: menu::@8 menu::@6 menu::@3 +Loop head: menu::@5 tails: menu::@5 blocks: menu::@5 +Loop head: menu::@2 tails: menu::@7 blocks: menu::@7 menu::@5 menu::@2 Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: form_render_values::@3 form_render_values::@1 Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: form_set_screen::@1 Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 @@ -6304,11 +6439,10 @@ NATURAL LOOPS WITH DEPTH Found 0 loops in scope [] Found 1 loops in scope [main] Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 -Found 4 loops in scope [menu] +Found 3 loops in scope [menu] Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 - Loop head: menu::@2 tails: menu::@2 blocks: menu::@2 - Loop head: menu::@6 tails: menu::@6 blocks: menu::@6 - Loop head: menu::@3 tails: menu::@8 blocks: menu::@8 menu::@6 menu::@3 + Loop head: menu::@5 tails: menu::@5 blocks: menu::@5 + Loop head: menu::@2 tails: menu::@7 blocks: menu::@7 menu::@5 menu::@2 Found 0 loops in scope [print_set_screen] Found 1 loops in scope [print_cls] Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 @@ -6327,9 +6461,8 @@ Found 0 loops in scope [keyboard_key_pressed] Found 0 loops in scope [keyboard_matrix_read] Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 depth: 1 Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 depth: 2 -Loop head: menu::@2 tails: menu::@2 blocks: menu::@2 depth: 2 -Loop head: menu::@6 tails: menu::@6 blocks: menu::@6 depth: 3 -Loop head: menu::@3 tails: menu::@8 blocks: menu::@8 menu::@6 menu::@3 depth: 2 +Loop head: menu::@5 tails: menu::@5 blocks: menu::@5 depth: 3 +Loop head: menu::@2 tails: menu::@7 blocks: menu::@7 menu::@5 menu::@2 depth: 2 Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: form_render_values::@3 form_render_values::@1 depth: 2 Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: form_set_screen::@1 depth: 2 Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 depth: 3 @@ -6359,7 +6492,7 @@ VARIABLE REGISTER WEIGHTS (byte) KEY_CRSR_DOWN (byte) KEY_CRSR_RIGHT (byte) KEY_RSHIFT -(byte) LIGHT_GREEN +(byte[]) MENU_COLS (byte[]) MENU_TEXT (byte*) RASTER (byte*) VIC_CONTROL @@ -6381,13 +6514,13 @@ VARIABLE REGISTER WEIGHTS (byte) form_control::key_right (byte) form_control::key_right#0 2.6666666666666665 (signed byte) form_cursor_count -(signed byte) form_cursor_count#1 0.41935483870967744 +(signed byte) form_cursor_count#1 0.3939393939393939 (signed byte) form_cursor_count#13 11.6 (signed byte) form_cursor_count#15 0.3125 (signed byte) form_cursor_count#16 35.66666666666666 (signed byte) form_cursor_count#5 2.0 (byte) form_field_idx -(byte) form_field_idx#1 0.41935483870967744 +(byte) form_field_idx#1 0.3939393939393939 (byte) form_field_idx#14 2.901960784313723 (byte) form_field_idx#18 36.33333333333332 (byte) form_field_idx#32 6.0 @@ -6433,13 +6566,13 @@ VARIABLE REGISTER WEIGHTS (byte) form_set_screen::y#1 151.5 (byte) form_set_screen::y#2 67.33333333333333 (byte) key_down_debounce -(byte) key_down_debounce#1 0.41935483870967744 +(byte) key_down_debounce#1 0.3939393939393939 (byte) key_down_debounce#11 4.916666666666666 (byte) key_down_debounce#13 36.33333333333332 (byte) key_down_debounce#20 0.5263157894736842 (byte) key_down_debounce#23 0.4 (byte) key_right_debounce -(byte) key_right_debounce#1 0.41935483870967744 +(byte) key_right_debounce#1 0.3939393939393939 (byte) key_right_debounce#11 2.727272727272727 (byte) key_right_debounce#13 36.33333333333332 (byte) key_right_debounce#21 0.42857142857142855 @@ -6470,38 +6603,40 @@ VARIABLE REGISTER WEIGHTS (void()) menu() (byte*) menu::CHARSET (byte*) menu::SCREEN -(byte*) menu::c -(byte*) menu::c#1 151.5 -(byte*) menu::c#2 151.5 (byte) menu::i (byte) menu::i#1 151.5 (byte) menu::i#2 202.0 (byte*) print_char_cursor (byte*) print_char_cursor#1 2002.0 -(byte*) print_char_cursor#17 821.0 -(byte*) print_char_cursor#19 101.0 -(byte*) print_char_cursor#32 572.0 -(byte*~) print_char_cursor#59 202.0 +(byte*) print_char_cursor#20 821.0 +(byte*) print_char_cursor#22 102.0 +(byte*) print_char_cursor#38 572.0 +(byte*~) print_char_cursor#63 4.0 +(byte*~) print_char_cursor#64 202.0 (void()) print_cls() +(byte*~) print_cls::$0 202.0 (byte*) print_cls::sc -(byte*) print_cls::sc#1 151.5 -(byte*) print_cls::sc#2 151.5 +(byte*) print_cls::sc#0 4.0 +(byte*) print_cls::sc#1 101.0 +(byte*) print_cls::sc#2 152.5 (byte[]) print_hextab (byte*) print_line_cursor -(byte*) print_line_cursor#17 8.583333333333332 -(byte*) print_line_cursor#18 2004.0 -(byte*) print_line_cursor#19 641.0 +(byte*) print_line_cursor#2 8.749999999999998 +(byte*) print_line_cursor#21 2004.0 +(byte*) print_line_cursor#22 641.0 (void()) print_ln() (byte*) print_screen (void()) print_set_screen((byte*) print_set_screen::screen) (byte*) print_set_screen::screen +(byte*) print_set_screen::screen#2 5.631578947368421 (void()) print_str_lines((byte*) print_str_lines::str) (byte) print_str_lines::ch (byte) print_str_lines::ch#0 667.3333333333334 (byte*) print_str_lines::str (byte*) print_str_lines::str#0 233.66666666666669 -(byte*) print_str_lines::str#2 151.5 -(byte*) print_str_lines::str#3 1552.0 +(byte*) print_str_lines::str#3 152.5 +(byte*) print_str_lines::str#4 1552.0 +(byte*) print_str_lines::str#5 1.0 Initial phi equivalence classes [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] @@ -6509,16 +6644,15 @@ Initial phi equivalence classes [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] [ menu::i#2 menu::i#1 ] -[ menu::c#2 menu::c#1 ] [ keyboard_key_pressed::key#4 ] [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] [ form_render_values::idx#2 form_render_values::idx#1 ] [ form_set_screen::line#2 form_set_screen::line#1 ] [ form_set_screen::y#2 form_set_screen::y#1 ] -[ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] -[ print_char_cursor#17 print_char_cursor#19 print_char_cursor#59 print_char_cursor#32 print_char_cursor#1 ] -[ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] -[ print_cls::sc#2 print_cls::sc#1 ] +[ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] +[ print_char_cursor#20 print_char_cursor#22 print_char_cursor#63 print_char_cursor#64 print_char_cursor#38 print_char_cursor#1 ] +[ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] +[ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] Added variable form_field_ptr::return#3 to zero page equivalence class [ form_field_ptr::return#3 ] Added variable form_control::field#0 to zero page equivalence class [ form_control::field#0 ] Added variable form_control::$6 to zero page equivalence class [ form_control::$6 ] @@ -6548,22 +6682,22 @@ Added variable form_render_values::field#0 to zero page equivalence class [ form Added variable form_set_screen::$0 to zero page equivalence class [ form_set_screen::$0 ] Added variable form_set_screen::$1 to zero page equivalence class [ form_set_screen::$1 ] Added variable print_str_lines::ch#0 to zero page equivalence class [ print_str_lines::ch#0 ] +Added variable print_cls::$0 to zero page equivalence class [ print_cls::$0 ] Complete equivalence classes [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] [ menu::i#2 menu::i#1 ] -[ menu::c#2 menu::c#1 ] [ keyboard_key_pressed::key#4 ] [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] [ form_render_values::idx#2 form_render_values::idx#1 ] [ form_set_screen::line#2 form_set_screen::line#1 ] [ form_set_screen::y#2 form_set_screen::y#1 ] -[ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] -[ print_char_cursor#17 print_char_cursor#19 print_char_cursor#59 print_char_cursor#32 print_char_cursor#1 ] -[ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] -[ print_cls::sc#2 print_cls::sc#1 ] +[ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] +[ print_char_cursor#20 print_char_cursor#22 print_char_cursor#63 print_char_cursor#64 print_char_cursor#38 print_char_cursor#1 ] +[ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] +[ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] [ form_field_ptr::return#3 ] [ form_control::field#0 ] [ form_control::$6 ] @@ -6593,50 +6727,51 @@ Complete equivalence classes [ form_set_screen::$0 ] [ form_set_screen::$1 ] [ print_str_lines::ch#0 ] +[ print_cls::$0 ] Allocated zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] Allocated zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] Allocated zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] Allocated zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] Allocated zp ZP_BYTE:6 [ menu::i#2 menu::i#1 ] -Allocated zp ZP_WORD:7 [ menu::c#2 menu::c#1 ] -Allocated zp ZP_BYTE:9 [ keyboard_key_pressed::key#4 ] -Allocated zp ZP_BYTE:10 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] -Allocated zp ZP_BYTE:11 [ form_render_values::idx#2 form_render_values::idx#1 ] -Allocated zp ZP_WORD:12 [ form_set_screen::line#2 form_set_screen::line#1 ] -Allocated zp ZP_BYTE:14 [ form_set_screen::y#2 form_set_screen::y#1 ] -Allocated zp ZP_WORD:15 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] -Allocated zp ZP_WORD:17 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#59 print_char_cursor#32 print_char_cursor#1 ] -Allocated zp ZP_WORD:19 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] -Allocated zp ZP_WORD:21 [ print_cls::sc#2 print_cls::sc#1 ] -Allocated zp ZP_WORD:23 [ form_field_ptr::return#3 ] -Allocated zp ZP_WORD:25 [ form_control::field#0 ] -Allocated zp ZP_BYTE:27 [ form_control::$6 ] -Allocated zp ZP_BYTE:28 [ keyboard_key_pressed::return#2 ] -Allocated zp ZP_BYTE:29 [ form_control::key_down#0 ] -Allocated zp ZP_BYTE:30 [ form_control::$13 ] -Allocated zp ZP_BYTE:31 [ keyboard_key_pressed::return#4 ] -Allocated zp ZP_BYTE:32 [ form_control::$14 ] -Allocated zp ZP_BYTE:33 [ keyboard_key_pressed::return#3 ] -Allocated zp ZP_BYTE:34 [ form_control::key_right#0 ] -Allocated zp ZP_BYTE:35 [ keyboard_key_pressed::return#10 ] -Allocated zp ZP_BYTE:36 [ form_control::$28 ] -Allocated zp ZP_BYTE:37 [ form_control::$7 ] -Allocated zp ZP_BYTE:38 [ keyboard_key_pressed::colidx#0 ] -Allocated zp ZP_BYTE:39 [ keyboard_key_pressed::rowidx#0 ] -Allocated zp ZP_BYTE:40 [ keyboard_matrix_read::rowid#0 ] -Allocated zp ZP_BYTE:41 [ keyboard_matrix_read::return#2 ] -Allocated zp ZP_BYTE:42 [ keyboard_key_pressed::$2 ] -Allocated zp ZP_BYTE:43 [ keyboard_key_pressed::return#0 ] -Allocated zp ZP_BYTE:44 [ keyboard_matrix_read::return#0 ] -Allocated zp ZP_BYTE:45 [ form_field_ptr::y#0 ] -Allocated zp ZP_WORD:46 [ form_field_ptr::$2 ] -Allocated zp ZP_BYTE:48 [ form_field_ptr::x#0 ] -Allocated zp ZP_WORD:49 [ form_field_ptr::return#0 ] -Allocated zp ZP_WORD:51 [ form_field_ptr::return#2 ] -Allocated zp ZP_WORD:53 [ form_render_values::field#0 ] -Allocated zp ZP_BYTE:55 [ form_set_screen::$0 ] -Allocated zp ZP_BYTE:56 [ form_set_screen::$1 ] -Allocated zp ZP_BYTE:57 [ print_str_lines::ch#0 ] +Allocated zp ZP_BYTE:7 [ keyboard_key_pressed::key#4 ] +Allocated zp ZP_BYTE:8 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] +Allocated zp ZP_BYTE:9 [ form_render_values::idx#2 form_render_values::idx#1 ] +Allocated zp ZP_WORD:10 [ form_set_screen::line#2 form_set_screen::line#1 ] +Allocated zp ZP_BYTE:12 [ form_set_screen::y#2 form_set_screen::y#1 ] +Allocated zp ZP_WORD:13 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] +Allocated zp ZP_WORD:15 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#63 print_char_cursor#64 print_char_cursor#38 print_char_cursor#1 ] +Allocated zp ZP_WORD:17 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] +Allocated zp ZP_WORD:19 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] +Allocated zp ZP_WORD:21 [ form_field_ptr::return#3 ] +Allocated zp ZP_WORD:23 [ form_control::field#0 ] +Allocated zp ZP_BYTE:25 [ form_control::$6 ] +Allocated zp ZP_BYTE:26 [ keyboard_key_pressed::return#2 ] +Allocated zp ZP_BYTE:27 [ form_control::key_down#0 ] +Allocated zp ZP_BYTE:28 [ form_control::$13 ] +Allocated zp ZP_BYTE:29 [ keyboard_key_pressed::return#4 ] +Allocated zp ZP_BYTE:30 [ form_control::$14 ] +Allocated zp ZP_BYTE:31 [ keyboard_key_pressed::return#3 ] +Allocated zp ZP_BYTE:32 [ form_control::key_right#0 ] +Allocated zp ZP_BYTE:33 [ keyboard_key_pressed::return#10 ] +Allocated zp ZP_BYTE:34 [ form_control::$28 ] +Allocated zp ZP_BYTE:35 [ form_control::$7 ] +Allocated zp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] +Allocated zp ZP_BYTE:37 [ keyboard_key_pressed::rowidx#0 ] +Allocated zp ZP_BYTE:38 [ keyboard_matrix_read::rowid#0 ] +Allocated zp ZP_BYTE:39 [ keyboard_matrix_read::return#2 ] +Allocated zp ZP_BYTE:40 [ keyboard_key_pressed::$2 ] +Allocated zp ZP_BYTE:41 [ keyboard_key_pressed::return#0 ] +Allocated zp ZP_BYTE:42 [ keyboard_matrix_read::return#0 ] +Allocated zp ZP_BYTE:43 [ form_field_ptr::y#0 ] +Allocated zp ZP_WORD:44 [ form_field_ptr::$2 ] +Allocated zp ZP_BYTE:46 [ form_field_ptr::x#0 ] +Allocated zp ZP_WORD:47 [ form_field_ptr::return#0 ] +Allocated zp ZP_WORD:49 [ form_field_ptr::return#2 ] +Allocated zp ZP_WORD:51 [ form_render_values::field#0 ] +Allocated zp ZP_BYTE:53 [ form_set_screen::$0 ] +Allocated zp ZP_BYTE:54 [ form_set_screen::$1 ] +Allocated zp ZP_BYTE:55 [ print_str_lines::ch#0 ] +Allocated zp ZP_WORD:56 [ print_cls::$0 ] INITIAL ASM //SEG0 Basic Upstart @@ -6658,7 +6793,6 @@ INITIAL ASM .label CIA1_PORT_B = $dc01 .label CIA2_PORT_A = $dd00 .label CIA2_PORT_A_DDR = $dd02 - .const LIGHT_GREEN = $d .label DTV_FEATURE = $d03f .const DTV_FEATURE_ENABLE = 1 .label DTV_CONTROL = $d03c @@ -6670,14 +6804,14 @@ INITIAL ASM .const KEY_CRSR_RIGHT = 2 .const KEY_CRSR_DOWN = 7 .const KEY_RSHIFT = $34 - .const form_fields_cnt = 9 + .const form_fields_cnt = $23 .const FORM_CURSOR_BLINK = $28 - .label print_char_cursor = $11 + .label print_char_cursor = $f + .label print_line_cursor = $11 .label form_cursor_count = 2 .label key_down_debounce = 3 .label form_field_idx = 4 .label key_right_debounce = 5 - .label print_line_cursor = $13 //SEG2 @begin bbegin: //SEG3 [1] phi from @begin to @25 [phi:@begin->@25] @@ -6743,7 +6877,6 @@ menu: { .label SCREEN = $8000 .label CHARSET = $9800 .label i = 6 - .label c = 7 //SEG29 [11] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) -- _deref_pbuc1=vbuc2 lda #($ffffffff&CHARSET)/$10000 sta DTV_GRAPHICS_VIC_BANK @@ -6793,163 +6926,176 @@ menu: { lda i cmp #$10 bne b1_from_b1 - //SEG46 [24] phi from menu::@1 to menu::@2 [phi:menu::@1->menu::@2] - b2_from_b1: - //SEG47 [24] phi (byte*) menu::c#2 = (const byte*) COLS#0 [phi:menu::@1->menu::@2#0] -- pbuz1=pbuc1 - lda #COLS - sta c+1 - jmp b2 - //SEG48 [24] phi from menu::@2 to menu::@2 [phi:menu::@2->menu::@2] - b2_from_b2: - //SEG49 [24] phi (byte*) menu::c#2 = (byte*) menu::c#1 [phi:menu::@2->menu::@2#0] -- register_copy - jmp b2 - //SEG50 menu::@2 - b2: - //SEG51 [25] *((byte*) menu::c#2) ← (const byte) LIGHT_GREEN#0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ) -- _deref_pbuz1=vbuc1 - lda #LIGHT_GREEN - ldy #0 - sta (c),y - //SEG52 [26] (byte*) menu::c#1 ← ++ (byte*) menu::c#2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) -- pbuz1=_inc_pbuz1 - inc c - bne !+ - inc c+1 - !: - //SEG53 [27] if((byte*) menu::c#1!=(const byte*) COLS#0+(word/signed word/dword/signed dword) 1000) goto menu::@2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) -- pbuz1_neq_pbuc1_then_la1 - lda c+1 - cmp #>COLS+$3e8 - bne b2_from_b2 - lda c - cmp #print_set_screen] - print_set_screen_from_b10: + //SEG49 [26] call print_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + //SEG50 [167] phi from menu::@8 to print_set_screen [phi:menu::@8->print_set_screen] + print_set_screen_from_b8: + //SEG51 [167] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:menu::@8->print_set_screen#0] -- pbuz1=pbuc1 + lda #COLS + sta print_set_screen.screen+1 jsr print_set_screen - //SEG59 [31] phi from menu::@10 to menu::@17 [phi:menu::@10->menu::@17] - b17_from_b10: - jmp b17 - //SEG60 menu::@17 - b17: - //SEG61 [32] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG62 [157] phi from menu::@17 to print_cls [phi:menu::@17->print_cls] - print_cls_from_b17: + //SEG52 [27] phi from menu::@8 to menu::@15 [phi:menu::@8->menu::@15] + b15_from_b8: + jmp b15 + //SEG53 menu::@15 + b15: + //SEG54 [28] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) jsr print_cls - //SEG63 [33] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] + //SEG55 [29] phi from menu::@15 to menu::@16 [phi:menu::@15->menu::@16] + b16_from_b15: + jmp b16 + //SEG56 menu::@16 + b16: + //SEG57 [30] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG58 [139] phi from menu::@16 to print_str_lines [phi:menu::@16->print_str_lines] + print_str_lines_from_b16: + //SEG59 [139] phi (byte*) print_str_lines::str#5 = (const string) MENU_COLS#0 [phi:menu::@16->print_str_lines#0] -- pbuz1=pbuc1 + lda #MENU_COLS + sta print_str_lines.str+1 + jsr print_str_lines + //SEG60 [31] phi from menu::@16 to menu::@17 [phi:menu::@16->menu::@17] + b17_from_b16: + jmp b17 + //SEG61 menu::@17 + b17: + //SEG62 [32] call print_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + //SEG63 [167] phi from menu::@17 to print_set_screen [phi:menu::@17->print_set_screen] + print_set_screen_from_b17: + //SEG64 [167] phi (byte*) print_set_screen::screen#2 = (const byte*) menu::SCREEN#0 [phi:menu::@17->print_set_screen#0] -- pbuz1=pbuc1 + lda #SCREEN + sta print_set_screen.screen+1 + jsr print_set_screen + //SEG65 [33] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] b18_from_b17: jmp b18 - //SEG64 menu::@18 + //SEG66 menu::@18 b18: - //SEG65 [34] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG66 [137] phi from menu::@18 to print_str_lines [phi:menu::@18->print_str_lines] - print_str_lines_from_b18: - jsr print_str_lines - //SEG67 [35] phi from menu::@18 to menu::@19 [phi:menu::@18->menu::@19] + //SEG67 [34] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + jsr print_cls + //SEG68 [35] phi from menu::@18 to menu::@19 [phi:menu::@18->menu::@19] b19_from_b18: jmp b19 - //SEG68 menu::@19 + //SEG69 menu::@19 b19: - //SEG69 [36] call form_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG70 [127] phi from menu::@19 to form_set_screen [phi:menu::@19->form_set_screen] - form_set_screen_from_b19: - jsr form_set_screen - //SEG71 [37] phi from menu::@19 to menu::@20 [phi:menu::@19->menu::@20] + //SEG70 [36] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG71 [139] phi from menu::@19 to print_str_lines [phi:menu::@19->print_str_lines] + print_str_lines_from_b19: + //SEG72 [139] phi (byte*) print_str_lines::str#5 = (const string) MENU_TEXT#0 [phi:menu::@19->print_str_lines#0] -- pbuz1=pbuc1 + lda #MENU_TEXT + sta print_str_lines.str+1 + jsr print_str_lines + //SEG73 [37] phi from menu::@19 to menu::@20 [phi:menu::@19->menu::@20] b20_from_b19: jmp b20 - //SEG72 menu::@20 + //SEG74 menu::@20 b20: - //SEG73 [38] call form_render_values param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG74 [117] phi from menu::@20 to form_render_values [phi:menu::@20->form_render_values] - form_render_values_from_b20: + //SEG75 [38] call form_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG76 [129] phi from menu::@20 to form_set_screen [phi:menu::@20->form_set_screen] + form_set_screen_from_b20: + jsr form_set_screen + //SEG77 [39] phi from menu::@20 to menu::@21 [phi:menu::@20->menu::@21] + b21_from_b20: + jmp b21 + //SEG78 menu::@21 + b21: + //SEG79 [40] call form_render_values param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG80 [119] phi from menu::@21 to form_render_values [phi:menu::@21->form_render_values] + form_render_values_from_b21: jsr form_render_values - //SEG75 [39] phi from menu::@20 menu::@8 to menu::@3 [phi:menu::@20/menu::@8->menu::@3] - b3_from_b20: - b3_from_b8: - //SEG76 [39] phi (byte) key_right_debounce#11 = (byte) key_right_debounce#1 [phi:menu::@20/menu::@8->menu::@3#0] -- register_copy - //SEG77 [39] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:menu::@20/menu::@8->menu::@3#1] -- register_copy - //SEG78 [39] phi (byte) key_down_debounce#11 = (byte) key_down_debounce#1 [phi:menu::@20/menu::@8->menu::@3#2] -- register_copy - //SEG79 [39] phi (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#1 [phi:menu::@20/menu::@8->menu::@3#3] -- register_copy - jmp b3 - //SEG80 menu::@3 - b3: - //SEG81 [40] if(true) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- true_then_la1 - jmp b6 + //SEG81 [41] phi from menu::@21 menu::@7 to menu::@2 [phi:menu::@21/menu::@7->menu::@2] + b2_from_b21: + b2_from_b7: + //SEG82 [41] phi (byte) key_right_debounce#11 = (byte) key_right_debounce#1 [phi:menu::@21/menu::@7->menu::@2#0] -- register_copy + //SEG83 [41] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:menu::@21/menu::@7->menu::@2#1] -- register_copy + //SEG84 [41] phi (byte) key_down_debounce#11 = (byte) key_down_debounce#1 [phi:menu::@21/menu::@7->menu::@2#2] -- register_copy + //SEG85 [41] phi (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#1 [phi:menu::@21/menu::@7->menu::@2#3] -- register_copy + jmp b2 + //SEG86 menu::@2 + b2: + //SEG87 [42] if(true) goto menu::@5 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- true_then_la1 + jmp b5 jmp breturn - //SEG82 menu::@return + //SEG88 menu::@return breturn: - //SEG83 [41] return [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + //SEG89 [43] return [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) rts - //SEG84 menu::@6 - b6: - //SEG85 [42] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 + //SEG90 menu::@5 + b5: + //SEG91 [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 lda RASTER cmp #$ff - bne b6 - //SEG86 [43] phi from menu::@6 to menu::@8 [phi:menu::@6->menu::@8] - b8_from_b6: - jmp b8 - //SEG87 menu::@8 - b8: - //SEG88 [44] call form_control param-assignment [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + bne b5 + //SEG92 [45] phi from menu::@5 to menu::@7 [phi:menu::@5->menu::@7] + b7_from_b5: + jmp b7 + //SEG93 menu::@7 + b7: + //SEG94 [46] call form_control param-assignment [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) jsr form_control - jmp b3_from_b8 + jmp b2_from_b7 } -//SEG89 form_control +//SEG95 form_control form_control: { - .label _6 = $1b - .label _7 = $25 - .label _13 = $1e - .label _14 = $20 - .label _28 = $24 - .label field = $19 - .label key_down = $1d - .label key_right = $22 - //SEG90 [45] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#14 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ) -- vbuz1=vbuz2 + .label _6 = $19 + .label _7 = $23 + .label _13 = $1c + .label _14 = $1e + .label _28 = $22 + .label field = $17 + .label key_down = $1b + .label key_right = $20 + //SEG96 [47] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#14 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ) -- vbuz1=vbuz2 lda form_field_idx sta form_field_ptr.field_idx - //SEG91 [46] call form_field_ptr param-assignment [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ) - //SEG92 [111] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG97 [48] call form_field_ptr param-assignment [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ) + //SEG98 [113] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - //SEG93 [111] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + //SEG99 [113] 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 - //SEG94 [47] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) -- pbuz1=pbuz2 + //SEG100 [49] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) -- pbuz1=pbuz2 lda form_field_ptr.return sta form_field_ptr.return_3 lda form_field_ptr.return+1 sta form_field_ptr.return_3+1 jmp b32 - //SEG95 form_control::@32 + //SEG101 form_control::@32 b32: - //SEG96 [48] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) -- pbuz1=pbuz2 + //SEG102 [50] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) -- pbuz1=pbuz2 lda form_field_ptr.return_3 sta field lda form_field_ptr.return_3+1 sta field+1 - //SEG97 [49] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1=_dec_vbsz1 + //SEG103 [51] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG98 [50] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1_ge_0_then_la1 + //SEG104 [52] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b37_from_b32 - //SEG99 [51] phi from form_control::@32 to form_control::@1 [phi:form_control::@32->form_control::@1] + //SEG105 [53] phi from form_control::@32 to form_control::@1 [phi:form_control::@32->form_control::@1] b1_from_b32: - //SEG100 [51] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@32->form_control::@1#0] -- vbsz1=vbsc1 + //SEG106 [53] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@32->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count jmp b1 - //SEG101 form_control::@1 + //SEG107 form_control::@1 b1: - //SEG102 [52] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- vbsz1_ge_vbuc1_then_la1 + //SEG108 [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- vbsz1_ge_vbuc1_then_la1 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -6958,235 +7104,235 @@ form_control: { !: bpl b2 jmp b17 - //SEG103 form_control::@17 + //SEG109 form_control::@17 b17: - //SEG104 [53] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) -- vbuz1=_deref_pbuz2_bor_vbuc1 + //SEG110 [55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) -- vbuz1=_deref_pbuz2_bor_vbuc1 lda #$80 ldy #0 ora (field),y sta _6 - //SEG105 [54] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuz2 + //SEG111 [56] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuz2 lda _6 ldy #0 sta (field),y - //SEG106 [55] phi from form_control::@17 form_control::@2 to form_control::@3 [phi:form_control::@17/form_control::@2->form_control::@3] + //SEG112 [57] phi from form_control::@17 form_control::@2 to form_control::@3 [phi:form_control::@17/form_control::@2->form_control::@3] b3_from_b17: b3_from_b2: jmp b3 - //SEG107 form_control::@3 + //SEG113 form_control::@3 b3: - //SEG108 [56] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) - //SEG109 [99] phi from form_control::@3 to keyboard_key_pressed [phi:form_control::@3->keyboard_key_pressed] + //SEG114 [58] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) + //SEG115 [101] phi from form_control::@3 to keyboard_key_pressed [phi:form_control::@3->keyboard_key_pressed] keyboard_key_pressed_from_b3: - //SEG110 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_DOWN#0 [phi:form_control::@3->keyboard_key_pressed#0] -- vbuz1=vbuc1 + //SEG116 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_DOWN#0 [phi:form_control::@3->keyboard_key_pressed#0] -- vbuz1=vbuc1 lda #KEY_CRSR_DOWN sta keyboard_key_pressed.key jsr keyboard_key_pressed - //SEG111 [57] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) -- vbuz1=vbuz2 + //SEG117 [59] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return sta keyboard_key_pressed.return_2 jmp b33 - //SEG112 form_control::@33 + //SEG118 form_control::@33 b33: - //SEG113 [58] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) -- vbuz1=vbuz2 + //SEG119 [60] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return_2 sta key_down - //SEG114 [59] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) -- vbuz1_eq_vbuz2_then_la1 + //SEG120 [61] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) -- vbuz1_eq_vbuz2_then_la1 lda key_down cmp key_down_debounce beq b4_from_b33 jmp b19 - //SEG115 form_control::@19 + //SEG121 form_control::@19 b19: - //SEG116 [60] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) -- vbuz1=vbuz2 + //SEG122 [62] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) -- vbuz1=vbuz2 lda key_down sta key_down_debounce - //SEG117 [61] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) -- vbuz1_eq_0_then_la1 + //SEG123 [63] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) -- vbuz1_eq_0_then_la1 lda key_down beq b4_from_b19 jmp b20 - //SEG118 form_control::@20 + //SEG124 form_control::@20 b20: - //SEG119 [62] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG125 [64] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$7f ldy #0 and (field),y sta _13 - //SEG120 [63] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- _deref_pbuz1=vbuz2 + //SEG126 [65] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- _deref_pbuz1=vbuz2 lda _13 ldy #0 sta (field),y - //SEG121 [64] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) - //SEG122 [99] phi from form_control::@20 to keyboard_key_pressed [phi:form_control::@20->keyboard_key_pressed] + //SEG127 [66] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) + //SEG128 [101] phi from form_control::@20 to keyboard_key_pressed [phi:form_control::@20->keyboard_key_pressed] keyboard_key_pressed_from_b20: - //SEG123 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@20->keyboard_key_pressed#0] -- vbuz1=vbuc1 + //SEG129 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@20->keyboard_key_pressed#0] -- vbuz1=vbuc1 lda #KEY_RSHIFT sta keyboard_key_pressed.key jsr keyboard_key_pressed - //SEG124 [65] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) -- vbuz1=vbuz2 + //SEG130 [67] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return sta keyboard_key_pressed.return_4 jmp b35 - //SEG125 form_control::@35 + //SEG131 form_control::@35 b35: - //SEG126 [66] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) -- vbuz1=vbuz2 + //SEG132 [68] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return_4 sta _14 - //SEG127 [67] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- vbuz1_neq_0_then_la1 + //SEG133 [69] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- vbuz1_neq_0_then_la1 lda _14 bne b6 jmp b21 - //SEG128 form_control::@21 + //SEG134 form_control::@21 b21: - //SEG129 [68] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1=_inc_vbuz1 + //SEG135 [70] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG130 [69] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG136 [71] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #form_fields_cnt bne b38_from_b21 - //SEG131 [70] phi from form_control::@21 to form_control::@8 [phi:form_control::@21->form_control::@8] + //SEG137 [72] phi from form_control::@21 to form_control::@8 [phi:form_control::@21->form_control::@8] b8_from_b21: - //SEG132 [70] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@21->form_control::@8#0] -- vbuz1=vbuc1 + //SEG138 [72] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@21->form_control::@8#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx jmp b8 - //SEG133 form_control::@8 + //SEG139 form_control::@8 b8: - //SEG134 [71] phi from form_control::@8 to form_control::@return [phi:form_control::@8->form_control::@return] + //SEG140 [73] phi from form_control::@8 to form_control::@return [phi:form_control::@8->form_control::@return] breturn_from_b8: - //SEG135 [71] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#11 [phi:form_control::@8->form_control::@return#0] -- register_copy - //SEG136 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@8->form_control::@return#1] -- register_copy - //SEG137 [71] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#23 [phi:form_control::@8->form_control::@return#2] -- register_copy - //SEG138 [71] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@8->form_control::@return#3] -- vbsz1=vbuc1 + //SEG141 [73] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#11 [phi:form_control::@8->form_control::@return#0] -- register_copy + //SEG142 [73] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@8->form_control::@return#1] -- register_copy + //SEG143 [73] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#23 [phi:form_control::@8->form_control::@return#2] -- register_copy + //SEG144 [73] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@8->form_control::@return#3] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count jmp breturn - //SEG139 [71] phi from form_control::@14 form_control::@26 form_control::@34 to form_control::@return [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return] + //SEG145 [73] phi from form_control::@14 form_control::@26 form_control::@34 to form_control::@return [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return] breturn_from_b14: breturn_from_b26: breturn_from_b34: - //SEG140 [71] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#21 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#0] -- register_copy - //SEG141 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#14 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#1] -- register_copy - //SEG142 [71] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#20 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#2] -- register_copy - //SEG143 [71] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#3] -- register_copy + //SEG146 [73] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#21 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#0] -- register_copy + //SEG147 [73] phi (byte) form_field_idx#18 = (byte) form_field_idx#14 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#1] -- register_copy + //SEG148 [73] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#20 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#2] -- register_copy + //SEG149 [73] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#3] -- register_copy jmp breturn - //SEG144 form_control::@return + //SEG150 form_control::@return breturn: - //SEG145 [72] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + //SEG151 [74] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) rts - //SEG146 [73] phi from form_control::@21 to form_control::@38 [phi:form_control::@21->form_control::@38] + //SEG152 [75] phi from form_control::@21 to form_control::@38 [phi:form_control::@21->form_control::@38] b38_from_b21: jmp b38 - //SEG147 form_control::@38 + //SEG153 form_control::@38 b38: - //SEG148 [70] phi from form_control::@38 form_control::@39 to form_control::@8 [phi:form_control::@38/form_control::@39->form_control::@8] + //SEG154 [72] phi from form_control::@38 form_control::@39 to form_control::@8 [phi:form_control::@38/form_control::@39->form_control::@8] b8_from_b38: b8_from_b39: - //SEG149 [70] phi (byte) form_field_idx#32 = (byte) form_field_idx#41 [phi:form_control::@38/form_control::@39->form_control::@8#0] -- register_copy + //SEG155 [72] phi (byte) form_field_idx#32 = (byte) form_field_idx#41 [phi:form_control::@38/form_control::@39->form_control::@8#0] -- register_copy jmp b8 - //SEG150 form_control::@6 + //SEG156 form_control::@6 b6: - //SEG151 [74] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1=_dec_vbuz1 + //SEG157 [76] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG152 [75] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG158 [77] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #$ff bne b39_from_b6 - //SEG153 [70] phi from form_control::@6 to form_control::@8 [phi:form_control::@6->form_control::@8] + //SEG159 [72] phi from form_control::@6 to form_control::@8 [phi:form_control::@6->form_control::@8] b8_from_b6: - //SEG154 [70] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@6->form_control::@8#0] -- vbuz1=vbuc1 + //SEG160 [72] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@6->form_control::@8#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx jmp b8 - //SEG155 [76] phi from form_control::@6 to form_control::@39 [phi:form_control::@6->form_control::@39] + //SEG161 [78] phi from form_control::@6 to form_control::@39 [phi:form_control::@6->form_control::@39] b39_from_b6: jmp b39 - //SEG156 form_control::@39 + //SEG162 form_control::@39 b39: jmp b8_from_b39 - //SEG157 [77] phi from form_control::@19 form_control::@33 to form_control::@4 [phi:form_control::@19/form_control::@33->form_control::@4] + //SEG163 [79] phi from form_control::@19 form_control::@33 to form_control::@4 [phi:form_control::@19/form_control::@33->form_control::@4] b4_from_b19: b4_from_b33: - //SEG158 [77] phi (byte) key_down_debounce#20 = (byte) key_down_debounce#23 [phi:form_control::@19/form_control::@33->form_control::@4#0] -- register_copy + //SEG164 [79] phi (byte) key_down_debounce#20 = (byte) key_down_debounce#23 [phi:form_control::@19/form_control::@33->form_control::@4#0] -- register_copy jmp b4 - //SEG159 form_control::@4 + //SEG165 form_control::@4 b4: - //SEG160 [78] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) - //SEG161 [99] phi from form_control::@4 to keyboard_key_pressed [phi:form_control::@4->keyboard_key_pressed] + //SEG166 [80] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) + //SEG167 [101] phi from form_control::@4 to keyboard_key_pressed [phi:form_control::@4->keyboard_key_pressed] keyboard_key_pressed_from_b4: - //SEG162 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_RIGHT#0 [phi:form_control::@4->keyboard_key_pressed#0] -- vbuz1=vbuc1 + //SEG168 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_RIGHT#0 [phi:form_control::@4->keyboard_key_pressed#0] -- vbuz1=vbuc1 lda #KEY_CRSR_RIGHT sta keyboard_key_pressed.key jsr keyboard_key_pressed - //SEG163 [79] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) -- vbuz1=vbuz2 + //SEG169 [81] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return sta keyboard_key_pressed.return_3 jmp b34 - //SEG164 form_control::@34 + //SEG170 form_control::@34 b34: - //SEG165 [80] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) -- vbuz1=vbuz2 + //SEG171 [82] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return_3 sta key_right - //SEG166 [81] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) -- vbuz1_eq_vbuz2_then_la1 + //SEG172 [83] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) -- vbuz1_eq_vbuz2_then_la1 lda key_right cmp key_right_debounce beq breturn_from_b34 jmp b26 - //SEG167 form_control::@26 + //SEG173 form_control::@26 b26: - //SEG168 [82] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) -- vbuz1=vbuz2 + //SEG174 [84] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) -- vbuz1=vbuz2 lda key_right sta key_right_debounce - //SEG169 [83] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuz1_eq_0_then_la1 + //SEG175 [85] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuz1_eq_0_then_la1 lda key_right beq breturn_from_b26 - //SEG170 [84] phi from form_control::@26 to form_control::@27 [phi:form_control::@26->form_control::@27] + //SEG176 [86] phi from form_control::@26 to form_control::@27 [phi:form_control::@26->form_control::@27] b27_from_b26: jmp b27 - //SEG171 form_control::@27 + //SEG177 form_control::@27 b27: - //SEG172 [85] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) - //SEG173 [99] phi from form_control::@27 to keyboard_key_pressed [phi:form_control::@27->keyboard_key_pressed] + //SEG178 [87] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) + //SEG179 [101] phi from form_control::@27 to keyboard_key_pressed [phi:form_control::@27->keyboard_key_pressed] keyboard_key_pressed_from_b27: - //SEG174 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@27->keyboard_key_pressed#0] -- vbuz1=vbuc1 + //SEG180 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@27->keyboard_key_pressed#0] -- vbuz1=vbuc1 lda #KEY_RSHIFT sta keyboard_key_pressed.key jsr keyboard_key_pressed - //SEG175 [86] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) -- vbuz1=vbuz2 + //SEG181 [88] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return sta keyboard_key_pressed.return_10 jmp b36 - //SEG176 form_control::@36 + //SEG182 form_control::@36 b36: - //SEG177 [87] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) -- vbuz1=vbuz2 + //SEG183 [89] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) -- vbuz1=vbuz2 lda keyboard_key_pressed.return_10 sta _28 - //SEG178 [88] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuz1_neq_0_then_la1 + //SEG184 [90] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuz1_neq_0_then_la1 lda _28 bne b12 jmp b28 - //SEG179 form_control::@28 + //SEG185 form_control::@28 b28: - //SEG180 [89] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + //SEG186 [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx form_field_idx inc form_fields_val,x - //SEG181 [90] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //SEG187 [92] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b14 beq b14 jmp b29 - //SEG182 form_control::@29 + //SEG188 form_control::@29 b29: - //SEG183 [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG189 [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 ldy form_field_idx lda #0 sta form_fields_val,y jmp b14 - //SEG184 form_control::@14 + //SEG190 form_control::@14 b14: - //SEG185 [92] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG191 [94] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 ldy form_field_idx lda form_fields_val,y tay @@ -7194,139 +7340,139 @@ form_control: { ldy #0 sta (field),y jmp breturn_from_b14 - //SEG186 form_control::@12 + //SEG192 form_control::@12 b12: - //SEG187 [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + //SEG193 [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx form_field_idx lda form_fields_val,x sec sbc #1 ldx form_field_idx sta form_fields_val,x - //SEG188 [94] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG194 [96] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 ldy form_field_idx lda form_fields_val,y cmp #$ff bne b14 jmp b31 - //SEG189 form_control::@31 + //SEG195 form_control::@31 b31: - //SEG190 [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + //SEG196 [97] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy form_field_idx lda form_fields_max,y sta form_fields_val,y jmp b14 - //SEG191 form_control::@2 + //SEG197 form_control::@2 b2: - //SEG192 [96] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG198 [98] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$7f ldy #0 and (field),y sta _7 - //SEG193 [97] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuz2 + //SEG199 [99] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuz2 lda _7 ldy #0 sta (field),y jmp b3_from_b2 - //SEG194 [98] phi from form_control::@32 to form_control::@37 [phi:form_control::@32->form_control::@37] + //SEG200 [100] phi from form_control::@32 to form_control::@37 [phi:form_control::@32->form_control::@37] b37_from_b32: jmp b37 - //SEG195 form_control::@37 + //SEG201 form_control::@37 b37: - //SEG196 [51] phi from form_control::@37 to form_control::@1 [phi:form_control::@37->form_control::@1] + //SEG202 [53] phi from form_control::@37 to form_control::@1 [phi:form_control::@37->form_control::@1] b1_from_b37: - //SEG197 [51] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@37->form_control::@1#0] -- register_copy + //SEG203 [53] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@37->form_control::@1#0] -- register_copy jmp b1 } -//SEG198 keyboard_key_pressed +//SEG204 keyboard_key_pressed keyboard_key_pressed: { - .label _2 = $2a - .label colidx = $26 - .label rowidx = $27 - .label return = $2b - .label return_2 = $1c - .label return_3 = $21 - .label return_4 = $1f - .label key = 9 - .label return_10 = $23 - //SEG199 [100] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) -- vbuz1=vbuz2_band_vbuc1 + .label _2 = $28 + .label colidx = $24 + .label rowidx = $25 + .label return = $29 + .label return_2 = $1a + .label return_3 = $1f + .label return_4 = $1d + .label key = 7 + .label return_10 = $21 + //SEG205 [102] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #7 and key sta colidx - //SEG200 [101] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuz1=vbuz2_ror_3 + //SEG206 [103] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuz1=vbuz2_ror_3 lda key lsr lsr lsr sta rowidx - //SEG201 [102] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) -- vbuz1=vbuz2 + //SEG207 [104] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) -- vbuz1=vbuz2 lda rowidx sta keyboard_matrix_read.rowid - //SEG202 [103] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + //SEG208 [105] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) jsr keyboard_matrix_read - //SEG203 [104] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) -- vbuz1=vbuz2 + //SEG209 [106] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) -- vbuz1=vbuz2 lda keyboard_matrix_read.return sta keyboard_matrix_read.return_2 jmp b2 - //SEG204 keyboard_key_pressed::@2 + //SEG210 keyboard_key_pressed::@2 b2: - //SEG205 [105] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) -- vbuz1=vbuz2 + //SEG211 [107] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) -- vbuz1=vbuz2 lda keyboard_matrix_read.return_2 sta _2 - //SEG206 [106] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 + //SEG212 [108] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 lda _2 ldy colidx and keyboard_matrix_col_bitmask,y sta return jmp breturn - //SEG207 keyboard_key_pressed::@return + //SEG213 keyboard_key_pressed::@return breturn: - //SEG208 [107] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) + //SEG214 [109] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) rts } -//SEG209 keyboard_matrix_read +//SEG215 keyboard_matrix_read keyboard_matrix_read: { - .label return = $2c - .label rowid = $28 - .label return_2 = $29 - //SEG210 [108] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuz1 + .label return = $2a + .label rowid = $26 + .label return_2 = $27 + //SEG216 [110] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuz1 ldy rowid lda keyboard_matrix_row_bitmask,y sta CIA1_PORT_A - //SEG211 [109] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuz1=_bnot__deref_pbuc1 + //SEG217 [111] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuz1=_bnot__deref_pbuc1 lda CIA1_PORT_B eor #$ff sta return jmp breturn - //SEG212 keyboard_matrix_read::@return + //SEG218 keyboard_matrix_read::@return breturn: - //SEG213 [110] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + //SEG219 [112] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) rts } -//SEG214 form_field_ptr +//SEG220 form_field_ptr form_field_ptr: { - .label y = $2d - .label x = $30 - .label return = $31 - .label field_idx = $a - .label return_2 = $33 - .label return_3 = $17 - .label _2 = $2e - //SEG215 [112] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + .label y = $2b + .label x = $2e + .label return = $2f + .label field_idx = 8 + .label return_2 = $31 + .label return_3 = $15 + .label _2 = $2c + //SEG221 [114] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy field_idx lda form_fields_y,y sta y - //SEG216 [113] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + //SEG222 [115] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy y lda form_line_hi,y sta _2+1 lda form_line_lo,y sta _2 - //SEG217 [114] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG223 [116] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy field_idx lda form_fields_x,y sta x - //SEG218 [115] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) -- pbuz1=pbuz2_plus_vbuz3 + //SEG224 [117] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) -- pbuz1=pbuz2_plus_vbuz3 lda x clc adc _2 @@ -7335,106 +7481,106 @@ form_field_ptr: { adc _2+1 sta return+1 jmp breturn - //SEG219 form_field_ptr::@return + //SEG225 form_field_ptr::@return breturn: - //SEG220 [116] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) + //SEG226 [118] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) rts } -//SEG221 form_render_values +//SEG227 form_render_values form_render_values: { - .label field = $35 - .label idx = $b - //SEG222 [118] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + .label field = $33 + .label idx = 9 + //SEG228 [120] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] b1_from_form_render_values: - //SEG223 [118] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuz1=vbuc1 + //SEG229 [120] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuz1=vbuc1 lda #0 sta idx jmp b1 - //SEG224 [118] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + //SEG230 [120] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] b1_from_b3: - //SEG225 [118] 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 + //SEG231 [120] 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 - //SEG226 form_render_values::@1 + //SEG232 form_render_values::@1 b1: - //SEG227 [119] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) -- vbuz1=vbuz2 + //SEG233 [121] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) -- vbuz1=vbuz2 lda idx sta form_field_ptr.field_idx - //SEG228 [120] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) - //SEG229 [111] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //SEG234 [122] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) + //SEG235 [113] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] form_field_ptr_from_b1: - //SEG230 [111] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy + //SEG236 [113] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG231 [121] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) -- pbuz1=pbuz2 + //SEG237 [123] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) -- pbuz1=pbuz2 lda form_field_ptr.return sta form_field_ptr.return_2 lda form_field_ptr.return+1 sta form_field_ptr.return_2+1 jmp b3 - //SEG232 form_render_values::@3 + //SEG238 form_render_values::@3 b3: - //SEG233 [122] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) -- pbuz1=pbuz2 + //SEG239 [124] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) -- pbuz1=pbuz2 lda form_field_ptr.return_2 sta field lda form_field_ptr.return_2+1 sta field+1 - //SEG234 [123] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG240 [125] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 ldy idx lda form_fields_val,y tay lda print_hextab,y ldy #0 sta (field),y - //SEG235 [124] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG241 [126] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuz1=_inc_vbuz1 inc idx - //SEG236 [125] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuz1_lt_vbuc1_then_la1 + //SEG242 [127] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuz1_lt_vbuc1_then_la1 lda idx cmp #form_fields_cnt bcc b1_from_b3 jmp breturn - //SEG237 form_render_values::@return + //SEG243 form_render_values::@return breturn: - //SEG238 [126] return [ ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG244 [128] return [ ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) rts } -//SEG239 form_set_screen +//SEG245 form_set_screen form_set_screen: { - .label _0 = $37 - .label _1 = $38 - .label line = $c - .label y = $e - //SEG240 [128] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + .label _0 = $35 + .label _1 = $36 + .label line = $a + .label y = $c + //SEG246 [130] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] b1_from_form_set_screen: - //SEG241 [128] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuz1=vbuc1 + //SEG247 [130] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuz1=vbuc1 lda #0 sta y - //SEG242 [128] phi (byte*) form_set_screen::line#2 = (const byte*) menu::SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + //SEG248 [130] phi (byte*) form_set_screen::line#2 = (const byte*) menu::SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 lda #menu.SCREEN sta line+1 jmp b1 - //SEG243 [128] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG249 [130] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] b1_from_b1: - //SEG244 [128] 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 - //SEG245 [128] 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 + //SEG250 [130] 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 + //SEG251 [130] 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 - //SEG246 form_set_screen::@1 + //SEG252 form_set_screen::@1 b1: - //SEG247 [129] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) -- vbuz1=_lo_pbuz2 + //SEG253 [131] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) -- vbuz1=_lo_pbuz2 lda line sta _0 - //SEG248 [130] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG254 [132] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda _0 ldy y sta form_line_lo,y - //SEG249 [131] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) -- vbuz1=_hi_pbuz2 + //SEG255 [133] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) -- vbuz1=_hi_pbuz2 lda line+1 sta _1 - //SEG250 [132] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG256 [134] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda _1 ldy y sta form_line_hi,y - //SEG251 [133] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG257 [135] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line clc adc #$28 @@ -7442,127 +7588,116 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG252 [134] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuz1=_inc_vbuz1 + //SEG258 [136] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuz1=_inc_vbuz1 inc y - //SEG253 [135] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG259 [137] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuz1_neq_vbuc1_then_la1 lda y cmp #$19 bne b1_from_b1 jmp breturn - //SEG254 form_set_screen::@return + //SEG260 form_set_screen::@return breturn: - //SEG255 [136] return [ ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG261 [138] return [ ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) rts } -//SEG256 print_str_lines +//SEG262 print_str_lines print_str_lines: { - .label ch = $39 - .label str = $f - //SEG257 [138] phi from print_str_lines to print_str_lines::@1 [phi:print_str_lines->print_str_lines::@1] - b1_from_print_str_lines: - //SEG258 [138] phi (byte*) print_line_cursor#17 = (const byte*) menu::SCREEN#0 [phi:print_str_lines->print_str_lines::@1#0] -- pbuz1=pbuc1 - lda #menu.SCREEN - sta print_line_cursor+1 - //SEG259 [138] phi (byte*) print_char_cursor#19 = (const byte*) menu::SCREEN#0 [phi:print_str_lines->print_str_lines::@1#1] -- pbuz1=pbuc1 - lda #menu.SCREEN + lda print_set_screen.screen+1 sta print_char_cursor+1 - //SEG260 [138] phi (byte*) print_str_lines::str#2 = (const string) MENU_TEXT#0 [phi:print_str_lines->print_str_lines::@1#2] -- pbuz1=pbuc1 - lda #MENU_TEXT - sta str+1 + //SEG264 [141] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] + b1_from_print_str_lines: + b1_from_b9: + //SEG265 [141] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy + //SEG266 [141] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#63 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy + //SEG267 [141] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy jmp b1 - //SEG261 print_str_lines::@1 + //SEG268 print_str_lines::@1 b1: - //SEG262 [139] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG269 [142] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4_from_b1 jmp breturn - //SEG263 print_str_lines::@return + //SEG270 print_str_lines::@return breturn: - //SEG264 [140] return [ ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG271 [143] return [ ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) rts - //SEG265 [141] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG272 [144] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] b4_from_b1: b4_from_b5: - //SEG266 [141] phi (byte*) print_char_cursor#17 = (byte*) print_char_cursor#19 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG267 [141] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#2 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG273 [144] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy + //SEG274 [144] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy jmp b4 - //SEG268 print_str_lines::@4 + //SEG275 print_str_lines::@4 b4: - //SEG269 [142] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuz1=_deref_pbuz2 + //SEG276 [145] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) -- vbuz1=_deref_pbuz2 ldy #0 lda (str),y sta ch - //SEG270 [143] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 + //SEG277 [146] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG271 [144] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuz1_eq_vbuc1_then_la1 + //SEG278 [147] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) -- vbuz1_eq_vbuc1_then_la1 lda ch cmp #'@' beq b5_from_b4 jmp b8 - //SEG272 print_str_lines::@8 + //SEG279 print_str_lines::@8 b8: - //SEG273 [145] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuz2 + //SEG280 [148] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuz2 lda ch ldy #0 sta (print_char_cursor),y - //SEG274 [146] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG281 [149] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 [ print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG275 [147] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG282 [150] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] b5_from_b4: b5_from_b8: - //SEG276 [147] phi (byte*) print_char_cursor#32 = (byte*) print_char_cursor#17 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG283 [150] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy jmp b5 - //SEG277 print_str_lines::@5 + //SEG284 print_str_lines::@5 b5: - //SEG278 [148] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG285 [151] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ) -- vbuz1_neq_vbuc1_then_la1 lda ch cmp #'@' bne b4_from_b5 - //SEG279 [149] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG286 [152] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] b9_from_b5: jmp b9 - //SEG280 print_str_lines::@9 + //SEG287 print_str_lines::@9 b9: - //SEG281 [150] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) - //SEG282 [152] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG288 [153] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) + //SEG289 [155] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] print_ln_from_b9: jsr print_ln - //SEG283 [151] (byte*~) print_char_cursor#59 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ) -- pbuz1=pbuz2 + //SEG290 [154] (byte*~) print_char_cursor#64 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG284 [138] phi from print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines::@9->print_str_lines::@1] - b1_from_b9: - //SEG285 [138] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#19 [phi:print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG286 [138] phi (byte*) print_char_cursor#19 = (byte*~) print_char_cursor#59 [phi:print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG287 [138] phi (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#0 [phi:print_str_lines::@9->print_str_lines::@1#2] -- register_copy - jmp b1 + jmp b1_from_b9 } -//SEG288 print_ln +//SEG291 print_ln print_ln: { - //SEG289 [153] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG292 [156] 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: - //SEG290 [153] phi (byte*) print_line_cursor#18 = (byte*) print_line_cursor#17 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG293 [156] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG291 print_ln::@1 + //SEG294 print_ln::@1 b1: - //SEG292 [154] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG295 [157] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -7570,7 +7705,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG293 [155] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG296 [158] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -7580,56 +7715,64 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG294 print_ln::@return + //SEG297 print_ln::@return breturn: - //SEG295 [156] return [ print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) + //SEG298 [159] return [ print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) rts } -//SEG296 print_cls +//SEG299 print_cls print_cls: { - .label sc = $15 - //SEG297 [158] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] - b1_from_print_cls: - //SEG298 [158] phi (byte*) print_cls::sc#2 = (const byte*) menu::SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 - lda #menu.SCREEN + lda print_set_screen.screen+1 sta sc+1 - jmp b1 - //SEG299 [158] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG301 [161] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] + b1_from_print_cls: b1_from_b1: - //SEG300 [158] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG302 [161] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG301 print_cls::@1 + //SEG303 print_cls::@1 b1: - //SEG302 [159] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG304 [162] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG303 [160] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG305 [163] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG304 [161] if((byte*) print_cls::sc#1!=(const byte*) menu::SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG306 [164] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) -- pbuz1=pbuz2_plus_vwuc1 + lda print_set_screen.screen + clc + adc #<$3e8 + sta _0 + lda print_set_screen.screen+1 + adc #>$3e8 + sta _0+1 + //SEG307 [165] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) -- pbuz1_neq_pbuz2_then_la1 lda sc+1 - cmp #>menu.SCREEN+$3e8 + cmp _0+1 bne b1_from_b1 lda sc - cmp #=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) always clobbers reg byte a reg byte y Removing always clobbered register reg byte y as potential for zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] Removing always clobbered register reg byte y as potential for zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] -Statement [27] if((byte*) menu::c#1!=(const byte*) COLS#0+(word/signed word/dword/signed dword) 1000) goto menu::@2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) always clobbers reg byte a -Statement [28] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a -Statement [29] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a -Statement [42] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) always clobbers reg byte a -Statement [47] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) always clobbers reg byte a -Statement [48] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) always clobbers reg byte a -Statement [52] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [53] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) always clobbers reg byte a reg byte y -Statement [54] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y -Statement [62] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) always clobbers reg byte a reg byte y -Statement [63] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) always clobbers reg byte y -Statement [90] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y -Statement [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a -Statement [92] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y -Potential register analysis [93] *(form_fields_val#0 + form_field_idx#14) ← -- *(form_fields_val#0 + form_field_idx#14) missing fragment pbuc1_derefidx_vbuxx=_dec_pbuc1_derefidx_vbuxx allocation: reg byte x [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] +Statement [56] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y +Statement [64] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) always clobbers reg byte a reg byte y +Statement [65] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) always clobbers reg byte y +Statement [92] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y +Statement [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a +Statement [94] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y +Potential register analysis [95] *(form_fields_val#0 + form_field_idx#14) ← -- *(form_fields_val#0 + form_field_idx#14) missing fragment pbuc1_derefidx_vbuxx=_dec_pbuc1_derefidx_vbuxx allocation: reg byte x [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] MISSING FRAGMENTS pbuc1_derefidx_vbuxx=_dec_pbuc1_derefidx_vbuxx -Statement [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte x +Statement [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte x Removing always clobbered register reg byte x as potential for zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] Removing always clobbered register reg byte x as potential for zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] Removing always clobbered register reg byte x as potential for zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] Removing always clobbered register reg byte x as potential for zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] -Statement [94] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y -Statement [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y -Statement [96] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) always clobbers reg byte a reg byte y -Statement [97] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y -Statement [100] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ keyboard_key_pressed::key#4 ] -Statement [101] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:38 [ keyboard_key_pressed::colidx#0 ] -Statement [106] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) always clobbers reg byte a -Statement [108] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a -Statement [109] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a -Statement [113] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:11 [ form_render_values::idx#2 form_render_values::idx#1 ] -Statement [115] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) always clobbers reg byte a -Statement [121] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) always clobbers reg byte a -Statement [122] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) always clobbers reg byte a -Statement [123] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:11 [ form_render_values::idx#2 form_render_values::idx#1 ] -Statement [133] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#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 ZP_BYTE:14 [ form_set_screen::y#2 form_set_screen::y#1 ] -Statement [139] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) always clobbers reg byte a reg byte y -Statement [142] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y -Statement [145] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:57 [ print_str_lines::ch#0 ] -Statement [151] (byte*~) print_char_cursor#59 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ) always clobbers reg byte a -Statement [154] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a -Statement [155] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a -Statement [159] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [161] if((byte*) print_cls::sc#1!=(const byte*) menu::SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) always clobbers reg byte a +Statement [96] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y +Statement [97] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y +Statement [98] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) always clobbers reg byte a reg byte y +Statement [99] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y +Statement [102] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ keyboard_key_pressed::key#4 ] +Statement [103] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] +Statement [108] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) always clobbers reg byte a +Statement [110] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a +Statement [111] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a +Statement [115] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ form_render_values::idx#2 form_render_values::idx#1 ] +Statement [117] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) always clobbers reg byte a +Statement [123] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) always clobbers reg byte a +Statement [124] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) always clobbers reg byte a +Statement [125] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:9 [ form_render_values::idx#2 form_render_values::idx#1 ] +Statement [135] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#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 ZP_BYTE:12 [ form_set_screen::y#2 form_set_screen::y#1 ] +Statement [140] (byte*~) print_char_cursor#63 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] ) always clobbers reg byte a +Statement [142] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) always clobbers reg byte a reg byte y +Statement [145] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y +Statement [148] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:55 [ print_str_lines::ch#0 ] +Statement [154] (byte*~) print_char_cursor#64 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ) always clobbers reg byte a +Statement [157] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [158] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [160] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 [ print_set_screen::screen#2 print_cls::sc#0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#0 ] ) always clobbers reg byte a +Statement [162] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [164] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) always clobbers reg byte a +Statement [165] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) always clobbers reg byte a Statement [5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) always clobbers reg byte a Statement [11] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a Statement [12] *((const byte*) DTV_COLOR_BANK_LO#0) ← <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a @@ -7729,160 +7874,161 @@ Statement [17] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_DEN#0|(const Statement [18] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a Statement [19] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a Statement [21] *((const byte*) DTV_PALETTE#0 + (byte) menu::i#2) ← *((const byte[16]) DTV_PALETTE_DEFAULT#0 + (byte) menu::i#2) [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#2 ] ) always clobbers reg byte a -Statement [25] *((byte*) menu::c#2) ← (const byte) LIGHT_GREEN#0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ) always clobbers reg byte a reg byte y -Statement [27] if((byte*) menu::c#1!=(const byte*) COLS#0+(word/signed word/dword/signed dword) 1000) goto menu::@2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) always clobbers reg byte a -Statement [28] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a -Statement [29] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a -Statement [42] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) always clobbers reg byte a -Statement [47] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) always clobbers reg byte a -Statement [48] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) always clobbers reg byte a -Statement [50] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) always clobbers reg byte a -Statement [52] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a -Statement [53] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) always clobbers reg byte a reg byte y -Statement [54] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y -Statement [62] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) always clobbers reg byte a reg byte y -Statement [63] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) always clobbers reg byte y -Statement [69] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) always clobbers reg byte a -Statement [75] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) always clobbers reg byte a -Statement [89] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte x -Statement [90] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y -Statement [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y -Statement [92] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y -Statement [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte x -Statement [94] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y -Statement [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y -Statement [96] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) always clobbers reg byte a reg byte y -Statement [97] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y -Statement [100] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a -Statement [101] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) always clobbers reg byte a -Statement [106] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) always clobbers reg byte a -Statement [108] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a -Statement [109] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a -Statement [113] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) always clobbers reg byte a -Statement [115] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) always clobbers reg byte a -Statement [121] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) always clobbers reg byte a -Statement [122] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) always clobbers reg byte a -Statement [123] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) always clobbers reg byte a reg byte y -Statement [133] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) always clobbers reg byte a -Statement [139] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) always clobbers reg byte a reg byte y -Statement [142] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y -Statement [145] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) always clobbers reg byte y -Statement [151] (byte*~) print_char_cursor#59 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ) always clobbers reg byte a -Statement [154] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a -Statement [155] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) always clobbers reg byte a -Statement [159] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#2 ] ) always clobbers reg byte a reg byte y -Statement [161] if((byte*) print_cls::sc#1!=(const byte*) menu::SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) always clobbers reg byte a +Statement [24] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a +Statement [25] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) always clobbers reg byte a +Statement [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) always clobbers reg byte a +Statement [49] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) always clobbers reg byte a +Statement [50] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) always clobbers reg byte a +Statement [52] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) always clobbers reg byte a +Statement [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte a +Statement [55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) always clobbers reg byte a reg byte y +Statement [56] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y +Statement [64] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) always clobbers reg byte a reg byte y +Statement [65] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) always clobbers reg byte y +Statement [71] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) always clobbers reg byte a +Statement [77] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) always clobbers reg byte a +Statement [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte x +Statement [92] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y +Statement [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y +Statement [94] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y +Statement [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte x +Statement [96] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y +Statement [97] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) always clobbers reg byte a reg byte y +Statement [98] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) always clobbers reg byte a reg byte y +Statement [99] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) always clobbers reg byte y +Statement [102] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a +Statement [103] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) always clobbers reg byte a +Statement [108] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) always clobbers reg byte a +Statement [110] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) always clobbers reg byte a +Statement [111] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) always clobbers reg byte a +Statement [115] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) always clobbers reg byte a +Statement [117] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) always clobbers reg byte a +Statement [123] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) always clobbers reg byte a +Statement [124] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) always clobbers reg byte a +Statement [125] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) always clobbers reg byte a reg byte y +Statement [135] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) always clobbers reg byte a +Statement [140] (byte*~) print_char_cursor#63 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#5 print_char_cursor#63 print_set_screen::screen#2 ] ) always clobbers reg byte a +Statement [142] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) always clobbers reg byte a reg byte y +Statement [145] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte a reg byte y +Statement [148] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) always clobbers reg byte y +Statement [154] (byte*~) print_char_cursor#64 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ) always clobbers reg byte a +Statement [157] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [158] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) always clobbers reg byte a +Statement [160] (byte*) print_cls::sc#0 ← (byte*) print_set_screen::screen#2 [ print_set_screen::screen#2 print_cls::sc#0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#0 ] ) always clobbers reg byte a +Statement [162] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] ) always clobbers reg byte a reg byte y +Statement [164] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) always clobbers reg byte a +Statement [165] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) always clobbers reg byte a Potential registers zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] : zp ZP_BYTE:2 , Potential registers zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] : zp ZP_BYTE:3 , Potential registers zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] : zp ZP_BYTE:4 , Potential registers zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] : zp ZP_BYTE:5 , Potential registers zp ZP_BYTE:6 [ menu::i#2 menu::i#1 ] : zp ZP_BYTE:6 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:7 [ menu::c#2 menu::c#1 ] : zp ZP_WORD:7 , -Potential registers zp ZP_BYTE:9 [ keyboard_key_pressed::key#4 ] : zp ZP_BYTE:9 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:10 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] : zp ZP_BYTE:10 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:11 [ form_render_values::idx#2 form_render_values::idx#1 ] : zp ZP_BYTE:11 , reg byte x , -Potential registers zp ZP_WORD:12 [ form_set_screen::line#2 form_set_screen::line#1 ] : zp ZP_WORD:12 , -Potential registers zp ZP_BYTE:14 [ form_set_screen::y#2 form_set_screen::y#1 ] : zp ZP_BYTE:14 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:15 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] : zp ZP_WORD:15 , -Potential registers zp ZP_WORD:17 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#59 print_char_cursor#32 print_char_cursor#1 ] : zp ZP_WORD:17 , -Potential registers zp ZP_WORD:19 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] : zp ZP_WORD:19 , -Potential registers zp ZP_WORD:21 [ print_cls::sc#2 print_cls::sc#1 ] : zp ZP_WORD:21 , -Potential registers zp ZP_WORD:23 [ form_field_ptr::return#3 ] : zp ZP_WORD:23 , -Potential registers zp ZP_WORD:25 [ form_control::field#0 ] : zp ZP_WORD:25 , -Potential registers zp ZP_BYTE:27 [ form_control::$6 ] : zp ZP_BYTE:27 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:28 [ keyboard_key_pressed::return#2 ] : zp ZP_BYTE:28 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:29 [ form_control::key_down#0 ] : zp ZP_BYTE:29 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:30 [ form_control::$13 ] : zp ZP_BYTE:30 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:31 [ keyboard_key_pressed::return#4 ] : zp ZP_BYTE:31 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:32 [ form_control::$14 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:33 [ keyboard_key_pressed::return#3 ] : zp ZP_BYTE:33 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:34 [ form_control::key_right#0 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:35 [ keyboard_key_pressed::return#10 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:36 [ form_control::$28 ] : zp ZP_BYTE:36 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:37 [ form_control::$7 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:38 [ keyboard_key_pressed::colidx#0 ] : zp ZP_BYTE:38 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:39 [ keyboard_key_pressed::rowidx#0 ] : zp ZP_BYTE:39 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:40 [ keyboard_matrix_read::rowid#0 ] : zp ZP_BYTE:40 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:41 [ keyboard_matrix_read::return#2 ] : zp ZP_BYTE:41 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:42 [ keyboard_key_pressed::$2 ] : zp ZP_BYTE:42 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:43 [ keyboard_key_pressed::return#0 ] : zp ZP_BYTE:43 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:44 [ keyboard_matrix_read::return#0 ] : zp ZP_BYTE:44 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:45 [ form_field_ptr::y#0 ] : zp ZP_BYTE:45 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:46 [ form_field_ptr::$2 ] : zp ZP_WORD:46 , -Potential registers zp ZP_BYTE:48 [ form_field_ptr::x#0 ] : zp ZP_BYTE:48 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:49 [ form_field_ptr::return#0 ] : zp ZP_WORD:49 , -Potential registers zp ZP_WORD:51 [ form_field_ptr::return#2 ] : zp ZP_WORD:51 , -Potential registers zp ZP_WORD:53 [ form_render_values::field#0 ] : zp ZP_WORD:53 , -Potential registers zp ZP_BYTE:55 [ form_set_screen::$0 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:56 [ form_set_screen::$1 ] : zp ZP_BYTE:56 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:57 [ print_str_lines::ch#0 ] : zp ZP_BYTE:57 , reg byte a , reg byte x , +Potential registers zp ZP_BYTE:7 [ keyboard_key_pressed::key#4 ] : zp ZP_BYTE:7 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:8 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] : zp ZP_BYTE:8 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:9 [ form_render_values::idx#2 form_render_values::idx#1 ] : zp ZP_BYTE:9 , reg byte x , +Potential registers zp ZP_WORD:10 [ form_set_screen::line#2 form_set_screen::line#1 ] : zp ZP_WORD:10 , +Potential registers zp ZP_BYTE:12 [ form_set_screen::y#2 form_set_screen::y#1 ] : zp ZP_BYTE:12 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:13 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] : zp ZP_WORD:13 , +Potential registers zp ZP_WORD:15 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#63 print_char_cursor#64 print_char_cursor#38 print_char_cursor#1 ] : zp ZP_WORD:15 , +Potential registers zp ZP_WORD:17 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] : zp ZP_WORD:17 , +Potential registers zp ZP_WORD:19 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] : zp ZP_WORD:19 , +Potential registers zp ZP_WORD:21 [ form_field_ptr::return#3 ] : zp ZP_WORD:21 , +Potential registers zp ZP_WORD:23 [ form_control::field#0 ] : zp ZP_WORD:23 , +Potential registers zp ZP_BYTE:25 [ form_control::$6 ] : zp ZP_BYTE:25 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:26 [ keyboard_key_pressed::return#2 ] : zp ZP_BYTE:26 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:27 [ form_control::key_down#0 ] : zp ZP_BYTE:27 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:28 [ form_control::$13 ] : zp ZP_BYTE:28 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:29 [ keyboard_key_pressed::return#4 ] : zp ZP_BYTE:29 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:30 [ form_control::$14 ] : zp ZP_BYTE:30 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:31 [ keyboard_key_pressed::return#3 ] : zp ZP_BYTE:31 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:32 [ form_control::key_right#0 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:33 [ keyboard_key_pressed::return#10 ] : zp ZP_BYTE:33 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:34 [ form_control::$28 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:35 [ form_control::$7 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] : zp ZP_BYTE:36 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:37 [ keyboard_key_pressed::rowidx#0 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:38 [ keyboard_matrix_read::rowid#0 ] : zp ZP_BYTE:38 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:39 [ keyboard_matrix_read::return#2 ] : zp ZP_BYTE:39 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:40 [ keyboard_key_pressed::$2 ] : zp ZP_BYTE:40 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:41 [ keyboard_key_pressed::return#0 ] : zp ZP_BYTE:41 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:42 [ keyboard_matrix_read::return#0 ] : zp ZP_BYTE:42 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:43 [ form_field_ptr::y#0 ] : zp ZP_BYTE:43 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:44 [ form_field_ptr::$2 ] : zp ZP_WORD:44 , +Potential registers zp ZP_BYTE:46 [ form_field_ptr::x#0 ] : zp ZP_BYTE:46 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:47 [ form_field_ptr::return#0 ] : zp ZP_WORD:47 , +Potential registers zp ZP_WORD:49 [ form_field_ptr::return#2 ] : zp ZP_WORD:49 , +Potential registers zp ZP_WORD:51 [ form_render_values::field#0 ] : zp ZP_WORD:51 , +Potential registers zp ZP_BYTE:53 [ form_set_screen::$0 ] : zp ZP_BYTE:53 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:54 [ form_set_screen::$1 ] : zp ZP_BYTE:54 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:55 [ print_str_lines::ch#0 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , +Potential registers zp ZP_WORD:56 [ print_cls::$0 ] : zp ZP_WORD:56 , REGISTER UPLIFT SCOPES -Uplift Scope [] 3,698: zp ZP_WORD:17 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#59 print_char_cursor#32 print_char_cursor#1 ] 2,653.58: zp ZP_WORD:19 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] 50: zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] 49.65: zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] 42.6: zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] 39.91: zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] -Uplift Scope [print_str_lines] 1,937.17: zp ZP_WORD:15 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] 667.33: zp ZP_BYTE:57 [ print_str_lines::ch#0 ] -Uplift Scope [form_set_screen] 218.83: zp ZP_BYTE:14 [ form_set_screen::y#2 form_set_screen::y#1 ] 202: zp ZP_BYTE:55 [ form_set_screen::$0 ] 202: zp ZP_BYTE:56 [ form_set_screen::$1 ] 148.13: zp ZP_WORD:12 [ form_set_screen::line#2 form_set_screen::line#1 ] -Uplift Scope [menu] 353.5: zp ZP_BYTE:6 [ menu::i#2 menu::i#1 ] 303: zp ZP_WORD:7 [ menu::c#2 menu::c#1 ] -Uplift Scope [form_field_ptr] 241.67: zp ZP_BYTE:10 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] 202: zp ZP_WORD:51 [ form_field_ptr::return#2 ] 26.25: zp ZP_WORD:49 [ form_field_ptr::return#0 ] 6: zp ZP_BYTE:45 [ form_field_ptr::y#0 ] 4: zp ZP_WORD:23 [ form_field_ptr::return#3 ] 4: zp ZP_BYTE:48 [ form_field_ptr::x#0 ] 1: zp ZP_WORD:46 [ form_field_ptr::$2 ] -Uplift Scope [form_render_values] 218.83: zp ZP_BYTE:11 [ form_render_values::idx#2 form_render_values::idx#1 ] 202: zp ZP_WORD:53 [ form_render_values::field#0 ] -Uplift Scope [print_cls] 303: zp ZP_WORD:21 [ print_cls::sc#2 print_cls::sc#1 ] -Uplift Scope [keyboard_key_pressed] 4: zp ZP_BYTE:28 [ keyboard_key_pressed::return#2 ] 4: zp ZP_BYTE:31 [ keyboard_key_pressed::return#4 ] 4: zp ZP_BYTE:33 [ keyboard_key_pressed::return#3 ] 4: zp ZP_BYTE:35 [ keyboard_key_pressed::return#10 ] 4: zp ZP_BYTE:39 [ keyboard_key_pressed::rowidx#0 ] 4: zp ZP_BYTE:42 [ keyboard_key_pressed::$2 ] 2: zp ZP_BYTE:9 [ keyboard_key_pressed::key#4 ] 1.67: zp ZP_BYTE:43 [ keyboard_key_pressed::return#0 ] 0.67: zp ZP_BYTE:38 [ keyboard_key_pressed::colidx#0 ] -Uplift Scope [form_control] 4: zp ZP_BYTE:27 [ form_control::$6 ] 4: zp ZP_BYTE:30 [ form_control::$13 ] 4: zp ZP_BYTE:32 [ form_control::$14 ] 4: zp ZP_BYTE:36 [ form_control::$28 ] 4: zp ZP_BYTE:37 [ form_control::$7 ] 2.67: zp ZP_BYTE:29 [ form_control::key_down#0 ] 2.67: zp ZP_BYTE:34 [ form_control::key_right#0 ] 0.44: zp ZP_WORD:25 [ form_control::field#0 ] -Uplift Scope [keyboard_matrix_read] 4: zp ZP_BYTE:40 [ keyboard_matrix_read::rowid#0 ] 4: zp ZP_BYTE:41 [ keyboard_matrix_read::return#2 ] 1.33: zp ZP_BYTE:44 [ keyboard_matrix_read::return#0 ] +Uplift Scope [] 3,703: zp ZP_WORD:15 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#63 print_char_cursor#64 print_char_cursor#38 print_char_cursor#1 ] 2,659.38: zp ZP_WORD:17 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] 49.97: zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] 49.63: zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] 42.57: zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] 39.88: zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] +Uplift Scope [print_str_lines] 1,939.17: zp ZP_WORD:13 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] 667.33: zp ZP_BYTE:55 [ print_str_lines::ch#0 ] +Uplift Scope [form_set_screen] 218.83: zp ZP_BYTE:12 [ form_set_screen::y#2 form_set_screen::y#1 ] 202: zp ZP_BYTE:53 [ form_set_screen::$0 ] 202: zp ZP_BYTE:54 [ form_set_screen::$1 ] 148.13: zp ZP_WORD:10 [ form_set_screen::line#2 form_set_screen::line#1 ] +Uplift Scope [form_field_ptr] 241.67: zp ZP_BYTE:8 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] 202: zp ZP_WORD:49 [ form_field_ptr::return#2 ] 26.25: zp ZP_WORD:47 [ form_field_ptr::return#0 ] 6: zp ZP_BYTE:43 [ form_field_ptr::y#0 ] 4: zp ZP_WORD:21 [ form_field_ptr::return#3 ] 4: zp ZP_BYTE:46 [ form_field_ptr::x#0 ] 1: zp ZP_WORD:44 [ form_field_ptr::$2 ] +Uplift Scope [print_cls] 257.5: zp ZP_WORD:19 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] 202: zp ZP_WORD:56 [ print_cls::$0 ] +Uplift Scope [form_render_values] 218.83: zp ZP_BYTE:9 [ form_render_values::idx#2 form_render_values::idx#1 ] 202: zp ZP_WORD:51 [ form_render_values::field#0 ] +Uplift Scope [menu] 353.5: zp ZP_BYTE:6 [ menu::i#2 menu::i#1 ] +Uplift Scope [keyboard_key_pressed] 4: zp ZP_BYTE:26 [ keyboard_key_pressed::return#2 ] 4: zp ZP_BYTE:29 [ keyboard_key_pressed::return#4 ] 4: zp ZP_BYTE:31 [ keyboard_key_pressed::return#3 ] 4: zp ZP_BYTE:33 [ keyboard_key_pressed::return#10 ] 4: zp ZP_BYTE:37 [ keyboard_key_pressed::rowidx#0 ] 4: zp ZP_BYTE:40 [ keyboard_key_pressed::$2 ] 2: zp ZP_BYTE:7 [ keyboard_key_pressed::key#4 ] 1.67: zp ZP_BYTE:41 [ keyboard_key_pressed::return#0 ] 0.67: zp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] +Uplift Scope [form_control] 4: zp ZP_BYTE:25 [ form_control::$6 ] 4: zp ZP_BYTE:28 [ form_control::$13 ] 4: zp ZP_BYTE:30 [ form_control::$14 ] 4: zp ZP_BYTE:34 [ form_control::$28 ] 4: zp ZP_BYTE:35 [ form_control::$7 ] 2.67: zp ZP_BYTE:27 [ form_control::key_down#0 ] 2.67: zp ZP_BYTE:32 [ form_control::key_right#0 ] 0.44: zp ZP_WORD:23 [ form_control::field#0 ] +Uplift Scope [keyboard_matrix_read] 4: zp ZP_BYTE:38 [ keyboard_matrix_read::rowid#0 ] 4: zp ZP_BYTE:39 [ keyboard_matrix_read::return#2 ] 1.33: zp ZP_BYTE:42 [ keyboard_matrix_read::return#0 ] Uplift Scope [print_ln] Uplift Scope [print_set_screen] Uplift Scope [main] -Uplifting [] best 163885 combination zp ZP_WORD:17 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#59 print_char_cursor#32 print_char_cursor#1 ] zp ZP_WORD:19 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] -Uplifting [print_str_lines] best 151885 combination zp ZP_WORD:15 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] -Uplifting [form_set_screen] best 149185 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] reg byte a [ form_set_screen::$1 ] zp ZP_WORD:12 [ form_set_screen::line#2 form_set_screen::line#1 ] -Uplifting [menu] best 147985 combination reg byte x [ menu::i#2 menu::i#1 ] zp ZP_WORD:7 [ menu::c#2 menu::c#1 ] -Uplifting [form_field_ptr] best 147664 combination reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp ZP_WORD:51 [ form_field_ptr::return#2 ] zp ZP_WORD:49 [ form_field_ptr::return#0 ] reg byte y [ form_field_ptr::y#0 ] zp ZP_WORD:23 [ form_field_ptr::return#3 ] reg byte a [ form_field_ptr::x#0 ] zp ZP_WORD:46 [ form_field_ptr::$2 ] -Uplifting [form_render_values] best 146164 combination reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] zp ZP_WORD:53 [ form_render_values::field#0 ] -Uplifting [print_cls] best 146164 combination zp ZP_WORD:21 [ print_cls::sc#2 print_cls::sc#1 ] -Uplifting [keyboard_key_pressed] best 146140 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#4 ] reg byte a [ keyboard_key_pressed::return#3 ] reg byte a [ keyboard_key_pressed::return#10 ] zp ZP_BYTE:39 [ keyboard_key_pressed::rowidx#0 ] zp ZP_BYTE:42 [ keyboard_key_pressed::$2 ] zp ZP_BYTE:9 [ keyboard_key_pressed::key#4 ] zp ZP_BYTE:43 [ keyboard_key_pressed::return#0 ] zp ZP_BYTE:38 [ keyboard_key_pressed::colidx#0 ] +Uplifting [] best 156326 combination zp ZP_WORD:15 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#63 print_char_cursor#64 print_char_cursor#38 print_char_cursor#1 ] zp ZP_WORD:17 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] +Uplifting [print_str_lines] best 144326 combination zp ZP_WORD:13 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] +Uplifting [form_set_screen] best 141626 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] reg byte a [ form_set_screen::$1 ] zp ZP_WORD:10 [ form_set_screen::line#2 form_set_screen::line#1 ] +Uplifting [form_field_ptr] best 141305 combination reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp ZP_WORD:49 [ form_field_ptr::return#2 ] zp ZP_WORD:47 [ form_field_ptr::return#0 ] reg byte y [ form_field_ptr::y#0 ] zp ZP_WORD:21 [ form_field_ptr::return#3 ] reg byte a [ form_field_ptr::x#0 ] zp ZP_WORD:44 [ form_field_ptr::$2 ] +Uplifting [print_cls] best 141305 combination zp ZP_WORD:19 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] zp ZP_WORD:56 [ print_cls::$0 ] +Uplifting [form_render_values] best 139805 combination reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] zp ZP_WORD:51 [ form_render_values::field#0 ] +Uplifting [menu] best 138605 combination reg byte x [ menu::i#2 menu::i#1 ] +Uplifting [keyboard_key_pressed] best 138581 combination reg byte a [ keyboard_key_pressed::return#2 ] reg byte a [ keyboard_key_pressed::return#4 ] reg byte a [ keyboard_key_pressed::return#3 ] reg byte a [ keyboard_key_pressed::return#10 ] zp ZP_BYTE:37 [ keyboard_key_pressed::rowidx#0 ] zp ZP_BYTE:40 [ keyboard_key_pressed::$2 ] zp ZP_BYTE:7 [ keyboard_key_pressed::key#4 ] zp ZP_BYTE:41 [ keyboard_key_pressed::return#0 ] zp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] Limited combination testing to 100 combinations of 147456 possible. -Uplifting [form_control] best 146120 combination reg byte a [ form_control::$6 ] reg byte a [ form_control::$13 ] reg byte a [ form_control::$14 ] reg byte a [ form_control::$28 ] zp ZP_BYTE:37 [ form_control::$7 ] zp ZP_BYTE:29 [ form_control::key_down#0 ] zp ZP_BYTE:34 [ form_control::key_right#0 ] zp ZP_WORD:25 [ form_control::field#0 ] +Uplifting [form_control] best 138561 combination reg byte a [ form_control::$6 ] reg byte a [ form_control::$13 ] reg byte a [ form_control::$14 ] reg byte a [ form_control::$28 ] zp ZP_BYTE:35 [ form_control::$7 ] zp ZP_BYTE:27 [ form_control::key_down#0 ] zp ZP_BYTE:32 [ form_control::key_right#0 ] zp ZP_WORD:23 [ form_control::field#0 ] Limited combination testing to 100 combinations of 16384 possible. -Uplifting [keyboard_matrix_read] best 146102 combination reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] -Uplifting [print_ln] best 146102 combination -Uplifting [print_set_screen] best 146102 combination -Uplifting [main] best 146102 combination +Uplifting [keyboard_matrix_read] best 138543 combination reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#0 ] +Uplifting [print_ln] best 138543 combination +Uplifting [print_set_screen] best 138543 combination +Uplifting [main] best 138543 combination Attempting to uplift remaining variables inzp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -Uplifting [] best 146102 combination zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] +Uplifting [] best 138543 combination zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] Attempting to uplift remaining variables inzp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] -Uplifting [] best 146102 combination zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] +Uplifting [] best 138543 combination zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ] Attempting to uplift remaining variables inzp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] -Uplifting [] best 146102 combination zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] +Uplifting [] best 138543 combination zp ZP_BYTE:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ] Attempting to uplift remaining variables inzp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] -Uplifting [] best 146102 combination zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] -Attempting to uplift remaining variables inzp ZP_BYTE:37 [ form_control::$7 ] -Uplifting [form_control] best 146096 combination reg byte a [ form_control::$7 ] -Attempting to uplift remaining variables inzp ZP_BYTE:39 [ keyboard_key_pressed::rowidx#0 ] -Uplifting [keyboard_key_pressed] best 146092 combination reg byte a [ keyboard_key_pressed::rowidx#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:42 [ keyboard_key_pressed::$2 ] -Uplifting [keyboard_key_pressed] best 146086 combination reg byte a [ keyboard_key_pressed::$2 ] -Attempting to uplift remaining variables inzp ZP_BYTE:29 [ form_control::key_down#0 ] -Uplifting [form_control] best 146076 combination reg byte a [ form_control::key_down#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:34 [ form_control::key_right#0 ] -Uplifting [form_control] best 146066 combination reg byte a [ form_control::key_right#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:9 [ keyboard_key_pressed::key#4 ] -Uplifting [keyboard_key_pressed] best 146052 combination reg byte x [ keyboard_key_pressed::key#4 ] -Attempting to uplift remaining variables inzp ZP_BYTE:43 [ keyboard_key_pressed::return#0 ] -Uplifting [keyboard_key_pressed] best 146037 combination reg byte a [ keyboard_key_pressed::return#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:38 [ keyboard_key_pressed::colidx#0 ] -Uplifting [keyboard_key_pressed] best 146033 combination reg byte y [ keyboard_key_pressed::colidx#0 ] -Coalescing zero page register with common assignment [ zp ZP_WORD:23 [ form_field_ptr::return#3 ] ] with [ zp ZP_WORD:25 [ form_control::field#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:23 [ form_field_ptr::return#3 form_control::field#0 ] ] with [ zp ZP_WORD:49 [ form_field_ptr::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:51 [ form_field_ptr::return#2 ] ] with [ zp ZP_WORD:53 [ form_render_values::field#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:23 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 ] ] with [ zp ZP_WORD:46 [ form_field_ptr::$2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:23 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 ] ] with [ zp ZP_WORD:51 [ form_field_ptr::return#2 form_render_values::field#0 ] ] - score: 1 -Coalescing zero page register [ zp ZP_WORD:7 [ menu::c#2 menu::c#1 ] ] with [ zp ZP_WORD:12 [ form_set_screen::line#2 form_set_screen::line#1 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ menu::c#2 menu::c#1 form_set_screen::line#2 form_set_screen::line#1 ] ] with [ zp ZP_WORD:15 [ print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ menu::c#2 menu::c#1 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 ] ] with [ zp ZP_WORD:21 [ print_cls::sc#2 print_cls::sc#1 ] ] -Coalescing zero page register [ zp ZP_WORD:7 [ menu::c#2 menu::c#1 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#1 ] ] with [ zp ZP_WORD:23 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#2 form_render_values::field#0 ] ] -Allocated (was zp ZP_WORD:7) zp ZP_WORD:6 [ menu::c#2 menu::c#1 form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#1 form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#2 form_render_values::field#0 ] -Allocated (was zp ZP_WORD:17) zp ZP_WORD:8 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#59 print_char_cursor#32 print_char_cursor#1 ] -Allocated (was zp ZP_WORD:19) zp ZP_WORD:10 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ] +Uplifting [] best 138543 combination zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] +Attempting to uplift remaining variables inzp ZP_BYTE:35 [ form_control::$7 ] +Uplifting [form_control] best 138537 combination reg byte a [ form_control::$7 ] +Attempting to uplift remaining variables inzp ZP_BYTE:37 [ keyboard_key_pressed::rowidx#0 ] +Uplifting [keyboard_key_pressed] best 138533 combination reg byte a [ keyboard_key_pressed::rowidx#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:40 [ keyboard_key_pressed::$2 ] +Uplifting [keyboard_key_pressed] best 138527 combination reg byte a [ keyboard_key_pressed::$2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:27 [ form_control::key_down#0 ] +Uplifting [form_control] best 138517 combination reg byte a [ form_control::key_down#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:32 [ form_control::key_right#0 ] +Uplifting [form_control] best 138507 combination reg byte a [ form_control::key_right#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:7 [ keyboard_key_pressed::key#4 ] +Uplifting [keyboard_key_pressed] best 138493 combination reg byte x [ keyboard_key_pressed::key#4 ] +Attempting to uplift remaining variables inzp ZP_BYTE:41 [ keyboard_key_pressed::return#0 ] +Uplifting [keyboard_key_pressed] best 138478 combination reg byte a [ keyboard_key_pressed::return#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:36 [ keyboard_key_pressed::colidx#0 ] +Uplifting [keyboard_key_pressed] best 138474 combination reg byte y [ keyboard_key_pressed::colidx#0 ] +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ form_field_ptr::return#3 ] ] with [ zp ZP_WORD:23 [ form_control::field#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ form_field_ptr::return#3 form_control::field#0 ] ] with [ zp ZP_WORD:47 [ form_field_ptr::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:49 [ form_field_ptr::return#2 ] ] with [ zp ZP_WORD:51 [ form_render_values::field#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 ] ] with [ zp ZP_WORD:44 [ form_field_ptr::$2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:21 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 ] ] with [ zp ZP_WORD:49 [ form_field_ptr::return#2 form_render_values::field#0 ] ] - score: 1 +Coalescing zero page register [ zp ZP_WORD:10 [ form_set_screen::line#2 form_set_screen::line#1 ] ] with [ zp ZP_WORD:13 [ 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 ZP_WORD:10 [ form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] ] with [ zp ZP_WORD:19 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] ] +Coalescing zero page register [ zp ZP_WORD:10 [ form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] ] with [ zp ZP_WORD:21 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#2 form_render_values::field#0 ] ] +Coalescing zero page register [ zp ZP_WORD:15 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#63 print_char_cursor#64 print_char_cursor#38 print_char_cursor#1 ] ] with [ zp ZP_WORD:56 [ print_cls::$0 ] ] +Allocated (was zp ZP_WORD:10) zp ZP_WORD:6 [ form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#2 form_render_values::field#0 ] +Allocated (was zp ZP_WORD:15) zp ZP_WORD:8 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#63 print_char_cursor#64 print_char_cursor#38 print_char_cursor#1 print_cls::$0 ] +Allocated (was zp ZP_WORD:17) zp ZP_WORD:10 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -7904,7 +8050,6 @@ ASSEMBLER BEFORE OPTIMIZATION .label CIA1_PORT_B = $dc01 .label CIA2_PORT_A = $dd00 .label CIA2_PORT_A_DDR = $dd02 - .const LIGHT_GREEN = $d .label DTV_FEATURE = $d03f .const DTV_FEATURE_ENABLE = 1 .label DTV_CONTROL = $d03c @@ -7916,14 +8061,14 @@ ASSEMBLER BEFORE OPTIMIZATION .const KEY_CRSR_RIGHT = 2 .const KEY_CRSR_DOWN = 7 .const KEY_RSHIFT = $34 - .const form_fields_cnt = 9 + .const form_fields_cnt = $23 .const FORM_CURSOR_BLINK = $28 .label print_char_cursor = 8 + .label print_line_cursor = $a .label form_cursor_count = 2 .label key_down_debounce = 3 .label form_field_idx = 4 .label key_right_debounce = 5 - .label print_line_cursor = $a //SEG2 @begin bbegin: //SEG3 [1] phi from @begin to @25 [phi:@begin->@25] @@ -7988,7 +8133,6 @@ main: { menu: { .label SCREEN = $8000 .label CHARSET = $9800 - .label c = 6 //SEG29 [11] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) -- _deref_pbuc1=vbuc2 lda #($ffffffff&CHARSET)/$10000 sta DTV_GRAPHICS_VIC_BANK @@ -8035,149 +8179,162 @@ menu: { //SEG45 [23] if((byte) menu::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto menu::@1 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1_from_b1 - //SEG46 [24] phi from menu::@1 to menu::@2 [phi:menu::@1->menu::@2] - b2_from_b1: - //SEG47 [24] phi (byte*) menu::c#2 = (const byte*) COLS#0 [phi:menu::@1->menu::@2#0] -- pbuz1=pbuc1 - lda #COLS - sta c+1 - jmp b2 - //SEG48 [24] phi from menu::@2 to menu::@2 [phi:menu::@2->menu::@2] - b2_from_b2: - //SEG49 [24] phi (byte*) menu::c#2 = (byte*) menu::c#1 [phi:menu::@2->menu::@2#0] -- register_copy - jmp b2 - //SEG50 menu::@2 - b2: - //SEG51 [25] *((byte*) menu::c#2) ← (const byte) LIGHT_GREEN#0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ) -- _deref_pbuz1=vbuc1 - lda #LIGHT_GREEN - ldy #0 - sta (c),y - //SEG52 [26] (byte*) menu::c#1 ← ++ (byte*) menu::c#2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) -- pbuz1=_inc_pbuz1 - inc c - bne !+ - inc c+1 - !: - //SEG53 [27] if((byte*) menu::c#1!=(const byte*) COLS#0+(word/signed word/dword/signed dword) 1000) goto menu::@2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) -- pbuz1_neq_pbuc1_then_la1 - lda c+1 - cmp #>COLS+$3e8 - bne b2_from_b2 - lda c - cmp #print_set_screen] - print_set_screen_from_b10: + //SEG49 [26] call print_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + //SEG50 [167] phi from menu::@8 to print_set_screen [phi:menu::@8->print_set_screen] + print_set_screen_from_b8: + //SEG51 [167] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:menu::@8->print_set_screen#0] -- pbuz1=pbuc1 + lda #COLS + sta print_set_screen.screen+1 jsr print_set_screen - //SEG59 [31] phi from menu::@10 to menu::@17 [phi:menu::@10->menu::@17] - b17_from_b10: - jmp b17 - //SEG60 menu::@17 - b17: - //SEG61 [32] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG62 [157] phi from menu::@17 to print_cls [phi:menu::@17->print_cls] - print_cls_from_b17: + //SEG52 [27] phi from menu::@8 to menu::@15 [phi:menu::@8->menu::@15] + b15_from_b8: + jmp b15 + //SEG53 menu::@15 + b15: + //SEG54 [28] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) jsr print_cls - //SEG63 [33] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] + //SEG55 [29] phi from menu::@15 to menu::@16 [phi:menu::@15->menu::@16] + b16_from_b15: + jmp b16 + //SEG56 menu::@16 + b16: + //SEG57 [30] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG58 [139] phi from menu::@16 to print_str_lines [phi:menu::@16->print_str_lines] + print_str_lines_from_b16: + //SEG59 [139] phi (byte*) print_str_lines::str#5 = (const string) MENU_COLS#0 [phi:menu::@16->print_str_lines#0] -- pbuz1=pbuc1 + lda #MENU_COLS + sta print_str_lines.str+1 + jsr print_str_lines + //SEG60 [31] phi from menu::@16 to menu::@17 [phi:menu::@16->menu::@17] + b17_from_b16: + jmp b17 + //SEG61 menu::@17 + b17: + //SEG62 [32] call print_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + //SEG63 [167] phi from menu::@17 to print_set_screen [phi:menu::@17->print_set_screen] + print_set_screen_from_b17: + //SEG64 [167] phi (byte*) print_set_screen::screen#2 = (const byte*) menu::SCREEN#0 [phi:menu::@17->print_set_screen#0] -- pbuz1=pbuc1 + lda #SCREEN + sta print_set_screen.screen+1 + jsr print_set_screen + //SEG65 [33] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] b18_from_b17: jmp b18 - //SEG64 menu::@18 + //SEG66 menu::@18 b18: - //SEG65 [34] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG66 [137] phi from menu::@18 to print_str_lines [phi:menu::@18->print_str_lines] - print_str_lines_from_b18: - jsr print_str_lines - //SEG67 [35] phi from menu::@18 to menu::@19 [phi:menu::@18->menu::@19] + //SEG67 [34] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + jsr print_cls + //SEG68 [35] phi from menu::@18 to menu::@19 [phi:menu::@18->menu::@19] b19_from_b18: jmp b19 - //SEG68 menu::@19 + //SEG69 menu::@19 b19: - //SEG69 [36] call form_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG70 [127] phi from menu::@19 to form_set_screen [phi:menu::@19->form_set_screen] - form_set_screen_from_b19: - jsr form_set_screen - //SEG71 [37] phi from menu::@19 to menu::@20 [phi:menu::@19->menu::@20] + //SEG70 [36] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG71 [139] phi from menu::@19 to print_str_lines [phi:menu::@19->print_str_lines] + print_str_lines_from_b19: + //SEG72 [139] phi (byte*) print_str_lines::str#5 = (const string) MENU_TEXT#0 [phi:menu::@19->print_str_lines#0] -- pbuz1=pbuc1 + lda #MENU_TEXT + sta print_str_lines.str+1 + jsr print_str_lines + //SEG73 [37] phi from menu::@19 to menu::@20 [phi:menu::@19->menu::@20] b20_from_b19: jmp b20 - //SEG72 menu::@20 + //SEG74 menu::@20 b20: - //SEG73 [38] call form_render_values param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG74 [117] phi from menu::@20 to form_render_values [phi:menu::@20->form_render_values] - form_render_values_from_b20: + //SEG75 [38] call form_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG76 [129] phi from menu::@20 to form_set_screen [phi:menu::@20->form_set_screen] + form_set_screen_from_b20: + jsr form_set_screen + //SEG77 [39] phi from menu::@20 to menu::@21 [phi:menu::@20->menu::@21] + b21_from_b20: + jmp b21 + //SEG78 menu::@21 + b21: + //SEG79 [40] call form_render_values param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG80 [119] phi from menu::@21 to form_render_values [phi:menu::@21->form_render_values] + form_render_values_from_b21: jsr form_render_values - //SEG75 [39] phi from menu::@20 menu::@8 to menu::@3 [phi:menu::@20/menu::@8->menu::@3] - b3_from_b20: - b3_from_b8: - //SEG76 [39] phi (byte) key_right_debounce#11 = (byte) key_right_debounce#1 [phi:menu::@20/menu::@8->menu::@3#0] -- register_copy - //SEG77 [39] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:menu::@20/menu::@8->menu::@3#1] -- register_copy - //SEG78 [39] phi (byte) key_down_debounce#11 = (byte) key_down_debounce#1 [phi:menu::@20/menu::@8->menu::@3#2] -- register_copy - //SEG79 [39] phi (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#1 [phi:menu::@20/menu::@8->menu::@3#3] -- register_copy - jmp b3 - //SEG80 menu::@3 - b3: - //SEG81 [40] if(true) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- true_then_la1 - jmp b6 + //SEG81 [41] phi from menu::@21 menu::@7 to menu::@2 [phi:menu::@21/menu::@7->menu::@2] + b2_from_b21: + b2_from_b7: + //SEG82 [41] phi (byte) key_right_debounce#11 = (byte) key_right_debounce#1 [phi:menu::@21/menu::@7->menu::@2#0] -- register_copy + //SEG83 [41] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:menu::@21/menu::@7->menu::@2#1] -- register_copy + //SEG84 [41] phi (byte) key_down_debounce#11 = (byte) key_down_debounce#1 [phi:menu::@21/menu::@7->menu::@2#2] -- register_copy + //SEG85 [41] phi (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#1 [phi:menu::@21/menu::@7->menu::@2#3] -- register_copy + jmp b2 + //SEG86 menu::@2 + b2: + //SEG87 [42] if(true) goto menu::@5 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- true_then_la1 + jmp b5 jmp breturn - //SEG82 menu::@return + //SEG88 menu::@return breturn: - //SEG83 [41] return [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + //SEG89 [43] return [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) rts - //SEG84 menu::@6 - b6: - //SEG85 [42] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 + //SEG90 menu::@5 + b5: + //SEG91 [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 lda RASTER cmp #$ff - bne b6 - //SEG86 [43] phi from menu::@6 to menu::@8 [phi:menu::@6->menu::@8] - b8_from_b6: - jmp b8 - //SEG87 menu::@8 - b8: - //SEG88 [44] call form_control param-assignment [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + bne b5 + //SEG92 [45] phi from menu::@5 to menu::@7 [phi:menu::@5->menu::@7] + b7_from_b5: + jmp b7 + //SEG93 menu::@7 + b7: + //SEG94 [46] call form_control param-assignment [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) jsr form_control - jmp b3_from_b8 + jmp b2_from_b7 } -//SEG89 form_control +//SEG95 form_control form_control: { .label field = 6 - //SEG90 [45] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#14 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ) -- vbuxx=vbuz1 + //SEG96 [47] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#14 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ) -- vbuxx=vbuz1 ldx form_field_idx - //SEG91 [46] call form_field_ptr param-assignment [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ) - //SEG92 [111] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG97 [48] call form_field_ptr param-assignment [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ) + //SEG98 [113] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - //SEG93 [111] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + //SEG99 [113] 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 - //SEG94 [47] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) + //SEG100 [49] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) // (byte*) form_field_ptr::return#3 = (byte*) form_field_ptr::return#0 // register copy zp ZP_WORD:6 jmp b32 - //SEG95 form_control::@32 + //SEG101 form_control::@32 b32: - //SEG96 [48] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) + //SEG102 [50] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) // (byte*) form_control::field#0 = (byte*) form_field_ptr::return#3 // register copy zp ZP_WORD:6 - //SEG97 [49] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1=_dec_vbsz1 + //SEG103 [51] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG98 [50] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1_ge_0_then_la1 + //SEG104 [52] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b37_from_b32 - //SEG99 [51] phi from form_control::@32 to form_control::@1 [phi:form_control::@32->form_control::@1] + //SEG105 [53] phi from form_control::@32 to form_control::@1 [phi:form_control::@32->form_control::@1] b1_from_b32: - //SEG100 [51] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@32->form_control::@1#0] -- vbsz1=vbsc1 + //SEG106 [53] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@32->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count jmp b1 - //SEG101 form_control::@1 + //SEG107 form_control::@1 b1: - //SEG102 [52] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- vbsz1_ge_vbuc1_then_la1 + //SEG108 [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- vbsz1_ge_vbuc1_then_la1 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -8186,215 +8343,215 @@ form_control: { !: bpl b2 jmp b17 - //SEG103 form_control::@17 + //SEG109 form_control::@17 b17: - //SEG104 [53] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) -- vbuaa=_deref_pbuz1_bor_vbuc1 + //SEG110 [55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) -- vbuaa=_deref_pbuz1_bor_vbuc1 lda #$80 ldy #0 ora (field),y - //SEG105 [54] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuaa + //SEG111 [56] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (field),y - //SEG106 [55] phi from form_control::@17 form_control::@2 to form_control::@3 [phi:form_control::@17/form_control::@2->form_control::@3] + //SEG112 [57] phi from form_control::@17 form_control::@2 to form_control::@3 [phi:form_control::@17/form_control::@2->form_control::@3] b3_from_b17: b3_from_b2: jmp b3 - //SEG107 form_control::@3 + //SEG113 form_control::@3 b3: - //SEG108 [56] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) - //SEG109 [99] phi from form_control::@3 to keyboard_key_pressed [phi:form_control::@3->keyboard_key_pressed] + //SEG114 [58] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) + //SEG115 [101] phi from form_control::@3 to keyboard_key_pressed [phi:form_control::@3->keyboard_key_pressed] keyboard_key_pressed_from_b3: - //SEG110 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_DOWN#0 [phi:form_control::@3->keyboard_key_pressed#0] -- vbuxx=vbuc1 + //SEG116 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_DOWN#0 [phi:form_control::@3->keyboard_key_pressed#0] -- vbuxx=vbuc1 ldx #KEY_CRSR_DOWN jsr keyboard_key_pressed - //SEG111 [57] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) + //SEG117 [59] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) // (byte) keyboard_key_pressed::return#2 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a jmp b33 - //SEG112 form_control::@33 + //SEG118 form_control::@33 b33: - //SEG113 [58] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) + //SEG119 [60] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) // (byte) form_control::key_down#0 = (byte) keyboard_key_pressed::return#2 // register copy reg byte a - //SEG114 [59] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) -- vbuaa_eq_vbuz1_then_la1 + //SEG120 [61] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) -- vbuaa_eq_vbuz1_then_la1 cmp key_down_debounce beq b4_from_b33 jmp b19 - //SEG115 form_control::@19 + //SEG121 form_control::@19 b19: - //SEG116 [60] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) -- vbuz1=vbuaa + //SEG122 [62] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) -- vbuz1=vbuaa sta key_down_debounce - //SEG117 [61] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) -- vbuaa_eq_0_then_la1 + //SEG123 [63] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4_from_b19 jmp b20 - //SEG118 form_control::@20 + //SEG124 form_control::@20 b20: - //SEG119 [62] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG125 [64] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG120 [63] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- _deref_pbuz1=vbuaa + //SEG126 [65] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (field),y - //SEG121 [64] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) - //SEG122 [99] phi from form_control::@20 to keyboard_key_pressed [phi:form_control::@20->keyboard_key_pressed] + //SEG127 [66] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) + //SEG128 [101] phi from form_control::@20 to keyboard_key_pressed [phi:form_control::@20->keyboard_key_pressed] keyboard_key_pressed_from_b20: - //SEG123 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@20->keyboard_key_pressed#0] -- vbuxx=vbuc1 + //SEG129 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@20->keyboard_key_pressed#0] -- vbuxx=vbuc1 ldx #KEY_RSHIFT jsr keyboard_key_pressed - //SEG124 [65] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) + //SEG130 [67] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) // (byte) keyboard_key_pressed::return#4 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a jmp b35 - //SEG125 form_control::@35 + //SEG131 form_control::@35 b35: - //SEG126 [66] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) + //SEG132 [68] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) // (byte~) form_control::$14 = (byte) keyboard_key_pressed::return#4 // register copy reg byte a - //SEG127 [67] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- vbuaa_neq_0_then_la1 + //SEG133 [69] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b6 jmp b21 - //SEG128 form_control::@21 + //SEG134 form_control::@21 b21: - //SEG129 [68] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1=_inc_vbuz1 + //SEG135 [70] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG130 [69] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG136 [71] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #form_fields_cnt bne b38_from_b21 - //SEG131 [70] phi from form_control::@21 to form_control::@8 [phi:form_control::@21->form_control::@8] + //SEG137 [72] phi from form_control::@21 to form_control::@8 [phi:form_control::@21->form_control::@8] b8_from_b21: - //SEG132 [70] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@21->form_control::@8#0] -- vbuz1=vbuc1 + //SEG138 [72] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@21->form_control::@8#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx jmp b8 - //SEG133 form_control::@8 + //SEG139 form_control::@8 b8: - //SEG134 [71] phi from form_control::@8 to form_control::@return [phi:form_control::@8->form_control::@return] + //SEG140 [73] phi from form_control::@8 to form_control::@return [phi:form_control::@8->form_control::@return] breturn_from_b8: - //SEG135 [71] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#11 [phi:form_control::@8->form_control::@return#0] -- register_copy - //SEG136 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@8->form_control::@return#1] -- register_copy - //SEG137 [71] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#23 [phi:form_control::@8->form_control::@return#2] -- register_copy - //SEG138 [71] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@8->form_control::@return#3] -- vbsz1=vbuc1 + //SEG141 [73] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#11 [phi:form_control::@8->form_control::@return#0] -- register_copy + //SEG142 [73] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@8->form_control::@return#1] -- register_copy + //SEG143 [73] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#23 [phi:form_control::@8->form_control::@return#2] -- register_copy + //SEG144 [73] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@8->form_control::@return#3] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count jmp breturn - //SEG139 [71] phi from form_control::@14 form_control::@26 form_control::@34 to form_control::@return [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return] + //SEG145 [73] phi from form_control::@14 form_control::@26 form_control::@34 to form_control::@return [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return] breturn_from_b14: breturn_from_b26: breturn_from_b34: - //SEG140 [71] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#21 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#0] -- register_copy - //SEG141 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#14 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#1] -- register_copy - //SEG142 [71] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#20 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#2] -- register_copy - //SEG143 [71] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#3] -- register_copy + //SEG146 [73] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#21 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#0] -- register_copy + //SEG147 [73] phi (byte) form_field_idx#18 = (byte) form_field_idx#14 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#1] -- register_copy + //SEG148 [73] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#20 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#2] -- register_copy + //SEG149 [73] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#3] -- register_copy jmp breturn - //SEG144 form_control::@return + //SEG150 form_control::@return breturn: - //SEG145 [72] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + //SEG151 [74] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) rts - //SEG146 [73] phi from form_control::@21 to form_control::@38 [phi:form_control::@21->form_control::@38] + //SEG152 [75] phi from form_control::@21 to form_control::@38 [phi:form_control::@21->form_control::@38] b38_from_b21: jmp b38 - //SEG147 form_control::@38 + //SEG153 form_control::@38 b38: - //SEG148 [70] phi from form_control::@38 form_control::@39 to form_control::@8 [phi:form_control::@38/form_control::@39->form_control::@8] + //SEG154 [72] phi from form_control::@38 form_control::@39 to form_control::@8 [phi:form_control::@38/form_control::@39->form_control::@8] b8_from_b38: b8_from_b39: - //SEG149 [70] phi (byte) form_field_idx#32 = (byte) form_field_idx#41 [phi:form_control::@38/form_control::@39->form_control::@8#0] -- register_copy + //SEG155 [72] phi (byte) form_field_idx#32 = (byte) form_field_idx#41 [phi:form_control::@38/form_control::@39->form_control::@8#0] -- register_copy jmp b8 - //SEG150 form_control::@6 + //SEG156 form_control::@6 b6: - //SEG151 [74] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1=_dec_vbuz1 + //SEG157 [76] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG152 [75] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG158 [77] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #$ff bne b39_from_b6 - //SEG153 [70] phi from form_control::@6 to form_control::@8 [phi:form_control::@6->form_control::@8] + //SEG159 [72] phi from form_control::@6 to form_control::@8 [phi:form_control::@6->form_control::@8] b8_from_b6: - //SEG154 [70] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@6->form_control::@8#0] -- vbuz1=vbuc1 + //SEG160 [72] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@6->form_control::@8#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx jmp b8 - //SEG155 [76] phi from form_control::@6 to form_control::@39 [phi:form_control::@6->form_control::@39] + //SEG161 [78] phi from form_control::@6 to form_control::@39 [phi:form_control::@6->form_control::@39] b39_from_b6: jmp b39 - //SEG156 form_control::@39 + //SEG162 form_control::@39 b39: jmp b8_from_b39 - //SEG157 [77] phi from form_control::@19 form_control::@33 to form_control::@4 [phi:form_control::@19/form_control::@33->form_control::@4] + //SEG163 [79] phi from form_control::@19 form_control::@33 to form_control::@4 [phi:form_control::@19/form_control::@33->form_control::@4] b4_from_b19: b4_from_b33: - //SEG158 [77] phi (byte) key_down_debounce#20 = (byte) key_down_debounce#23 [phi:form_control::@19/form_control::@33->form_control::@4#0] -- register_copy + //SEG164 [79] phi (byte) key_down_debounce#20 = (byte) key_down_debounce#23 [phi:form_control::@19/form_control::@33->form_control::@4#0] -- register_copy jmp b4 - //SEG159 form_control::@4 + //SEG165 form_control::@4 b4: - //SEG160 [78] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) - //SEG161 [99] phi from form_control::@4 to keyboard_key_pressed [phi:form_control::@4->keyboard_key_pressed] + //SEG166 [80] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) + //SEG167 [101] phi from form_control::@4 to keyboard_key_pressed [phi:form_control::@4->keyboard_key_pressed] keyboard_key_pressed_from_b4: - //SEG162 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_RIGHT#0 [phi:form_control::@4->keyboard_key_pressed#0] -- vbuxx=vbuc1 + //SEG168 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_RIGHT#0 [phi:form_control::@4->keyboard_key_pressed#0] -- vbuxx=vbuc1 ldx #KEY_CRSR_RIGHT jsr keyboard_key_pressed - //SEG163 [79] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) + //SEG169 [81] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) // (byte) keyboard_key_pressed::return#3 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a jmp b34 - //SEG164 form_control::@34 + //SEG170 form_control::@34 b34: - //SEG165 [80] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) + //SEG171 [82] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) // (byte) form_control::key_right#0 = (byte) keyboard_key_pressed::return#3 // register copy reg byte a - //SEG166 [81] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) -- vbuaa_eq_vbuz1_then_la1 + //SEG172 [83] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) -- vbuaa_eq_vbuz1_then_la1 cmp key_right_debounce beq breturn_from_b34 jmp b26 - //SEG167 form_control::@26 + //SEG173 form_control::@26 b26: - //SEG168 [82] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) -- vbuz1=vbuaa + //SEG174 [84] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) -- vbuz1=vbuaa sta key_right_debounce - //SEG169 [83] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuaa_eq_0_then_la1 + //SEG175 [85] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq breturn_from_b26 - //SEG170 [84] phi from form_control::@26 to form_control::@27 [phi:form_control::@26->form_control::@27] + //SEG176 [86] phi from form_control::@26 to form_control::@27 [phi:form_control::@26->form_control::@27] b27_from_b26: jmp b27 - //SEG171 form_control::@27 + //SEG177 form_control::@27 b27: - //SEG172 [85] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) - //SEG173 [99] phi from form_control::@27 to keyboard_key_pressed [phi:form_control::@27->keyboard_key_pressed] + //SEG178 [87] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) + //SEG179 [101] phi from form_control::@27 to keyboard_key_pressed [phi:form_control::@27->keyboard_key_pressed] keyboard_key_pressed_from_b27: - //SEG174 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@27->keyboard_key_pressed#0] -- vbuxx=vbuc1 + //SEG180 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@27->keyboard_key_pressed#0] -- vbuxx=vbuc1 ldx #KEY_RSHIFT jsr keyboard_key_pressed - //SEG175 [86] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) + //SEG181 [88] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) // (byte) keyboard_key_pressed::return#10 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a jmp b36 - //SEG176 form_control::@36 + //SEG182 form_control::@36 b36: - //SEG177 [87] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) + //SEG183 [89] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) // (byte~) form_control::$28 = (byte) keyboard_key_pressed::return#10 // register copy reg byte a - //SEG178 [88] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuaa_neq_0_then_la1 + //SEG184 [90] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b12 jmp b28 - //SEG179 form_control::@28 + //SEG185 form_control::@28 b28: - //SEG180 [89] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + //SEG186 [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx form_field_idx inc form_fields_val,x - //SEG181 [90] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //SEG187 [92] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b14 beq b14 jmp b29 - //SEG182 form_control::@29 + //SEG188 form_control::@29 b29: - //SEG183 [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG189 [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 ldy form_field_idx lda #0 sta form_fields_val,y jmp b14 - //SEG184 form_control::@14 + //SEG190 form_control::@14 b14: - //SEG185 [92] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG191 [94] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 ldy form_field_idx lda form_fields_val,y tay @@ -8402,106 +8559,106 @@ form_control: { ldy #0 sta (field),y jmp breturn_from_b14 - //SEG186 form_control::@12 + //SEG192 form_control::@12 b12: - //SEG187 [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + //SEG193 [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx form_field_idx lda form_fields_val,x sec sbc #1 ldx form_field_idx sta form_fields_val,x - //SEG188 [94] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG194 [96] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 ldy form_field_idx lda form_fields_val,y cmp #$ff bne b14 jmp b31 - //SEG189 form_control::@31 + //SEG195 form_control::@31 b31: - //SEG190 [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + //SEG196 [97] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy form_field_idx lda form_fields_max,y sta form_fields_val,y jmp b14 - //SEG191 form_control::@2 + //SEG197 form_control::@2 b2: - //SEG192 [96] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG198 [98] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG193 [97] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuaa + //SEG199 [99] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (field),y jmp b3_from_b2 - //SEG194 [98] phi from form_control::@32 to form_control::@37 [phi:form_control::@32->form_control::@37] + //SEG200 [100] phi from form_control::@32 to form_control::@37 [phi:form_control::@32->form_control::@37] b37_from_b32: jmp b37 - //SEG195 form_control::@37 + //SEG201 form_control::@37 b37: - //SEG196 [51] phi from form_control::@37 to form_control::@1 [phi:form_control::@37->form_control::@1] + //SEG202 [53] phi from form_control::@37 to form_control::@1 [phi:form_control::@37->form_control::@1] b1_from_b37: - //SEG197 [51] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@37->form_control::@1#0] -- register_copy + //SEG203 [53] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@37->form_control::@1#0] -- register_copy jmp b1 } -//SEG198 keyboard_key_pressed +//SEG204 keyboard_key_pressed keyboard_key_pressed: { - //SEG199 [100] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) -- vbuyy=vbuxx_band_vbuc1 + //SEG205 [102] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) -- vbuyy=vbuxx_band_vbuc1 txa and #7 tay - //SEG200 [101] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuaa=vbuxx_ror_3 + //SEG206 [103] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuaa=vbuxx_ror_3 txa lsr lsr lsr - //SEG201 [102] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) -- vbuxx=vbuaa + //SEG207 [104] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) -- vbuxx=vbuaa tax - //SEG202 [103] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + //SEG208 [105] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) jsr keyboard_matrix_read - //SEG203 [104] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) + //SEG209 [106] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) // (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#0 // register copy reg byte a jmp b2 - //SEG204 keyboard_key_pressed::@2 + //SEG210 keyboard_key_pressed::@2 b2: - //SEG205 [105] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) + //SEG211 [107] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) // (byte~) keyboard_key_pressed::$2 = (byte) keyboard_matrix_read::return#2 // register copy reg byte a - //SEG206 [106] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy + //SEG212 [108] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy and keyboard_matrix_col_bitmask,y jmp breturn - //SEG207 keyboard_key_pressed::@return + //SEG213 keyboard_key_pressed::@return breturn: - //SEG208 [107] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) + //SEG214 [109] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) rts } -//SEG209 keyboard_matrix_read +//SEG215 keyboard_matrix_read keyboard_matrix_read: { - //SEG210 [108] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuxx + //SEG216 [110] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuxx lda keyboard_matrix_row_bitmask,x sta CIA1_PORT_A - //SEG211 [109] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuaa=_bnot__deref_pbuc1 + //SEG217 [111] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuaa=_bnot__deref_pbuc1 lda CIA1_PORT_B eor #$ff jmp breturn - //SEG212 keyboard_matrix_read::@return + //SEG218 keyboard_matrix_read::@return breturn: - //SEG213 [110] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + //SEG219 [112] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) rts } -//SEG214 form_field_ptr +//SEG220 form_field_ptr form_field_ptr: { .label return = 6 .label _2 = 6 - //SEG215 [112] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) -- vbuyy=pbuc1_derefidx_vbuxx + //SEG221 [114] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) -- vbuyy=pbuc1_derefidx_vbuxx ldy form_fields_y,x - //SEG216 [113] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + //SEG222 [115] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy lda form_line_hi,y sta _2+1 lda form_line_lo,y sta _2 - //SEG217 [114] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) -- vbuaa=pbuc1_derefidx_vbuxx + //SEG223 [116] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) -- vbuaa=pbuc1_derefidx_vbuxx lda form_fields_x,x - //SEG218 [115] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) -- pbuz1=pbuz1_plus_vbuaa + //SEG224 [117] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) -- pbuz1=pbuz1_plus_vbuaa clc adc return sta return @@ -8509,85 +8666,85 @@ form_field_ptr: { adc return+1 sta return+1 jmp breturn - //SEG219 form_field_ptr::@return + //SEG225 form_field_ptr::@return breturn: - //SEG220 [116] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) + //SEG226 [118] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) rts } -//SEG221 form_render_values +//SEG227 form_render_values form_render_values: { .label field = 6 - //SEG222 [118] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + //SEG228 [120] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] b1_from_form_render_values: - //SEG223 [118] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 + //SEG229 [120] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 ldx #0 jmp b1 - //SEG224 [118] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + //SEG230 [120] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] b1_from_b3: - //SEG225 [118] 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 + //SEG231 [120] 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 - //SEG226 form_render_values::@1 + //SEG232 form_render_values::@1 b1: - //SEG227 [119] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) + //SEG233 [121] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) // (byte) form_field_ptr::field_idx#0 = (byte) form_render_values::idx#2 // register copy reg byte x - //SEG228 [120] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) - //SEG229 [111] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //SEG234 [122] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) + //SEG235 [113] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] form_field_ptr_from_b1: - //SEG230 [111] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy + //SEG236 [113] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG231 [121] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) + //SEG237 [123] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) // (byte*) form_field_ptr::return#2 = (byte*) form_field_ptr::return#0 // register copy zp ZP_WORD:6 jmp b3 - //SEG232 form_render_values::@3 + //SEG238 form_render_values::@3 b3: - //SEG233 [122] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) + //SEG239 [124] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) // (byte*) form_render_values::field#0 = (byte*) form_field_ptr::return#2 // register copy zp ZP_WORD:6 - //SEG234 [123] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuxx + //SEG240 [125] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuxx lda form_fields_val,x tay lda print_hextab,y ldy #0 sta (field),y - //SEG235 [124] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuxx=_inc_vbuxx + //SEG241 [126] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG236 [125] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 + //SEG242 [127] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 cpx #form_fields_cnt bcc b1_from_b3 jmp breturn - //SEG237 form_render_values::@return + //SEG243 form_render_values::@return breturn: - //SEG238 [126] return [ ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG244 [128] return [ ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) rts } -//SEG239 form_set_screen +//SEG245 form_set_screen form_set_screen: { .label line = 6 - //SEG240 [128] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + //SEG246 [130] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] b1_from_form_set_screen: - //SEG241 [128] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 + //SEG247 [130] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG242 [128] phi (byte*) form_set_screen::line#2 = (const byte*) menu::SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + //SEG248 [130] phi (byte*) form_set_screen::line#2 = (const byte*) menu::SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 lda #menu.SCREEN sta line+1 jmp b1 - //SEG243 [128] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG249 [130] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] b1_from_b1: - //SEG244 [128] 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 - //SEG245 [128] 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 + //SEG250 [130] 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 + //SEG251 [130] 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 - //SEG246 form_set_screen::@1 + //SEG252 form_set_screen::@1 b1: - //SEG247 [129] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) -- vbuaa=_lo_pbuz1 + //SEG253 [131] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) -- vbuaa=_lo_pbuz1 lda line - //SEG248 [130] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG254 [132] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_lo,x - //SEG249 [131] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) -- vbuaa=_hi_pbuz1 + //SEG255 [133] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) -- vbuaa=_hi_pbuz1 lda line+1 - //SEG250 [132] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG256 [134] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_hi,x - //SEG251 [133] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG257 [135] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line clc adc #$28 @@ -8595,121 +8752,110 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG252 [134] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuxx=_inc_vbuxx + //SEG258 [136] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG253 [135] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG259 [137] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$19 bne b1_from_b1 jmp breturn - //SEG254 form_set_screen::@return + //SEG260 form_set_screen::@return breturn: - //SEG255 [136] return [ ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG261 [138] return [ ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) rts } -//SEG256 print_str_lines +//SEG262 print_str_lines print_str_lines: { .label str = 6 - //SEG257 [138] phi from print_str_lines to print_str_lines::@1 [phi:print_str_lines->print_str_lines::@1] - b1_from_print_str_lines: - //SEG258 [138] phi (byte*) print_line_cursor#17 = (const byte*) menu::SCREEN#0 [phi:print_str_lines->print_str_lines::@1#0] -- pbuz1=pbuc1 - lda #menu.SCREEN - sta print_line_cursor+1 - //SEG259 [138] phi (byte*) print_char_cursor#19 = (const byte*) menu::SCREEN#0 [phi:print_str_lines->print_str_lines::@1#1] -- pbuz1=pbuc1 - lda #menu.SCREEN + lda print_set_screen.screen+1 sta print_char_cursor+1 - //SEG260 [138] phi (byte*) print_str_lines::str#2 = (const string) MENU_TEXT#0 [phi:print_str_lines->print_str_lines::@1#2] -- pbuz1=pbuc1 - lda #MENU_TEXT - sta str+1 + //SEG264 [141] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] + b1_from_print_str_lines: + b1_from_b9: + //SEG265 [141] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy + //SEG266 [141] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#63 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy + //SEG267 [141] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy jmp b1 - //SEG261 print_str_lines::@1 + //SEG268 print_str_lines::@1 b1: - //SEG262 [139] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG269 [142] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4_from_b1 jmp breturn - //SEG263 print_str_lines::@return + //SEG270 print_str_lines::@return breturn: - //SEG264 [140] return [ ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG271 [143] return [ ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) rts - //SEG265 [141] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG272 [144] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] b4_from_b1: b4_from_b5: - //SEG266 [141] phi (byte*) print_char_cursor#17 = (byte*) print_char_cursor#19 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG267 [141] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#2 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG273 [144] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy + //SEG274 [144] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy jmp b4 - //SEG268 print_str_lines::@4 + //SEG275 print_str_lines::@4 b4: - //SEG269 [142] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa=_deref_pbuz1 + //SEG276 [145] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG270 [143] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 + //SEG277 [146] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG271 [144] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa_eq_vbuc1_then_la1 + //SEG278 [147] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b5_from_b4 jmp b8 - //SEG272 print_str_lines::@8 + //SEG279 print_str_lines::@8 b8: - //SEG273 [145] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuaa + //SEG280 [148] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG274 [146] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG281 [149] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 [ print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG275 [147] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG282 [150] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] b5_from_b4: b5_from_b8: - //SEG276 [147] phi (byte*) print_char_cursor#32 = (byte*) print_char_cursor#17 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG283 [150] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy jmp b5 - //SEG277 print_str_lines::@5 + //SEG284 print_str_lines::@5 b5: - //SEG278 [148] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG285 [151] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b4_from_b5 - //SEG279 [149] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG286 [152] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] b9_from_b5: jmp b9 - //SEG280 print_str_lines::@9 + //SEG287 print_str_lines::@9 b9: - //SEG281 [150] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) - //SEG282 [152] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG288 [153] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) + //SEG289 [155] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] print_ln_from_b9: jsr print_ln - //SEG283 [151] (byte*~) print_char_cursor#59 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ) -- pbuz1=pbuz2 + //SEG290 [154] (byte*~) print_char_cursor#64 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG284 [138] phi from print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines::@9->print_str_lines::@1] - b1_from_b9: - //SEG285 [138] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#19 [phi:print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG286 [138] phi (byte*) print_char_cursor#19 = (byte*~) print_char_cursor#59 [phi:print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG287 [138] phi (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#0 [phi:print_str_lines::@9->print_str_lines::@1#2] -- register_copy - jmp b1 + jmp b1_from_b9 } -//SEG288 print_ln +//SEG291 print_ln print_ln: { - //SEG289 [153] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG292 [156] 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: - //SEG290 [153] phi (byte*) print_line_cursor#18 = (byte*) print_line_cursor#17 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG293 [156] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG291 print_ln::@1 + //SEG294 print_ln::@1 b1: - //SEG292 [154] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG295 [157] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -8717,7 +8863,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG293 [155] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG296 [158] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -8727,56 +8873,64 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG294 print_ln::@return + //SEG297 print_ln::@return breturn: - //SEG295 [156] return [ print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) + //SEG298 [159] return [ print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) rts } -//SEG296 print_cls +//SEG299 print_cls print_cls: { + .label _0 = 8 .label sc = 6 - //SEG297 [158] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] - b1_from_print_cls: - //SEG298 [158] phi (byte*) print_cls::sc#2 = (const byte*) menu::SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 - lda #menu.SCREEN + lda print_set_screen.screen+1 sta sc+1 - jmp b1 - //SEG299 [158] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] + //SEG301 [161] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] + b1_from_print_cls: b1_from_b1: - //SEG300 [158] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy + //SEG302 [161] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy jmp b1 - //SEG301 print_cls::@1 + //SEG303 print_cls::@1 b1: - //SEG302 [159] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG304 [162] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG303 [160] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG305 [163] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG304 [161] if((byte*) print_cls::sc#1!=(const byte*) menu::SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG306 [164] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) -- pbuz1=pbuz2_plus_vwuc1 + lda print_set_screen.screen + clc + adc #<$3e8 + sta _0 + lda print_set_screen.screen+1 + adc #>$3e8 + sta _0+1 + //SEG307 [165] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) -- pbuz1_neq_pbuz2_then_la1 lda sc+1 - cmp #>menu.SCREEN+$3e8 + cmp _0+1 bne b1_from_b1 lda sc - cmp #@25] //SEG4 @25 @@ -9417,7 +9579,6 @@ main: { menu: { .label SCREEN = $8000 .label CHARSET = $9800 - .label c = 6 //SEG29 [11] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) -- _deref_pbuc1=vbuc2 lda #($ffffffff&CHARSET)/$10000 sta DTV_GRAPHICS_VIC_BANK @@ -9459,109 +9620,116 @@ menu: { //SEG45 [23] if((byte) menu::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto menu::@1 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::i#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$10 bne b1 - //SEG46 [24] phi from menu::@1 to menu::@2 [phi:menu::@1->menu::@2] - //SEG47 [24] phi (byte*) menu::c#2 = (const byte*) COLS#0 [phi:menu::@1->menu::@2#0] -- pbuz1=pbuc1 - lda #COLS - sta c+1 - //SEG48 [24] phi from menu::@2 to menu::@2 [phi:menu::@2->menu::@2] - //SEG49 [24] phi (byte*) menu::c#2 = (byte*) menu::c#1 [phi:menu::@2->menu::@2#0] -- register_copy - //SEG50 menu::@2 - b2: - //SEG51 [25] *((byte*) menu::c#2) ← (const byte) LIGHT_GREEN#0 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#2 ] ) -- _deref_pbuz1=vbuc1 - lda #LIGHT_GREEN - ldy #0 - sta (c),y - //SEG52 [26] (byte*) menu::c#1 ← ++ (byte*) menu::c#2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) -- pbuz1=_inc_pbuz1 - inc c - bne !+ - inc c+1 - !: - //SEG53 [27] if((byte*) menu::c#1!=(const byte*) COLS#0+(word/signed word/dword/signed dword) 1000) goto menu::@2 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 menu::c#1 ] ) -- pbuz1_neq_pbuc1_then_la1 - lda c+1 - cmp #>COLS+$3e8 - bne b2 - lda c - cmp #print_set_screen] + //SEG49 [26] call print_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + //SEG50 [167] phi from menu::@8 to print_set_screen [phi:menu::@8->print_set_screen] + //SEG51 [167] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:menu::@8->print_set_screen#0] -- pbuz1=pbuc1 + lda #COLS + sta print_set_screen.screen+1 jsr print_set_screen - //SEG59 [31] phi from menu::@10 to menu::@17 [phi:menu::@10->menu::@17] - //SEG60 menu::@17 - //SEG61 [32] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG62 [157] phi from menu::@17 to print_cls [phi:menu::@17->print_cls] + //SEG52 [27] phi from menu::@8 to menu::@15 [phi:menu::@8->menu::@15] + //SEG53 menu::@15 + //SEG54 [28] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) jsr print_cls - //SEG63 [33] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] - //SEG64 menu::@18 - //SEG65 [34] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG66 [137] phi from menu::@18 to print_str_lines [phi:menu::@18->print_str_lines] + //SEG55 [29] phi from menu::@15 to menu::@16 [phi:menu::@15->menu::@16] + //SEG56 menu::@16 + //SEG57 [30] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG58 [139] phi from menu::@16 to print_str_lines [phi:menu::@16->print_str_lines] + //SEG59 [139] phi (byte*) print_str_lines::str#5 = (const string) MENU_COLS#0 [phi:menu::@16->print_str_lines#0] -- pbuz1=pbuc1 + lda #MENU_COLS + sta print_str_lines.str+1 jsr print_str_lines - //SEG67 [35] phi from menu::@18 to menu::@19 [phi:menu::@18->menu::@19] - //SEG68 menu::@19 - //SEG69 [36] call form_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG70 [127] phi from menu::@19 to form_set_screen [phi:menu::@19->form_set_screen] + //SEG60 [31] phi from menu::@16 to menu::@17 [phi:menu::@16->menu::@17] + //SEG61 menu::@17 + //SEG62 [32] call print_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + //SEG63 [167] phi from menu::@17 to print_set_screen [phi:menu::@17->print_set_screen] + //SEG64 [167] phi (byte*) print_set_screen::screen#2 = (const byte*) menu::SCREEN#0 [phi:menu::@17->print_set_screen#0] -- pbuz1=pbuc1 + lda #SCREEN + sta print_set_screen.screen+1 + jsr print_set_screen + //SEG65 [33] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] + //SEG66 menu::@18 + //SEG67 [34] call print_cls param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 ] ) + jsr print_cls + //SEG68 [35] phi from menu::@18 to menu::@19 [phi:menu::@18->menu::@19] + //SEG69 menu::@19 + //SEG70 [36] call print_str_lines param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG71 [139] phi from menu::@19 to print_str_lines [phi:menu::@19->print_str_lines] + //SEG72 [139] phi (byte*) print_str_lines::str#5 = (const string) MENU_TEXT#0 [phi:menu::@19->print_str_lines#0] -- pbuz1=pbuc1 + lda #MENU_TEXT + sta print_str_lines.str+1 + jsr print_str_lines + //SEG73 [37] phi from menu::@19 to menu::@20 [phi:menu::@19->menu::@20] + //SEG74 menu::@20 + //SEG75 [38] call form_set_screen param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG76 [129] phi from menu::@20 to form_set_screen [phi:menu::@20->form_set_screen] jsr form_set_screen - //SEG71 [37] phi from menu::@19 to menu::@20 [phi:menu::@19->menu::@20] - //SEG72 menu::@20 - //SEG73 [38] call form_render_values param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) - //SEG74 [117] phi from menu::@20 to form_render_values [phi:menu::@20->form_render_values] + //SEG77 [39] phi from menu::@20 to menu::@21 [phi:menu::@20->menu::@21] + //SEG78 menu::@21 + //SEG79 [40] call form_render_values param-assignment [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ( main:2::menu:10 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG80 [119] phi from menu::@21 to form_render_values [phi:menu::@21->form_render_values] jsr form_render_values - //SEG75 [39] phi from menu::@20 menu::@8 to menu::@3 [phi:menu::@20/menu::@8->menu::@3] - //SEG76 [39] phi (byte) key_right_debounce#11 = (byte) key_right_debounce#1 [phi:menu::@20/menu::@8->menu::@3#0] -- register_copy - //SEG77 [39] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:menu::@20/menu::@8->menu::@3#1] -- register_copy - //SEG78 [39] phi (byte) key_down_debounce#11 = (byte) key_down_debounce#1 [phi:menu::@20/menu::@8->menu::@3#2] -- register_copy - //SEG79 [39] phi (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#1 [phi:menu::@20/menu::@8->menu::@3#3] -- register_copy - //SEG80 menu::@3 - //SEG81 [40] if(true) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- true_then_la1 - //SEG82 menu::@return - //SEG83 [41] return [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) - //SEG84 menu::@6 - b6: - //SEG85 [42] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@6 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 + //SEG81 [41] phi from menu::@21 menu::@7 to menu::@2 [phi:menu::@21/menu::@7->menu::@2] + //SEG82 [41] phi (byte) key_right_debounce#11 = (byte) key_right_debounce#1 [phi:menu::@21/menu::@7->menu::@2#0] -- register_copy + //SEG83 [41] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:menu::@21/menu::@7->menu::@2#1] -- register_copy + //SEG84 [41] phi (byte) key_down_debounce#11 = (byte) key_down_debounce#1 [phi:menu::@21/menu::@7->menu::@2#2] -- register_copy + //SEG85 [41] phi (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#1 [phi:menu::@21/menu::@7->menu::@2#3] -- register_copy + //SEG86 menu::@2 + //SEG87 [42] if(true) goto menu::@5 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- true_then_la1 + //SEG88 menu::@return + //SEG89 [43] return [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) + //SEG90 menu::@5 + b5: + //SEG91 [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ( main:2::menu:10 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 lda RASTER cmp #$ff - bne b6 - //SEG86 [43] phi from menu::@6 to menu::@8 [phi:menu::@6->menu::@8] - //SEG87 menu::@8 - //SEG88 [44] call form_control param-assignment [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + bne b5 + //SEG92 [45] phi from menu::@5 to menu::@7 [phi:menu::@5->menu::@7] + //SEG93 menu::@7 + //SEG94 [46] call form_control param-assignment [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) jsr form_control - jmp b6 + jmp b5 } -//SEG89 form_control +//SEG95 form_control form_control: { .label field = 6 - //SEG90 [45] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#14 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ) -- vbuxx=vbuz1 + //SEG96 [47] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#14 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#1 ] ) -- vbuxx=vbuz1 ldx form_field_idx - //SEG91 [46] call form_field_ptr param-assignment [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ) - //SEG92 [111] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] - //SEG93 [111] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + //SEG97 [48] call form_field_ptr param-assignment [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] ) + //SEG98 [113] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG99 [113] 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 - //SEG94 [47] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) + //SEG100 [49] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#3 ] ) // (byte*) form_field_ptr::return#3 = (byte*) form_field_ptr::return#0 // register copy zp ZP_WORD:6 - //SEG95 form_control::@32 - //SEG96 [48] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) + //SEG101 form_control::@32 + //SEG102 [50] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 ] ) // (byte*) form_control::field#0 = (byte*) form_field_ptr::return#3 // register copy zp ZP_WORD:6 - //SEG97 [49] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1=_dec_vbsz1 + //SEG103 [51] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG98 [50] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1_ge_0_then_la1 + //SEG104 [52] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@37 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#5 ] ) -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b1 - //SEG99 [51] phi from form_control::@32 to form_control::@1 [phi:form_control::@32->form_control::@1] - //SEG100 [51] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@32->form_control::@1#0] -- vbsz1=vbsc1 + //SEG105 [53] phi from form_control::@32 to form_control::@1 [phi:form_control::@32->form_control::@1] + //SEG106 [53] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@32->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count - //SEG101 form_control::@1 + //SEG107 form_control::@1 b1: - //SEG102 [52] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- vbsz1_ge_vbuc1_then_la1 + //SEG108 [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- vbsz1_ge_vbuc1_then_la1 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -9571,158 +9739,158 @@ form_control: { bmi !b2+ jmp b2 !b2: - //SEG103 form_control::@17 - //SEG104 [53] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) -- vbuaa=_deref_pbuz1_bor_vbuc1 + //SEG109 form_control::@17 + //SEG110 [55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$6 ] ) -- vbuaa=_deref_pbuz1_bor_vbuc1 lda #$80 ldy #0 ora (field),y - //SEG105 [54] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuaa + //SEG111 [56] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuaa sta (field),y - //SEG106 [55] phi from form_control::@17 form_control::@2 to form_control::@3 [phi:form_control::@17/form_control::@2->form_control::@3] - //SEG107 form_control::@3 + //SEG112 [57] phi from form_control::@17 form_control::@2 to form_control::@3 [phi:form_control::@17/form_control::@2->form_control::@3] + //SEG113 form_control::@3 b3: - //SEG108 [56] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) - //SEG109 [99] phi from form_control::@3 to keyboard_key_pressed [phi:form_control::@3->keyboard_key_pressed] - //SEG110 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_DOWN#0 [phi:form_control::@3->keyboard_key_pressed#0] -- vbuxx=vbuc1 + //SEG114 [58] call keyboard_key_pressed param-assignment [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] ) + //SEG115 [101] phi from form_control::@3 to keyboard_key_pressed [phi:form_control::@3->keyboard_key_pressed] + //SEG116 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_DOWN#0 [phi:form_control::@3->keyboard_key_pressed#0] -- vbuxx=vbuc1 ldx #KEY_CRSR_DOWN jsr keyboard_key_pressed - //SEG111 [57] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) + //SEG117 [59] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#2 ] ) // (byte) keyboard_key_pressed::return#2 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a - //SEG112 form_control::@33 - //SEG113 [58] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) + //SEG118 form_control::@33 + //SEG119 [60] (byte) form_control::key_down#0 ← (byte) keyboard_key_pressed::return#2 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) // (byte) form_control::key_down#0 = (byte) keyboard_key_pressed::return#2 // register copy reg byte a - //SEG114 [59] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) -- vbuaa_eq_vbuz1_then_la1 + //SEG120 [61] if((byte) form_control::key_down#0==(byte) key_down_debounce#11) goto form_control::@4 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 ] ) -- vbuaa_eq_vbuz1_then_la1 cmp key_down_debounce beq b4 - //SEG115 form_control::@19 - //SEG116 [60] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) -- vbuz1=vbuaa + //SEG121 form_control::@19 + //SEG122 [62] (byte) key_down_debounce#23 ← (byte) form_control::key_down#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::key_down#0 key_down_debounce#23 ] ) -- vbuz1=vbuaa sta key_down_debounce - //SEG117 [61] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) -- vbuaa_eq_0_then_la1 + //SEG123 [63] if((byte) form_control::key_down#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@4 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#23 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4 - //SEG118 form_control::@20 - //SEG119 [62] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG124 form_control::@20 + //SEG125 [64] (byte~) form_control::$13 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 key_down_debounce#23 form_control::$13 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG120 [63] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- _deref_pbuz1=vbuaa + //SEG126 [65] *((byte*) form_control::field#0) ← (byte~) form_control::$13 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- _deref_pbuz1=vbuaa sta (field),y - //SEG121 [64] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) - //SEG122 [99] phi from form_control::@20 to keyboard_key_pressed [phi:form_control::@20->keyboard_key_pressed] - //SEG123 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@20->keyboard_key_pressed#0] -- vbuxx=vbuc1 + //SEG127 [66] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 keyboard_key_pressed::return#0 key_down_debounce#23 ] ) + //SEG128 [101] phi from form_control::@20 to keyboard_key_pressed [phi:form_control::@20->keyboard_key_pressed] + //SEG129 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@20->keyboard_key_pressed#0] -- vbuxx=vbuc1 ldx #KEY_RSHIFT jsr keyboard_key_pressed - //SEG124 [65] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) + //SEG130 [67] (byte) keyboard_key_pressed::return#4 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#4 ] ) // (byte) keyboard_key_pressed::return#4 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a - //SEG125 form_control::@35 - //SEG126 [66] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) + //SEG131 form_control::@35 + //SEG132 [68] (byte~) form_control::$14 ← (byte) keyboard_key_pressed::return#4 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 form_control::$14 ] ) // (byte~) form_control::$14 = (byte) keyboard_key_pressed::return#4 // register copy reg byte a - //SEG127 [67] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- vbuaa_neq_0_then_la1 + //SEG133 [69] if((byte~) form_control::$14!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@6 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b6 - //SEG128 form_control::@21 - //SEG129 [68] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1=_inc_vbuz1 + //SEG134 form_control::@21 + //SEG135 [70] (byte) form_field_idx#41 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG130 [69] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG136 [71] if((byte) form_field_idx#41!=(const byte) form_fields_cnt#0) goto form_control::@38 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#41 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #form_fields_cnt bne b8 - //SEG131 [70] phi from form_control::@21 to form_control::@8 [phi:form_control::@21->form_control::@8] - //SEG132 [70] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@21->form_control::@8#0] -- vbuz1=vbuc1 + //SEG137 [72] phi from form_control::@21 to form_control::@8 [phi:form_control::@21->form_control::@8] + //SEG138 [72] phi (byte) form_field_idx#32 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@21->form_control::@8#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx - //SEG133 form_control::@8 + //SEG139 form_control::@8 b8: - //SEG134 [71] phi from form_control::@8 to form_control::@return [phi:form_control::@8->form_control::@return] - //SEG135 [71] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#11 [phi:form_control::@8->form_control::@return#0] -- register_copy - //SEG136 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@8->form_control::@return#1] -- register_copy - //SEG137 [71] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#23 [phi:form_control::@8->form_control::@return#2] -- register_copy - //SEG138 [71] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@8->form_control::@return#3] -- vbsz1=vbuc1 + //SEG140 [73] phi from form_control::@8 to form_control::@return [phi:form_control::@8->form_control::@return] + //SEG141 [73] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#11 [phi:form_control::@8->form_control::@return#0] -- register_copy + //SEG142 [73] phi (byte) form_field_idx#18 = (byte) form_field_idx#32 [phi:form_control::@8->form_control::@return#1] -- register_copy + //SEG143 [73] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#23 [phi:form_control::@8->form_control::@return#2] -- register_copy + //SEG144 [73] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@8->form_control::@return#3] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count - //SEG139 [71] phi from form_control::@14 form_control::@26 form_control::@34 to form_control::@return [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return] - //SEG140 [71] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#21 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#0] -- register_copy - //SEG141 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#14 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#1] -- register_copy - //SEG142 [71] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#20 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#2] -- register_copy - //SEG143 [71] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#3] -- register_copy - //SEG144 form_control::@return + //SEG145 [73] phi from form_control::@14 form_control::@26 form_control::@34 to form_control::@return [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return] + //SEG146 [73] phi (byte) key_right_debounce#13 = (byte) key_right_debounce#21 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#0] -- register_copy + //SEG147 [73] phi (byte) form_field_idx#18 = (byte) form_field_idx#14 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#1] -- register_copy + //SEG148 [73] phi (byte) key_down_debounce#13 = (byte) key_down_debounce#20 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#2] -- register_copy + //SEG149 [73] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@14/form_control::@26/form_control::@34->form_control::@return#3] -- register_copy + //SEG150 form_control::@return breturn: - //SEG145 [72] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:44 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) + //SEG151 [74] return [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 key_down_debounce#13 form_field_idx#18 key_right_debounce#13 ] ) rts - //SEG146 [73] phi from form_control::@21 to form_control::@38 [phi:form_control::@21->form_control::@38] - //SEG147 form_control::@38 - //SEG148 [70] phi from form_control::@38 form_control::@39 to form_control::@8 [phi:form_control::@38/form_control::@39->form_control::@8] - //SEG149 [70] phi (byte) form_field_idx#32 = (byte) form_field_idx#41 [phi:form_control::@38/form_control::@39->form_control::@8#0] -- register_copy - //SEG150 form_control::@6 + //SEG152 [75] phi from form_control::@21 to form_control::@38 [phi:form_control::@21->form_control::@38] + //SEG153 form_control::@38 + //SEG154 [72] phi from form_control::@38 form_control::@39 to form_control::@8 [phi:form_control::@38/form_control::@39->form_control::@8] + //SEG155 [72] phi (byte) form_field_idx#32 = (byte) form_field_idx#41 [phi:form_control::@38/form_control::@39->form_control::@8#0] -- register_copy + //SEG156 form_control::@6 b6: - //SEG151 [74] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1=_dec_vbuz1 + //SEG157 [76] (byte) form_field_idx#42 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG152 [75] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG158 [77] if((byte) form_field_idx#42!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@39 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ( main:2::menu:10::form_control:46 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#42 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #$ff bne b8 - //SEG153 [70] phi from form_control::@6 to form_control::@8 [phi:form_control::@6->form_control::@8] - //SEG154 [70] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@6->form_control::@8#0] -- vbuz1=vbuc1 + //SEG159 [72] phi from form_control::@6 to form_control::@8 [phi:form_control::@6->form_control::@8] + //SEG160 [72] phi (byte) form_field_idx#32 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@6->form_control::@8#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx jmp b8 - //SEG155 [76] phi from form_control::@6 to form_control::@39 [phi:form_control::@6->form_control::@39] - //SEG156 form_control::@39 - //SEG157 [77] phi from form_control::@19 form_control::@33 to form_control::@4 [phi:form_control::@19/form_control::@33->form_control::@4] - //SEG158 [77] phi (byte) key_down_debounce#20 = (byte) key_down_debounce#23 [phi:form_control::@19/form_control::@33->form_control::@4#0] -- register_copy - //SEG159 form_control::@4 + //SEG161 [78] phi from form_control::@6 to form_control::@39 [phi:form_control::@6->form_control::@39] + //SEG162 form_control::@39 + //SEG163 [79] phi from form_control::@19 form_control::@33 to form_control::@4 [phi:form_control::@19/form_control::@33->form_control::@4] + //SEG164 [79] phi (byte) key_down_debounce#20 = (byte) key_down_debounce#23 [phi:form_control::@19/form_control::@33->form_control::@4#0] -- register_copy + //SEG165 form_control::@4 b4: - //SEG160 [78] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) - //SEG161 [99] phi from form_control::@4 to keyboard_key_pressed [phi:form_control::@4->keyboard_key_pressed] - //SEG162 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_RIGHT#0 [phi:form_control::@4->keyboard_key_pressed#0] -- vbuxx=vbuc1 + //SEG166 [80] call keyboard_key_pressed param-assignment [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 ] ) + //SEG167 [101] phi from form_control::@4 to keyboard_key_pressed [phi:form_control::@4->keyboard_key_pressed] + //SEG168 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_CRSR_RIGHT#0 [phi:form_control::@4->keyboard_key_pressed#0] -- vbuxx=vbuc1 ldx #KEY_CRSR_RIGHT jsr keyboard_key_pressed - //SEG163 [79] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) + //SEG169 [81] (byte) keyboard_key_pressed::return#3 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#3 ] ) // (byte) keyboard_key_pressed::return#3 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a - //SEG164 form_control::@34 - //SEG165 [80] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) + //SEG170 form_control::@34 + //SEG171 [82] (byte) form_control::key_right#0 ← (byte) keyboard_key_pressed::return#3 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) // (byte) form_control::key_right#0 = (byte) keyboard_key_pressed::return#3 // register copy reg byte a - //SEG166 [81] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) -- vbuaa_eq_vbuz1_then_la1 + //SEG172 [83] if((byte) form_control::key_right#0==(byte) key_right_debounce#11) goto form_control::@return [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 form_control::key_right#0 ] ) -- vbuaa_eq_vbuz1_then_la1 cmp key_right_debounce beq breturn - //SEG167 form_control::@26 - //SEG168 [82] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) -- vbuz1=vbuaa + //SEG173 form_control::@26 + //SEG174 [84] (byte) key_right_debounce#21 ← (byte) form_control::key_right#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::key_right#0 ] ) -- vbuz1=vbuaa sta key_right_debounce - //SEG169 [83] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuaa_eq_0_then_la1 + //SEG175 [85] if((byte) form_control::key_right#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@return [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq breturn - //SEG170 [84] phi from form_control::@26 to form_control::@27 [phi:form_control::@26->form_control::@27] - //SEG171 form_control::@27 - //SEG172 [85] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) - //SEG173 [99] phi from form_control::@27 to keyboard_key_pressed [phi:form_control::@27->keyboard_key_pressed] - //SEG174 [99] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@27->keyboard_key_pressed#0] -- vbuxx=vbuc1 + //SEG176 [86] phi from form_control::@26 to form_control::@27 [phi:form_control::@26->form_control::@27] + //SEG177 form_control::@27 + //SEG178 [87] call keyboard_key_pressed param-assignment [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 key_down_debounce#20 key_right_debounce#21 ] ) + //SEG179 [101] phi from form_control::@27 to keyboard_key_pressed [phi:form_control::@27->keyboard_key_pressed] + //SEG180 [101] phi (byte) keyboard_key_pressed::key#4 = (const byte) KEY_RSHIFT#0 [phi:form_control::@27->keyboard_key_pressed#0] -- vbuxx=vbuc1 ldx #KEY_RSHIFT jsr keyboard_key_pressed - //SEG175 [86] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) + //SEG181 [88] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#10 ] ) // (byte) keyboard_key_pressed::return#10 = (byte) keyboard_key_pressed::return#0 // register copy reg byte a - //SEG176 form_control::@36 - //SEG177 [87] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) + //SEG182 form_control::@36 + //SEG183 [89] (byte~) form_control::$28 ← (byte) keyboard_key_pressed::return#10 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$28 ] ) // (byte~) form_control::$28 = (byte) keyboard_key_pressed::return#10 // register copy reg byte a - //SEG178 [88] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuaa_neq_0_then_la1 + //SEG184 [90] if((byte~) form_control::$28!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@12 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b12 - //SEG179 form_control::@28 - //SEG180 [89] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + //SEG185 form_control::@28 + //SEG186 [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx form_field_idx inc form_fields_val,x - //SEG181 [90] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //SEG187 [92] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b14 beq b14 - //SEG182 form_control::@29 - //SEG183 [91] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG188 form_control::@29 + //SEG189 [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 sta form_fields_val,y - //SEG184 form_control::@14 + //SEG190 form_control::@14 b14: - //SEG185 [92] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG191 [94] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)) [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 ldy form_field_idx lda form_fields_val,y tay @@ -9730,161 +9898,161 @@ form_control: { ldy #0 sta (field),y jmp breturn - //SEG186 form_control::@12 + //SEG192 form_control::@12 b12: - //SEG187 [93] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + //SEG193 [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx form_field_idx lda form_fields_val,x sec sbc #1 sta form_fields_val,x - //SEG188 [94] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG194 [96] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@14 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 ldy form_field_idx lda form_fields_val,y cmp #$ff bne b14 - //SEG189 form_control::@31 - //SEG190 [95] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:44 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + //SEG195 form_control::@31 + //SEG196 [97] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#14) [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 lda form_fields_max,y sta form_fields_val,y jmp b14 - //SEG191 form_control::@2 + //SEG197 form_control::@2 b2: - //SEG192 [96] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG198 [98] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 form_control::$7 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG193 [97] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:44 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuaa + //SEG199 [99] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 ] ) -- _deref_pbuz1=vbuaa sta (field),y jmp b3 - //SEG194 [98] phi from form_control::@32 to form_control::@37 [phi:form_control::@32->form_control::@37] - //SEG195 form_control::@37 - //SEG196 [51] phi from form_control::@37 to form_control::@1 [phi:form_control::@37->form_control::@1] - //SEG197 [51] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@37->form_control::@1#0] -- register_copy + //SEG200 [100] phi from form_control::@32 to form_control::@37 [phi:form_control::@32->form_control::@37] + //SEG201 form_control::@37 + //SEG202 [53] phi from form_control::@37 to form_control::@1 [phi:form_control::@37->form_control::@1] + //SEG203 [53] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@37->form_control::@1#0] -- register_copy } -//SEG198 keyboard_key_pressed +//SEG204 keyboard_key_pressed keyboard_key_pressed: { - //SEG199 [100] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) -- vbuyy=vbuxx_band_vbuc1 + //SEG205 [102] (byte) keyboard_key_pressed::colidx#0 ← (byte) keyboard_key_pressed::key#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::key#4 keyboard_key_pressed::colidx#0 ] ) -- vbuyy=vbuxx_band_vbuc1 txa and #7 tay - //SEG200 [101] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuaa=vbuxx_ror_3 + //SEG206 [103] (byte) keyboard_key_pressed::rowidx#0 ← (byte) keyboard_key_pressed::key#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::rowidx#0 ] ) -- vbuaa=vbuxx_ror_3 txa lsr lsr lsr - //SEG201 [102] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) -- vbuxx=vbuaa + //SEG207 [104] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::rowidx#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::rowid#0 ] ) -- vbuxx=vbuaa tax - //SEG202 [103] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + //SEG208 [105] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) jsr keyboard_matrix_read - //SEG203 [104] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) + //SEG209 [106] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#2 ] ) // (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#0 // register copy reg byte a - //SEG204 keyboard_key_pressed::@2 - //SEG205 [105] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) + //SEG210 keyboard_key_pressed::@2 + //SEG211 [107] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_key_pressed::$2 ] ) // (byte~) keyboard_key_pressed::$2 = (byte) keyboard_matrix_read::return#2 // register copy reg byte a - //SEG206 [106] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy + //SEG212 [108] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$2 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_key_pressed::colidx#0) [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuyy and keyboard_matrix_col_bitmask,y - //SEG207 keyboard_key_pressed::@return - //SEG208 [107] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) + //SEG213 keyboard_key_pressed::@return + //SEG214 [109] return [ keyboard_key_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::return#0 ] ) rts } -//SEG209 keyboard_matrix_read +//SEG215 keyboard_matrix_read keyboard_matrix_read: { - //SEG210 [108] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuxx + //SEG216 [110] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuxx lda keyboard_matrix_row_bitmask,x sta CIA1_PORT_A - //SEG211 [109] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuaa=_bnot__deref_pbuc1 + //SEG217 [111] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) -- vbuaa=_bnot__deref_pbuc1 lda CIA1_PORT_B eor #$ff - //SEG212 keyboard_matrix_read::@return - //SEG213 [110] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:44::keyboard_key_pressed:56::keyboard_matrix_read:103 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:64::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:78::keyboard_matrix_read:103 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:44::keyboard_key_pressed:85::keyboard_matrix_read:103 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) + //SEG218 keyboard_matrix_read::@return + //SEG219 [112] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_key_pressed:58::keyboard_matrix_read:105 [ key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:66::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 key_down_debounce#23 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:80::keyboard_matrix_read:105 [ form_field_idx#14 key_right_debounce#11 form_control::field#0 form_cursor_count#15 key_down_debounce#20 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] main:2::menu:10::form_control:46::keyboard_key_pressed:87::keyboard_matrix_read:105 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 keyboard_key_pressed::colidx#0 keyboard_matrix_read::return#0 ] ) rts } -//SEG214 form_field_ptr +//SEG220 form_field_ptr form_field_ptr: { .label return = 6 .label _2 = 6 - //SEG215 [112] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) -- vbuyy=pbuc1_derefidx_vbuxx + //SEG221 [114] (byte) form_field_ptr::y#0 ← *((const byte[]) form_fields_y#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] ) -- vbuyy=pbuc1_derefidx_vbuxx ldy form_fields_y,x - //SEG216 [113] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + //SEG222 [115] (word~) form_field_ptr::$2 ← *((const byte[25]) form_line_hi#0 + (byte) form_field_ptr::y#0) w= *((const byte[25]) form_line_lo#0 + (byte) form_field_ptr::y#0) [ form_field_ptr::field_idx#2 form_field_ptr::$2 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy lda form_line_hi,y sta _2+1 lda form_line_lo,y sta _2 - //SEG217 [114] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) -- vbuaa=pbuc1_derefidx_vbuxx + //SEG223 [116] (byte) form_field_ptr::x#0 ← *((const byte[]) form_fields_x#0 + (byte) form_field_ptr::field_idx#2) [ form_field_ptr::$2 form_field_ptr::x#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] ) -- vbuaa=pbuc1_derefidx_vbuxx lda form_fields_x,x - //SEG218 [115] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) -- pbuz1=pbuz1_plus_vbuaa + //SEG224 [117] (byte*) form_field_ptr::return#0 ← (byte*)(word~) form_field_ptr::$2 + (byte) form_field_ptr::x#0 [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) -- pbuz1=pbuz1_plus_vbuaa clc adc return sta return lda #0 adc return+1 sta return+1 - //SEG219 form_field_ptr::@return - //SEG220 [116] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:44::form_field_ptr:46 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:38::form_field_ptr:120 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) + //SEG225 form_field_ptr::@return + //SEG226 [118] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 key_down_debounce#11 form_field_idx#14 key_right_debounce#11 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:122 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#0 ] ) rts } -//SEG221 form_render_values +//SEG227 form_render_values form_render_values: { .label field = 6 - //SEG222 [118] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] - //SEG223 [118] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 + //SEG228 [120] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + //SEG229 [120] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG224 [118] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] - //SEG225 [118] 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 - //SEG226 form_render_values::@1 + //SEG230 [120] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + //SEG231 [120] 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 + //SEG232 form_render_values::@1 b1: - //SEG227 [119] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) + //SEG233 [121] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] ) // (byte) form_field_ptr::field_idx#0 = (byte) form_render_values::idx#2 // register copy reg byte x - //SEG228 [120] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) - //SEG229 [111] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] - //SEG230 [111] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy + //SEG234 [122] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_field_ptr::return#0 form_render_values::idx#2 ] ) + //SEG235 [113] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //SEG236 [113] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG231 [121] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) + //SEG237 [123] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_field_ptr::return#2 ] ) // (byte*) form_field_ptr::return#2 = (byte*) form_field_ptr::return#0 // register copy zp ZP_WORD:6 - //SEG232 form_render_values::@3 - //SEG233 [122] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) + //SEG238 form_render_values::@3 + //SEG239 [124] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 form_render_values::field#0 ] ) // (byte*) form_render_values::field#0 = (byte*) form_field_ptr::return#2 // register copy zp ZP_WORD:6 - //SEG234 [123] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuxx + //SEG240 [125] *((byte*) form_render_values::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_render_values::idx#2)) [ form_render_values::idx#2 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#2 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuxx lda form_fields_val,x tay lda print_hextab,y ldy #0 sta (field),y - //SEG235 [124] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuxx=_inc_vbuxx + //SEG241 [126] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG236 [125] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 + //SEG242 [127] if((byte) form_render_values::idx#1<(const byte) form_fields_cnt#0) goto form_render_values::@1 [ form_render_values::idx#1 ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_render_values::idx#1 ] ) -- vbuxx_lt_vbuc1_then_la1 cpx #form_fields_cnt bcc b1 - //SEG237 form_render_values::@return - //SEG238 [126] return [ ] ( main:2::menu:10::form_render_values:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG243 form_render_values::@return + //SEG244 [128] return [ ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) rts } -//SEG239 form_set_screen +//SEG245 form_set_screen form_set_screen: { .label line = 6 - //SEG240 [128] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] - //SEG241 [128] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 + //SEG246 [130] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + //SEG247 [130] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG242 [128] phi (byte*) form_set_screen::line#2 = (const byte*) menu::SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 + //SEG248 [130] phi (byte*) form_set_screen::line#2 = (const byte*) menu::SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 lda #menu.SCREEN sta line+1 - //SEG243 [128] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] - //SEG244 [128] 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 - //SEG245 [128] 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 - //SEG246 form_set_screen::@1 + //SEG249 [130] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG250 [130] 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 + //SEG251 [130] 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 + //SEG252 form_set_screen::@1 b1: - //SEG247 [129] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) -- vbuaa=_lo_pbuz1 + //SEG253 [131] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] ) -- vbuaa=_lo_pbuz1 lda line - //SEG248 [130] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG254 [132] *((const byte[25]) form_line_lo#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_lo,x - //SEG249 [131] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) -- vbuaa=_hi_pbuz1 + //SEG255 [133] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] ) -- vbuaa=_hi_pbuz1 lda line+1 - //SEG250 [132] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG256 [134] *((const byte[25]) form_line_hi#0 + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#2 form_set_screen::y#2 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_hi,x - //SEG251 [133] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG257 [135] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ form_set_screen::y#2 form_set_screen::line#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::y#2 form_set_screen::line#1 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line clc adc #$28 @@ -9892,99 +10060,88 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG252 [134] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuxx=_inc_vbuxx + //SEG258 [136] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuxx=_inc_vbuxx inx - //SEG253 [135] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG259 [137] if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 form_set_screen::line#1 form_set_screen::y#1 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$19 bne b1 - //SEG254 form_set_screen::@return - //SEG255 [136] return [ ] ( main:2::menu:10::form_set_screen:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG260 form_set_screen::@return + //SEG261 [138] return [ ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) rts } -//SEG256 print_str_lines +//SEG262 print_str_lines print_str_lines: { .label str = 6 - //SEG257 [138] phi from print_str_lines to print_str_lines::@1 [phi:print_str_lines->print_str_lines::@1] - //SEG258 [138] phi (byte*) print_line_cursor#17 = (const byte*) menu::SCREEN#0 [phi:print_str_lines->print_str_lines::@1#0] -- pbuz1=pbuc1 - lda #menu.SCREEN - sta print_line_cursor+1 - //SEG259 [138] phi (byte*) print_char_cursor#19 = (const byte*) menu::SCREEN#0 [phi:print_str_lines->print_str_lines::@1#1] -- pbuz1=pbuc1 - lda #menu.SCREEN + lda print_set_screen.screen+1 sta print_char_cursor+1 - //SEG260 [138] phi (byte*) print_str_lines::str#2 = (const string) MENU_TEXT#0 [phi:print_str_lines->print_str_lines::@1#2] -- pbuz1=pbuc1 - lda #MENU_TEXT - sta str+1 - //SEG261 print_str_lines::@1 + //SEG264 [141] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] + //SEG265 [141] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy + //SEG266 [141] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#63 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy + //SEG267 [141] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy + //SEG268 print_str_lines::@1 b1: - //SEG262 [139] if(*((byte*) print_str_lines::str#2)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#2 print_char_cursor#19 print_line_cursor#17 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG269 [142] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4 - //SEG263 print_str_lines::@return - //SEG264 [140] return [ ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) + //SEG270 print_str_lines::@return + //SEG271 [143] return [ ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 ] ) rts - //SEG265 [141] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] - //SEG266 [141] phi (byte*) print_char_cursor#17 = (byte*) print_char_cursor#19 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG267 [141] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#2 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy - //SEG268 print_str_lines::@4 + //SEG272 [144] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG273 [144] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy + //SEG274 [144] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG275 print_str_lines::@4 b4: - //SEG269 [142] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#3) [ print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#3 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa=_deref_pbuz1 + //SEG276 [145] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] ) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG270 [143] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#3 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 + //SEG277 [146] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG271 [144] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- vbuaa_eq_vbuc1_then_la1 + //SEG278 [147] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b5 - //SEG272 print_str_lines::@8 - //SEG273 [145] *((byte*) print_char_cursor#17) ← (byte) print_str_lines::ch#0 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#17 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuaa + //SEG279 print_str_lines::@8 + //SEG280 [148] *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#0 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG274 [146] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#17 [ print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG281 [149] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 [ print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG275 [147] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] - //SEG276 [147] phi (byte*) print_char_cursor#32 = (byte*) print_char_cursor#17 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy - //SEG277 print_str_lines::@5 + //SEG282 [150] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG283 [150] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG284 print_str_lines::@5 b5: - //SEG278 [148] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#17 print_str_lines::str#0 print_char_cursor#32 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG285 [151] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b4 - //SEG279 [149] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] - //SEG280 print_str_lines::@9 - //SEG281 [150] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) - //SEG282 [152] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG286 [152] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG287 print_str_lines::@9 + //SEG288 [153] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) + //SEG289 [155] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] jsr print_ln - //SEG283 [151] (byte*~) print_char_cursor#59 ← (byte*) print_line_cursor#19 [ print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#59 print_line_cursor#19 ] ) -- pbuz1=pbuz2 + //SEG290 [154] (byte*~) print_char_cursor#64 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_char_cursor#64 print_line_cursor#22 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 - //SEG284 [138] phi from print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines::@9->print_str_lines::@1] - //SEG285 [138] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#19 [phi:print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG286 [138] phi (byte*) print_char_cursor#19 = (byte*~) print_char_cursor#59 [phi:print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG287 [138] phi (byte*) print_str_lines::str#2 = (byte*) print_str_lines::str#0 [phi:print_str_lines::@9->print_str_lines::@1#2] -- register_copy jmp b1 } -//SEG288 print_ln +//SEG291 print_ln print_ln: { - //SEG289 [153] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] - //SEG290 [153] phi (byte*) print_line_cursor#18 = (byte*) print_line_cursor#17 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy - //SEG291 print_ln::@1 + //SEG292 [156] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG293 [156] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG294 print_ln::@1 b1: - //SEG292 [154] (byte*) print_line_cursor#19 ← (byte*) print_line_cursor#18 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG295 [157] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -9992,7 +10149,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG293 [155] if((byte*) print_line_cursor#19<(byte*) print_char_cursor#32) goto print_ln::@1 [ print_line_cursor#19 print_char_cursor#32 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 print_char_cursor#32 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG296 [158] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 [ print_line_cursor#22 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1 @@ -10001,47 +10158,56 @@ print_ln: { cmp print_char_cursor bcc b1 !: - //SEG294 print_ln::@return - //SEG295 [156] return [ print_line_cursor#19 ] ( main:2::menu:10::print_str_lines:34::print_ln:150 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#19 ] ) + //SEG297 print_ln::@return + //SEG298 [159] return [ print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36::print_ln:153 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_str_lines::str#0 print_line_cursor#22 ] ) rts } -//SEG296 print_cls +//SEG299 print_cls print_cls: { + .label _0 = 8 .label sc = 6 - //SEG297 [158] phi from print_cls to print_cls::@1 [phi:print_cls->print_cls::@1] - //SEG298 [158] phi (byte*) print_cls::sc#2 = (const byte*) menu::SCREEN#0 [phi:print_cls->print_cls::@1#0] -- pbuz1=pbuc1 - lda #menu.SCREEN + lda print_set_screen.screen+1 sta sc+1 - //SEG299 [158] phi from print_cls::@1 to print_cls::@1 [phi:print_cls::@1->print_cls::@1] - //SEG300 [158] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#1 [phi:print_cls::@1->print_cls::@1#0] -- register_copy - //SEG301 print_cls::@1 + //SEG301 [161] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] + //SEG302 [161] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy + //SEG303 print_cls::@1 b1: - //SEG302 [159] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 + //SEG304 [162] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_set_screen::screen#2 print_cls::sc#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#2 ] ) -- _deref_pbuz1=vbuc1 lda #' ' ldy #0 sta (sc),y - //SEG303 [160] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 + //SEG305 [163] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) -- pbuz1=_inc_pbuz1 inc sc bne !+ inc sc+1 !: - //SEG304 [161] if((byte*) print_cls::sc#1!=(const byte*) menu::SCREEN#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::menu:10::print_cls:32 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_cls::sc#1 ] ) -- pbuz1_neq_pbuc1_then_la1 + //SEG306 [164] (byte*~) print_cls::$0 ← (byte*) print_set_screen::screen#2 + (word/signed word/dword/signed dword) 1000 [ print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] ) -- pbuz1=pbuz2_plus_vwuc1 + lda print_set_screen.screen + clc + adc #<$3e8 + sta _0 + lda print_set_screen.screen+1 + adc #>$3e8 + sta _0+1 + //SEG307 [165] if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 [ print_set_screen::screen#2 print_cls::sc#1 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 key_down_debounce#1 form_field_idx#1 key_right_debounce#1 print_set_screen::screen#2 print_cls::sc#1 ] ) -- pbuz1_neq_pbuz2_then_la1 lda sc+1 - cmp #>menu.SCREEN+$3e8 + cmp _0+1 bne b1 lda sc - cmp #