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

Added form field max values

This commit is contained in:
jespergravgaard 2018-04-03 19:49:06 +02:00
parent 25f396de12
commit 0ad7984fe2
5 changed files with 1981 additions and 1826 deletions

View File

@ -74,6 +74,8 @@ byte form_fields_cnt = 9;
// Form fields x/y-positions // Form fields x/y-positions
byte[] form_fields_x = { 7, 7, 7, 7, 7, 7, 7, 17, 17 }; 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 }; 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 };
// Form fields values // 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 };
@ -157,17 +159,20 @@ void form_control() {
} }
// Change value with cursor left/right // Change value with cursor left/right
// Navigation using cursor up/down
byte key_right = keyboard_key_pressed(KEY_CRSR_RIGHT); byte key_right = keyboard_key_pressed(KEY_CRSR_RIGHT);
if(key_right!=key_right_debounce) { if(key_right!=key_right_debounce) {
key_right_debounce = key_right; key_right_debounce = key_right;
if(key_right!=0) { if(key_right!=0) {
if(keyboard_key_pressed(KEY_RSHIFT)==0) { if(keyboard_key_pressed(KEY_RSHIFT)==0) {
// Increase value // Increase value
form_fields_val[form_field_idx] = (form_fields_val[form_field_idx]+1) & $f; if(++form_fields_val[form_field_idx]>form_fields_max[form_field_idx]) {
form_fields_val[form_field_idx] = 0;
}
} else { } else {
// Decrease value // Decrease value
form_fields_val[form_field_idx] = (form_fields_val[form_field_idx]-1) & $f; if(--form_fields_val[form_field_idx]==$ff) {
form_fields_val[form_field_idx] = form_fields_max[form_field_idx];
}
} }
// Render field value // Render field value
*field = print_hextab[form_fields_val[form_field_idx]]; *field = print_hextab[form_fields_val[form_field_idx]];

View File

@ -32,7 +32,8 @@
.label print_char_cursor = 8 .label print_char_cursor = 8
.label form_cursor_count = 2 .label form_cursor_count = 2
.label key_down_debounce = 3 .label key_down_debounce = 3
.label key_right_debounce = 4 .label form_field_idx = 4
.label key_right_debounce = 5
.label print_line_cursor = $a .label print_line_cursor = $a
jsr main jsr main
main: { main: {
@ -41,7 +42,7 @@ main: {
sta DTV_FEATURE sta DTV_FEATURE
lda #0 lda #0
sta key_right_debounce sta key_right_debounce
tax sta form_field_idx
sta key_down_debounce sta key_down_debounce
lda #FORM_CURSOR_BLINK/2 lda #FORM_CURSOR_BLINK/2
sta form_cursor_count sta form_cursor_count
@ -52,7 +53,7 @@ main: {
menu: { menu: {
.label SCREEN = $8000 .label SCREEN = $8000
.label CHARSET = $9800 .label CHARSET = $9800
.label c = 5 .label c = 6
lda #($ffffffff&CHARSET)/$10000 lda #($ffffffff&CHARSET)/$10000
sta DTV_GRAPHICS_VIC_BANK sta DTV_GRAPHICS_VIC_BANK
lda #DTV_COLOR_BANK_DEFAULT/$400 lda #DTV_COLOR_BANK_DEFAULT/$400
@ -70,12 +71,12 @@ menu: {
sta VIC_CONTROL2 sta VIC_CONTROL2
lda #(SCREEN&$3fff)/$40|(CHARSET&$3fff)/$400 lda #(SCREEN&$3fff)/$40|(CHARSET&$3fff)/$400
sta VIC_MEMORY sta VIC_MEMORY
ldy #0 ldx #0
b1: b1:
lda DTV_PALETTE_DEFAULT,y lda DTV_PALETTE_DEFAULT,x
sta DTV_PALETTE,y sta DTV_PALETTE,x
iny inx
cpy #$10 cpx #$10
bne b1 bne b1
lda #<COLS lda #<COLS
sta c sta c
@ -111,8 +112,8 @@ menu: {
jmp b6 jmp b6
} }
form_control: { form_control: {
.label field = 5 .label field = 6
stx form_field_ptr.field_idx ldx form_field_idx
jsr form_field_ptr jsr form_field_ptr
dec form_cursor_count dec form_cursor_count
lda form_cursor_count lda form_cursor_count
@ -127,13 +128,15 @@ form_control: {
bvc !+ bvc !+
eor #$80 eor #$80
!: !:
bpl b2 bmi !b2+
jmp b2
!b2:
lda #$80 lda #$80
ldy #0 ldy #0
ora (field),y ora (field),y
sta (field),y sta (field),y
b3: b3:
ldy #KEY_CRSR_DOWN ldx #KEY_CRSR_DOWN
jsr keyboard_key_pressed jsr keyboard_key_pressed
cmp key_down_debounce cmp key_down_debounce
beq b4 beq b4
@ -144,56 +147,71 @@ form_control: {
ldy #0 ldy #0
and (field),y and (field),y
sta (field),y sta (field),y
ldy #KEY_RSHIFT ldx #KEY_RSHIFT
jsr keyboard_key_pressed jsr keyboard_key_pressed
cmp #0 cmp #0
bne b6 bne b6
inx inc form_field_idx
cpx #form_fields_cnt lda form_field_idx
cmp #form_fields_cnt
bne b8 bne b8
ldx #0 lda #0
sta form_field_idx
b8: b8:
lda #FORM_CURSOR_BLINK/2 lda #FORM_CURSOR_BLINK/2
sta form_cursor_count sta form_cursor_count
breturn: breturn:
rts rts
b6: b6:
dex dec form_field_idx
cpx #$ff lda form_field_idx
cmp #$ff
bne b8 bne b8
ldx #form_fields_cnt-1 lda #form_fields_cnt-1
sta form_field_idx
jmp b8 jmp b8
b4: b4:
ldy #KEY_CRSR_RIGHT ldx #KEY_CRSR_RIGHT
jsr keyboard_key_pressed jsr keyboard_key_pressed
cmp key_right_debounce cmp key_right_debounce
beq breturn beq breturn
sta key_right_debounce sta key_right_debounce
cmp #0 cmp #0
beq breturn beq breturn
ldy #KEY_RSHIFT ldx #KEY_RSHIFT
jsr keyboard_key_pressed jsr keyboard_key_pressed
cmp #0 cmp #0
bne b12 bne b12
lda form_fields_val,x ldx form_field_idx
clc inc form_fields_val,x
adc #1 ldy form_field_idx
and #$f lda form_fields_val,y
sta form_fields_val,x cmp form_fields_max,y
b13: bcc b14
lda form_fields_val,x beq b14
lda #0
sta form_fields_val,y
b14:
ldy form_field_idx
lda form_fields_val,y
tay tay
lda print_hextab,y lda print_hextab,y
ldy #0 ldy #0
sta (field),y sta (field),y
jmp breturn jmp breturn
b12: b12:
ldx form_field_idx
lda form_fields_val,x lda form_fields_val,x
sec sec
sbc #1 sbc #1
and #$f
sta form_fields_val,x sta form_fields_val,x
jmp b13 ldy form_field_idx
lda form_fields_val,y
cmp #$ff
bne b14
lda form_fields_max,y
sta form_fields_val,y
jmp b14
b2: b2:
lda #$7f lda #$7f
ldy #0 ldy #0
@ -202,40 +220,34 @@ form_control: {
jmp b3 jmp b3
} }
keyboard_key_pressed: { keyboard_key_pressed: {
.label colidx = 7 txa
tya
and #7 and #7
sta colidx
tya
lsr
lsr
lsr
tay tay
txa
lsr
lsr
lsr
tax
jsr keyboard_matrix_read jsr keyboard_matrix_read
ldy colidx
and keyboard_matrix_col_bitmask,y and keyboard_matrix_col_bitmask,y
rts rts
} }
keyboard_matrix_read: { keyboard_matrix_read: {
lda keyboard_matrix_row_bitmask,y lda keyboard_matrix_row_bitmask,x
sta CIA1_PORT_A sta CIA1_PORT_A
lda CIA1_PORT_B lda CIA1_PORT_B
eor #$ff eor #$ff
rts rts
} }
form_field_ptr: { form_field_ptr: {
.label return = 5 .label return = 6
.label field_idx = 7 .label _2 = 6
.label _2 = 5 ldy form_fields_y,x
ldy field_idx
lda form_fields_y,y
tay
lda form_line_hi,y lda form_line_hi,y
sta _2+1 sta _2+1
lda form_line_lo,y lda form_line_lo,y
sta _2 sta _2
ldy field_idx lda form_fields_x,x
lda form_fields_x,y
clc clc
adc return adc return
sta return sta return
@ -245,36 +257,32 @@ form_field_ptr: {
rts rts
} }
form_render_values: { form_render_values: {
.label field = 5 .label field = 6
.label idx = 7 ldx #0
lda #0
sta idx
b1: b1:
jsr form_field_ptr jsr form_field_ptr
ldy idx lda form_fields_val,x
lda form_fields_val,y
tay tay
lda print_hextab,y lda print_hextab,y
ldy #0 ldy #0
sta (field),y sta (field),y
inc idx inx
lda idx cpx #form_fields_cnt
cmp #form_fields_cnt
bcc b1 bcc b1
rts rts
} }
form_set_screen: { form_set_screen: {
.label line = 5 .label line = 6
ldy #0 ldx #0
lda #<menu.SCREEN lda #<menu.SCREEN
sta line sta line
lda #>menu.SCREEN lda #>menu.SCREEN
sta line+1 sta line+1
b1: b1:
lda line lda line
sta form_line_lo,y sta form_line_lo,x
lda line+1 lda line+1
sta form_line_hi,y sta form_line_hi,x
lda line lda line
clc clc
adc #$28 adc #$28
@ -282,13 +290,13 @@ form_set_screen: {
bcc !+ bcc !+
inc line+1 inc line+1
!: !:
iny inx
cpy #$19 cpx #$19
bne b1 bne b1
rts rts
} }
print_str_lines: { print_str_lines: {
.label str = 5 .label str = 6
lda #<menu.SCREEN lda #<menu.SCREEN
sta print_line_cursor sta print_line_cursor
lda #>menu.SCREEN lda #>menu.SCREEN
@ -352,7 +360,7 @@ print_ln: {
rts rts
} }
print_cls: { print_cls: {
.label sc = 5 .label sc = 6
lda #<menu.SCREEN lda #<menu.SCREEN
sta sc sta sc
lda #>menu.SCREEN lda #>menu.SCREEN
@ -384,5 +392,6 @@ print_set_screen: {
form_line_hi: .fill $19, 0 form_line_hi: .fill $19, 0
form_fields_x: .byte 7, 7, 7, 7, 7, 7, 7, $11, $11 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_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 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 @"+"@" 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 @"+"@"

View File

@ -90,111 +90,115 @@ 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 ] ) [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 ] ) [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 ] ) [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 ] )
to:form_control::@28 to:form_control::@32
form_control::@28: scope:[form_control] from form_control 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 ] ) [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 ] ) [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::@33 [ 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 ] )
to:form_control::@1 to:form_control::@1
form_control::@1: scope:[form_control] from form_control::@28 form_control::@33 form_control::@1: scope:[form_control] from form_control::@32 form_control::@37
[51] (signed byte) form_cursor_count#15 ← phi( form_control::@28/(const signed byte) FORM_CURSOR_BLINK#0 form_control::@33/(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 ] ) [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 ] ) [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 ] )
to:form_control::@15 to:form_control::@17
form_control::@15: scope:[form_control] from form_control::@1 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 ] ) [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 ] ) [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 ] )
to:form_control::@3 to:form_control::@3
form_control::@3: scope:[form_control] from form_control::@15 form_control::@2 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 ] ) [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 ] ) [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] (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 ] )
to:form_control::@29 to:form_control::@33
form_control::@29: scope:[form_control] from form_control::@3 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 ] ) [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 ] ) [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 ] )
to:form_control::@17 to:form_control::@19
form_control::@17: scope:[form_control] from form_control::@29 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 ] ) [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 ] ) [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 ] )
to:form_control::@18 to:form_control::@20
form_control::@18: scope:[form_control] from form_control::@17 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 ] ) [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 ] ) [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 ] ) [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 ] ) [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 ] )
to:form_control::@31 to:form_control::@35
form_control::@31: scope:[form_control] from form_control::@18 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 ] ) [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 ] ) [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 ] )
to:form_control::@19 to:form_control::@21
form_control::@19: scope:[form_control] from form_control::@31 form_control::@21: scope:[form_control] from form_control::@35
[68] (byte) form_field_idx#37 ← ++ (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#37 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#37 ] ) [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#37!=(const byte) form_fields_cnt#0) goto form_control::@34 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#37 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#37 ] ) [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 ] )
to:form_control::@8 to:form_control::@8
form_control::@8: scope:[form_control] from form_control::@19 form_control::@34 form_control::@35 form_control::@6 form_control::@8: scope:[form_control] from form_control::@21 form_control::@38 form_control::@39 form_control::@6
[70] (byte) form_field_idx#30 ← phi( form_control::@19/(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::@34/(byte) form_field_idx#37 form_control::@35/(byte) form_field_idx#38 ) [ key_right_debounce#11 key_down_debounce#23 form_field_idx#30 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#30 ] ) [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 ] )
to:form_control::@return to:form_control::@return
form_control::@return: scope:[form_control] from form_control::@13 form_control::@24 form_control::@30 form_control::@8 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::@30/(byte) key_right_debounce#11 form_control::@24/(byte) key_right_debounce#21 form_control::@13/(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) 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::@30/(byte) form_field_idx#14 form_control::@24/(byte) form_field_idx#14 form_control::@13/(byte) form_field_idx#14 form_control::@8/(byte) form_field_idx#30 ) [ 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::@30/(byte) key_down_debounce#20 form_control::@24/(byte) key_down_debounce#20 form_control::@13/(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] (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::@30/(signed byte) form_cursor_count#15 form_control::@24/(signed byte) form_cursor_count#15 form_control::@13/(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 ] ) [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 ] ) [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 ] )
to:@return to:@return
form_control::@34: scope:[form_control] from form_control::@19 form_control::@38: scope:[form_control] from form_control::@21
[73] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#37 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#37 ] ) [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 ] )
to:form_control::@8 to:form_control::@8
form_control::@6: scope:[form_control] from form_control::@31 form_control::@6: scope:[form_control] from form_control::@35
[74] (byte) form_field_idx#38 ← -- (byte) form_field_idx#14 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#38 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#38 ] ) [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#38!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@35 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#38 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#38 ] ) [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 ] )
to:form_control::@8 to:form_control::@8
form_control::@35: scope:[form_control] from form_control::@6 form_control::@39: scope:[form_control] from form_control::@6
[76] phi() [ key_right_debounce#11 key_down_debounce#23 form_field_idx#38 ] ( main:2::menu:10::form_control:44 [ key_right_debounce#11 key_down_debounce#23 form_field_idx#38 ] ) [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 ] )
to:form_control::@8 to:form_control::@8
form_control::@4: scope:[form_control] from form_control::@17 form_control::@29 form_control::@4: scope:[form_control] from form_control::@19 form_control::@33
[77] (byte) key_down_debounce#20 ← phi( form_control::@29/(byte) key_down_debounce#11 form_control::@17/(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 ] ) [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 ] ) [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) 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 ] )
to:form_control::@30 to:form_control::@34
form_control::@30: scope:[form_control] from form_control::@4 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 ] ) [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 ] ) [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 ] )
to:form_control::@24 to:form_control::@26
form_control::@24: scope:[form_control] from form_control::@30 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 ] ) [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 ] ) [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 ] )
to:form_control::@25 to:form_control::@27
form_control::@25: scope:[form_control] from form_control::@24 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 ] ) [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 ] ) [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] (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 ] )
to:form_control::@32 to:form_control::@36
form_control::@32: scope:[form_control] from form_control::@25 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 ] ) [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 ] ) [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 ] )
to:form_control::@26 to:form_control::@28
form_control::@26: scope:[form_control] from form_control::@32 form_control::@28: scope:[form_control] from form_control::@36
[89] (byte/signed word/word/dword/signed dword~) form_control::$31 ← *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) + (byte/signed byte/word/signed word/dword/signed dword) 1 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$31 ] ( 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::$31 ] ) [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] (byte/word/dword~) form_control::$32 ← (byte/signed word/word/dword/signed dword~) form_control::$31 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$32 ] ( 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::$32 ] ) [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) ← (byte/word/dword~) form_control::$32 [ 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 ] ) to:form_control::@29
to:form_control::@13 form_control::@29: scope:[form_control] from form_control::@28
form_control::@13: scope:[form_control] from form_control::@12 form_control::@26 [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 ] )
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 ] ) [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 ] )
to:form_control::@return to:form_control::@return
form_control::@12: scope:[form_control] from form_control::@32 form_control::@12: scope:[form_control] from form_control::@36
[93] (byte/signed word/word/dword/signed dword~) form_control::$33 ← *((const byte[]) form_fields_val#0 + (byte) form_field_idx#14) - (byte/signed byte/word/signed word/dword/signed dword) 1 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$33 ] ( 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::$33 ] ) [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] (byte/word/dword~) form_control::$34 ← (byte/signed word/word/dword/signed dword~) form_control::$33 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 key_down_debounce#20 key_right_debounce#21 form_control::$34 ] ( 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::$34 ] ) [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) ← (byte/word/dword~) form_control::$34 [ 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 ] ) to:form_control::@31
to:form_control::@13 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 ] )
to:form_control::@14
form_control::@2: scope:[form_control] from form_control::@1 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 ] ) [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 ] ) [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 ] )
to:form_control::@3 to:form_control::@3
form_control::@33: scope:[form_control] from form_control::@28 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 ] ) [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 ] )
to:form_control::@1 to:form_control::@1
keyboard_key_pressed: scope:[keyboard_key_pressed] from form_control::@18 form_control::@25 form_control::@3 form_control::@4 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::@18/(const byte) KEY_RSHIFT#0 form_control::@25/(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 ] ) [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 ] ) [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 ] ) [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 ] ) [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 ] )

