1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00

Added form colors. Added all fields to form.

This commit is contained in:
jespergravgaard 2018-04-03 22:52:59 +02:00
parent 0ad7984fe2
commit 93fb8e1bff
5 changed files with 2968 additions and 2775 deletions

View File

@ -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;

View File

@ -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
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+$3e8
bne b2
lda #0
sta BGCOL
sta BORDERCOL
lda #<COLS
sta print_set_screen.screen
lda #>COLS
sta print_set_screen.screen+1
jsr print_set_screen
jsr print_cls
lda #<MENU_COLS
sta print_str_lines.str
lda #>MENU_COLS
sta print_str_lines.str+1
jsr print_str_lines
lda #<SCREEN
sta print_set_screen.screen
lda #>SCREEN
sta print_set_screen.screen+1
jsr print_set_screen
jsr print_cls
lda #<MENU_TEXT
sta print_str_lines.str
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
lda #>menu.SCREEN
sta print_line_cursor+1
lda #<menu.SCREEN
lda print_set_screen.screen
sta print_char_cursor
lda #>menu.SCREEN
lda print_set_screen.screen+1
sta print_char_cursor+1
lda #<MENU_TEXT
sta str
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
sta sc
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 #<menu.SCREEN+$3e8
cmp _0
bne b1
rts
}
print_set_screen: {
.label screen = $a
rts
}
DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a
@ -390,8 +390,9 @@ print_set_screen: {
keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80
form_line_lo: .fill $19, 0
form_line_hi: .fill $19, 0
form_fields_x: .byte 7, 7, 7, 7, 7, 7, 7, $11, $11
form_fields_y: .byte 2, 3, 4, 5, 6, 7, 8, 7, 8
form_fields_max: .byte 1, 1, 1, 1, 1, 2, 1, 1, 1
form_fields_val: .byte 0, 0, 0, 0, 0, 0, 0, 0, 0
MENU_TEXT: .text " 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 @"+"@"
form_fields_x: .byte $16, 7, 7, 7, 7, 7, 7, 7, $11, $11, $11, $10, $11, $10, $11, $10, $11, $1b, $1a, $1b, $1a, $1b, $1a, $1b, $26, $26, $26, $25, $26, $25, $26, $25, $26, $25, $26
form_fields_y: .byte 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_fields_max: .byte $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_val: .byte 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
MENU_COLS: .text "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 @"+"@"
MENU_TEXT: .text " 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 @"+"@"

View File

@ -41,287 +41,295 @@ 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

View File

@ -41,10 +41,10 @@
(const byte) KEY_CRSR_RIGHT#0 KEY_CRSR_RIGHT = (byte/signed byte/word/signed word/dword/signed dword) 2
(byte) KEY_RSHIFT
(const byte) KEY_RSHIFT#0 KEY_RSHIFT = (byte/signed byte/word/signed word/dword/signed dword) 52
(byte) LIGHT_GREEN
(const byte) LIGHT_GREEN#0 LIGHT_GREEN = (byte/signed byte/word/signed word/dword/signed dword) 13
(byte[]) MENU_COLS
(const string) MENU_COLS#0 MENU_COLS = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+(string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+(string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+(string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+(string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+(string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+(string) " nnnnnnn ooooooooo @"+(string) " nnnnnnn nnnnnnnn ooooooooo @"+(string) " nnnnnnn nnnnnnnn ooooooooo @"+(string) "@"
(byte[]) MENU_TEXT
(const string) MENU_TEXT#0 MENU_TEXT = (string) " DTV GfxExplorer PRESET 8bpp pixel cell @"+(string) " CONTROL PLANE A PLANE B VIC II @"+(string) " bmm 0 patt p1 patt p2 screen s3 @"+(string) " mcm 0 start 00 start 00 gfx g4 @"+(string) " ecm 0 step 00 step 00 colors c5 @"+(string) " hicol 0 mod 00 mod 00 bgcol0 00 @"+(string) " line 0 bgcol1 00 @"+(string) " colof 0 borof 0 bgcol2 00 @"+(string) " chunk 0 overs 0 bgcol3 00 @"+(string) "@"
(const string) MENU_TEXT#0 MENU_TEXT = (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @"+(string) " CONTROL PLANE A PLANE B VIC II @"+(string) " bmm 0 patt p0 patt p0 screen s0 @"+(string) " mcm 0 start 00 start 00 gfx g0 @"+(string) " ecm 0 step 00 step 00 colors c0 @"+(string) " hicol 0 mod 00 mod 00 bgcol0 00 @"+(string) " line 0 bgcol1 00 @"+(string) " colof 0 borof 0 bgcol2 00 @"+(string) " chunk 0 overs 0 bgcol3 00 @"+(string) "@"
(byte*) RASTER
(const byte*) RASTER#0 RASTER = ((byte*))(word/dword/signed dword) 53266
(byte*) VIC_CONTROL
@ -98,13 +98,13 @@
(byte) form_control::key_right
(byte) form_control::key_right#0 reg byte a 2.6666666666666665
(signed byte) form_cursor_count
(signed byte) form_cursor_count#1 form_cursor_count zp ZP_BYTE:2 0.41935483870967744
(signed byte) form_cursor_count#1 form_cursor_count zp ZP_BYTE:2 0.3939393939393939
(signed byte) form_cursor_count#13 form_cursor_count zp ZP_BYTE:2 11.6
(signed byte) form_cursor_count#15 form_cursor_count zp ZP_BYTE:2 0.3125
(signed byte) form_cursor_count#16 form_cursor_count zp ZP_BYTE:2 35.66666666666666
(signed byte) form_cursor_count#5 form_cursor_count zp ZP_BYTE:2 2.0
(byte) form_field_idx
(byte) form_field_idx#1 form_field_idx zp ZP_BYTE:4 0.41935483870967744
(byte) form_field_idx#1 form_field_idx zp ZP_BYTE:4 0.3939393939393939
(byte) form_field_idx#14 form_field_idx zp ZP_BYTE:4 2.901960784313723
(byte) form_field_idx#18 form_field_idx zp ZP_BYTE:4 36.33333333333332
(byte) form_field_idx#32 form_field_idx zp ZP_BYTE:4 6.0
@ -128,15 +128,15 @@
(byte) form_field_ptr::y
(byte) form_field_ptr::y#0 reg byte y 6.0
(byte) form_fields_cnt
(const byte) form_fields_cnt#0 form_fields_cnt = (byte/signed byte/word/signed word/dword/signed dword) 9
(const byte) form_fields_cnt#0 form_fields_cnt = (byte/signed byte/word/signed word/dword/signed dword) 35
(byte[]) form_fields_max
(const byte[]) form_fields_max#0 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 }
(const byte[]) form_fields_max#0 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
(const byte[]) form_fields_val#0 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 }
(const byte[]) form_fields_val#0 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[]) form_fields_x
(const byte[]) form_fields_x#0 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 }
(const byte[]) form_fields_x#0 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
(const byte[]) form_fields_y#0 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 }
(const byte[]) form_fields_y#0 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[25]) form_line_hi
(const byte[25]) form_line_hi#0 form_line_hi = { fill( 25, 0) }
(byte[25]) form_line_lo
@ -163,13 +163,13 @@
(byte) form_set_screen::y#1 reg byte x 151.5
(byte) form_set_screen::y#2 reg byte x 67.33333333333333
(byte) key_down_debounce
(byte) key_down_debounce#1 key_down_debounce zp ZP_BYTE:3 0.41935483870967744
(byte) key_down_debounce#1 key_down_debounce zp ZP_BYTE:3 0.3939393939393939
(byte) key_down_debounce#11 key_down_debounce zp ZP_BYTE:3 4.916666666666666
(byte) key_down_debounce#13 key_down_debounce zp ZP_BYTE:3 36.33333333333332
(byte) key_down_debounce#20 key_down_debounce zp ZP_BYTE:3 0.5263157894736842
(byte) key_down_debounce#23 key_down_debounce zp ZP_BYTE:3 0.4
(byte) key_right_debounce
(byte) key_right_debounce#1 key_right_debounce zp ZP_BYTE:5 0.41935483870967744
(byte) key_right_debounce#1 key_right_debounce zp ZP_BYTE:5 0.3939393939393939
(byte) key_right_debounce#11 key_right_debounce zp ZP_BYTE:5 2.727272727272727
(byte) key_right_debounce#13 key_right_debounce zp ZP_BYTE:5 36.33333333333332
(byte) key_right_debounce#21 key_right_debounce zp ZP_BYTE:5 0.42857142857142855
@ -207,44 +207,46 @@
(label) main::@return
(void()) menu()
(label) menu::@1
(label) menu::@10
(label) menu::@15
(label) menu::@16
(label) menu::@17
(label) menu::@18
(label) menu::@19
(label) menu::@2
(label) menu::@20
(label) menu::@3
(label) menu::@6
(label) menu::@21
(label) menu::@5
(label) menu::@7
(label) menu::@8
(label) menu::@return
(byte*) menu::CHARSET
(const byte*) menu::CHARSET#0 CHARSET = ((byte*))(word/dword/signed dword) 38912
(byte*) menu::SCREEN
(const byte*) menu::SCREEN#0 SCREEN = ((byte*))(word/dword/signed dword) 32768
(byte*) menu::c
(byte*) menu::c#1 c zp ZP_WORD:6 151.5
(byte*) menu::c#2 c zp ZP_WORD:6 151.5
(byte) menu::i
(byte) menu::i#1 reg byte x 151.5
(byte) menu::i#2 reg byte x 202.0
(byte*) print_char_cursor
(byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:8 2002.0
(byte*) print_char_cursor#17 print_char_cursor zp ZP_WORD:8 821.0
(byte*) print_char_cursor#19 print_char_cursor zp ZP_WORD:8 101.0
(byte*) print_char_cursor#32 print_char_cursor zp ZP_WORD:8 572.0
(byte*~) print_char_cursor#59 print_char_cursor zp ZP_WORD:8 202.0
(byte*) print_char_cursor#20 print_char_cursor zp ZP_WORD:8 821.0
(byte*) print_char_cursor#22 print_char_cursor zp ZP_WORD:8 102.0
(byte*) print_char_cursor#38 print_char_cursor zp ZP_WORD:8 572.0
(byte*~) print_char_cursor#63 print_char_cursor zp ZP_WORD:8 4.0
(byte*~) print_char_cursor#64 print_char_cursor zp ZP_WORD:8 202.0
(void()) print_cls()
(byte*~) print_cls::$0 $0 zp ZP_WORD:8 202.0
(label) print_cls::@1
(label) print_cls::@return
(byte*) print_cls::sc
(byte*) print_cls::sc#1 sc zp ZP_WORD:6 151.5
(byte*) print_cls::sc#2 sc zp ZP_WORD:6 151.5
(byte*) print_cls::sc#0 sc zp ZP_WORD:6 4.0
(byte*) print_cls::sc#1 sc zp ZP_WORD:6 101.0
(byte*) print_cls::sc#2 sc zp ZP_WORD:6 152.5
(byte[]) print_hextab
(const string) print_hextab#0 print_hextab = (string) "0123456789abcdef"
(byte*) print_line_cursor
(byte*) print_line_cursor#17 print_line_cursor zp ZP_WORD:10 8.583333333333332
(byte*) print_line_cursor#18 print_line_cursor zp ZP_WORD:10 2004.0
(byte*) print_line_cursor#19 print_line_cursor zp ZP_WORD:10 641.0
(byte*) print_line_cursor#2 print_line_cursor zp ZP_WORD:10 8.749999999999998
(byte*) print_line_cursor#21 print_line_cursor zp ZP_WORD:10 2004.0
(byte*) print_line_cursor#22 print_line_cursor zp ZP_WORD:10 641.0
(void()) print_ln()
(label) print_ln::@1
(label) print_ln::@return
@ -252,6 +254,7 @@
(void()) print_set_screen((byte*) print_set_screen::screen)
(label) print_set_screen::@return
(byte*) print_set_screen::screen
(byte*) print_set_screen::screen#2 screen zp ZP_WORD:10 5.631578947368421
(void()) print_str_lines((byte*) print_str_lines::str)
(label) print_str_lines::@1
(label) print_str_lines::@4
@ -263,21 +266,22 @@
(byte) print_str_lines::ch#0 reg byte a 667.3333333333334
(byte*) print_str_lines::str
(byte*) print_str_lines::str#0 str zp ZP_WORD:6 233.66666666666669
(byte*) print_str_lines::str#2 str zp ZP_WORD:6 151.5
(byte*) print_str_lines::str#3 str zp ZP_WORD:6 1552.0
(byte*) print_str_lines::str#3 str zp ZP_WORD:6 152.5
(byte*) print_str_lines::str#4 str zp ZP_WORD:6 1552.0
(byte*) print_str_lines::str#5 str zp ZP_WORD:6 1.0
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:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ]
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:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ]
reg byte x [ menu::i#2 menu::i#1 ]
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 ]
reg byte x [ keyboard_key_pressed::key#4 ]
reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ]
reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ]
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 ]
reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ]
zp ZP_WORD:8 [ print_char_cursor#17 print_char_cursor#19 print_char_cursor#59 print_char_cursor#32 print_char_cursor#1 ]
zp ZP_WORD:10 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ]
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 ]
zp ZP_WORD:10 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ]
reg byte a [ form_control::$6 ]
reg byte a [ keyboard_key_pressed::return#2 ]
reg byte a [ form_control::key_down#0 ]