View File

@ -63,38 +63,36 @@
(byte~) form_control::$13 reg byte a 4.0 (byte~) form_control::$13 reg byte a 4.0
(byte~) form_control::$14 reg byte a 4.0 (byte~) form_control::$14 reg byte a 4.0
(byte~) form_control::$28 reg byte a 4.0 (byte~) form_control::$28 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) form_control::$31 reg byte a 4.0
(byte/word/dword~) form_control::$32 reg byte a 4.0
(byte/signed word/word/dword/signed dword~) form_control::$33 reg byte a 4.0
(byte/word/dword~) form_control::$34 reg byte a 4.0
(byte/word/dword~) form_control::$6 reg byte a 4.0 (byte/word/dword~) form_control::$6 reg byte a 4.0
(byte~) form_control::$7 reg byte a 4.0 (byte~) form_control::$7 reg byte a 4.0
(label) form_control::@1 (label) form_control::@1
(label) form_control::@12 (label) form_control::@12
(label) form_control::@13 (label) form_control::@14
(label) form_control::@15
(label) form_control::@17 (label) form_control::@17
(label) form_control::@18
(label) form_control::@19 (label) form_control::@19
(label) form_control::@2 (label) form_control::@2
(label) form_control::@24 (label) form_control::@20
(label) form_control::@25 (label) form_control::@21
(label) form_control::@26 (label) form_control::@26
(label) form_control::@27
(label) form_control::@28 (label) form_control::@28
(label) form_control::@29 (label) form_control::@29
(label) form_control::@3 (label) form_control::@3
(label) form_control::@30
(label) form_control::@31 (label) form_control::@31
(label) form_control::@32 (label) form_control::@32
(label) form_control::@33 (label) form_control::@33
(label) form_control::@34 (label) form_control::@34
(label) form_control::@35 (label) form_control::@35
(label) form_control::@36
(label) form_control::@37
(label) form_control::@38
(label) form_control::@39
(label) form_control::@4 (label) form_control::@4
(label) form_control::@6 (label) form_control::@6
(label) form_control::@8 (label) form_control::@8
(label) form_control::@return (label) form_control::@return
(byte*) form_control::field (byte*) form_control::field
(byte*) form_control::field#0 field zp ZP_WORD:5 0.44444444444444453 (byte*) form_control::field#0 field zp ZP_WORD:6 0.44444444444444453
(byte) form_control::key_down (byte) form_control::key_down
(byte) form_control::key_down#0 reg byte a 2.6666666666666665 (byte) form_control::key_down#0 reg byte a 2.6666666666666665
(byte) form_control::key_right (byte) form_control::key_right
@ -106,31 +104,33 @@
(signed byte) form_cursor_count#16 form_cursor_count zp ZP_BYTE:2 35.66666666666666 (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 (signed byte) form_cursor_count#5 form_cursor_count zp ZP_BYTE:2 2.0
(byte) form_field_idx (byte) form_field_idx
(byte) form_field_idx#1 reg byte x 0.41935483870967744 (byte) form_field_idx#1 form_field_idx zp ZP_BYTE:4 0.41935483870967744
(byte) form_field_idx#14 reg byte x 2.666666666666665 (byte) form_field_idx#14 form_field_idx zp ZP_BYTE:4 2.901960784313723
(byte) form_field_idx#18 reg byte x 36.33333333333332 (byte) form_field_idx#18 form_field_idx zp ZP_BYTE:4 36.33333333333332
(byte) form_field_idx#30 reg byte x 6.0 (byte) form_field_idx#32 form_field_idx zp ZP_BYTE:4 6.0
(byte) form_field_idx#37 reg byte x 2.0 (byte) form_field_idx#41 form_field_idx zp ZP_BYTE:4 2.0
(byte) form_field_idx#38 reg byte x 2.0 (byte) form_field_idx#42 form_field_idx zp ZP_BYTE:4 2.0
(byte*()) form_field_ptr((byte) form_field_ptr::field_idx) (byte*()) form_field_ptr((byte) form_field_ptr::field_idx)
(word~) form_field_ptr::$2 $2 zp ZP_WORD:5 1.0 (word~) form_field_ptr::$2 $2 zp ZP_WORD:6 1.0
(label) form_field_ptr::@return (label) form_field_ptr::@return
(byte*) form_field_ptr::field (byte*) form_field_ptr::field
(byte) form_field_ptr::field_idx (byte) form_field_ptr::field_idx
(byte) form_field_ptr::field_idx#0 field_idx zp ZP_BYTE:7 202.0 (byte) form_field_ptr::field_idx#0 reg byte x 202.0
(byte) form_field_ptr::field_idx#1 field_idx zp ZP_BYTE:7 4.0 (byte) form_field_ptr::field_idx#1 reg byte x 4.0
(byte) form_field_ptr::field_idx#2 field_idx zp ZP_BYTE:7 35.66666666666666 (byte) form_field_ptr::field_idx#2 reg byte x 35.66666666666666
(byte*) form_field_ptr::line (byte*) form_field_ptr::line
(byte*) form_field_ptr::return (byte*) form_field_ptr::return
(byte*) form_field_ptr::return#0 return zp ZP_WORD:5 26.25 (byte*) form_field_ptr::return#0 return zp ZP_WORD:6 26.25
(byte*) form_field_ptr::return#2 return zp ZP_WORD:5 202.0 (byte*) form_field_ptr::return#2 return zp ZP_WORD:6 202.0
(byte*) form_field_ptr::return#3 return zp ZP_WORD:5 4.0 (byte*) form_field_ptr::return#3 return zp ZP_WORD:6 4.0
(byte) form_field_ptr::x (byte) form_field_ptr::x
(byte) form_field_ptr::x#0 reg byte a 4.0 (byte) form_field_ptr::x#0 reg byte a 4.0
(byte) form_field_ptr::y (byte) form_field_ptr::y
(byte) form_field_ptr::y#0 reg byte a 6.0 (byte) form_field_ptr::y#0 reg byte y 6.0
(byte) form_fields_cnt (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) 9
(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 }
(byte[]) form_fields_val (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[]) form_fields_x (byte[]) form_fields_x
@ -146,22 +146,22 @@
(label) form_render_values::@3 (label) form_render_values::@3
(label) form_render_values::@return (label) form_render_values::@return
(byte*) form_render_values::field (byte*) form_render_values::field
(byte*) form_render_values::field#0 field zp ZP_WORD:5 202.0 (byte*) form_render_values::field#0 field zp ZP_WORD:6 202.0
(byte) form_render_values::idx (byte) form_render_values::idx
(byte) form_render_values::idx#1 idx zp ZP_BYTE:7 151.5 (byte) form_render_values::idx#1 reg byte x 151.5
(byte) form_render_values::idx#2 idx zp ZP_BYTE:7 67.33333333333333 (byte) form_render_values::idx#2 reg byte x 67.33333333333333
(void()) form_set_screen((byte*) form_set_screen::screen) (void()) form_set_screen((byte*) form_set_screen::screen)
(byte~) form_set_screen::$0 reg byte a 202.0 (byte~) form_set_screen::$0 reg byte a 202.0
(byte~) form_set_screen::$1 reg byte a 202.0 (byte~) form_set_screen::$1 reg byte a 202.0
(label) form_set_screen::@1 (label) form_set_screen::@1
(label) form_set_screen::@return (label) form_set_screen::@return
(byte*) form_set_screen::line (byte*) form_set_screen::line
(byte*) form_set_screen::line#1 line zp ZP_WORD:5 67.33333333333333 (byte*) form_set_screen::line#1 line zp ZP_WORD:6 67.33333333333333
(byte*) form_set_screen::line#2 line zp ZP_WORD:5 80.8 (byte*) form_set_screen::line#2 line zp ZP_WORD:6 80.8
(byte*) form_set_screen::screen (byte*) form_set_screen::screen
(byte) form_set_screen::y (byte) form_set_screen::y
(byte) form_set_screen::y#1 reg byte y 151.5 (byte) form_set_screen::y#1 reg byte x 151.5
(byte) form_set_screen::y#2 reg byte y 67.33333333333333 (byte) form_set_screen::y#2 reg byte x 67.33333333333333
(byte) key_down_debounce (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.41935483870967744
(byte) key_down_debounce#11 key_down_debounce zp ZP_BYTE:3 4.916666666666666 (byte) key_down_debounce#11 key_down_debounce zp ZP_BYTE:3 4.916666666666666
@ -169,18 +169,18 @@
(byte) key_down_debounce#20 key_down_debounce zp ZP_BYTE:3 0.5263157894736842 (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_down_debounce#23 key_down_debounce zp ZP_BYTE:3 0.4
(byte) key_right_debounce (byte) key_right_debounce
(byte) key_right_debounce#1 key_right_debounce zp ZP_BYTE:4 0.41935483870967744 (byte) key_right_debounce#1 key_right_debounce zp ZP_BYTE:5 0.41935483870967744
(byte) key_right_debounce#11 key_right_debounce zp ZP_BYTE:4 2.727272727272727 (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:4 36.33333333333332 (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:4 0.42857142857142855 (byte) key_right_debounce#21 key_right_debounce zp ZP_BYTE:5 0.42857142857142855
(byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key) (byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key)
(byte~) keyboard_key_pressed::$2 reg byte a 4.0 (byte~) keyboard_key_pressed::$2 reg byte a 4.0
(label) keyboard_key_pressed::@2 (label) keyboard_key_pressed::@2
(label) keyboard_key_pressed::@return (label) keyboard_key_pressed::@return
(byte) keyboard_key_pressed::colidx (byte) keyboard_key_pressed::colidx
(byte) keyboard_key_pressed::colidx#0 colidx zp ZP_BYTE:7 0.6666666666666666 (byte) keyboard_key_pressed::colidx#0 reg byte y 0.6666666666666666
(byte) keyboard_key_pressed::key (byte) keyboard_key_pressed::key
(byte) keyboard_key_pressed::key#4 reg byte y 2.0 (byte) keyboard_key_pressed::key#4 reg byte x 2.0
(byte) keyboard_key_pressed::return (byte) keyboard_key_pressed::return
(byte) keyboard_key_pressed::return#0 reg byte a 1.6666666666666665 (byte) keyboard_key_pressed::return#0 reg byte a 1.6666666666666665
(byte) keyboard_key_pressed::return#10 reg byte a 4.0 (byte) keyboard_key_pressed::return#10 reg byte a 4.0
@ -198,7 +198,7 @@
(byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::return#2 reg byte a 4.0
(byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::row_pressed_bits
(byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid
(byte) keyboard_matrix_read::rowid#0 reg byte y 4.0 (byte) keyboard_matrix_read::rowid#0 reg byte x 4.0
(byte[8]) keyboard_matrix_row_bitmask (byte[8]) keyboard_matrix_row_bitmask
(const byte[8]) keyboard_matrix_row_bitmask#0 keyboard_matrix_row_bitmask = { (byte/word/signed word/dword/signed dword) 254, (byte/word/signed word/dword/signed dword) 253, (byte/word/signed word/dword/signed dword) 251, (byte/word/signed word/dword/signed dword) 247, (byte/word/signed word/dword/signed dword) 239, (byte/word/signed word/dword/signed dword) 223, (byte/word/signed word/dword/signed dword) 191, (byte/signed byte/word/signed word/dword/signed dword) 127 } (const byte[8]) keyboard_matrix_row_bitmask#0 keyboard_matrix_row_bitmask = { (byte/word/signed word/dword/signed dword) 254, (byte/word/signed word/dword/signed dword) 253, (byte/word/signed word/dword/signed dword) 251, (byte/word/signed word/dword/signed dword) 247, (byte/word/signed word/dword/signed dword) 239, (byte/word/signed word/dword/signed dword) 223, (byte/word/signed word/dword/signed dword) 191, (byte/signed byte/word/signed word/dword/signed dword) 127 }
(void()) main() (void()) main()
@ -222,11 +222,11 @@
(byte*) menu::SCREEN (byte*) menu::SCREEN
(const byte*) menu::SCREEN#0 SCREEN = ((byte*))(word/dword/signed dword) 32768 (const byte*) menu::SCREEN#0 SCREEN = ((byte*))(word/dword/signed dword) 32768
(byte*) menu::c (byte*) menu::c
(byte*) menu::c#1 c zp ZP_WORD:5 151.5 (byte*) menu::c#1 c zp ZP_WORD:6 151.5
(byte*) menu::c#2 c zp ZP_WORD:5 151.5 (byte*) menu::c#2 c zp ZP_WORD:6 151.5
(byte) menu::i (byte) menu::i
(byte) menu::i#1 reg byte y 151.5 (byte) menu::i#1 reg byte x 151.5
(byte) menu::i#2 reg byte y 202.0 (byte) menu::i#2 reg byte x 202.0
(byte*) print_char_cursor (byte*) print_char_cursor
(byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:8 2002.0 (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#17 print_char_cursor zp ZP_WORD:8 821.0
@ -237,8 +237,8 @@
(label) print_cls::@1 (label) print_cls::@1
(label) print_cls::@return (label) print_cls::@return
(byte*) print_cls::sc (byte*) print_cls::sc
(byte*) print_cls::sc#1 sc zp ZP_WORD:5 151.5 (byte*) print_cls::sc#1 sc zp ZP_WORD:6 151.5
(byte*) print_cls::sc#2 sc zp ZP_WORD:5 151.5 (byte*) print_cls::sc#2 sc zp ZP_WORD:6 151.5
(byte[]) print_hextab (byte[]) print_hextab
(const string) print_hextab#0 print_hextab = (string) "0123456789abcdef" (const string) print_hextab#0 print_hextab = (string) "0123456789abcdef"
(byte*) print_line_cursor (byte*) print_line_cursor
@ -262,19 +262,20 @@
(byte) print_str_lines::ch (byte) print_str_lines::ch
(byte) print_str_lines::ch#0 reg byte a 667.3333333333334 (byte) print_str_lines::ch#0 reg byte a 667.3333333333334
(byte*) print_str_lines::str (byte*) print_str_lines::str
(byte*) print_str_lines::str#0 str zp ZP_WORD:5 233.66666666666669 (byte*) print_str_lines::str#0 str zp ZP_WORD:6 233.66666666666669
(byte*) print_str_lines::str#2 str zp ZP_WORD:5 151.5 (byte*) print_str_lines::str#2 str zp ZP_WORD:6 151.5
(byte*) print_str_lines::str#3 str zp ZP_WORD:5 1552.0 (byte*) print_str_lines::str#3 str zp ZP_WORD:6 1552.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: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:3 [ key_down_debounce#1 key_down_debounce#11 key_down_debounce#13 key_down_debounce#20 key_down_debounce#23 ]
reg byte x [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#30 form_field_idx#37 form_field_idx#38 ] zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#32 form_field_idx#41 form_field_idx#42 ]
zp ZP_BYTE:4 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ] zp ZP_BYTE:5 [ key_right_debounce#1 key_right_debounce#11 key_right_debounce#13 key_right_debounce#21 ]
reg byte y [ menu::i#2 menu::i#1 ] reg byte x [ menu::i#2 menu::i#1 ]
zp ZP_WORD:5 [ 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 ] 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 y [ keyboard_key_pressed::key#4 ] reg byte x [ keyboard_key_pressed::key#4 ]
zp ZP_BYTE:7 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 form_render_values::idx#2 form_render_values::idx#1 keyboard_key_pressed::colidx#0 ] reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ]
reg byte y [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ]
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: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:10 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 ]
reg byte a [ form_control::$6 ] reg byte a [ form_control::$6 ]
@ -287,18 +288,15 @@ reg byte a [ keyboard_key_pressed::return#3 ]
reg byte a [ form_control::key_right#0 ] reg byte a [ form_control::key_right#0 ]
reg byte a [ keyboard_key_pressed::return#10 ] reg byte a [ keyboard_key_pressed::return#10 ]
reg byte a [ form_control::$28 ] reg byte a [ form_control::$28 ]
reg byte a [ form_control::$31 ]
reg byte a [ form_control::$32 ]
reg byte a [ form_control::$33 ]
reg byte a [ form_control::$34 ]
reg byte a [ form_control::$7 ] reg byte a [ form_control::$7 ]
reg byte y [ keyboard_key_pressed::colidx#0 ]
reg byte a [ keyboard_key_pressed::rowidx#0 ] reg byte a [ keyboard_key_pressed::rowidx#0 ]
reg byte y [ keyboard_matrix_read::rowid#0 ] reg byte x [ keyboard_matrix_read::rowid#0 ]
reg byte a [ keyboard_matrix_read::return#2 ] reg byte a [ keyboard_matrix_read::return#2 ]
reg byte a [ keyboard_key_pressed::$2 ] reg byte a [ keyboard_key_pressed::$2 ]
reg byte a [ keyboard_key_pressed::return#0 ] reg byte a [ keyboard_key_pressed::return#0 ]
reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ keyboard_matrix_read::return#0 ]
reg byte a [ form_field_ptr::y#0 ] reg byte y [ form_field_ptr::y#0 ]
reg byte a [ form_field_ptr::x#0 ] reg byte a [ form_field_ptr::x#0 ]
reg byte a [ form_set_screen::$0 ] reg byte a [ form_set_screen::$0 ]
reg byte a [ form_set_screen::$1 ] reg byte a [ form_set_screen::$1 ]