1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-08-02 09:29:35 +00:00

Implemented split screen form menu

This commit is contained in:
jespergravgaard 2018-04-05 00:30:26 +02:00
parent 6bfc6de252
commit 2aef56bb2c
6 changed files with 11234 additions and 5648 deletions

View File

@ -0,0 +1,12 @@
clc
adc #<{c1}
sta {z1}
lda #0
adc #>{c1}
sta {z1}+1
lda #0
adc #0
sta {z1}+2
lda #0
sta {z1}+3

View File

@ -6,12 +6,33 @@ import "keyboard.kc"
void main() {
asm { sei } // Disable normal interrupt (prevent keyboard reading glitches)
*DTV_FEATURE = DTV_FEATURE_ENABLE;
keyboard_init();
gfx_init();
form_init();
while(true) {
menu();
// Render form at the bottom 9 lines of the screen
while(*RASTER != $30+8*16) {}
form_mode();
// Allow user to control the graphics through the form
while(*RASTER!=$ff) {}
form_control();
// Render graphics mode at the top 16 lines of the screen
gfx_mode();
}
}
byte[] MENU_COLS =
// 8BPP Chunky Bitmap (contains 8bpp pixels)
const dword PLANE_8BPP_CHUNKY = $20000;
// Screen containing the FORM
const byte* FORM_SCREEN = $8000;
// Charset used for the FORM
const byte* FORM_CHARSET = $9800; // Charset ROM
// Offset of the FORM from the top of the screen
const word FORM_OFFSET = 16*40;
byte[] FORM_COLS =
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" +
" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +
" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +
@ -22,7 +43,7 @@ byte[] MENU_COLS =
" nnnnnnn nnnnnnnn ooooooooo @" +
" nnnnnnn nnnnnnnn ooooooooo @" +
"@" ;
byte[] MENU_TEXT =
byte[] FORM_TEXT =
" DTV GfxExplorer MODE 0 8bpp pixel cell @" +
" CONTROL PLANE A PLANE B VIC II @" +
" bmm 0 patt p0 patt p0 screen s0 @" +
@ -34,64 +55,196 @@ byte[] MENU_TEXT =
" chunk 0 overs 0 bgcol3 00 @" +
"@" ;
void menu() {
const byte* SCREEN = $8000;
const byte* CHARSET = $9800; // Charset ROM
// DTV Graphics Bank
*DTV_GRAPHICS_VIC_BANK = (byte)((dword)CHARSET/$10000);
// DTV Color Bank
*DTV_COLOR_BANK_LO = <((word)(DTV_COLOR_BANK_DEFAULT/$400));
*DTV_COLOR_BANK_HI = >((word)(DTV_COLOR_BANK_DEFAULT/$400));
// DTV Graphics Mode
*DTV_CONTROL = 0;
// VIC Graphics Bank
*CIA2_PORT_A_DDR = %00000011; // Set VIC Bank bits to output - all others to input
*CIA2_PORT_A = %00000011 ^ (byte)((word)CHARSET/$4000); // Set VIC Bank
// VIC Graphics Mode
*VIC_CONTROL = VIC_DEN|VIC_RSEL|3;
*VIC_CONTROL2 = VIC_CSEL;
// VIC Memory Pointers
*VIC_MEMORY = (byte)((((word)SCREEN&$3fff)/$40)|(((word)CHARSET&$3fff)/$400));
// DTV Palette - default
for(byte i : 0..$f) {
DTV_PALETTE[i] = DTV_PALETTE_DEFAULT[i];
}
// Screen colors
*BGCOL = 0;
*BORDERCOL = 0;
// 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);
form_set_screen(SCREEN);
form_render_values();
// Allow user to control the form
while(true) {
while(*RASTER!=$ff) {}
form_control();
}
}
// Table with addresses of the y-lines of the form. The first line contains the address of the form screen.
byte[25] form_line_lo;
byte[25] form_line_hi;
// Current selected field in the form
byte form_field_idx = 0;
// Number of form fields
byte form_fields_cnt = 35;
// Form fields x/y-positions
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 };
byte[] form_fields_max = { $d, 1, 1, 1, 1, 1, 1, 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, 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 };
// Form fields direct addressing
const byte* form_ctrl_mode = form_fields_val+0;
const byte* form_ctrl_bmm = form_fields_val+1;
const byte* form_ctrl_mcm = form_fields_val+2;
const byte* form_ctrl_ecm = form_fields_val+3;
const byte* form_ctrl_hicol = form_fields_val+4;
const byte* form_ctrl_line = form_fields_val+5;
const byte* form_ctrl_colof = form_fields_val+6;
const byte* form_ctrl_chunk = form_fields_val+7;
const byte* form_ctrl_borof = form_fields_val+8;
const byte* form_ctrl_overs = form_fields_val+9;
const byte* form_a_pattern = form_fields_val+10;
const byte* form_a_start_hi = form_fields_val+11;
const byte* form_a_start_lo = form_fields_val+12;
const byte* form_a_step_hi = form_fields_val+13;
const byte* form_a_step_lo = form_fields_val+14;
const byte* form_a_mod_hi = form_fields_val+15;
const byte* form_a_mod_lo = form_fields_val+16;
const byte* form_b_pattern = form_fields_val+17;
const byte* form_b_start_hi = form_fields_val+18;
const byte* form_b_start_lo = form_fields_val+19;
const byte* form_b_step_hi = form_fields_val+20;
const byte* form_b_step_lo = form_fields_val+21;
const byte* form_b_mod_hi = form_fields_val+22;
const byte* form_b_mod_lo = form_fields_val+23;
const byte* form_vic_screen = form_fields_val+24;
const byte* form_vic_gfx = form_fields_val+25;
const byte* form_vic_cols = form_fields_val+26;
const byte* form_vic_bg0_hi = form_fields_val+27;
const byte* form_vic_bg0_lo = form_fields_val+28;
const byte* form_vic_bg1_hi = form_fields_val+29;
const byte* form_vic_bg1_lo = form_fields_val+30;
const byte* form_vic_bg2_hi = form_fields_val+31;
const byte* form_vic_bg2_lo = form_fields_val+32;
const byte* form_vic_bg3_hi = form_fields_val+33;
const byte* form_vic_bg3_lo = form_fields_val+34;
// Change graphics mode to show the selected graphics mode
void gfx_mode() {
// DTV Graphics Mode
byte dtv_control = 0;
if(*form_ctrl_line!=0) {
dtv_control = dtv_control | DTV_LINEAR;
}
if(*form_ctrl_borof!=0) {
dtv_control = dtv_control | DTV_BORDER_OFF;
}
if(*form_ctrl_hicol!=0) {
dtv_control = dtv_control | DTV_HIGHCOLOR;
}
if(*form_ctrl_overs!=0) {
dtv_control = dtv_control | DTV_OVERSCAN;
}
if(*form_ctrl_colof!=0) {
dtv_control = dtv_control | DTV_COLORRAM_OFF;
}
if(*form_ctrl_chunk!=0) {
dtv_control = dtv_control | DTV_CHUNKY;
}
*DTV_CONTROL = dtv_control;
// VIC Graphics Mode
byte vic_control = VIC_DEN | VIC_RSEL | 3;
if(*form_ctrl_ecm!=0) {
vic_control = vic_control | VIC_ECM;
}
if(*form_ctrl_bmm!=0) {
vic_control = vic_control | VIC_BMM;
}
*VIC_CONTROL = vic_control;
byte vic_control2 = VIC_CSEL;
if(*form_ctrl_mcm!=0) {
vic_control2 = vic_control2 | VIC_MCM;
}
*VIC_CONTROL2 = vic_control2;
// Linear Graphics Plane A Counter
byte plane_a_offs = *form_a_start_hi<<4|*form_a_start_lo;
dword plane_a = (dword)FORM_SCREEN + plane_a_offs;
*DTV_PLANEA_START_LO = < < plane_a;
*DTV_PLANEA_START_MI = > < plane_a;
*DTV_PLANEA_START_HI = < > plane_a;
*DTV_PLANEA_STEP = *form_a_step_hi<<4|*form_a_step_lo;
*DTV_PLANEA_MODULO_LO = *form_a_mod_hi<<4|*form_a_mod_lo;
*DTV_PLANEA_MODULO_HI = 0;
// Linear Graphics Plane B Counter
byte plane_b_offs = *form_b_start_hi<<4|*form_b_start_lo;
dword plane_b = PLANE_8BPP_CHUNKY + plane_b_offs;
*DTV_PLANEB_START_LO = < < plane_b;
*DTV_PLANEB_START_MI = > < plane_b;
*DTV_PLANEB_START_HI = < > plane_b;
*DTV_PLANEB_STEP = *form_b_step_hi<<4|*form_b_step_lo;
*DTV_PLANEB_MODULO_LO = *form_b_mod_hi<<4|*form_b_mod_lo;
*DTV_PLANEB_MODULO_HI = 0;
// Border colors
*BGCOL1 = *form_vic_bg0_hi<<4|*form_vic_bg0_lo;
*BGCOL2 = *form_vic_bg1_hi<<4|*form_vic_bg1_lo;
*BGCOL3 = *form_vic_bg2_hi<<4|*form_vic_bg2_lo;
*BGCOL4 = *form_vic_bg3_hi<<4|*form_vic_bg3_lo;
// DTV Palette - Grey Tones
for(byte i : 0..$f) {
DTV_PALETTE[i] = i;
}
}
// Initialize the different graphics in the memory
void gfx_init() {
gfx_init_plane_8bppchunky();
}
// Initialize 8BPP Chunky Bitmap (contains 8bpp pixels)
void gfx_init_plane_8bppchunky() {
// 320x200 8bpp pixels for Plane
byte gfxbCpuBank = (byte)(PLANE_8BPP_CHUNKY/$4000);
dtvSetCpuBankSegment1(gfxbCpuBank++);
byte* gfxb = $4000;
for(byte y : 0..199) {
for (word x : 0..319) {
// If we have crossed to $8000 increase the CPU BANK segment and reset to $4000
if(gfxb==$8000) {
dtvSetCpuBankSegment1(gfxbCpuBank++);
gfxb = $4000;
}
byte c = (byte)(x+y);
*gfxb++ = c;
}
}
// Reset CPU BANK segment to $4000
dtvSetCpuBankSegment1((byte)($4000/$4000));
}
// Initialize the form colors, screen & form
void form_init() {
// Form Colors
print_set_screen(COLS+FORM_OFFSET);
print_str_lines(FORM_COLS);
// Form Text
print_set_screen(FORM_SCREEN+FORM_OFFSET);
print_str_lines(FORM_TEXT);
// Form Fields
form_set_screen(FORM_SCREEN+FORM_OFFSET);
form_render_values();
}
// Change graphics mode to show the form
void form_mode() {
// DTV Graphics Bank
*DTV_GRAPHICS_VIC_BANK = (byte)((dword)FORM_CHARSET/$10000);
// DTV Color Bank
*DTV_COLOR_BANK_LO = <((word)(DTV_COLOR_BANK_DEFAULT/$400));
*DTV_COLOR_BANK_HI = >((word)(DTV_COLOR_BANK_DEFAULT/$400));
// VIC Graphics Bank
*CIA2_PORT_A_DDR = %00000011; // Set VIC Bank bits to output - all others to input
*CIA2_PORT_A = %00000011 ^ (byte)((word)FORM_CHARSET/$4000); // Set VIC Bank
// DTV Graphics Mode
*DTV_CONTROL = 0;
// VIC Graphics Mode
*VIC_CONTROL = VIC_DEN|VIC_RSEL|3;
*VIC_CONTROL2 = VIC_CSEL;
// VIC Memory Pointers
*VIC_MEMORY = (byte)((((word)FORM_SCREEN&$3fff)/$40)|(((word)FORM_CHARSET&$3fff)/$400));
// DTV Palette - default
for(byte i : 0..$f) {
DTV_PALETTE[i] = DTV_PALETTE_DEFAULT[i];
}
// Screen colors
*BORDERCOL = 0;
*BGCOL = 0;
}
// Table with addresses of the y-lines of the form. The first line contains the address of the form screen.
byte[25] form_line_lo;
byte[25] form_line_hi;
// Current selected field in the form
byte form_field_idx = 0;
// The number of frames to use for a full blink cycle
const signed byte FORM_CURSOR_BLINK = 40;
// Counts down to blink for form cursor (it is inversed in the lower half)
@ -181,6 +334,7 @@ void form_control() {
}
// Render field value
*field = print_hextab[form_fields_val[form_field_idx]];
return;
}
}

View File

@ -4,21 +4,48 @@
.label RASTER = $d012
.label BORDERCOL = $d020
.label BGCOL = $d021
.label BGCOL1 = $d021
.label BGCOL2 = $d022
.label BGCOL3 = $d023
.label BGCOL4 = $d024
.label VIC_CONTROL = $d011
.const VIC_ECM = $40
.const VIC_BMM = $20
.const VIC_DEN = $10
.const VIC_RSEL = 8
.label VIC_CONTROL2 = $d016
.const VIC_MCM = $10
.const VIC_CSEL = 8
.label VIC_MEMORY = $d018
.label COLS = $d800
.label CIA1_PORT_A = $dc00
.label CIA1_PORT_B = $dc01
.label CIA1_PORT_A_DDR = $dc02
.label CIA1_PORT_B_DDR = $dc03
.label CIA2_PORT_A = $dd00
.label CIA2_PORT_A_DDR = $dd02
.label DTV_FEATURE = $d03f
.const DTV_FEATURE_ENABLE = 1
.label DTV_CONTROL = $d03c
.const DTV_LINEAR = 1
.const DTV_BORDER_OFF = 2
.const DTV_HIGHCOLOR = 4
.const DTV_OVERSCAN = 8
.const DTV_COLORRAM_OFF = $10
.const DTV_CHUNKY = $40
.label DTV_PALETTE = $d200
.label DTV_PLANEA_START_LO = $d03a
.label DTV_PLANEA_START_MI = $d03b
.label DTV_PLANEA_START_HI = $d045
.label DTV_PLANEA_STEP = $d046
.label DTV_PLANEA_MODULO_LO = $d038
.label DTV_PLANEA_MODULO_HI = $d039
.label DTV_PLANEB_START_LO = $d049
.label DTV_PLANEB_START_MI = $d04a
.label DTV_PLANEB_START_HI = $d04b
.label DTV_PLANEB_STEP = $d04c
.label DTV_PLANEB_MODULO_LO = $d047
.label DTV_PLANEB_MODULO_HI = $d048
.label DTV_COLOR_BANK_LO = $d036
.label DTV_COLOR_BANK_HI = $d037
.const DTV_COLOR_BANK_DEFAULT = $1d800
@ -33,90 +60,288 @@
.const KEY_MODIFIER_RSHIFT = 2
.const KEY_MODIFIER_CTRL = 4
.const KEY_MODIFIER_COMMODORE = 8
.const PLANE_8BPP_CHUNKY = $20000
.label FORM_SCREEN = $8000
.label FORM_CHARSET = $9800
.const FORM_OFFSET = $10*$28
.const form_fields_cnt = $23
.const FORM_CURSOR_BLINK = $28
.const KEY_MODIFIER_SHIFT = KEY_MODIFIER_LSHIFT|KEY_MODIFIER_RSHIFT
.label form_ctrl_bmm = form_fields_val+1
.label form_ctrl_mcm = form_fields_val+2
.label form_ctrl_ecm = form_fields_val+3
.label form_ctrl_hicol = form_fields_val+4
.label form_ctrl_line = form_fields_val+5
.label form_ctrl_colof = form_fields_val+6
.label form_ctrl_chunk = form_fields_val+7
.label form_ctrl_borof = form_fields_val+8
.label form_ctrl_overs = form_fields_val+9
.label form_a_start_hi = form_fields_val+$b
.label form_a_start_lo = form_fields_val+$c
.label form_a_step_hi = form_fields_val+$d
.label form_a_step_lo = form_fields_val+$e
.label form_a_mod_hi = form_fields_val+$f
.label form_a_mod_lo = form_fields_val+$10
.label form_b_start_hi = form_fields_val+$12
.label form_b_start_lo = form_fields_val+$13
.label form_b_step_hi = form_fields_val+$14
.label form_b_step_lo = form_fields_val+$15
.label form_b_mod_hi = form_fields_val+$16
.label form_b_mod_lo = form_fields_val+$17
.label form_vic_bg0_hi = form_fields_val+$1b
.label form_vic_bg0_lo = form_fields_val+$1c
.label form_vic_bg1_hi = form_fields_val+$1d
.label form_vic_bg1_lo = form_fields_val+$1e
.label form_vic_bg2_hi = form_fields_val+$1f
.label form_vic_bg2_lo = form_fields_val+$20
.label form_vic_bg3_hi = form_fields_val+$21
.label form_vic_bg3_lo = form_fields_val+$22
.label print_char_cursor = 9
.label print_line_cursor = $b
.label keyboard_events_size = 6
.label keyboard_modifiers = 3
.label form_cursor_count = 2
.label form_field_idx = 4
.label form_field_idx = 3
.label print_line_cursor = $b
jsr main
main: {
sei
lda #DTV_FEATURE_ENABLE
sta DTV_FEATURE
jsr keyboard_init
jsr gfx_init
jsr form_init
lda #0
sta form_field_idx
sta keyboard_modifiers
sta keyboard_events_size
lda #FORM_CURSOR_BLINK/2
sta form_cursor_count
b2:
jsr menu
jmp b2
b4:
lda RASTER
cmp #$30+8*$10
bne b4
jsr form_mode
b7:
lda RASTER
cmp #$ff
bne b7
jsr form_control
jsr gfx_mode
jmp b4
}
menu: {
.label SCREEN = $8000
.label CHARSET = $9800
lda #($ffffffff&CHARSET)/$10000
sta DTV_GRAPHICS_VIC_BANK
lda #DTV_COLOR_BANK_DEFAULT/$400
sta DTV_COLOR_BANK_LO
lda #0
sta DTV_COLOR_BANK_HI
sta DTV_CONTROL
lda #3
sta CIA2_PORT_A_DDR
lda #3^CHARSET/$4000
sta CIA2_PORT_A
lda #VIC_DEN|VIC_RSEL|3
sta VIC_CONTROL
lda #VIC_CSEL
sta VIC_CONTROL2
lda #(SCREEN&$3fff)/$40|(CHARSET&$3fff)/$400
sta VIC_MEMORY
gfx_mode: {
.label _33 = 7
.label _35 = 7
.label _37 = 7
.label _46 = 7
.label _48 = 7
.label _50 = 7
.label plane_a = $d
.label plane_b = $d
lda form_ctrl_line
cmp #0
beq b11
ldx #0|DTV_LINEAR
jmp b1
b11:
ldx #0
b1:
lda DTV_PALETTE_DEFAULT,x
lda form_ctrl_borof
cmp #0
beq b2
txa
ora #DTV_BORDER_OFF
tax
b2:
lda form_ctrl_hicol
cmp #0
beq b3
txa
ora #DTV_HIGHCOLOR
tax
b3:
lda form_ctrl_overs
cmp #0
beq b4
txa
ora #DTV_OVERSCAN
tax
b4:
lda form_ctrl_colof
cmp #0
beq b5
txa
ora #DTV_COLORRAM_OFF
tax
b5:
lda form_ctrl_chunk
cmp #0
beq b6
txa
ora #DTV_CHUNKY
tax
b6:
stx DTV_CONTROL
lda form_ctrl_ecm
cmp #0
beq b12
ldx #VIC_DEN|VIC_RSEL|3|VIC_ECM
jmp b7
b12:
ldx #VIC_DEN|VIC_RSEL|3
b7:
lda form_ctrl_bmm
cmp #0
beq b8
txa
ora #VIC_BMM
tax
b8:
stx VIC_CONTROL
lda form_ctrl_mcm
cmp #0
beq b13
lda #VIC_CSEL|VIC_MCM
jmp b9
b13:
lda #VIC_CSEL
b9:
sta VIC_CONTROL2
lda form_a_start_hi
asl
asl
asl
asl
ora form_a_start_lo
clc
adc #<$ffffffff&FORM_SCREEN
sta plane_a
lda #0
adc #>$ffffffff&FORM_SCREEN
sta plane_a+1
lda #0
adc #0
sta plane_a+2
lda #0
sta plane_a+3
lda plane_a
sta _33
lda plane_a+1
sta _33+1
lda _33
sta DTV_PLANEA_START_LO
lda plane_a
sta _35
lda plane_a+1
sta _35+1
sta DTV_PLANEA_START_MI
lda plane_a+2
sta _37
lda plane_a+3
sta _37+1
lda _37
sta DTV_PLANEA_START_HI
lda form_a_step_hi
asl
asl
asl
asl
ora form_a_step_lo
sta DTV_PLANEA_STEP
lda form_a_mod_hi
asl
asl
asl
asl
ora form_a_mod_lo
sta DTV_PLANEA_MODULO_LO
lda #0
sta DTV_PLANEA_MODULO_HI
lda form_b_start_hi
asl
asl
asl
asl
ora form_b_start_lo
clc
adc #<PLANE_8BPP_CHUNKY
sta plane_b
lda #>PLANE_8BPP_CHUNKY
adc #0
sta plane_b+1
lda #<PLANE_8BPP_CHUNKY>>$10
adc #0
sta plane_b+2
lda #>PLANE_8BPP_CHUNKY>>$10
adc #0
sta plane_b+3
lda plane_b
sta _46
lda plane_b+1
sta _46+1
lda _46
sta DTV_PLANEB_START_LO
lda plane_b
sta _48
lda plane_b+1
sta _48+1
sta DTV_PLANEB_START_MI
lda plane_b+2
sta _50
lda plane_b+3
sta _50+1
lda _50
sta DTV_PLANEB_START_HI
lda form_b_step_hi
asl
asl
asl
asl
ora form_b_step_lo
sta DTV_PLANEB_STEP
lda form_b_mod_hi
asl
asl
asl
asl
ora form_b_mod_lo
sta DTV_PLANEB_MODULO_LO
lda #0
sta DTV_PLANEB_MODULO_HI
lda form_vic_bg0_hi
asl
asl
asl
asl
ora form_vic_bg0_lo
sta BGCOL1
lda form_vic_bg1_hi
asl
asl
asl
asl
ora form_vic_bg1_lo
sta BGCOL2
lda form_vic_bg2_hi
asl
asl
asl
asl
ora form_vic_bg2_lo
sta BGCOL3
lda form_vic_bg3_hi
asl
asl
asl
asl
ora form_vic_bg3_lo
sta BGCOL4
ldx #0
b10:
txa
sta DTV_PALETTE,x
inx
cpx #$10
bne b1
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
b5:
lda RASTER
cmp #$ff
bne b5
jsr form_control
jmp b5
bne b10
rts
}
form_control: {
.label field = 7
@ -151,8 +376,8 @@ form_control: {
ldy #0
and (field),y
sta (field),y
lda #KEY_MODIFIER_SHIFT
and keyboard_modifiers
txa
and #KEY_MODIFIER_SHIFT
cmp #0
bne b5
inc form_field_idx
@ -177,8 +402,8 @@ form_control: {
b4:
cmp #KEY_CRSR_RIGHT
bne breturn
lda #KEY_MODIFIER_SHIFT
and keyboard_modifiers
txa
and #KEY_MODIFIER_SHIFT
cmp #0
bne b10
ldx form_field_idx
@ -231,9 +456,9 @@ keyboard_event_get: {
jmp breturn
}
keyboard_event_scan: {
.label row_scan = $d
.label row_scan = $11
.label keycode = 5
.label row = 3
.label row = 4
lda #0
sta keycode
sta row
@ -285,39 +510,37 @@ keyboard_event_scan: {
jsr keyboard_event_pressed
cmp #0
beq b5
lda #0|KEY_MODIFIER_LSHIFT
sta keyboard_modifiers
ldx #0|KEY_MODIFIER_LSHIFT
jmp b9
b5:
lda #0
sta keyboard_modifiers
ldx #0
b9:
lda #KEY_RSHIFT
sta keyboard_event_pressed.keycode
jsr keyboard_event_pressed
cmp #0
beq b10
lda #KEY_MODIFIER_RSHIFT
ora keyboard_modifiers
sta keyboard_modifiers
txa
ora #KEY_MODIFIER_RSHIFT
tax
b10:
lda #KEY_CTRL
sta keyboard_event_pressed.keycode
jsr keyboard_event_pressed
cmp #0
beq b11
lda #KEY_MODIFIER_CTRL
ora keyboard_modifiers
sta keyboard_modifiers
txa
ora #KEY_MODIFIER_CTRL
tax
b11:
lda #KEY_COMMODORE
sta keyboard_event_pressed.keycode
jsr keyboard_event_pressed
cmp #0
beq breturn
lda #KEY_MODIFIER_COMMODORE
ora keyboard_modifiers
sta keyboard_modifiers
txa
ora #KEY_MODIFIER_COMMODORE
tax
breturn:
rts
b6:
@ -334,18 +557,20 @@ keyboard_event_scan: {
jmp b8
}
keyboard_event_pressed: {
.label keycode = 5
.label row_bits = 5
.label keycode = 4
lda keycode
lsr
lsr
lsr
tax
ldy keyboard_scan_values,x
tay
lda keyboard_scan_values,y
sta row_bits
lda #7
and keycode
tax
tya
and keyboard_matrix_col_bitmask,x
tay
lda keyboard_matrix_col_bitmask,y
and row_bits
rts
}
keyboard_matrix_read: {
@ -372,6 +597,62 @@ form_field_ptr: {
sta return+1
rts
}
form_mode: {
lda #($ffffffff&FORM_CHARSET)/$10000
sta DTV_GRAPHICS_VIC_BANK
lda #DTV_COLOR_BANK_DEFAULT/$400
sta DTV_COLOR_BANK_LO
lda #0
sta DTV_COLOR_BANK_HI
lda #3
sta CIA2_PORT_A_DDR
lda #3^FORM_CHARSET/$4000
sta CIA2_PORT_A
lda #0
sta DTV_CONTROL
lda #VIC_DEN|VIC_RSEL|3
sta VIC_CONTROL
lda #VIC_CSEL
sta VIC_CONTROL2
lda #(FORM_SCREEN&$3fff)/$40|(FORM_CHARSET&$3fff)/$400
sta VIC_MEMORY
ldx #0
b1:
lda DTV_PALETTE_DEFAULT,x
sta DTV_PALETTE,x
inx
cpx #$10
bne b1
lda #0
sta BORDERCOL
sta BGCOL
rts
}
form_init: {
lda #<COLS+FORM_OFFSET
sta print_set_screen.screen
lda #>COLS+FORM_OFFSET
sta print_set_screen.screen+1
jsr print_set_screen
lda #<FORM_COLS
sta print_str_lines.str
lda #>FORM_COLS
sta print_str_lines.str+1
jsr print_str_lines
lda #<FORM_SCREEN+FORM_OFFSET
sta print_set_screen.screen
lda #>FORM_SCREEN+FORM_OFFSET
sta print_set_screen.screen+1
jsr print_set_screen
lda #<FORM_TEXT
sta print_str_lines.str
lda #>FORM_TEXT
sta print_str_lines.str+1
jsr print_str_lines
jsr form_set_screen
jsr form_render_values
rts
}
form_render_values: {
.label field = 7
ldx #0
@ -388,11 +669,12 @@ form_render_values: {
rts
}
form_set_screen: {
.label screen = FORM_SCREEN+FORM_OFFSET
.label line = 7
ldx #0
lda #<menu.SCREEN
lda #<screen
sta line
lda #>menu.SCREEN
lda #>screen
sta line+1
b1:
lda line
@ -467,39 +749,93 @@ print_ln: {
!:
rts
}
print_cls: {
.label _0 = 9
.label sc = 7
lda print_set_screen.screen
sta sc
lda print_set_screen.screen+1
sta sc+1
b1:
lda #' '
ldy #0
sta (sc),y
inc sc
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 _0+1
bne b1
lda sc
cmp _0
bne b1
rts
}
print_set_screen: {
.label screen = $b
rts
}
gfx_init: {
jsr gfx_init_plane_8bppchunky
rts
}
gfx_init_plane_8bppchunky: {
.label _6 = $b
.label gfxb = 9
.label x = 7
.label y = 2
lda #PLANE_8BPP_CHUNKY/$4000
jsr dtvSetCpuBankSegment1
ldx #PLANE_8BPP_CHUNKY/$4000+1
lda #0
sta y
lda #<$4000
sta gfxb
lda #>$4000
sta gfxb+1
b1:
lda #<0
sta x
sta x+1
b2:
lda gfxb+1
cmp #>$8000
bne b3
lda gfxb
cmp #<$8000
bne b3
txa
jsr dtvSetCpuBankSegment1
inx
lda #<$4000
sta gfxb
lda #>$4000
sta gfxb+1
b3:
lda y
clc
adc x
sta _6
lda #0
adc x+1
sta _6+1
lda _6
ldy #0
sta (gfxb),y
inc gfxb
bne !+
inc gfxb+1
!:
inc x
bne !+
inc x+1
!:
lda x+1
cmp #>$140
bne b2
lda x
cmp #<$140
bne b2
inc y
lda y
cmp #$c8
bne b1
lda #$4000/$4000
jsr dtvSetCpuBankSegment1
rts
}
dtvSetCpuBankSegment1: {
.label cpuBank = $ff
sta cpuBank
.byte $32, $dd
lda $ff
.byte $32, $00
rts
}
keyboard_init: {
lda #$ff
sta CIA1_PORT_A_DDR
lda #0
sta CIA1_PORT_B_DDR
rts
}
DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a
print_hextab: .text "0123456789abcdef"
@ -507,11 +843,11 @@ print_set_screen: {
keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80
keyboard_events: .fill 8, 0
keyboard_scan_values: .fill 8, 0
form_line_lo: .fill $19, 0
form_line_hi: .fill $19, 0
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_max: .byte $d, 1, 1, 1, 1, 1, 1, 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 @"+"@"
form_line_lo: .fill $19, 0
form_line_hi: .fill $19, 0
FORM_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 @"+"@"
FORM_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

@ -1,430 +1,615 @@
@begin: scope:[] from
[0] phi() [ ] ( )
to:@28
@28: scope:[] from @begin
to:@32
@32: scope:[] from @begin
[1] phi() [ ] ( )
[2] call main param-assignment [ ] ( )
to:@end
@end: scope:[] from @28
@end: scope:[] from @32
[3] phi() [ ] ( )
main: scope:[main] from @28
main: scope:[main] from @32
asm { sei }
[5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] )
[6] call keyboard_init param-assignment [ ] ( main:2 [ ] )
to:main::@19
main::@19: scope:[main] from main
[7] phi() [ ] ( main:2 [ ] )
[8] call gfx_init param-assignment [ ] ( main:2 [ ] )
to:main::@20
main::@20: scope:[main] from main::@19
[9] phi() [ ] ( main:2 [ ] )
[10] call form_init param-assignment [ ] ( main:2 [ ] )
to:main::@1
main::@1: scope:[main] from main main::@2
[6] (byte) form_field_idx#1 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@2/(byte) form_field_idx#14 ) [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[6] (byte) keyboard_modifiers#20 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@2/(byte) keyboard_modifiers#10 ) [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[6] (byte) keyboard_events_size#22 ← phi( main/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@2/(byte) keyboard_events_size#24 ) [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[6] (signed byte) form_cursor_count#1 ← phi( main/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 main::@2/(signed byte) form_cursor_count#13 ) [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[7] if(true) goto main::@2 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
main::@1: scope:[main] from main::@20 main::@23
[11] (byte) form_field_idx#1 ← phi( main::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@23/(byte) form_field_idx#14 ) [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[11] (byte) keyboard_events_size#20 ← phi( main::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@23/(byte) keyboard_events_size#18 ) [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[11] (signed byte) form_cursor_count#1 ← phi( main::@20/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 main::@23/(signed byte) form_cursor_count#12 ) [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[12] if(true) goto main::@4 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
to:main::@return
main::@return: scope:[main] from main::@1
[8] return [ ] ( main:2 [ ] )
[13] return [ ] ( main:2 [ ] )
to:@return
main::@2: scope:[main] from main::@1
[9] phi() [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[10] call menu param-assignment [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] ( main:2 [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] )
main::@4: scope:[main] from main::@1 main::@4
[14] if(*((const byte*) RASTER#0)!=(byte/signed byte/word/signed word/dword/signed dword) 48+(byte/signed byte/word/signed word/dword/signed dword) 8*(byte/signed byte/word/signed word/dword/signed dword) 16) goto main::@4 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
to:main::@6
main::@6: scope:[main] from main::@4
[15] phi() [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[16] call form_mode param-assignment [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
to:main::@7
main::@7: scope:[main] from main::@6 main::@7
[17] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto main::@7 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
to:main::@9
main::@9: scope:[main] from main::@7
[18] phi() [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ( main:2 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[19] call form_control param-assignment [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] ( main:2 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:main::@23
main::@23: scope:[main] from main::@9
[20] phi() [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] ( main:2 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[21] call gfx_mode param-assignment [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] ( main:2 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:main::@1
menu: scope:[menu] from main::@2
[11] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[12] *((const byte*) DTV_COLOR_BANK_LO#0) ← <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[13] *((const byte*) DTV_COLOR_BANK_HI#0) ← >((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[14] *((const byte*) DTV_CONTROL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[15] *((const byte*) CIA2_PORT_A_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[16] *((const byte*) CIA2_PORT_A#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3^((byte))((word))(const byte*) menu::CHARSET#0/(word/signed word/dword/signed dword) 16384 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[17] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[18] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[19] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
to:menu::@1
menu::@1: scope:[menu] from menu menu::@1
[20] (byte) menu::i#2 ← phi( menu/(byte/signed byte/word/signed word/dword/signed dword) 0 menu::@1/(byte) menu::i#1 ) [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 menu::i#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 menu::i#2 ] )
[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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 menu::i#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 menu::i#2 ] )
[22] (byte) menu::i#1 ← ++ (byte) menu::i#2 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 menu::i#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 menu::i#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 menu::i#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[25] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[26] call print_set_screen param-assignment [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
to:menu::@15
menu::@15: scope:[menu] from menu::@8
[27] phi() [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
[28] call print_cls param-assignment [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
to:menu::@16
menu::@16: scope:[menu] from menu::@15
[29] phi() [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
[30] call print_str_lines param-assignment [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
to:menu::@17
menu::@17: scope:[menu] from menu::@16
[31] phi() [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[32] call print_set_screen param-assignment [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
to:menu::@18
menu::@18: scope:[menu] from menu::@17
[33] phi() [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
[34] call print_cls param-assignment [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
to:menu::@19
menu::@19: scope:[menu] from menu::@18
[35] phi() [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
[36] call print_str_lines param-assignment [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
to:menu::@20
menu::@20: scope:[menu] from menu::@19
[37] phi() [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[38] call form_set_screen param-assignment [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
to:menu::@21
menu::@21: scope:[menu] from menu::@20
[39] phi() [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[40] call form_render_values param-assignment [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] ( main:2::menu:10 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
to:menu::@2
menu::@2: scope:[menu] from menu::@21 menu::@7
[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 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] )
[41] (byte) keyboard_modifiers#10 ← phi( menu::@21/(byte) keyboard_modifiers#20 menu::@7/(byte) keyboard_modifiers#18 ) [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] )
[41] (byte) keyboard_events_size#24 ← phi( menu::@21/(byte) keyboard_events_size#22 menu::@7/(byte) keyboard_events_size#20 ) [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] )
[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 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] )
[42] if(true) goto menu::@5 [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] )
to:menu::@return
menu::@return: scope:[menu] from menu::@2
[43] return [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 keyboard_modifiers#10 form_field_idx#14 ] )
gfx_mode: scope:[gfx_mode] from main::@23
[22] if(*((const byte*) form_ctrl_line#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@1 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:gfx_mode::@11
gfx_mode::@11: scope:[gfx_mode] from gfx_mode
[23] phi() [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:gfx_mode::@1
gfx_mode::@1: scope:[gfx_mode] from gfx_mode gfx_mode::@11
[24] (byte) gfx_mode::dtv_control#14 ← phi( gfx_mode/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_mode::@11/(byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) DTV_LINEAR#0 ) [ gfx_mode::dtv_control#14 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#14 ] )
[25] if(*((const byte*) form_ctrl_borof#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@2 [ gfx_mode::dtv_control#14 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#14 ] )
to:gfx_mode::@12
gfx_mode::@12: scope:[gfx_mode] from gfx_mode::@1
[26] (byte) gfx_mode::dtv_control#2 ← (byte) gfx_mode::dtv_control#14 | (const byte) DTV_BORDER_OFF#0 [ gfx_mode::dtv_control#2 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#2 ] )
to:gfx_mode::@2
gfx_mode::@2: scope:[gfx_mode] from gfx_mode::@1 gfx_mode::@12
[27] (byte) gfx_mode::dtv_control#15 ← phi( gfx_mode::@1/(byte) gfx_mode::dtv_control#14 gfx_mode::@12/(byte) gfx_mode::dtv_control#2 ) [ gfx_mode::dtv_control#15 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#15 ] )
[28] if(*((const byte*) form_ctrl_hicol#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@3 [ gfx_mode::dtv_control#15 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#15 ] )
to:gfx_mode::@13
gfx_mode::@13: scope:[gfx_mode] from gfx_mode::@2
[29] (byte) gfx_mode::dtv_control#3 ← (byte) gfx_mode::dtv_control#15 | (const byte) DTV_HIGHCOLOR#0 [ gfx_mode::dtv_control#3 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#3 ] )
to:gfx_mode::@3
gfx_mode::@3: scope:[gfx_mode] from gfx_mode::@13 gfx_mode::@2
[30] (byte) gfx_mode::dtv_control#10 ← phi( gfx_mode::@13/(byte) gfx_mode::dtv_control#3 gfx_mode::@2/(byte) gfx_mode::dtv_control#15 ) [ gfx_mode::dtv_control#10 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#10 ] )
[31] if(*((const byte*) form_ctrl_overs#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@4 [ gfx_mode::dtv_control#10 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#10 ] )
to:gfx_mode::@14
gfx_mode::@14: scope:[gfx_mode] from gfx_mode::@3
[32] (byte) gfx_mode::dtv_control#4 ← (byte) gfx_mode::dtv_control#10 | (const byte) DTV_OVERSCAN#0 [ gfx_mode::dtv_control#4 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#4 ] )
to:gfx_mode::@4
gfx_mode::@4: scope:[gfx_mode] from gfx_mode::@14 gfx_mode::@3
[33] (byte) gfx_mode::dtv_control#11 ← phi( gfx_mode::@14/(byte) gfx_mode::dtv_control#4 gfx_mode::@3/(byte) gfx_mode::dtv_control#10 ) [ gfx_mode::dtv_control#11 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#11 ] )
[34] if(*((const byte*) form_ctrl_colof#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@5 [ gfx_mode::dtv_control#11 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#11 ] )
to:gfx_mode::@15
gfx_mode::@15: scope:[gfx_mode] from gfx_mode::@4
[35] (byte) gfx_mode::dtv_control#5 ← (byte) gfx_mode::dtv_control#11 | (const byte) DTV_COLORRAM_OFF#0 [ gfx_mode::dtv_control#5 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#5 ] )
to:gfx_mode::@5
gfx_mode::@5: scope:[gfx_mode] from gfx_mode::@15 gfx_mode::@4
[36] (byte) gfx_mode::dtv_control#13 ← phi( gfx_mode::@15/(byte) gfx_mode::dtv_control#5 gfx_mode::@4/(byte) gfx_mode::dtv_control#11 ) [ gfx_mode::dtv_control#13 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#13 ] )
[37] if(*((const byte*) form_ctrl_chunk#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@6 [ gfx_mode::dtv_control#13 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#13 ] )
to:gfx_mode::@16
gfx_mode::@16: scope:[gfx_mode] from gfx_mode::@5
[38] (byte) gfx_mode::dtv_control#6 ← (byte) gfx_mode::dtv_control#13 | (const byte) DTV_CHUNKY#0 [ gfx_mode::dtv_control#6 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#6 ] )
to:gfx_mode::@6
gfx_mode::@6: scope:[gfx_mode] from gfx_mode::@16 gfx_mode::@5
[39] (byte) gfx_mode::dtv_control#12 ← phi( gfx_mode::@16/(byte) gfx_mode::dtv_control#6 gfx_mode::@5/(byte) gfx_mode::dtv_control#13 ) [ gfx_mode::dtv_control#12 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::dtv_control#12 ] )
[40] *((const byte*) DTV_CONTROL#0) ← (byte) gfx_mode::dtv_control#12 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[41] if(*((const byte*) form_ctrl_ecm#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@7 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:gfx_mode::@17
gfx_mode::@17: scope:[gfx_mode] from gfx_mode::@6
[42] phi() [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:gfx_mode::@7
gfx_mode::@7: scope:[gfx_mode] from gfx_mode::@17 gfx_mode::@6
[43] (byte) gfx_mode::vic_control#5 ← phi( gfx_mode::@17/(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3|(const byte) VIC_ECM#0 gfx_mode::@6/(const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 ) [ gfx_mode::vic_control#5 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::vic_control#5 ] )
[44] if(*((const byte*) form_ctrl_bmm#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@8 [ gfx_mode::vic_control#5 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::vic_control#5 ] )
to:gfx_mode::@18
gfx_mode::@18: scope:[gfx_mode] from gfx_mode::@7
[45] (byte) gfx_mode::vic_control#2 ← (byte) gfx_mode::vic_control#5 | (const byte) VIC_BMM#0 [ gfx_mode::vic_control#2 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::vic_control#2 ] )
to:gfx_mode::@8
gfx_mode::@8: scope:[gfx_mode] from gfx_mode::@18 gfx_mode::@7
[46] (byte) gfx_mode::vic_control#4 ← phi( gfx_mode::@18/(byte) gfx_mode::vic_control#2 gfx_mode::@7/(byte) gfx_mode::vic_control#5 ) [ gfx_mode::vic_control#4 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::vic_control#4 ] )
[47] *((const byte*) VIC_CONTROL#0) ← (byte) gfx_mode::vic_control#4 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[48] if(*((const byte*) form_ctrl_mcm#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@9 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:gfx_mode::@19
gfx_mode::@19: scope:[gfx_mode] from gfx_mode::@8
[49] phi() [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:gfx_mode::@9
gfx_mode::@9: scope:[gfx_mode] from gfx_mode::@19 gfx_mode::@8
[50] (byte) gfx_mode::vic_control2#2 ← phi( gfx_mode::@19/(const byte) VIC_CSEL#0|(const byte) VIC_MCM#0 gfx_mode::@8/(const byte) VIC_CSEL#0 ) [ gfx_mode::vic_control2#2 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::vic_control2#2 ] )
[51] *((const byte*) VIC_CONTROL2#0) ← (byte) gfx_mode::vic_control2#2 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[52] (byte~) gfx_mode::$29 ← *((const byte*) form_a_start_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$29 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$29 ] )
[53] (byte) gfx_mode::plane_a_offs#0 ← (byte~) gfx_mode::$29 | *((const byte*) form_a_start_lo#0) [ gfx_mode::plane_a_offs#0 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_a_offs#0 ] )
[54] (dword) gfx_mode::plane_a#0 ← ((dword))(const byte*) FORM_SCREEN#0 + (byte) gfx_mode::plane_a_offs#0 [ gfx_mode::plane_a#0 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_a#0 ] )
[55] (word~) gfx_mode::$33 ← < (dword) gfx_mode::plane_a#0 [ gfx_mode::plane_a#0 gfx_mode::$33 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_a#0 gfx_mode::$33 ] )
[56] (byte~) gfx_mode::$34 ← < (word~) gfx_mode::$33 [ gfx_mode::plane_a#0 gfx_mode::$34 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_a#0 gfx_mode::$34 ] )
[57] *((const byte*) DTV_PLANEA_START_LO#0) ← (byte~) gfx_mode::$34 [ gfx_mode::plane_a#0 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_a#0 ] )
[58] (word~) gfx_mode::$35 ← < (dword) gfx_mode::plane_a#0 [ gfx_mode::plane_a#0 gfx_mode::$35 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_a#0 gfx_mode::$35 ] )
[59] (byte~) gfx_mode::$36 ← > (word~) gfx_mode::$35 [ gfx_mode::plane_a#0 gfx_mode::$36 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_a#0 gfx_mode::$36 ] )
[60] *((const byte*) DTV_PLANEA_START_MI#0) ← (byte~) gfx_mode::$36 [ gfx_mode::plane_a#0 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_a#0 ] )
[61] (word~) gfx_mode::$37 ← > (dword) gfx_mode::plane_a#0 [ gfx_mode::$37 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$37 ] )
[62] (byte~) gfx_mode::$38 ← < (word~) gfx_mode::$37 [ gfx_mode::$38 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$38 ] )
[63] *((const byte*) DTV_PLANEA_START_HI#0) ← (byte~) gfx_mode::$38 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[64] (byte~) gfx_mode::$39 ← *((const byte*) form_a_step_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$39 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$39 ] )
[65] (byte~) gfx_mode::$40 ← (byte~) gfx_mode::$39 | *((const byte*) form_a_step_lo#0) [ gfx_mode::$40 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$40 ] )
[66] *((const byte*) DTV_PLANEA_STEP#0) ← (byte~) gfx_mode::$40 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[67] (byte~) gfx_mode::$41 ← *((const byte*) form_a_mod_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$41 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$41 ] )
[68] (byte~) gfx_mode::$42 ← (byte~) gfx_mode::$41 | *((const byte*) form_a_mod_lo#0) [ gfx_mode::$42 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$42 ] )
[69] *((const byte*) DTV_PLANEA_MODULO_LO#0) ← (byte~) gfx_mode::$42 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[70] *((const byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[71] (byte~) gfx_mode::$43 ← *((const byte*) form_b_start_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$43 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$43 ] )
[72] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$43 | *((const byte*) form_b_start_lo#0) [ gfx_mode::plane_b_offs#0 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_b_offs#0 ] )
[73] (dword) gfx_mode::plane_b#0 ← (const dword) PLANE_8BPP_CHUNKY#0 + (byte) gfx_mode::plane_b_offs#0 [ gfx_mode::plane_b#0 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_b#0 ] )
[74] (word~) gfx_mode::$46 ← < (dword) gfx_mode::plane_b#0 [ gfx_mode::plane_b#0 gfx_mode::$46 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_b#0 gfx_mode::$46 ] )
[75] (byte~) gfx_mode::$47 ← < (word~) gfx_mode::$46 [ gfx_mode::plane_b#0 gfx_mode::$47 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_b#0 gfx_mode::$47 ] )
[76] *((const byte*) DTV_PLANEB_START_LO#0) ← (byte~) gfx_mode::$47 [ gfx_mode::plane_b#0 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_b#0 ] )
[77] (word~) gfx_mode::$48 ← < (dword) gfx_mode::plane_b#0 [ gfx_mode::plane_b#0 gfx_mode::$48 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_b#0 gfx_mode::$48 ] )
[78] (byte~) gfx_mode::$49 ← > (word~) gfx_mode::$48 [ gfx_mode::plane_b#0 gfx_mode::$49 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_b#0 gfx_mode::$49 ] )
[79] *((const byte*) DTV_PLANEB_START_MI#0) ← (byte~) gfx_mode::$49 [ gfx_mode::plane_b#0 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::plane_b#0 ] )
[80] (word~) gfx_mode::$50 ← > (dword) gfx_mode::plane_b#0 [ gfx_mode::$50 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$50 ] )
[81] (byte~) gfx_mode::$51 ← < (word~) gfx_mode::$50 [ gfx_mode::$51 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$51 ] )
[82] *((const byte*) DTV_PLANEB_START_HI#0) ← (byte~) gfx_mode::$51 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[83] (byte~) gfx_mode::$52 ← *((const byte*) form_b_step_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$52 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$52 ] )
[84] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$52 | *((const byte*) form_b_step_lo#0) [ gfx_mode::$53 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$53 ] )
[85] *((const byte*) DTV_PLANEB_STEP#0) ← (byte~) gfx_mode::$53 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[86] (byte~) gfx_mode::$54 ← *((const byte*) form_b_mod_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$54 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$54 ] )
[87] (byte~) gfx_mode::$55 ← (byte~) gfx_mode::$54 | *((const byte*) form_b_mod_lo#0) [ gfx_mode::$55 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$55 ] )
[88] *((const byte*) DTV_PLANEB_MODULO_LO#0) ← (byte~) gfx_mode::$55 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[89] *((const byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[90] (byte~) gfx_mode::$56 ← *((const byte*) form_vic_bg0_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$56 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$56 ] )
[91] (byte~) gfx_mode::$57 ← (byte~) gfx_mode::$56 | *((const byte*) form_vic_bg0_lo#0) [ gfx_mode::$57 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$57 ] )
[92] *((const byte*) BGCOL1#0) ← (byte~) gfx_mode::$57 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[93] (byte~) gfx_mode::$58 ← *((const byte*) form_vic_bg1_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$58 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$58 ] )
[94] (byte~) gfx_mode::$59 ← (byte~) gfx_mode::$58 | *((const byte*) form_vic_bg1_lo#0) [ gfx_mode::$59 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$59 ] )
[95] *((const byte*) BGCOL2#0) ← (byte~) gfx_mode::$59 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[96] (byte~) gfx_mode::$60 ← *((const byte*) form_vic_bg2_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$60 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$60 ] )
[97] (byte~) gfx_mode::$61 ← (byte~) gfx_mode::$60 | *((const byte*) form_vic_bg2_lo#0) [ gfx_mode::$61 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$61 ] )
[98] *((const byte*) BGCOL3#0) ← (byte~) gfx_mode::$61 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[99] (byte~) gfx_mode::$62 ← *((const byte*) form_vic_bg3_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 [ gfx_mode::$62 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$62 ] )
[100] (byte~) gfx_mode::$63 ← (byte~) gfx_mode::$62 | *((const byte*) form_vic_bg3_lo#0) [ gfx_mode::$63 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::$63 ] )
[101] *((const byte*) BGCOL4#0) ← (byte~) gfx_mode::$63 [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:gfx_mode::@10
gfx_mode::@10: scope:[gfx_mode] from gfx_mode::@10 gfx_mode::@9
[102] (byte) gfx_mode::i#2 ← phi( gfx_mode::@10/(byte) gfx_mode::i#1 gfx_mode::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gfx_mode::i#2 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::i#2 ] )
[103] *((const byte*) DTV_PALETTE#0 + (byte) gfx_mode::i#2) ← (byte) gfx_mode::i#2 [ gfx_mode::i#2 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::i#2 ] )
[104] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 [ gfx_mode::i#1 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::i#1 ] )
[105] if((byte) gfx_mode::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto gfx_mode::@10 [ gfx_mode::i#1 ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 gfx_mode::i#1 ] )
to:gfx_mode::@return
gfx_mode::@return: scope:[gfx_mode] from gfx_mode::@10
[106] return [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:@return
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 keyboard_events_size#24 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] )
to:menu::@7
menu::@7: scope:[menu] from menu::@5
[45] phi() [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] )
[46] call form_control param-assignment [ form_cursor_count#16 keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#18 ] ( main:2::menu:10 [ form_cursor_count#16 keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#18 ] )
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 keyboard_events_size#24 form_field_idx#14 form_field_ptr::field_idx#1 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 form_field_ptr::field_idx#1 ] )
[48] call form_field_ptr param-assignment [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 form_field_ptr::return#0 ] )
[49] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 form_field_ptr::return#3 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 form_field_ptr::return#3 ] )
to:form_control::@28
form_control::@28: scope:[form_control] from form_control
[50] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 form_control::field#0 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 form_control::field#0 ] )
[51] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#13 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 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::@31 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#5 ] )
form_control: scope:[form_control] from main::@9
[107] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#1 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::field_idx#1 ] ( main:2::form_control:19 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::field_idx#1 ] )
[108] call form_field_ptr param-assignment [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::return#0 ] ( main:2::form_control:19 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::return#0 ] )
[109] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::return#3 ] ( main:2::form_control:19 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::return#3 ] )
to:form_control::@29
form_control::@29: scope:[form_control] from form_control
[110] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_control::field#0 ] ( main:2::form_control:19 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_control::field#0 ] )
[111] (signed byte) form_cursor_count#3 ← -- (signed byte) form_cursor_count#1 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#3 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#3 ] )
[112] if((signed byte) form_cursor_count#3>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@32 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#3 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#3 ] )
to:form_control::@1
form_control::@1: scope:[form_control] from form_control::@28 form_control::@31
[53] (signed byte) form_cursor_count#15 ← phi( form_control::@28/(const signed byte) FORM_CURSOR_BLINK#0 form_control::@31/(signed byte) form_cursor_count#5 ) [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 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 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 ] )
form_control::@1: scope:[form_control] from form_control::@29 form_control::@32
[113] (signed byte) form_cursor_count#11 ← phi( form_control::@29/(const signed byte) FORM_CURSOR_BLINK#0 form_control::@32/(signed byte) form_cursor_count#3 ) [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] )
[114] if((signed byte) form_cursor_count#11>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] )
to:form_control::@15
form_control::@15: scope:[form_control] from form_control::@1
[55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 form_control::$6 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 form_control::$6 ] )
[56] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 ] )
[115] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 form_control::$6 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 form_control::$6 ] )
[116] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] )
to:form_control::@3
form_control::@3: scope:[form_control] from form_control::@15 form_control::@2
[57] phi() [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 ] )
[58] call keyboard_event_scan param-assignment [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 ] )
to:form_control::@29
form_control::@29: scope:[form_control] from form_control::@3
[59] phi() [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 ] )
[60] call keyboard_event_get param-assignment [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_event_get::return#2 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_event_get::return#2 ] )
[61] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_event_get::return#3 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_event_get::return#3 ] )
[117] phi() [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] )
[118] call keyboard_event_scan param-assignment [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#15 ] ( main:2::form_control:19 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#15 ] )
to:form_control::@30
form_control::@30: scope:[form_control] from form_control::@29
[62] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#3 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 form_control::key_event#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 form_control::key_event#0 ] )
[63] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 form_control::key_event#0 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 form_control::key_event#0 ] )
form_control::@30: scope:[form_control] from form_control::@3
[119] phi() [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#15 ] ( main:2::form_control:19 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#15 ] )
[120] call keyboard_event_get param-assignment [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 keyboard_event_get::return#2 keyboard_modifiers#16 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 keyboard_event_get::return#2 keyboard_modifiers#16 ] )
[121] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 keyboard_event_get::return#3 keyboard_modifiers#16 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 keyboard_event_get::return#3 keyboard_modifiers#16 ] )
to:form_control::@31
form_control::@31: scope:[form_control] from form_control::@30
[122] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#3 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 form_control::key_event#0 keyboard_modifiers#16 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 form_control::key_event#0 keyboard_modifiers#16 ] )
[123] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_DOWN#0) goto form_control::@4 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 form_control::key_event#0 keyboard_modifiers#16 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 form_control::key_event#0 keyboard_modifiers#16 ] )
to:form_control::@17
form_control::@17: scope:[form_control] from form_control::@30
[64] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_control::$12 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_control::$12 ] )
[65] *((byte*) form_control::field#0) ← (byte~) form_control::$12 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 ] )
[66] (byte~) form_control::$13 ← (byte) keyboard_modifiers#18 & (const byte) KEY_MODIFIER_SHIFT#0 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::$13 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::$13 ] )
[67] if((byte~) form_control::$13!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@5 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 ] )
form_control::@17: scope:[form_control] from form_control::@31
[124] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_control::$12 keyboard_modifiers#16 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_control::$12 keyboard_modifiers#16 ] )
[125] *((byte*) form_control::field#0) ← (byte~) form_control::$12 [ form_field_idx#1 keyboard_events_size#18 keyboard_modifiers#16 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 keyboard_modifiers#16 ] )
[126] (byte~) form_control::$13 ← (byte) keyboard_modifiers#16 & (const byte) KEY_MODIFIER_SHIFT#0 [ form_field_idx#1 keyboard_events_size#18 form_control::$13 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::$13 ] )
[127] if((byte~) form_control::$13!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@5 [ form_field_idx#1 keyboard_events_size#18 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 ] )
to:form_control::@18
form_control::@18: scope:[form_control] from form_control::@17
[68] (byte) form_field_idx#40 ← ++ (byte) form_field_idx#14 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#40 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#40 ] )
[69] if((byte) form_field_idx#40!=(const byte) form_fields_cnt#0) goto form_control::@32 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#40 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#40 ] )
[128] (byte) form_field_idx#34 ← ++ (byte) form_field_idx#1 [ keyboard_events_size#18 form_field_idx#34 ] ( main:2::form_control:19 [ keyboard_events_size#18 form_field_idx#34 ] )
[129] if((byte) form_field_idx#34!=(const byte) form_fields_cnt#0) goto form_control::@33 [ keyboard_events_size#18 form_field_idx#34 ] ( main:2::form_control:19 [ keyboard_events_size#18 form_field_idx#34 ] )
to:form_control::@7
form_control::@7: scope:[form_control] from form_control::@18 form_control::@32 form_control::@33 form_control::@5
[70] (byte) form_field_idx#30 ← phi( form_control::@18/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@5/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@32/(byte) form_field_idx#40 form_control::@33/(byte) form_field_idx#41 ) [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#30 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#30 ] )
form_control::@7: scope:[form_control] from form_control::@18 form_control::@33 form_control::@34 form_control::@5
[130] (byte) form_field_idx#24 ← phi( form_control::@18/(byte/signed byte/word/signed word/dword/signed dword) 0 form_control::@5/(const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 form_control::@33/(byte) form_field_idx#34 form_control::@34/(byte) form_field_idx#3 ) [ keyboard_events_size#18 form_field_idx#24 ] ( main:2::form_control:19 [ keyboard_events_size#18 form_field_idx#24 ] )
to:form_control::@return
form_control::@return: scope:[form_control] from form_control::@12 form_control::@4 form_control::@7
[71] (byte) form_field_idx#18 ← phi( form_control::@12/(byte) form_field_idx#14 form_control::@7/(byte) form_field_idx#30 form_control::@4/(byte) form_field_idx#14 ) [ form_cursor_count#16 keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#18 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#18 ] )
[71] (signed byte) form_cursor_count#16 ← phi( form_control::@12/(signed byte) form_cursor_count#15 form_control::@7/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 form_control::@4/(signed byte) form_cursor_count#15 ) [ form_cursor_count#16 keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#18 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#18 ] )
[72] return [ form_cursor_count#16 keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#18 ] ( main:2::menu:10::form_control:46 [ form_cursor_count#16 keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#18 ] )
[131] (byte) form_field_idx#14 ← phi( form_control::@12/(byte) form_field_idx#1 form_control::@7/(byte) form_field_idx#24 form_control::@4/(byte) form_field_idx#1 ) [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] ( main:2::form_control:19 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[131] (signed byte) form_cursor_count#12 ← phi( form_control::@12/(signed byte) form_cursor_count#11 form_control::@7/(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 form_control::@4/(signed byte) form_cursor_count#11 ) [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] ( main:2::form_control:19 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
[132] return [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] ( main:2::form_control:19 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] )
to:@return
form_control::@32: scope:[form_control] from form_control::@18
[73] phi() [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#40 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#40 ] )
form_control::@33: scope:[form_control] from form_control::@18
[133] phi() [ keyboard_events_size#18 form_field_idx#34 ] ( main:2::form_control:19 [ keyboard_events_size#18 form_field_idx#34 ] )
to:form_control::@7
form_control::@5: scope:[form_control] from form_control::@17
[74] (byte) form_field_idx#41 ← -- (byte) form_field_idx#14 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#41 ] )
[75] if((byte) form_field_idx#41!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@33 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#41 ] )
[134] (byte) form_field_idx#3 ← -- (byte) form_field_idx#1 [ keyboard_events_size#18 form_field_idx#3 ] ( main:2::form_control:19 [ keyboard_events_size#18 form_field_idx#3 ] )
[135] if((byte) form_field_idx#3!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@34 [ keyboard_events_size#18 form_field_idx#3 ] ( main:2::form_control:19 [ keyboard_events_size#18 form_field_idx#3 ] )
to:form_control::@7
form_control::@33: scope:[form_control] from form_control::@5
[76] phi() [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#41 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#20 keyboard_modifiers#18 form_field_idx#41 ] )
form_control::@34: scope:[form_control] from form_control::@5
[136] phi() [ keyboard_events_size#18 form_field_idx#3 ] ( main:2::form_control:19 [ keyboard_events_size#18 form_field_idx#3 ] )
to:form_control::@7
form_control::@4: scope:[form_control] from form_control::@30
[77] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@return [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] )
form_control::@4: scope:[form_control] from form_control::@31
[137] if((byte) form_control::key_event#0!=(const byte) KEY_CRSR_RIGHT#0) goto form_control::@return [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 ] )
to:form_control::@23
form_control::@23: scope:[form_control] from form_control::@4
[78] (byte~) form_control::$24 ← (byte) keyboard_modifiers#18 & (const byte) KEY_MODIFIER_SHIFT#0 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 form_control::$24 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 form_control::$24 ] )
[79] if((byte~) form_control::$24!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@10 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] )
[138] (byte~) form_control::$24 ← (byte) keyboard_modifiers#16 & (const byte) KEY_MODIFIER_SHIFT#0 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 form_control::$24 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 form_control::$24 ] )
[139] if((byte~) form_control::$24!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@10 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] )
to:form_control::@24
form_control::@24: scope:[form_control] from form_control::@23
[80] *((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 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] )
[81] 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::@12 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] )
[140] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#1) ← ++ *((const byte[]) form_fields_val#0 + (byte) form_field_idx#1) [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] )
[141] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#1)<=*((const byte[]) form_fields_max#0 + (byte) form_field_idx#1)) goto form_control::@12 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] )
to:form_control::@25
form_control::@25: scope:[form_control] from form_control::@24
[82] *((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 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] )
[142] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#1) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] )
to:form_control::@12
form_control::@12: scope:[form_control] from form_control::@10 form_control::@24 form_control::@25 form_control::@27
[83] *((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 keyboard_events_size#20 keyboard_modifiers#18 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_cursor_count#15 ] )
[143] *((byte*) form_control::field#0) ← *((const string) print_hextab#0 + *((const byte[]) form_fields_val#0 + (byte) form_field_idx#1)) [ form_field_idx#1 keyboard_events_size#18 form_cursor_count#11 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_cursor_count#11 ] )
to:form_control::@return
form_control::@10: scope:[form_control] from form_control::@23
[84] *((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 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] )
[85] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@12 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] )
[144] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#1) ← -- *((const byte[]) form_fields_val#0 + (byte) form_field_idx#1) [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] )
[145] if(*((const byte[]) form_fields_val#0 + (byte) form_field_idx#1)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@12 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] )
to:form_control::@27
form_control::@27: scope:[form_control] from form_control::@10
[86] *((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 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ form_field_idx#14 keyboard_events_size#20 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 ] )
[146] *((const byte[]) form_fields_val#0 + (byte) form_field_idx#1) ← *((const byte[]) form_fields_max#0 + (byte) form_field_idx#1) [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ form_field_idx#1 keyboard_events_size#18 form_control::field#0 form_cursor_count#11 ] )
to:form_control::@12
form_control::@2: scope:[form_control] from form_control::@1
[87] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 form_control::$7 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 form_control::$7 ] )
[88] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#15 ] )
[147] (byte~) form_control::$7 ← *((byte*) form_control::field#0) & (byte/signed byte/word/signed word/dword/signed dword) 127 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 form_control::$7 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 form_control::$7 ] )
[148] *((byte*) form_control::field#0) ← (byte~) form_control::$7 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#11 ] )
to:form_control::@3
form_control::@31: scope:[form_control] from form_control::@28
[89] phi() [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#5 ] ( main:2::menu:10::form_control:46 [ keyboard_events_size#24 form_field_idx#14 form_control::field#0 form_cursor_count#5 ] )
form_control::@32: scope:[form_control] from form_control::@29
[149] phi() [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#3 ] ( main:2::form_control:19 [ keyboard_events_size#20 form_field_idx#1 form_control::field#0 form_cursor_count#3 ] )
to:form_control::@1
keyboard_event_get: scope:[keyboard_event_get] from form_control::@29
[90] if((byte) keyboard_events_size#17!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_get::@1 [ keyboard_events_size#17 ] ( main:2::menu:10::form_control:46::keyboard_event_get:60 [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 ] )
keyboard_event_get: scope:[keyboard_event_get] from form_control::@30
[150] if((byte) keyboard_events_size#15!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_get::@1 [ keyboard_events_size#15 ] ( main:2::form_control:19::keyboard_event_get:120 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#15 ] )
to:keyboard_event_get::@return
keyboard_event_get::@return: scope:[keyboard_event_get] from keyboard_event_get keyboard_event_get::@1
[91] (byte) keyboard_events_size#20 ← phi( keyboard_event_get::@1/(byte) keyboard_events_size#4 keyboard_event_get/(byte) keyboard_events_size#17 ) [ keyboard_events_size#20 keyboard_event_get::return#2 ] ( main:2::menu:10::form_control:46::keyboard_event_get:60 [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_events_size#20 keyboard_event_get::return#2 ] )
[91] (byte) keyboard_event_get::return#2 ← phi( keyboard_event_get::@1/(byte) keyboard_event_get::return#0 keyboard_event_get/(byte/word/signed word/dword/signed dword) 255 ) [ keyboard_events_size#20 keyboard_event_get::return#2 ] ( main:2::menu:10::form_control:46::keyboard_event_get:60 [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_events_size#20 keyboard_event_get::return#2 ] )
[92] return [ keyboard_events_size#20 keyboard_event_get::return#2 ] ( main:2::menu:10::form_control:46::keyboard_event_get:60 [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_events_size#20 keyboard_event_get::return#2 ] )
[151] (byte) keyboard_events_size#18 ← phi( keyboard_event_get::@1/(byte) keyboard_events_size#4 keyboard_event_get/(byte) keyboard_events_size#15 ) [ keyboard_events_size#18 keyboard_event_get::return#2 ] ( main:2::form_control:19::keyboard_event_get:120 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#18 keyboard_event_get::return#2 ] )
[151] (byte) keyboard_event_get::return#2 ← phi( keyboard_event_get::@1/(byte) keyboard_event_get::return#0 keyboard_event_get/(byte/word/signed word/dword/signed dword) 255 ) [ keyboard_events_size#18 keyboard_event_get::return#2 ] ( main:2::form_control:19::keyboard_event_get:120 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#18 keyboard_event_get::return#2 ] )
[152] return [ keyboard_events_size#18 keyboard_event_get::return#2 ] ( main:2::form_control:19::keyboard_event_get:120 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#18 keyboard_event_get::return#2 ] )
to:@return
keyboard_event_get::@1: scope:[keyboard_event_get] from keyboard_event_get
[93] (byte) keyboard_events_size#4 ← -- (byte) keyboard_events_size#17 [ keyboard_events_size#4 ] ( main:2::menu:10::form_control:46::keyboard_event_get:60 [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_events_size#4 ] )
[94] (byte) keyboard_event_get::return#0 ← *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#4) [ keyboard_event_get::return#0 keyboard_events_size#4 ] ( main:2::menu:10::form_control:46::keyboard_event_get:60 [ form_field_idx#14 keyboard_modifiers#18 form_control::field#0 form_cursor_count#15 keyboard_event_get::return#0 keyboard_events_size#4 ] )
[153] (byte) keyboard_events_size#4 ← -- (byte) keyboard_events_size#15 [ keyboard_events_size#4 ] ( main:2::form_control:19::keyboard_event_get:120 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#4 ] )
[154] (byte) keyboard_event_get::return#0 ← *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#4) [ keyboard_event_get::return#0 keyboard_events_size#4 ] ( main:2::form_control:19::keyboard_event_get:120 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_event_get::return#0 keyboard_events_size#4 ] )
to:keyboard_event_get::@return
keyboard_event_scan: scope:[keyboard_event_scan] from form_control::@3
[95] phi() [ keyboard_events_size#24 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#24 ] )
[155] phi() [ keyboard_events_size#20 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#20 ] )
to:keyboard_event_scan::@1
keyboard_event_scan::@1: scope:[keyboard_event_scan] from keyboard_event_scan keyboard_event_scan::@8
[96] (byte) keyboard_events_size#43 ← phi( keyboard_event_scan/(byte) keyboard_events_size#24 keyboard_event_scan::@8/(byte) keyboard_events_size#17 ) [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 ] )
[96] (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::keycode#14 ) [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 ] )
[96] (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::row#1 ) [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 ] )
[97] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_matrix_read::rowid#0 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_matrix_read::rowid#0 ] )
[98] call keyboard_matrix_read param-assignment [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_matrix_read::return#0 ] )
[99] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_matrix_read::return#2 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_matrix_read::return#2 ] )
[156] (byte) keyboard_events_size#37 ← phi( keyboard_event_scan/(byte) keyboard_events_size#20 keyboard_event_scan::@8/(byte) keyboard_events_size#15 ) [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 ] )
[156] (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::keycode#14 ) [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 ] )
[156] (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::row#1 ) [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 ] )
[157] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_matrix_read::rowid#0 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_matrix_read::rowid#0 ] )
[158] call keyboard_matrix_read param-assignment [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_matrix_read::return#0 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_matrix_read::return#0 ] )
[159] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_matrix_read::return#2 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_matrix_read::return#2 ] )
to:keyboard_event_scan::@25
keyboard_event_scan::@25: scope:[keyboard_event_scan] from keyboard_event_scan::@1
[100] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_event_scan::row_scan#0 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_event_scan::row_scan#0 ] )
[101] if((byte) keyboard_event_scan::row_scan#0==*((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@2 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_event_scan::row_scan#0 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_event_scan::row_scan#0 ] )
[160] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_event_scan::row_scan#0 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_event_scan::row_scan#0 ] )
[161] if((byte) keyboard_event_scan::row_scan#0==*((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@2 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_event_scan::row_scan#0 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_event_scan::row_scan#0 ] )
to:keyboard_event_scan::@3
keyboard_event_scan::@3: scope:[keyboard_event_scan] from keyboard_event_scan::@25 keyboard_event_scan::@4
[102] (byte) keyboard_events_size#14 ← phi( keyboard_event_scan::@25/(byte) keyboard_events_size#43 keyboard_event_scan::@4/(byte) keyboard_events_size#44 ) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] )
[102] (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@25/(byte) keyboard_event_scan::keycode#11 keyboard_event_scan::@4/(byte) keyboard_event_scan::keycode#15 ) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] )
[102] (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@25/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@4/(byte) keyboard_event_scan::col#1 ) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] )
[103] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 keyboard_event_scan::$3 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 keyboard_event_scan::$3 ] )
[104] (byte~) keyboard_event_scan::$4 ← (byte~) keyboard_event_scan::$3 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 keyboard_event_scan::$4 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 keyboard_event_scan::$4 ] )
[105] if((byte~) keyboard_event_scan::$4==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@4 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] )
[162] (byte) keyboard_events_size#12 ← phi( keyboard_event_scan::@25/(byte) keyboard_events_size#37 keyboard_event_scan::@4/(byte) keyboard_events_size#38 ) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] )
[162] (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@25/(byte) keyboard_event_scan::keycode#11 keyboard_event_scan::@4/(byte) keyboard_event_scan::keycode#15 ) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] )
[162] (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@25/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@4/(byte) keyboard_event_scan::col#1 ) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] )
[163] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 keyboard_event_scan::$3 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 keyboard_event_scan::$3 ] )
[164] (byte~) keyboard_event_scan::$4 ← (byte~) keyboard_event_scan::$3 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 keyboard_event_scan::$4 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 keyboard_event_scan::$4 ] )
[165] if((byte~) keyboard_event_scan::$4==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@4 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] )
to:keyboard_event_scan::@14
keyboard_event_scan::@14: scope:[keyboard_event_scan] from keyboard_event_scan::@3
[106] if((byte) keyboard_events_size#14==(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@4 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] )
[166] if((byte) keyboard_events_size#12==(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@4 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] )
to:keyboard_event_scan::@15
keyboard_event_scan::@15: scope:[keyboard_event_scan] from keyboard_event_scan::@14
[107] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 keyboard_event_scan::event_type#0 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 keyboard_event_scan::event_type#0 ] )
[108] if((byte) keyboard_event_scan::event_type#0!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@6 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] )
[167] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 keyboard_event_scan::event_type#0 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 keyboard_event_scan::event_type#0 ] )
[168] if((byte) keyboard_event_scan::event_type#0!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@6 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] )
to:keyboard_event_scan::@16
keyboard_event_scan::@16: scope:[keyboard_event_scan] from keyboard_event_scan::@15
[109] (byte/word/dword~) keyboard_event_scan::$12 ← (byte) keyboard_event_scan::keycode#10 | (byte/signed byte/word/signed word/dword/signed dword) 64 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 keyboard_event_scan::$12 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 keyboard_event_scan::$12 ] )
[110] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#14) ← (byte/word/dword~) keyboard_event_scan::$12 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] )
[111] (byte) keyboard_events_size#2 ← ++ (byte) keyboard_events_size#14 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#2 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#2 ] )
[169] (byte/word/dword~) keyboard_event_scan::$12 ← (byte) keyboard_event_scan::keycode#10 | (byte/signed byte/word/signed word/dword/signed dword) 64 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 keyboard_event_scan::$12 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 keyboard_event_scan::$12 ] )
[170] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#12) ← (byte/word/dword~) keyboard_event_scan::$12 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] )
[171] (byte) keyboard_events_size#2 ← ++ (byte) keyboard_events_size#12 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#2 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#2 ] )
to:keyboard_event_scan::@4
keyboard_event_scan::@4: scope:[keyboard_event_scan] from keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6
[112] (byte) keyboard_events_size#44 ← phi( keyboard_event_scan::@16/(byte) keyboard_events_size#2 keyboard_event_scan::@3/(byte) keyboard_events_size#14 keyboard_event_scan::@14/(byte) keyboard_events_size#14 keyboard_event_scan::@6/(byte) keyboard_events_size#1 ) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#44 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#44 ] )
[113] (byte) keyboard_event_scan::keycode#15 ← ++ (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#15 keyboard_events_size#44 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#15 keyboard_events_size#44 ] )
[114] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#1 keyboard_event_scan::keycode#15 keyboard_events_size#44 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#1 keyboard_event_scan::keycode#15 keyboard_events_size#44 ] )
[115] if((byte) keyboard_event_scan::col#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@3 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#1 keyboard_event_scan::keycode#15 keyboard_events_size#44 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#1 keyboard_event_scan::keycode#15 keyboard_events_size#44 ] )
[172] (byte) keyboard_events_size#38 ← phi( keyboard_event_scan::@16/(byte) keyboard_events_size#2 keyboard_event_scan::@3/(byte) keyboard_events_size#12 keyboard_event_scan::@14/(byte) keyboard_events_size#12 keyboard_event_scan::@6/(byte) keyboard_events_size#1 ) [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#38 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#38 ] )
[173] (byte) keyboard_event_scan::keycode#15 ← ++ (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#15 keyboard_events_size#38 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#15 keyboard_events_size#38 ] )
[174] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#1 keyboard_event_scan::keycode#15 keyboard_events_size#38 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#1 keyboard_event_scan::keycode#15 keyboard_events_size#38 ] )
[175] if((byte) keyboard_event_scan::col#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@3 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#1 keyboard_event_scan::keycode#15 keyboard_events_size#38 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#1 keyboard_event_scan::keycode#15 keyboard_events_size#38 ] )
to:keyboard_event_scan::@18
keyboard_event_scan::@18: scope:[keyboard_event_scan] from keyboard_event_scan::@4
[116] *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#44 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#44 ] )
[176] *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#38 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#15 keyboard_events_size#38 ] )
to:keyboard_event_scan::@8
keyboard_event_scan::@8: scope:[keyboard_event_scan] from keyboard_event_scan::@18 keyboard_event_scan::@2
[117] (byte) keyboard_events_size#17 ← phi( keyboard_event_scan::@18/(byte) keyboard_events_size#44 keyboard_event_scan::@2/(byte) keyboard_events_size#43 ) [ keyboard_events_size#17 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 ] )
[117] (byte) keyboard_event_scan::keycode#14 ← phi( keyboard_event_scan::@18/(byte) keyboard_event_scan::keycode#15 keyboard_event_scan::@2/(byte) keyboard_event_scan::keycode#1 ) [ keyboard_events_size#17 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 ] )
[118] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 [ keyboard_events_size#17 keyboard_event_scan::row#1 keyboard_event_scan::keycode#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_scan::row#1 keyboard_event_scan::keycode#14 ] )
[119] if((byte) keyboard_event_scan::row#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@1 [ keyboard_events_size#17 keyboard_event_scan::row#1 keyboard_event_scan::keycode#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_scan::row#1 keyboard_event_scan::keycode#14 ] )
[177] (byte) keyboard_events_size#15 ← phi( keyboard_event_scan::@18/(byte) keyboard_events_size#38 keyboard_event_scan::@2/(byte) keyboard_events_size#37 ) [ keyboard_events_size#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 ] )
[177] (byte) keyboard_event_scan::keycode#14 ← phi( keyboard_event_scan::@18/(byte) keyboard_event_scan::keycode#15 keyboard_event_scan::@2/(byte) keyboard_event_scan::keycode#1 ) [ keyboard_events_size#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 ] )
[178] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 [ keyboard_events_size#15 keyboard_event_scan::row#1 keyboard_event_scan::keycode#14 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_scan::row#1 keyboard_event_scan::keycode#14 ] )
[179] if((byte) keyboard_event_scan::row#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@1 [ keyboard_events_size#15 keyboard_event_scan::row#1 keyboard_event_scan::keycode#14 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_scan::row#1 keyboard_event_scan::keycode#14 ] )
to:keyboard_event_scan::@20
keyboard_event_scan::@20: scope:[keyboard_event_scan] from keyboard_event_scan::@8
[120] phi() [ keyboard_events_size#17 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 ] )
[121] call keyboard_event_pressed param-assignment [ keyboard_events_size#17 keyboard_event_pressed::return#10 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::return#10 ] )
[122] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 [ keyboard_events_size#17 keyboard_event_pressed::return#0 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::return#0 ] )
[180] phi() [ keyboard_events_size#15 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 ] )
[181] call keyboard_event_pressed param-assignment [ keyboard_events_size#15 keyboard_event_pressed::return#10 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::return#10 ] )
[182] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 [ keyboard_events_size#15 keyboard_event_pressed::return#0 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::return#0 ] )
to:keyboard_event_scan::@26
keyboard_event_scan::@26: scope:[keyboard_event_scan] from keyboard_event_scan::@20
[123] (byte~) keyboard_event_scan::$16 ← (byte) keyboard_event_pressed::return#0 [ keyboard_events_size#17 keyboard_event_scan::$16 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_scan::$16 ] )
[124] if((byte~) keyboard_event_scan::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@9 [ keyboard_events_size#17 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 ] )
[183] (byte~) keyboard_event_scan::$16 ← (byte) keyboard_event_pressed::return#0 [ keyboard_events_size#15 keyboard_event_scan::$16 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_scan::$16 ] )
[184] if((byte~) keyboard_event_scan::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@9 [ keyboard_events_size#15 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 ] )
to:keyboard_event_scan::@21
keyboard_event_scan::@21: scope:[keyboard_event_scan] from keyboard_event_scan::@26
[125] phi() [ keyboard_events_size#17 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 ] )
[185] phi() [ keyboard_events_size#15 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 ] )
to:keyboard_event_scan::@9
keyboard_event_scan::@9: scope:[keyboard_event_scan] from keyboard_event_scan::@21 keyboard_event_scan::@26
[126] (byte) keyboard_modifiers#15 ← phi( keyboard_event_scan::@21/(byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) KEY_MODIFIER_LSHIFT#0 keyboard_event_scan::@26/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ keyboard_events_size#17 keyboard_modifiers#15 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 ] )
[127] call keyboard_event_pressed param-assignment [ keyboard_events_size#17 keyboard_event_pressed::return#10 keyboard_modifiers#15 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::return#10 keyboard_modifiers#15 ] )
[128] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 [ keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_pressed::return#1 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_pressed::return#1 ] )
[186] (byte) keyboard_modifiers#13 ← phi( keyboard_event_scan::@21/(byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) KEY_MODIFIER_LSHIFT#0 keyboard_event_scan::@26/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ keyboard_events_size#15 keyboard_modifiers#13 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 ] )
[187] call keyboard_event_pressed param-assignment [ keyboard_events_size#15 keyboard_event_pressed::return#10 keyboard_modifiers#13 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::return#10 keyboard_modifiers#13 ] )
[188] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 [ keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_pressed::return#1 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_pressed::return#1 ] )
to:keyboard_event_scan::@27
keyboard_event_scan::@27: scope:[keyboard_event_scan] from keyboard_event_scan::@9
[129] (byte~) keyboard_event_scan::$20 ← (byte) keyboard_event_pressed::return#1 [ keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_scan::$20 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_scan::$20 ] )
[130] if((byte~) keyboard_event_scan::$20==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@10 [ keyboard_events_size#17 keyboard_modifiers#15 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 ] )
[189] (byte~) keyboard_event_scan::$20 ← (byte) keyboard_event_pressed::return#1 [ keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_scan::$20 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_scan::$20 ] )
[190] if((byte~) keyboard_event_scan::$20==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@10 [ keyboard_events_size#15 keyboard_modifiers#13 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 ] )
to:keyboard_event_scan::@22
keyboard_event_scan::@22: scope:[keyboard_event_scan] from keyboard_event_scan::@27
[131] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#15 | (const byte) KEY_MODIFIER_RSHIFT#0 [ keyboard_events_size#17 keyboard_modifiers#3 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#3 ] )
[191] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#13 | (const byte) KEY_MODIFIER_RSHIFT#0 [ keyboard_events_size#15 keyboard_modifiers#3 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#3 ] )
to:keyboard_event_scan::@10
keyboard_event_scan::@10: scope:[keyboard_event_scan] from keyboard_event_scan::@22 keyboard_event_scan::@27
[132] (byte) keyboard_modifiers#16 ← phi( keyboard_event_scan::@22/(byte) keyboard_modifiers#3 keyboard_event_scan::@27/(byte) keyboard_modifiers#15 ) [ keyboard_events_size#17 keyboard_modifiers#16 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 ] )
[133] call keyboard_event_pressed param-assignment [ keyboard_events_size#17 keyboard_event_pressed::return#10 keyboard_modifiers#16 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::return#10 keyboard_modifiers#16 ] )
[134] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 [ keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_pressed::return#2 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_pressed::return#2 ] )
[192] (byte) keyboard_modifiers#14 ← phi( keyboard_event_scan::@22/(byte) keyboard_modifiers#3 keyboard_event_scan::@27/(byte) keyboard_modifiers#13 ) [ keyboard_events_size#15 keyboard_modifiers#14 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 ] )
[193] call keyboard_event_pressed param-assignment [ keyboard_events_size#15 keyboard_event_pressed::return#10 keyboard_modifiers#14 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::return#10 keyboard_modifiers#14 ] )
[194] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 [ keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_pressed::return#2 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_pressed::return#2 ] )
to:keyboard_event_scan::@28
keyboard_event_scan::@28: scope:[keyboard_event_scan] from keyboard_event_scan::@10
[135] (byte~) keyboard_event_scan::$24 ← (byte) keyboard_event_pressed::return#2 [ keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_scan::$24 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_scan::$24 ] )
[136] if((byte~) keyboard_event_scan::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@11 [ keyboard_events_size#17 keyboard_modifiers#16 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 ] )
[195] (byte~) keyboard_event_scan::$24 ← (byte) keyboard_event_pressed::return#2 [ keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_scan::$24 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_scan::$24 ] )
[196] if((byte~) keyboard_event_scan::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@11 [ keyboard_events_size#15 keyboard_modifiers#14 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 ] )
to:keyboard_event_scan::@23
keyboard_event_scan::@23: scope:[keyboard_event_scan] from keyboard_event_scan::@28
[137] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#16 | (const byte) KEY_MODIFIER_CTRL#0 [ keyboard_events_size#17 keyboard_modifiers#4 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#4 ] )
[197] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#14 | (const byte) KEY_MODIFIER_CTRL#0 [ keyboard_events_size#15 keyboard_modifiers#4 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#4 ] )
to:keyboard_event_scan::@11
keyboard_event_scan::@11: scope:[keyboard_event_scan] from keyboard_event_scan::@23 keyboard_event_scan::@28
[138] (byte) keyboard_modifiers#17 ← phi( keyboard_event_scan::@23/(byte) keyboard_modifiers#4 keyboard_event_scan::@28/(byte) keyboard_modifiers#16 ) [ keyboard_events_size#17 keyboard_modifiers#17 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 ] )
[139] call keyboard_event_pressed param-assignment [ keyboard_events_size#17 keyboard_event_pressed::return#10 keyboard_modifiers#17 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::return#10 keyboard_modifiers#17 ] )
[140] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 [ keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_pressed::return#3 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_pressed::return#3 ] )
[198] (byte) keyboard_modifiers#15 ← phi( keyboard_event_scan::@23/(byte) keyboard_modifiers#4 keyboard_event_scan::@28/(byte) keyboard_modifiers#14 ) [ keyboard_events_size#15 keyboard_modifiers#15 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 ] )
[199] call keyboard_event_pressed param-assignment [ keyboard_events_size#15 keyboard_event_pressed::return#10 keyboard_modifiers#15 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::return#10 keyboard_modifiers#15 ] )
[200] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 [ keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_pressed::return#3 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_pressed::return#3 ] )
to:keyboard_event_scan::@29
keyboard_event_scan::@29: scope:[keyboard_event_scan] from keyboard_event_scan::@11
[141] (byte~) keyboard_event_scan::$28 ← (byte) keyboard_event_pressed::return#3 [ keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_scan::$28 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_scan::$28 ] )
[142] if((byte~) keyboard_event_scan::$28==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@return [ keyboard_events_size#17 keyboard_modifiers#17 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 ] )
[201] (byte~) keyboard_event_scan::$28 ← (byte) keyboard_event_pressed::return#3 [ keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_scan::$28 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_scan::$28 ] )
[202] if((byte~) keyboard_event_scan::$28==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@return [ keyboard_events_size#15 keyboard_modifiers#15 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 ] )
to:keyboard_event_scan::@24
keyboard_event_scan::@24: scope:[keyboard_event_scan] from keyboard_event_scan::@29
[143] (byte) keyboard_modifiers#5 ← (byte) keyboard_modifiers#17 | (const byte) KEY_MODIFIER_COMMODORE#0 [ keyboard_events_size#17 keyboard_modifiers#5 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#5 ] )
[203] (byte) keyboard_modifiers#5 ← (byte) keyboard_modifiers#15 | (const byte) KEY_MODIFIER_COMMODORE#0 [ keyboard_events_size#15 keyboard_modifiers#5 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#5 ] )
to:keyboard_event_scan::@return
keyboard_event_scan::@return: scope:[keyboard_event_scan] from keyboard_event_scan::@24 keyboard_event_scan::@29
[144] (byte) keyboard_modifiers#18 ← phi( keyboard_event_scan::@29/(byte) keyboard_modifiers#17 keyboard_event_scan::@24/(byte) keyboard_modifiers#5 ) [ keyboard_modifiers#18 keyboard_events_size#17 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_modifiers#18 keyboard_events_size#17 ] )
[145] return [ keyboard_modifiers#18 keyboard_events_size#17 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_modifiers#18 keyboard_events_size#17 ] )
[204] (byte) keyboard_modifiers#16 ← phi( keyboard_event_scan::@29/(byte) keyboard_modifiers#15 keyboard_event_scan::@24/(byte) keyboard_modifiers#5 ) [ keyboard_modifiers#16 keyboard_events_size#15 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#15 ] )
[205] return [ keyboard_modifiers#16 keyboard_events_size#15 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_modifiers#16 keyboard_events_size#15 ] )
to:@return
keyboard_event_scan::@6: scope:[keyboard_event_scan] from keyboard_event_scan::@15
[146] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#14) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#14 ] )
[147] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#14 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#1 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#1 ] )
[206] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#12) ← (byte) keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#12 ] )
[207] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#12 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#1 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#1 ] )
to:keyboard_event_scan::@4
keyboard_event_scan::@2: scope:[keyboard_event_scan] from keyboard_event_scan::@25
[148] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ keyboard_event_scan::row#2 keyboard_events_size#43 keyboard_event_scan::keycode#1 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_events_size#43 keyboard_event_scan::keycode#1 ] )
[208] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte/signed byte/word/signed word/dword/signed dword) 8 [ keyboard_event_scan::row#2 keyboard_events_size#37 keyboard_event_scan::keycode#1 ] ( main:2::form_control:19::keyboard_event_scan:118 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_events_size#37 keyboard_event_scan::keycode#1 ] )
to:keyboard_event_scan::@8
keyboard_event_pressed: scope:[keyboard_event_pressed] from keyboard_event_scan::@10 keyboard_event_scan::@11 keyboard_event_scan::@20 keyboard_event_scan::@9
[149] (byte) keyboard_event_pressed::keycode#4 ← phi( keyboard_event_scan::@10/(const byte) KEY_CTRL#0 keyboard_event_scan::@11/(const byte) KEY_COMMODORE#0 keyboard_event_scan::@20/(const byte) KEY_LSHIFT#0 keyboard_event_scan::@9/(const byte) KEY_RSHIFT#0 ) [ keyboard_event_pressed::keycode#4 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:121 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::keycode#4 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:127 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_pressed::keycode#4 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:133 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_pressed::keycode#4 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:139 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_pressed::keycode#4 ] )
[150] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:121 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:127 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:133 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:139 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] )
[151] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte[8]) keyboard_scan_values#0 + (byte~) keyboard_event_pressed::$0) [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:121 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:127 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:133 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:139 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] )
[152] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:121 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:127 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:133 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:139 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] )
[153] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:121 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::return#10 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:127 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_pressed::return#10 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:133 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_pressed::return#10 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:139 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_pressed::return#10 ] )
[209] (byte) keyboard_event_pressed::keycode#4 ← phi( keyboard_event_scan::@10/(const byte) KEY_CTRL#0 keyboard_event_scan::@11/(const byte) KEY_COMMODORE#0 keyboard_event_scan::@20/(const byte) KEY_LSHIFT#0 keyboard_event_scan::@9/(const byte) KEY_RSHIFT#0 ) [ keyboard_event_pressed::keycode#4 ] ( main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:181 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::keycode#4 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:187 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_pressed::keycode#4 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:193 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_pressed::keycode#4 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:199 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_pressed::keycode#4 ] )
[210] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] ( main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:181 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:187 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:193 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:199 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_pressed::keycode#4 keyboard_event_pressed::$0 ] )
[211] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte[8]) keyboard_scan_values#0 + (byte~) keyboard_event_pressed::$0) [ keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] ( main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:181 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:187 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:193 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:199 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_pressed::keycode#4 keyboard_event_pressed::row_bits#0 ] )
[212] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:181 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:187 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:193 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:199 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] )
[213] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_event_pressed::$1) [ keyboard_event_pressed::return#10 ] ( main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:181 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::return#10 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:187 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_pressed::return#10 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:193 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_pressed::return#10 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:199 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_pressed::return#10 ] )
to:keyboard_event_pressed::@return
keyboard_event_pressed::@return: scope:[keyboard_event_pressed] from keyboard_event_pressed
[154] return [ keyboard_event_pressed::return#10 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:121 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_event_pressed::return#10 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:127 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#15 keyboard_event_pressed::return#10 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:133 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#16 keyboard_event_pressed::return#10 ] main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_event_pressed:139 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_events_size#17 keyboard_modifiers#17 keyboard_event_pressed::return#10 ] )
[214] return [ keyboard_event_pressed::return#10 ] ( main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:181 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_event_pressed::return#10 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:187 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#13 keyboard_event_pressed::return#10 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:193 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#14 keyboard_event_pressed::return#10 ] main:2::form_control:19::keyboard_event_scan:118::keyboard_event_pressed:199 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_events_size#15 keyboard_modifiers#15 keyboard_event_pressed::return#10 ] )
to:@return
keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_event_scan::@1
[155] *((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_event_scan:58::keyboard_matrix_read:98 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 ] )
[156] (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_event_scan:58::keyboard_matrix_read:98 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_matrix_read::return#0 ] )
[215] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::form_control:19::keyboard_event_scan:118::keyboard_matrix_read:158 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 ] )
[216] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::form_control:19::keyboard_event_scan:118::keyboard_matrix_read:158 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_matrix_read::return#0 ] )
to:keyboard_matrix_read::@return
keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read
[157] return [ keyboard_matrix_read::return#0 ] ( main:2::menu:10::form_control:46::keyboard_event_scan:58::keyboard_matrix_read:98 [ form_field_idx#14 form_control::field#0 form_cursor_count#15 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#43 keyboard_matrix_read::return#0 ] )
[217] return [ keyboard_matrix_read::return#0 ] ( main:2::form_control:19::keyboard_event_scan:118::keyboard_matrix_read:158 [ form_field_idx#1 form_control::field#0 form_cursor_count#11 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#37 keyboard_matrix_read::return#0 ] )
to:@return
form_field_ptr: scope:[form_field_ptr] from form_control form_render_values::@1
[158] (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 keyboard_events_size#24 form_field_idx#14 form_field_ptr::field_idx#2 ] main:2::menu:10::form_render_values:40::form_field_ptr:167 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 form_field_ptr::field_idx#2 ] )
[159] (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 keyboard_events_size#24 form_field_idx#14 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:167 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] )
[160] (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 keyboard_events_size#24 form_field_idx#14 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::menu:10::form_render_values:40::form_field_ptr:167 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] )
[161] (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 keyboard_events_size#24 form_field_idx#14 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:167 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] )
[162] (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 keyboard_events_size#24 form_field_idx#14 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:167 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 form_field_ptr::return#0 ] )
[218] (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::form_control:19::form_field_ptr:108 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::field_idx#2 ] main:2::form_init:10::form_render_values:251::form_field_ptr:256 [ form_render_values::idx#2 form_field_ptr::field_idx#2 ] )
[219] (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::form_control:19::form_field_ptr:108 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] main:2::form_init:10::form_render_values:251::form_field_ptr:256 [ form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::y#0 ] )
[220] (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::form_control:19::form_field_ptr:108 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::field_idx#2 form_field_ptr::$2 ] main:2::form_init:10::form_render_values:251::form_field_ptr:256 [ form_render_values::idx#2 form_field_ptr::field_idx#2 form_field_ptr::$2 ] )
[221] (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::form_control:19::form_field_ptr:108 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::$2 form_field_ptr::x#0 ] main:2::form_init:10::form_render_values:251::form_field_ptr:256 [ form_render_values::idx#2 form_field_ptr::$2 form_field_ptr::x#0 ] )
[222] (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::form_control:19::form_field_ptr:108 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::return#0 ] main:2::form_init:10::form_render_values:251::form_field_ptr:256 [ 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
[163] return [ form_field_ptr::return#0 ] ( main:2::menu:10::form_control:46::form_field_ptr:48 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 form_field_ptr::return#0 ] main:2::menu:10::form_render_values:40::form_field_ptr:167 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 form_field_ptr::return#0 ] )
[223] return [ form_field_ptr::return#0 ] ( main:2::form_control:19::form_field_ptr:108 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_field_ptr::return#0 ] main:2::form_init:10::form_render_values:251::form_field_ptr:256 [ form_render_values::idx#2 form_field_ptr::return#0 ] )
to:@return
form_render_values: scope:[form_render_values] from menu::@21
[164] phi() [ ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
form_mode: scope:[form_mode] from main::@6
[224] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) FORM_CHARSET#0/(dword/signed dword) 65536 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[225] *((const byte*) DTV_COLOR_BANK_LO#0) ← <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[226] *((const byte*) DTV_COLOR_BANK_HI#0) ← >((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[227] *((const byte*) CIA2_PORT_A_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[228] *((const byte*) CIA2_PORT_A#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3^((byte))((word))(const byte*) FORM_CHARSET#0/(word/signed word/dword/signed dword) 16384 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[229] *((const byte*) DTV_CONTROL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[230] *((const byte*) VIC_CONTROL#0) ← (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[231] *((const byte*) VIC_CONTROL2#0) ← (const byte) VIC_CSEL#0 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[232] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) FORM_SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) FORM_CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
to:form_mode::@1
form_mode::@1: scope:[form_mode] from form_mode form_mode::@1
[233] (byte) form_mode::i#2 ← phi( form_mode/(byte/signed byte/word/signed word/dword/signed dword) 0 form_mode::@1/(byte) form_mode::i#1 ) [ form_mode::i#2 ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_mode::i#2 ] )
[234] *((const byte*) DTV_PALETTE#0 + (byte) form_mode::i#2) ← *((const byte[16]) DTV_PALETTE_DEFAULT#0 + (byte) form_mode::i#2) [ form_mode::i#2 ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_mode::i#2 ] )
[235] (byte) form_mode::i#1 ← ++ (byte) form_mode::i#2 [ form_mode::i#1 ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_mode::i#1 ] )
[236] if((byte) form_mode::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto form_mode::@1 [ form_mode::i#1 ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 form_mode::i#1 ] )
to:form_mode::@2
form_mode::@2: scope:[form_mode] from form_mode::@1
[237] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
[238] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
to:form_mode::@return
form_mode::@return: scope:[form_mode] from form_mode::@2
[239] return [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] )
to:@return
form_init: scope:[form_init] from main::@20
[240] phi() [ ] ( main:2::form_init:10 [ ] )
[241] call print_set_screen param-assignment [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] )
to:form_init::@1
form_init::@1: scope:[form_init] from form_init
[242] phi() [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] )
[243] call print_str_lines param-assignment [ ] ( main:2::form_init:10 [ ] )
to:form_init::@2
form_init::@2: scope:[form_init] from form_init::@1
[244] phi() [ ] ( main:2::form_init:10 [ ] )
[245] call print_set_screen param-assignment [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] )
to:form_init::@3
form_init::@3: scope:[form_init] from form_init::@2
[246] phi() [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] )
[247] call print_str_lines param-assignment [ ] ( main:2::form_init:10 [ ] )
to:form_init::@4
form_init::@4: scope:[form_init] from form_init::@3
[248] phi() [ ] ( main:2::form_init:10 [ ] )
[249] call form_set_screen param-assignment [ ] ( main:2::form_init:10 [ ] )
to:form_init::@5
form_init::@5: scope:[form_init] from form_init::@4
[250] phi() [ ] ( main:2::form_init:10 [ ] )
[251] call form_render_values param-assignment [ ] ( main:2::form_init:10 [ ] )
to:form_init::@return
form_init::@return: scope:[form_init] from form_init::@5
[252] return [ ] ( main:2::form_init:10 [ ] )
to:@return
form_render_values: scope:[form_render_values] from form_init::@5
[253] phi() [ ] ( main:2::form_init:10::form_render_values:251 [ ] )
to:form_render_values::@1
form_render_values::@1: scope:[form_render_values] from form_render_values form_render_values::@3
[165] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 ] )
[166] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_field_ptr::field_idx#0 form_render_values::idx#2 ] )
[167] 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_field_ptr::return#0 form_render_values::idx#2 ] )
[168] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 form_field_ptr::return#2 ] )
[254] (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::form_init:10::form_render_values:251 [ form_render_values::idx#2 ] )
[255] (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::form_init:10::form_render_values:251 [ form_field_ptr::field_idx#0 form_render_values::idx#2 ] )
[256] call form_field_ptr param-assignment [ form_field_ptr::return#0 form_render_values::idx#2 ] ( main:2::form_init:10::form_render_values:251 [ form_field_ptr::return#0 form_render_values::idx#2 ] )
[257] (byte*) form_field_ptr::return#2 ← (byte*) form_field_ptr::return#0 [ form_render_values::idx#2 form_field_ptr::return#2 ] ( main:2::form_init:10::form_render_values:251 [ 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
[169] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 form_render_values::field#0 ] )
[170] *((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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#2 ] )
[171] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#1 ] )
[172] 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_render_values::idx#1 ] )
[258] (byte*) form_render_values::field#0 ← (byte*) form_field_ptr::return#2 [ form_render_values::idx#2 form_render_values::field#0 ] ( main:2::form_init:10::form_render_values:251 [ form_render_values::idx#2 form_render_values::field#0 ] )
[259] *((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::form_init:10::form_render_values:251 [ form_render_values::idx#2 ] )
[260] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 [ form_render_values::idx#1 ] ( main:2::form_init:10::form_render_values:251 [ form_render_values::idx#1 ] )
[261] 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::form_init:10::form_render_values:251 [ form_render_values::idx#1 ] )
to:form_render_values::@return
form_render_values::@return: scope:[form_render_values] from form_render_values::@3
[173] return [ ] ( main:2::menu:10::form_render_values:40 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[262] return [ ] ( main:2::form_init:10::form_render_values:251 [ ] )
to:@return
form_set_screen: scope:[form_set_screen] from menu::@20
[174] phi() [ ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
form_set_screen: scope:[form_set_screen] from form_init::@4
[263] phi() [ ] ( main:2::form_init:10::form_set_screen:249 [ ] )
to:form_set_screen::@1
form_set_screen::@1: scope:[form_set_screen] from form_set_screen form_set_screen::@1
[175] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_set_screen::line#2 form_set_screen::y#2 ] )
[175] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_set_screen::line#2 form_set_screen::y#2 ] )
[176] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] )
[177] *((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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_set_screen::line#2 form_set_screen::y#2 ] )
[178] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] )
[179] *((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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_set_screen::line#2 form_set_screen::y#2 ] )
[180] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_set_screen::y#2 form_set_screen::line#1 ] )
[181] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_set_screen::line#1 form_set_screen::y#1 ] )
[182] 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 form_set_screen::line#1 form_set_screen::y#1 ] )
[264] (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::form_init:10::form_set_screen:249 [ form_set_screen::line#2 form_set_screen::y#2 ] )
[264] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const byte*) form_set_screen::screen#0 form_set_screen::@1/(byte*) form_set_screen::line#1 ) [ form_set_screen::line#2 form_set_screen::y#2 ] ( main:2::form_init:10::form_set_screen:249 [ form_set_screen::line#2 form_set_screen::y#2 ] )
[265] (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::form_init:10::form_set_screen:249 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$0 ] )
[266] *((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::form_init:10::form_set_screen:249 [ form_set_screen::line#2 form_set_screen::y#2 ] )
[267] (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::form_init:10::form_set_screen:249 [ form_set_screen::line#2 form_set_screen::y#2 form_set_screen::$1 ] )
[268] *((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::form_init:10::form_set_screen:249 [ form_set_screen::line#2 form_set_screen::y#2 ] )
[269] (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::form_init:10::form_set_screen:249 [ form_set_screen::y#2 form_set_screen::line#1 ] )
[270] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [ form_set_screen::line#1 form_set_screen::y#1 ] ( main:2::form_init:10::form_set_screen:249 [ form_set_screen::line#1 form_set_screen::y#1 ] )
[271] 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::form_init:10::form_set_screen:249 [ 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
[183] return [ ] ( main:2::menu:10::form_set_screen:38 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[272] return [ ] ( main:2::form_init:10::form_set_screen:249 [ ] )
to:@return
print_str_lines: scope:[print_str_lines] from menu::@16 menu::@19
[184] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#5 print_set_screen::screen#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#5 print_set_screen::screen#2 ] )
[185] (byte*~) print_char_cursor#64 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#64 print_set_screen::screen#2 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#5 print_char_cursor#64 print_set_screen::screen#2 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#5 print_char_cursor#64 print_set_screen::screen#2 ] )
print_str_lines: scope:[print_str_lines] from form_init::@1 form_init::@3
[273] (byte*) print_str_lines::str#5 ← phi( form_init::@1/(const string) FORM_COLS#0 form_init::@3/(const string) FORM_TEXT#0 ) [ print_str_lines::str#5 print_set_screen::screen#2 ] ( main:2::form_init:10::print_str_lines:243 [ print_str_lines::str#5 print_set_screen::screen#2 ] main:2::form_init:10::print_str_lines:247 [ print_str_lines::str#5 print_set_screen::screen#2 ] )
[274] (byte*~) print_char_cursor#60 ← (byte*) print_set_screen::screen#2 [ print_str_lines::str#5 print_char_cursor#60 print_set_screen::screen#2 ] ( main:2::form_init:10::print_str_lines:243 [ print_str_lines::str#5 print_char_cursor#60 print_set_screen::screen#2 ] main:2::form_init:10::print_str_lines:247 [ print_str_lines::str#5 print_char_cursor#60 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
[186] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] )
[186] (byte*) print_char_cursor#22 ← phi( print_str_lines/(byte*~) print_char_cursor#64 print_str_lines::@9/(byte*~) print_char_cursor#65 ) [ 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] )
[186] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] )
[187] 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#3 print_char_cursor#22 print_line_cursor#2 ] )
[275] (byte*) print_line_cursor#16 ← phi( print_str_lines/(byte*) print_set_screen::screen#2 print_str_lines::@9/(byte*) print_line_cursor#18 ) [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] ( main:2::form_init:10::print_str_lines:243 [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] main:2::form_init:10::print_str_lines:247 [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] )
[275] (byte*) print_char_cursor#18 ← phi( print_str_lines/(byte*~) print_char_cursor#60 print_str_lines::@9/(byte*~) print_char_cursor#61 ) [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] ( main:2::form_init:10::print_str_lines:243 [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] main:2::form_init:10::print_str_lines:247 [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] )
[275] (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#18 print_line_cursor#16 ] ( main:2::form_init:10::print_str_lines:243 [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] main:2::form_init:10::print_str_lines:247 [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] )
[276] if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@4 [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] ( main:2::form_init:10::print_str_lines:243 [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] main:2::form_init:10::print_str_lines:247 [ print_str_lines::str#3 print_char_cursor#18 print_line_cursor#16 ] )
to:print_str_lines::@return
print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1
[188] return [ ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 ] )
[277] return [ ] ( main:2::form_init:10::print_str_lines:243 [ ] main:2::form_init:10::print_str_lines:247 [ ] )
to:@return
print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@5
[189] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] )
[189] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 ] )
[190] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#4 print_char_cursor#20 print_str_lines::ch#0 ] )
[191] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] )
[192] 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] )
[278] (byte*) print_char_cursor#16 ← phi( print_str_lines::@1/(byte*) print_char_cursor#18 print_str_lines::@5/(byte*) print_char_cursor#31 ) [ print_line_cursor#16 print_str_lines::str#4 print_char_cursor#16 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#4 print_char_cursor#16 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 print_str_lines::str#4 print_char_cursor#16 ] )
[278] (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#16 print_str_lines::str#4 print_char_cursor#16 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#4 print_char_cursor#16 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 print_str_lines::str#4 print_char_cursor#16 ] )
[279] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [ print_line_cursor#16 print_str_lines::str#4 print_char_cursor#16 print_str_lines::ch#0 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#4 print_char_cursor#16 print_str_lines::ch#0 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 print_str_lines::str#4 print_char_cursor#16 print_str_lines::ch#0 ] )
[280] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#16 print_str_lines::ch#0 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#16 print_str_lines::ch#0 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#16 print_str_lines::ch#0 ] )
[281] if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#16 print_str_lines::ch#0 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#16 print_str_lines::ch#0 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#16 print_str_lines::ch#0 ] )
to:print_str_lines::@8
print_str_lines::@8: scope:[print_str_lines] from print_str_lines::@4
[193] *((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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#20 print_str_lines::ch#0 ] )
[194] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] )
[282] *((byte*) print_char_cursor#16) ← (byte) print_str_lines::ch#0 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#16 print_str_lines::ch#0 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#16 print_str_lines::ch#0 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#16 print_str_lines::ch#0 ] )
[283] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#16 [ print_line_cursor#16 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#0 print_str_lines::ch#0 print_char_cursor#1 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 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
[195] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 print_str_lines::ch#0 ] )
[196] 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] )
[284] (byte*) print_char_cursor#31 ← phi( print_str_lines::@4/(byte*) print_char_cursor#16 print_str_lines::@8/(byte*) print_char_cursor#1 ) [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#31 print_str_lines::ch#0 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#31 print_str_lines::ch#0 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#31 print_str_lines::ch#0 ] )
[285] if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#31 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#31 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#31 ] )
to:print_str_lines::@9
print_str_lines::@9: scope:[print_str_lines] from print_str_lines::@5
[197] 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_line_cursor#2 print_str_lines::str#0 print_char_cursor#38 ] )
[198] 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 ] )
[199] (byte*~) print_char_cursor#65 ← (byte*) print_line_cursor#22 [ print_str_lines::str#0 print_char_cursor#65 print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_char_cursor#65 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_char_cursor#65 print_line_cursor#22 ] )
[286] phi() [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#31 ] ( main:2::form_init:10::print_str_lines:243 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#31 ] main:2::form_init:10::print_str_lines:247 [ print_line_cursor#16 print_str_lines::str#0 print_char_cursor#31 ] )
[287] call print_ln param-assignment [ print_str_lines::str#0 print_line_cursor#18 ] ( main:2::form_init:10::print_str_lines:243 [ print_str_lines::str#0 print_line_cursor#18 ] main:2::form_init:10::print_str_lines:247 [ print_str_lines::str#0 print_line_cursor#18 ] )
[288] (byte*~) print_char_cursor#61 ← (byte*) print_line_cursor#18 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#18 ] ( main:2::form_init:10::print_str_lines:243 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#18 ] main:2::form_init:10::print_str_lines:247 [ print_str_lines::str#0 print_char_cursor#61 print_line_cursor#18 ] )
to:print_str_lines::@1
print_ln: scope:[print_ln] from print_str_lines::@9
[200] phi() [ print_line_cursor#2 print_char_cursor#38 ] ( main:2::menu:10::print_str_lines:30::print_ln:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#2 print_char_cursor#38 ] )
[289] phi() [ print_line_cursor#16 print_char_cursor#31 ] ( main:2::form_init:10::print_str_lines:243::print_ln:287 [ print_str_lines::str#0 print_line_cursor#16 print_char_cursor#31 ] main:2::form_init:10::print_str_lines:247::print_ln:287 [ print_str_lines::str#0 print_line_cursor#16 print_char_cursor#31 ] )
to:print_ln::@1
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
[201] (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:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_char_cursor#38 print_line_cursor#21 ] main:2::menu:10::print_str_lines:36::print_ln:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_char_cursor#38 print_line_cursor#21 ] )
[202] (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:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] )
[203] 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:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] main:2::menu:10::print_str_lines:36::print_ln:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 print_char_cursor#38 ] )
[290] (byte*) print_line_cursor#17 ← phi( print_ln/(byte*) print_line_cursor#16 print_ln::@1/(byte*) print_line_cursor#18 ) [ print_char_cursor#31 print_line_cursor#17 ] ( main:2::form_init:10::print_str_lines:243::print_ln:287 [ print_str_lines::str#0 print_char_cursor#31 print_line_cursor#17 ] main:2::form_init:10::print_str_lines:247::print_ln:287 [ print_str_lines::str#0 print_char_cursor#31 print_line_cursor#17 ] )
[291] (byte*) print_line_cursor#18 ← (byte*) print_line_cursor#17 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#18 print_char_cursor#31 ] ( main:2::form_init:10::print_str_lines:243::print_ln:287 [ print_str_lines::str#0 print_line_cursor#18 print_char_cursor#31 ] main:2::form_init:10::print_str_lines:247::print_ln:287 [ print_str_lines::str#0 print_line_cursor#18 print_char_cursor#31 ] )
[292] if((byte*) print_line_cursor#18<(byte*) print_char_cursor#31) goto print_ln::@1 [ print_line_cursor#18 print_char_cursor#31 ] ( main:2::form_init:10::print_str_lines:243::print_ln:287 [ print_str_lines::str#0 print_line_cursor#18 print_char_cursor#31 ] main:2::form_init:10::print_str_lines:247::print_ln:287 [ print_str_lines::str#0 print_line_cursor#18 print_char_cursor#31 ] )
to:print_ln::@return
print_ln::@return: scope:[print_ln] from print_ln::@1
[204] return [ print_line_cursor#22 ] ( main:2::menu:10::print_str_lines:30::print_ln:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 ] main:2::menu:10::print_str_lines:36::print_ln:198 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_str_lines::str#0 print_line_cursor#22 ] )
[293] return [ print_line_cursor#18 ] ( main:2::form_init:10::print_str_lines:243::print_ln:287 [ print_str_lines::str#0 print_line_cursor#18 ] main:2::form_init:10::print_str_lines:247::print_ln:287 [ print_str_lines::str#0 print_line_cursor#18 ] )
to:@return
print_cls: scope:[print_cls] from menu::@15 menu::@18
[205] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#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
[206] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] )
[207] *((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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#2 ] )
[208] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] )
[209] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 print_cls::$0 ] )
[210] 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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 print_cls::sc#1 ] )
to:print_cls::@return
print_cls::@return: scope:[print_cls] from print_cls::@1
[211] return [ print_set_screen::screen#2 ] ( main:2::menu:10::print_cls:28 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] main:2::menu:10::print_cls:34 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
to:@return
print_set_screen: scope:[print_set_screen] from menu::@17 menu::@8
[212] (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 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] main:2::menu:10::print_set_screen:32 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
print_set_screen: scope:[print_set_screen] from form_init form_init::@2
[294] (byte*) print_set_screen::screen#2 ← phi( form_init/(const byte*) COLS#0+(const word) FORM_OFFSET#0 form_init::@2/(const byte*) FORM_SCREEN#0+(const word) FORM_OFFSET#0 ) [ print_set_screen::screen#2 ] ( main:2::form_init:10::print_set_screen:241 [ print_set_screen::screen#2 ] main:2::form_init:10::print_set_screen:245 [ print_set_screen::screen#2 ] )
to:print_set_screen::@return
print_set_screen::@return: scope:[print_set_screen] from print_set_screen
[213] return [ print_set_screen::screen#2 ] ( main:2::menu:10::print_set_screen:26 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] main:2::menu:10::print_set_screen:32 [ form_cursor_count#1 keyboard_events_size#22 keyboard_modifiers#20 form_field_idx#1 print_set_screen::screen#2 ] )
[295] return [ print_set_screen::screen#2 ] ( main:2::form_init:10::print_set_screen:241 [ print_set_screen::screen#2 ] main:2::form_init:10::print_set_screen:245 [ print_set_screen::screen#2 ] )
to:@return
gfx_init: scope:[gfx_init] from main::@19
[296] phi() [ ] ( main:2::gfx_init:8 [ ] )
[297] call gfx_init_plane_8bppchunky param-assignment [ ] ( main:2::gfx_init:8 [ ] )
to:gfx_init::@return
gfx_init::@return: scope:[gfx_init] from gfx_init
[298] return [ ] ( main:2::gfx_init:8 [ ] )
to:@return
gfx_init_plane_8bppchunky: scope:[gfx_init_plane_8bppchunky] from gfx_init
[299] phi() [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] )
[300] call dtvSetCpuBankSegment1 param-assignment [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] )
to:gfx_init_plane_8bppchunky::@1
gfx_init_plane_8bppchunky::@1: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@5
[301] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky/++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 ) [ gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#7 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#7 ] )
[301] (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#7 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#7 ] )
[301] (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky/((byte*))(word/signed word/dword/signed dword) 16384 ) [ gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#7 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#7 ] )
to:gfx_init_plane_8bppchunky::@2
gfx_init_plane_8bppchunky::@2: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@3
[302] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] )
[302] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] )
[302] (byte*) gfx_init_plane_8bppchunky::gfxb#3 ← phi( gfx_init_plane_8bppchunky::@1/(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] )
[303] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) 32768) goto gfx_init_plane_8bppchunky::@3 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] )
to:gfx_init_plane_8bppchunky::@4
gfx_init_plane_8bppchunky::@4: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2
[304] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 dtvSetCpuBankSegment1::cpuBankIdx#1 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 dtvSetCpuBankSegment1::cpuBankIdx#1 ] )
[305] call dtvSetCpuBankSegment1 param-assignment [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] )
to:gfx_init_plane_8bppchunky::@8
gfx_init_plane_8bppchunky::@8: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@4
[306] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] )
to:gfx_init_plane_8bppchunky::@3
gfx_init_plane_8bppchunky::@3: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8
[307] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@8/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] )
[307] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@8/((byte*))(word/signed word/dword/signed dword) 16384 ) [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] )
[308] (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$6 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::$6 ] )
[309] (byte) gfx_init_plane_8bppchunky::c#0 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::c#0 ] )
[310] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxb#4 ] )
[311] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#2 ] )
[312] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] )
[313] if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) 320) goto gfx_init_plane_8bppchunky::@2 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::x#1 ] )
to:gfx_init_plane_8bppchunky::@5
gfx_init_plane_8bppchunky::@5: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@3
[314] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 [ gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 ] )
[315] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_8bppchunky::@1 [ gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ gfx_init_plane_8bppchunky::gfxb#1 gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky::gfxbCpuBank#8 ] )
to:gfx_init_plane_8bppchunky::@6
gfx_init_plane_8bppchunky::@6: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@5
[316] phi() [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] )
[317] call dtvSetCpuBankSegment1 param-assignment [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] )
to:gfx_init_plane_8bppchunky::@return
gfx_init_plane_8bppchunky::@return: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@6
[318] return [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] )
to:@return
dtvSetCpuBankSegment1: scope:[dtvSetCpuBankSegment1] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@6
[319] (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 ← phi( gfx_init_plane_8bppchunky/((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 ) [ dtvSetCpuBankSegment1::cpuBankIdx#3 ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297::dtvSetCpuBankSegment1:300 [ dtvSetCpuBankSegment1::cpuBankIdx#3 ] main:2::gfx_init:8::gfx_init_plane_8bppchunky:297::dtvSetCpuBankSegment1:305 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 dtvSetCpuBankSegment1::cpuBankIdx#3 ] main:2::gfx_init:8::gfx_init_plane_8bppchunky:297::dtvSetCpuBankSegment1:317 [ dtvSetCpuBankSegment1::cpuBankIdx#3 ] )
[320] *((const byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297::dtvSetCpuBankSegment1:300 [ ] main:2::gfx_init:8::gfx_init_plane_8bppchunky:297::dtvSetCpuBankSegment1:305 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] main:2::gfx_init:8::gfx_init_plane_8bppchunky:297::dtvSetCpuBankSegment1:317 [ ] )
asm { .byte$32,$dd lda$ff .byte$32,$00 }
to:dtvSetCpuBankSegment1::@return
dtvSetCpuBankSegment1::@return: scope:[dtvSetCpuBankSegment1] from dtvSetCpuBankSegment1
[322] return [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297::dtvSetCpuBankSegment1:300 [ ] main:2::gfx_init:8::gfx_init_plane_8bppchunky:297::dtvSetCpuBankSegment1:305 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::gfxbCpuBank#4 ] main:2::gfx_init:8::gfx_init_plane_8bppchunky:297::dtvSetCpuBankSegment1:317 [ ] )
to:@return
keyboard_init: scope:[keyboard_init] from main
[323] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:2::keyboard_init:6 [ ] )
[324] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:6 [ ] )
to:keyboard_init::@return
keyboard_init::@return: scope:[keyboard_init] from keyboard_init
[325] return [ ] ( main:2::keyboard_init:6 [ ] )
to:@return

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +1,38 @@
(label) @28
(label) @32
(label) @begin
(label) @end
(byte*) BGCOL
(const byte*) BGCOL#0 BGCOL = ((byte*))(word/dword/signed dword) 53281
(byte*) BGCOL1
(const byte*) BGCOL1#0 BGCOL1 = ((byte*))(word/dword/signed dword) 53281
(byte*) BGCOL2
(const byte*) BGCOL2#0 BGCOL2 = ((byte*))(word/dword/signed dword) 53282
(byte*) BGCOL3
(const byte*) BGCOL3#0 BGCOL3 = ((byte*))(word/dword/signed dword) 53283
(byte*) BGCOL4
(const byte*) BGCOL4#0 BGCOL4 = ((byte*))(word/dword/signed dword) 53284
(byte*) BORDERCOL
(const byte*) BORDERCOL#0 BORDERCOL = ((byte*))(word/dword/signed dword) 53280
(byte*) CIA1_PORT_A
(const byte*) CIA1_PORT_A#0 CIA1_PORT_A = ((byte*))(word/dword/signed dword) 56320
(byte*) CIA1_PORT_A_DDR
(const byte*) CIA1_PORT_A_DDR#0 CIA1_PORT_A_DDR = ((byte*))(word/dword/signed dword) 56322
(byte*) CIA1_PORT_B
(const byte*) CIA1_PORT_B#0 CIA1_PORT_B = ((byte*))(word/dword/signed dword) 56321
(byte*) CIA1_PORT_B_DDR
(const byte*) CIA1_PORT_B_DDR#0 CIA1_PORT_B_DDR = ((byte*))(word/dword/signed dword) 56323
(byte*) CIA2_PORT_A
(const byte*) CIA2_PORT_A#0 CIA2_PORT_A = ((byte*))(word/dword/signed dword) 56576
(byte*) CIA2_PORT_A_DDR
(const byte*) CIA2_PORT_A_DDR#0 CIA2_PORT_A_DDR = ((byte*))(word/dword/signed dword) 56578
(byte*) COLS
(const byte*) COLS#0 COLS = ((byte*))(word/dword/signed dword) 55296
(byte) DTV_BORDER_OFF
(const byte) DTV_BORDER_OFF#0 DTV_BORDER_OFF = (byte/signed byte/word/signed word/dword/signed dword) 2
(byte) DTV_CHUNKY
(const byte) DTV_CHUNKY#0 DTV_CHUNKY = (byte/signed byte/word/signed word/dword/signed dword) 64
(byte) DTV_COLORRAM_OFF
(const byte) DTV_COLORRAM_OFF#0 DTV_COLORRAM_OFF = (byte/signed byte/word/signed word/dword/signed dword) 16
(dword) DTV_COLOR_BANK_DEFAULT
(const dword) DTV_COLOR_BANK_DEFAULT#0 DTV_COLOR_BANK_DEFAULT = (dword/signed dword) 120832
(byte*) DTV_COLOR_BANK_HI
@ -29,12 +47,52 @@
(const byte) DTV_FEATURE_ENABLE#0 DTV_FEATURE_ENABLE = (byte/signed byte/word/signed word/dword/signed dword) 1
(byte*) DTV_GRAPHICS_VIC_BANK
(const byte*) DTV_GRAPHICS_VIC_BANK#0 DTV_GRAPHICS_VIC_BANK = ((byte*))(word/dword/signed dword) 53309
(byte) DTV_HIGHCOLOR
(const byte) DTV_HIGHCOLOR#0 DTV_HIGHCOLOR = (byte/signed byte/word/signed word/dword/signed dword) 4
(byte) DTV_LINEAR
(const byte) DTV_LINEAR#0 DTV_LINEAR = (byte/signed byte/word/signed word/dword/signed dword) 1
(byte) DTV_OVERSCAN
(const byte) DTV_OVERSCAN#0 DTV_OVERSCAN = (byte/signed byte/word/signed word/dword/signed dword) 8
(byte*) DTV_PALETTE
(const byte*) DTV_PALETTE#0 DTV_PALETTE = ((byte*))(word/dword/signed dword) 53760
(byte[16]) DTV_PALETTE_DEFAULT
(const byte[16]) DTV_PALETTE_DEFAULT#0 DTV_PALETTE_DEFAULT = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 54, (byte/word/signed word/dword/signed dword) 190, (byte/signed byte/word/signed word/dword/signed dword) 88, (byte/word/signed word/dword/signed dword) 219, (byte/word/signed word/dword/signed dword) 134, (byte/word/signed word/dword/signed dword) 255, (byte/signed byte/word/signed word/dword/signed dword) 41, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 59, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/word/signed word/dword/signed dword) 223, (byte/word/signed word/dword/signed dword) 154, (byte/signed byte/word/signed word/dword/signed dword) 10 }
(byte*) DTV_PLANEA_MODULO_HI
(const byte*) DTV_PLANEA_MODULO_HI#0 DTV_PLANEA_MODULO_HI = ((byte*))(word/dword/signed dword) 53305
(byte*) DTV_PLANEA_MODULO_LO
(const byte*) DTV_PLANEA_MODULO_LO#0 DTV_PLANEA_MODULO_LO = ((byte*))(word/dword/signed dword) 53304
(byte*) DTV_PLANEA_START_HI
(const byte*) DTV_PLANEA_START_HI#0 DTV_PLANEA_START_HI = ((byte*))(word/dword/signed dword) 53317
(byte*) DTV_PLANEA_START_LO
(const byte*) DTV_PLANEA_START_LO#0 DTV_PLANEA_START_LO = ((byte*))(word/dword/signed dword) 53306
(byte*) DTV_PLANEA_START_MI
(const byte*) DTV_PLANEA_START_MI#0 DTV_PLANEA_START_MI = ((byte*))(word/dword/signed dword) 53307
(byte*) DTV_PLANEA_STEP
(const byte*) DTV_PLANEA_STEP#0 DTV_PLANEA_STEP = ((byte*))(word/dword/signed dword) 53318
(byte*) DTV_PLANEB_MODULO_HI
(const byte*) DTV_PLANEB_MODULO_HI#0 DTV_PLANEB_MODULO_HI = ((byte*))(word/dword/signed dword) 53320
(byte*) DTV_PLANEB_MODULO_LO
(const byte*) DTV_PLANEB_MODULO_LO#0 DTV_PLANEB_MODULO_LO = ((byte*))(word/dword/signed dword) 53319
(byte*) DTV_PLANEB_START_HI
(const byte*) DTV_PLANEB_START_HI#0 DTV_PLANEB_START_HI = ((byte*))(word/dword/signed dword) 53323
(byte*) DTV_PLANEB_START_LO
(const byte*) DTV_PLANEB_START_LO#0 DTV_PLANEB_START_LO = ((byte*))(word/dword/signed dword) 53321
(byte*) DTV_PLANEB_START_MI
(const byte*) DTV_PLANEB_START_MI#0 DTV_PLANEB_START_MI = ((byte*))(word/dword/signed dword) 53322
(byte*) DTV_PLANEB_STEP
(const byte*) DTV_PLANEB_STEP#0 DTV_PLANEB_STEP = ((byte*))(word/dword/signed dword) 53324
(byte*) FORM_CHARSET
(const byte*) FORM_CHARSET#0 FORM_CHARSET = ((byte*))(word/dword/signed dword) 38912
(byte[]) FORM_COLS
(const string) FORM_COLS#0 FORM_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) "@"
(signed byte) FORM_CURSOR_BLINK
(const signed byte) FORM_CURSOR_BLINK#0 FORM_CURSOR_BLINK = (byte/signed byte/word/signed word/dword/signed dword) 40
(word) FORM_OFFSET
(const word) FORM_OFFSET#0 FORM_OFFSET = (byte/signed byte/word/signed word/dword/signed dword) 16*(byte/signed byte/word/signed word/dword/signed dword) 40
(byte*) FORM_SCREEN
(const byte*) FORM_SCREEN#0 FORM_SCREEN = ((byte*))(word/dword/signed dword) 32768
(byte[]) FORM_TEXT
(const string) FORM_TEXT#0 FORM_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) KEY_COMMODORE
(const byte) KEY_COMMODORE#0 KEY_COMMODORE = (byte/signed byte/word/signed word/dword/signed dword) 61
(byte) KEY_CRSR_DOWN
@ -57,12 +115,12 @@
(const byte) KEY_MODIFIER_SHIFT#0 KEY_MODIFIER_SHIFT = (const byte) KEY_MODIFIER_LSHIFT#0|(const byte) KEY_MODIFIER_RSHIFT#0
(byte) KEY_RSHIFT
(const byte) KEY_RSHIFT#0 KEY_RSHIFT = (byte/signed byte/word/signed word/dword/signed dword) 52
(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 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) "@"
(dword) PLANE_8BPP_CHUNKY
(const dword) PLANE_8BPP_CHUNKY#0 PLANE_8BPP_CHUNKY = (dword/signed dword) 131072
(byte*) RASTER
(const byte*) RASTER#0 RASTER = ((byte*))(word/dword/signed dword) 53266
(byte) VIC_BMM
(const byte) VIC_BMM#0 VIC_BMM = (byte/signed byte/word/signed word/dword/signed dword) 32
(byte*) VIC_CONTROL
(const byte*) VIC_CONTROL#0 VIC_CONTROL = ((byte*))(word/dword/signed dword) 53265
(byte*) VIC_CONTROL2
@ -71,10 +129,45 @@
(const byte) VIC_CSEL#0 VIC_CSEL = (byte/signed byte/word/signed word/dword/signed dword) 8
(byte) VIC_DEN
(const byte) VIC_DEN#0 VIC_DEN = (byte/signed byte/word/signed word/dword/signed dword) 16
(byte) VIC_ECM
(const byte) VIC_ECM#0 VIC_ECM = (byte/signed byte/word/signed word/dword/signed dword) 64
(byte) VIC_MCM
(const byte) VIC_MCM#0 VIC_MCM = (byte/signed byte/word/signed word/dword/signed dword) 16
(byte*) VIC_MEMORY
(const byte*) VIC_MEMORY#0 VIC_MEMORY = ((byte*))(word/dword/signed dword) 53272
(byte) VIC_RSEL
(const byte) VIC_RSEL#0 VIC_RSEL = (byte/signed byte/word/signed word/dword/signed dword) 8
(void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx)
(label) dtvSetCpuBankSegment1::@return
(byte*) dtvSetCpuBankSegment1::cpuBank
(const byte*) dtvSetCpuBankSegment1::cpuBank#0 cpuBank = ((byte*))(byte/word/signed word/dword/signed dword) 255
(byte) dtvSetCpuBankSegment1::cpuBankIdx
(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 reg byte a 202.0
(byte) dtvSetCpuBankSegment1::cpuBankIdx#3 reg byte a 103.0
(byte*) form_a_mod_hi
(const byte*) form_a_mod_hi#0 form_a_mod_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 15
(byte*) form_a_mod_lo
(const byte*) form_a_mod_lo#0 form_a_mod_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 16
(byte*) form_a_start_hi
(const byte*) form_a_start_hi#0 form_a_start_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 11
(byte*) form_a_start_lo
(const byte*) form_a_start_lo#0 form_a_start_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 12
(byte*) form_a_step_hi
(const byte*) form_a_step_hi#0 form_a_step_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 13
(byte*) form_a_step_lo
(const byte*) form_a_step_lo#0 form_a_step_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 14
(byte*) form_b_mod_hi
(const byte*) form_b_mod_hi#0 form_b_mod_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 22
(byte*) form_b_mod_lo
(const byte*) form_b_mod_lo#0 form_b_mod_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 23
(byte*) form_b_start_hi
(const byte*) form_b_start_hi#0 form_b_start_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 18
(byte*) form_b_start_lo
(const byte*) form_b_start_lo#0 form_b_start_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 19
(byte*) form_b_step_hi
(const byte*) form_b_step_hi#0 form_b_step_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 20
(byte*) form_b_step_lo
(const byte*) form_b_step_lo#0 form_b_step_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 21
(void()) form_control()
(byte~) form_control::$12 reg byte a 4.0
(byte~) form_control::$13 reg byte a 4.0
@ -92,13 +185,13 @@
(label) form_control::@24
(label) form_control::@25
(label) form_control::@27
(label) form_control::@28
(label) form_control::@29
(label) form_control::@3
(label) form_control::@30
(label) form_control::@31
(label) form_control::@32
(label) form_control::@33
(label) form_control::@34
(label) form_control::@4
(label) form_control::@5
(label) form_control::@7
@ -107,31 +200,47 @@
(byte*) form_control::field#0 field zp ZP_WORD:7 0.5925925925925926
(byte) form_control::key_event
(byte) form_control::key_event#0 reg byte a 3.0
(byte*) form_ctrl_bmm
(const byte*) form_ctrl_bmm#0 form_ctrl_bmm = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 1
(byte*) form_ctrl_borof
(const byte*) form_ctrl_borof#0 form_ctrl_borof = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 8
(byte*) form_ctrl_chunk
(const byte*) form_ctrl_chunk#0 form_ctrl_chunk = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 7
(byte*) form_ctrl_colof
(const byte*) form_ctrl_colof#0 form_ctrl_colof = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 6
(byte*) form_ctrl_ecm
(const byte*) form_ctrl_ecm#0 form_ctrl_ecm = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 3
(byte*) form_ctrl_hicol
(const byte*) form_ctrl_hicol#0 form_ctrl_hicol = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 4
(byte*) form_ctrl_line
(const byte*) form_ctrl_line#0 form_ctrl_line = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 5
(byte*) form_ctrl_mcm
(const byte*) form_ctrl_mcm#0 form_ctrl_mcm = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 2
(byte*) form_ctrl_overs
(const byte*) form_ctrl_overs#0 form_ctrl_overs = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 9
(signed byte) form_cursor_count
(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.34782608695652173
(signed byte) form_cursor_count#16 form_cursor_count zp ZP_BYTE:2 34.99999999999999
(signed byte) form_cursor_count#5 form_cursor_count zp ZP_BYTE:2 2.0
(signed byte) form_cursor_count#1 form_cursor_count zp ZP_BYTE:2 1.1818181818181819
(signed byte) form_cursor_count#11 form_cursor_count zp ZP_BYTE:2 0.34782608695652173
(signed byte) form_cursor_count#12 form_cursor_count zp ZP_BYTE:2 3.0
(signed byte) form_cursor_count#3 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.3939393939393939
(byte) form_field_idx#14 form_field_idx zp ZP_BYTE:4 3.6499999999999972
(byte) form_field_idx#18 form_field_idx zp ZP_BYTE:4 35.66666666666666
(byte) form_field_idx#30 form_field_idx zp ZP_BYTE:4 6.0
(byte) form_field_idx#40 form_field_idx zp ZP_BYTE:4 2.0
(byte) form_field_idx#41 form_field_idx zp ZP_BYTE:4 2.0
(byte) form_field_idx#1 form_field_idx zp ZP_BYTE:3 1.0487804878048785
(byte) form_field_idx#14 form_field_idx zp ZP_BYTE:3 3.4
(byte) form_field_idx#24 form_field_idx zp ZP_BYTE:3 6.0
(byte) form_field_idx#3 form_field_idx zp ZP_BYTE:3 2.0
(byte) form_field_idx#34 form_field_idx zp ZP_BYTE:3 2.0
(byte*()) form_field_ptr((byte) form_field_ptr::field_idx)
(word~) form_field_ptr::$2 $2 zp ZP_WORD:7 1.0
(label) form_field_ptr::@return
(byte*) form_field_ptr::field
(byte) form_field_ptr::field_idx
(byte) form_field_ptr::field_idx#0 reg byte x 202.0
(byte) form_field_ptr::field_idx#0 reg byte x 22.0
(byte) form_field_ptr::field_idx#1 reg byte x 4.0
(byte) form_field_ptr::field_idx#2 reg byte x 35.66666666666666
(byte) form_field_ptr::field_idx#2 reg byte x 5.666666666666667
(byte*) form_field_ptr::line
(byte*) form_field_ptr::return
(byte*) form_field_ptr::return#0 return zp ZP_WORD:7 26.25
(byte*) form_field_ptr::return#2 return zp ZP_WORD:7 202.0
(byte*) form_field_ptr::return#0 return zp ZP_WORD:7 3.75
(byte*) form_field_ptr::return#2 return zp ZP_WORD:7 22.0
(byte*) form_field_ptr::return#3 return zp ZP_WORD:7 4.0
(byte) form_field_ptr::x
(byte) form_field_ptr::x#0 reg byte a 4.0
@ -140,38 +249,179 @@
(byte) form_fields_cnt
(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) 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 }
(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) 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) 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, (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) 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) 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 }
(void()) form_init()
(label) form_init::@1
(label) form_init::@2
(label) form_init::@3
(label) form_init::@4
(label) form_init::@5
(label) form_init::@return
(byte[25]) form_line_hi
(const byte[25]) form_line_hi#0 form_line_hi = { fill( 25, 0) }
(byte[25]) form_line_lo
(const byte[25]) form_line_lo#0 form_line_lo = { fill( 25, 0) }
(void()) form_mode()
(label) form_mode::@1
(label) form_mode::@2
(label) form_mode::@return
(byte) form_mode::i
(byte) form_mode::i#1 reg byte x 151.5
(byte) form_mode::i#2 reg byte x 202.0
(void()) form_render_values()
(label) form_render_values::@1
(label) form_render_values::@3
(label) form_render_values::@return
(byte*) form_render_values::field
(byte*) form_render_values::field#0 field zp ZP_WORD:7 202.0
(byte*) form_render_values::field#0 field zp ZP_WORD:7 22.0
(byte) form_render_values::idx
(byte) form_render_values::idx#1 reg byte x 151.5
(byte) form_render_values::idx#2 reg byte x 67.33333333333333
(byte) form_render_values::idx#1 reg byte x 16.5
(byte) form_render_values::idx#2 reg byte x 7.333333333333333
(void()) form_set_screen((byte*) form_set_screen::screen)
(byte~) form_set_screen::$0 reg byte a 202.0
(byte~) form_set_screen::$1 reg byte a 202.0
(byte~) form_set_screen::$0 reg byte a 22.0
(byte~) form_set_screen::$1 reg byte a 22.0
(label) form_set_screen::@1
(label) form_set_screen::@return
(byte*) form_set_screen::line
(byte*) form_set_screen::line#1 line zp ZP_WORD:7 67.33333333333333
(byte*) form_set_screen::line#2 line zp ZP_WORD:7 80.8
(byte*) form_set_screen::line#1 line zp ZP_WORD:7 7.333333333333333
(byte*) form_set_screen::line#2 line zp ZP_WORD:7 8.8
(byte*) form_set_screen::screen
(const byte*) form_set_screen::screen#0 screen = (const byte*) FORM_SCREEN#0+(const word) FORM_OFFSET#0
(byte) form_set_screen::y
(byte) form_set_screen::y#1 reg byte x 151.5
(byte) form_set_screen::y#2 reg byte x 67.33333333333333
(byte) form_set_screen::y#1 reg byte x 16.5
(byte) form_set_screen::y#2 reg byte x 7.333333333333333
(byte*) form_vic_bg0_hi
(const byte*) form_vic_bg0_hi#0 form_vic_bg0_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 27
(byte*) form_vic_bg0_lo
(const byte*) form_vic_bg0_lo#0 form_vic_bg0_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 28
(byte*) form_vic_bg1_hi
(const byte*) form_vic_bg1_hi#0 form_vic_bg1_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 29
(byte*) form_vic_bg1_lo
(const byte*) form_vic_bg1_lo#0 form_vic_bg1_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 30
(byte*) form_vic_bg2_hi
(const byte*) form_vic_bg2_hi#0 form_vic_bg2_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 31
(byte*) form_vic_bg2_lo
(const byte*) form_vic_bg2_lo#0 form_vic_bg2_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 32
(byte*) form_vic_bg3_hi
(const byte*) form_vic_bg3_hi#0 form_vic_bg3_hi = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 33
(byte*) form_vic_bg3_lo
(const byte*) form_vic_bg3_lo#0 form_vic_bg3_lo = (const byte[]) form_fields_val#0+(byte/signed byte/word/signed word/dword/signed dword) 34
(void()) gfx_init()
(label) gfx_init::@return
(void()) gfx_init_plane_8bppchunky()
(word~) gfx_init_plane_8bppchunky::$6 $6 zp ZP_WORD:11 202.0
(label) gfx_init_plane_8bppchunky::@1
(label) gfx_init_plane_8bppchunky::@2
(label) gfx_init_plane_8bppchunky::@3
(label) gfx_init_plane_8bppchunky::@4
(label) gfx_init_plane_8bppchunky::@5
(label) gfx_init_plane_8bppchunky::@6
(label) gfx_init_plane_8bppchunky::@8
(label) gfx_init_plane_8bppchunky::@return
(byte) gfx_init_plane_8bppchunky::c
(byte) gfx_init_plane_8bppchunky::c#0 reg byte a 202.0
(byte*) gfx_init_plane_8bppchunky::gfxb
(byte*) gfx_init_plane_8bppchunky::gfxb#1 gfxb zp ZP_WORD:9 42.599999999999994
(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfxb zp ZP_WORD:9 157.0
(byte*) gfx_init_plane_8bppchunky::gfxb#4 gfxb zp ZP_WORD:9 75.75
(byte*) gfx_init_plane_8bppchunky::gfxb#5 gfxb zp ZP_WORD:9 22.0
(byte) gfx_init_plane_8bppchunky::gfxbCpuBank
(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 reg byte x 202.0
(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 reg byte x 103.75
(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 reg byte x 22.0
(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 reg byte x 34.888888888888886
(word) gfx_init_plane_8bppchunky::x
(word) gfx_init_plane_8bppchunky::x#1 x zp ZP_WORD:7 151.5
(word) gfx_init_plane_8bppchunky::x#2 x zp ZP_WORD:7 30.299999999999997
(byte) gfx_init_plane_8bppchunky::y
(byte) gfx_init_plane_8bppchunky::y#1 y zp ZP_BYTE:2 16.5
(byte) gfx_init_plane_8bppchunky::y#6 y zp ZP_BYTE:2 9.461538461538462
(void()) gfx_mode()
(byte~) gfx_mode::$29 reg byte a 4.0
(word~) gfx_mode::$33 $33 zp ZP_WORD:7 4.0
(byte~) gfx_mode::$34 reg byte a 4.0
(word~) gfx_mode::$35 $35 zp ZP_WORD:7 4.0
(byte~) gfx_mode::$36 reg byte a 4.0
(word~) gfx_mode::$37 $37 zp ZP_WORD:7 4.0
(byte~) gfx_mode::$38 reg byte a 4.0
(byte~) gfx_mode::$39 reg byte a 4.0
(byte~) gfx_mode::$40 reg byte a 4.0
(byte~) gfx_mode::$41 reg byte a 4.0
(byte~) gfx_mode::$42 reg byte a 4.0
(byte~) gfx_mode::$43 reg byte a 4.0
(word~) gfx_mode::$46 $46 zp ZP_WORD:7 4.0
(byte~) gfx_mode::$47 reg byte a 4.0
(word~) gfx_mode::$48 $48 zp ZP_WORD:7 4.0
(byte~) gfx_mode::$49 reg byte a 4.0
(word~) gfx_mode::$50 $50 zp ZP_WORD:7 4.0
(byte~) gfx_mode::$51 reg byte a 4.0
(byte~) gfx_mode::$52 reg byte a 4.0
(byte~) gfx_mode::$53 reg byte a 4.0
(byte~) gfx_mode::$54 reg byte a 4.0
(byte~) gfx_mode::$55 reg byte a 4.0
(byte~) gfx_mode::$56 reg byte a 4.0
(byte~) gfx_mode::$57 reg byte a 4.0
(byte~) gfx_mode::$58 reg byte a 4.0
(byte~) gfx_mode::$59 reg byte a 4.0
(byte~) gfx_mode::$60 reg byte a 4.0
(byte~) gfx_mode::$61 reg byte a 4.0
(byte~) gfx_mode::$62 reg byte a 4.0
(byte~) gfx_mode::$63 reg byte a 4.0
(label) gfx_mode::@1
(label) gfx_mode::@10
(label) gfx_mode::@11
(label) gfx_mode::@12
(label) gfx_mode::@13
(label) gfx_mode::@14
(label) gfx_mode::@15
(label) gfx_mode::@16
(label) gfx_mode::@17
(label) gfx_mode::@18
(label) gfx_mode::@19
(label) gfx_mode::@2
(label) gfx_mode::@3
(label) gfx_mode::@4
(label) gfx_mode::@5
(label) gfx_mode::@6
(label) gfx_mode::@7
(label) gfx_mode::@8
(label) gfx_mode::@9
(label) gfx_mode::@return
(byte) gfx_mode::dtv_control
(byte) gfx_mode::dtv_control#10 reg byte x 4.0
(byte) gfx_mode::dtv_control#11 reg byte x 4.0
(byte) gfx_mode::dtv_control#12 reg byte x 6.0
(byte) gfx_mode::dtv_control#13 reg byte x 4.0
(byte) gfx_mode::dtv_control#14 reg byte x 2.0
(byte) gfx_mode::dtv_control#15 reg byte x 4.0
(byte) gfx_mode::dtv_control#2 reg byte x 4.0
(byte) gfx_mode::dtv_control#3 reg byte x 4.0
(byte) gfx_mode::dtv_control#4 reg byte x 4.0
(byte) gfx_mode::dtv_control#5 reg byte x 4.0
(byte) gfx_mode::dtv_control#6 reg byte x 4.0
(byte) gfx_mode::i
(byte) gfx_mode::i#1 reg byte x 151.5
(byte) gfx_mode::i#2 reg byte x 202.0
(dword) gfx_mode::plane_a
(dword) gfx_mode::plane_a#0 plane_a zp ZP_DWORD:13 1.1428571428571428
(byte) gfx_mode::plane_a_offs
(byte) gfx_mode::plane_a_offs#0 reg byte a 4.0
(dword) gfx_mode::plane_b
(dword) gfx_mode::plane_b#0 plane_b zp ZP_DWORD:13 1.1428571428571428
(byte) gfx_mode::plane_b_offs
(byte) gfx_mode::plane_b_offs#0 reg byte a 4.0
(byte) gfx_mode::vic_control
(byte) gfx_mode::vic_control#2 reg byte x 4.0
(byte) gfx_mode::vic_control#4 reg byte x 6.0
(byte) gfx_mode::vic_control#5 reg byte x 2.0
(byte) gfx_mode::vic_control2
(byte) gfx_mode::vic_control2#2 reg byte a 2.0
(byte()) keyboard_event_get()
(label) keyboard_event_get::@1
(label) keyboard_event_get::@return
@ -184,7 +434,7 @@
(byte~) keyboard_event_pressed::$1 reg byte a 4.0
(label) keyboard_event_pressed::@return
(byte) keyboard_event_pressed::keycode
(byte) keyboard_event_pressed::keycode#4 keycode zp ZP_BYTE:5 1.3333333333333333
(byte) keyboard_event_pressed::keycode#4 keycode zp ZP_BYTE:4 1.3333333333333333
(byte) keyboard_event_pressed::return
(byte) keyboard_event_pressed::return#0 reg byte a 4.0
(byte) keyboard_event_pressed::return#1 reg byte a 4.0
@ -192,15 +442,15 @@
(byte) keyboard_event_pressed::return#2 reg byte a 4.0
(byte) keyboard_event_pressed::return#3 reg byte a 4.0
(byte) keyboard_event_pressed::row_bits
(byte) keyboard_event_pressed::row_bits#0 reg byte y 2.0
(byte) keyboard_event_pressed::row_bits#0 row_bits zp ZP_BYTE:5 2.0
(void()) keyboard_event_scan()
(byte/word/dword~) keyboard_event_scan::$12 reg byte a 20002.0
(byte/word/dword~) keyboard_event_scan::$12 reg byte a 2002.0
(byte~) keyboard_event_scan::$16 reg byte a 4.0
(byte~) keyboard_event_scan::$20 reg byte a 4.0
(byte~) keyboard_event_scan::$24 reg byte a 4.0
(byte~) keyboard_event_scan::$28 reg byte a 4.0
(byte~) keyboard_event_scan::$3 reg byte a 20002.0
(byte~) keyboard_event_scan::$4 reg byte a 20002.0
(byte~) keyboard_event_scan::$3 reg byte a 2002.0
(byte~) keyboard_event_scan::$4 reg byte a 2002.0
(label) keyboard_event_scan::@1
(label) keyboard_event_scan::@10
(label) keyboard_event_scan::@11
@ -226,104 +476,80 @@
(label) keyboard_event_scan::@9
(label) keyboard_event_scan::@return
(byte) keyboard_event_scan::col
(byte) keyboard_event_scan::col#1 reg byte x 15001.5
(byte) keyboard_event_scan::col#2 reg byte x 2857.4285714285716
(byte) keyboard_event_scan::col#1 reg byte x 1501.5
(byte) keyboard_event_scan::col#2 reg byte x 286.0
(byte) keyboard_event_scan::event_type
(byte) keyboard_event_scan::event_type#0 reg byte a 20002.0
(byte) keyboard_event_scan::event_type#0 reg byte a 2002.0
(byte) keyboard_event_scan::keycode
(byte) keyboard_event_scan::keycode#1 keycode zp ZP_BYTE:5 2002.0
(byte) keyboard_event_scan::keycode#10 keycode zp ZP_BYTE:5 3154.230769230769
(byte) keyboard_event_scan::keycode#11 keycode zp ZP_BYTE:5 500.5
(byte) keyboard_event_scan::keycode#14 keycode zp ZP_BYTE:5 1001.0
(byte) keyboard_event_scan::keycode#15 keycode zp ZP_BYTE:5 5250.75
(byte) keyboard_event_scan::keycode#1 keycode zp ZP_BYTE:5 202.0
(byte) keyboard_event_scan::keycode#10 keycode zp ZP_BYTE:5 315.7692307692308
(byte) keyboard_event_scan::keycode#11 keycode zp ZP_BYTE:5 50.5
(byte) keyboard_event_scan::keycode#14 keycode zp ZP_BYTE:5 101.0
(byte) keyboard_event_scan::keycode#15 keycode zp ZP_BYTE:5 525.75
(byte) keyboard_event_scan::row
(byte) keyboard_event_scan::row#1 row zp ZP_BYTE:3 1501.5
(byte) keyboard_event_scan::row#2 row zp ZP_BYTE:3 600.24
(byte) keyboard_event_scan::row#1 row zp ZP_BYTE:4 151.5
(byte) keyboard_event_scan::row#2 row zp ZP_BYTE:4 60.239999999999995
(byte) keyboard_event_scan::row_scan
(byte) keyboard_event_scan::row_scan#0 row_scan zp ZP_BYTE:13 1278.0555555555554
(byte) keyboard_event_scan::row_scan#0 row_scan zp ZP_BYTE:17 128.05555555555557
(byte[8]) keyboard_events
(const byte[8]) keyboard_events#0 keyboard_events = { fill( 8, 0) }
(byte) keyboard_events_size
(byte) keyboard_events_size#1 keyboard_events_size zp ZP_BYTE:6 20002.0
(byte) keyboard_events_size#14 keyboard_events_size zp ZP_BYTE:6 8100.9000000000015
(byte) keyboard_events_size#17 keyboard_events_size zp ZP_BYTE:6 94.03125
(byte) keyboard_events_size#2 keyboard_events_size zp ZP_BYTE:6 20002.0
(byte) keyboard_events_size#20 keyboard_events_size zp ZP_BYTE:6 3.5000000000000004
(byte) keyboard_events_size#22 keyboard_events_size zp ZP_BYTE:6 0.3939393939393939
(byte) keyboard_events_size#24 keyboard_events_size zp ZP_BYTE:6 5.523809523809524
(byte) keyboard_events_size#1 keyboard_events_size zp ZP_BYTE:6 2002.0
(byte) keyboard_events_size#12 keyboard_events_size zp ZP_BYTE:6 810.9000000000001
(byte) keyboard_events_size#15 keyboard_events_size zp ZP_BYTE:6 9.65625
(byte) keyboard_events_size#18 keyboard_events_size zp ZP_BYTE:6 0.46875
(byte) keyboard_events_size#2 keyboard_events_size zp ZP_BYTE:6 2002.0
(byte) keyboard_events_size#20 keyboard_events_size zp ZP_BYTE:6 0.5909090909090909
(byte) keyboard_events_size#37 keyboard_events_size zp ZP_BYTE:6 43.57142857142858
(byte) keyboard_events_size#38 keyboard_events_size zp ZP_BYTE:6 1021.2
(byte) keyboard_events_size#4 keyboard_events_size zp ZP_BYTE:6 3.0
(byte) keyboard_events_size#43 keyboard_events_size zp ZP_BYTE:6 429.2857142857143
(byte) keyboard_events_size#44 keyboard_events_size zp ZP_BYTE:6 10201.2
(void()) keyboard_init()
(label) keyboard_init::@return
(byte[8]) keyboard_matrix_col_bitmask
(const byte[8]) keyboard_matrix_col_bitmask#0 keyboard_matrix_col_bitmask = { (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) 4, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 32, (byte/signed byte/word/signed word/dword/signed dword) 64, (byte/word/signed word/dword/signed dword) 128 }
(byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid)
(label) keyboard_matrix_read::@return
(byte) keyboard_matrix_read::return
(byte) keyboard_matrix_read::return#0 reg byte a 334.33333333333337
(byte) keyboard_matrix_read::return#2 reg byte a 2002.0
(byte) keyboard_matrix_read::return#0 reg byte a 34.33333333333333
(byte) keyboard_matrix_read::return#2 reg byte a 202.0
(byte) keyboard_matrix_read::row_pressed_bits
(byte) keyboard_matrix_read::rowid
(byte) keyboard_matrix_read::rowid#0 reg byte x 1003.0
(byte) keyboard_matrix_read::rowid#0 reg byte x 103.0
(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 }
(byte) keyboard_modifiers
(byte) keyboard_modifiers#10 keyboard_modifiers zp ZP_BYTE:3 28.5
(byte) keyboard_modifiers#15 keyboard_modifiers zp ZP_BYTE:3 0.8
(byte) keyboard_modifiers#16 keyboard_modifiers zp ZP_BYTE:3 1.6
(byte) keyboard_modifiers#17 keyboard_modifiers zp ZP_BYTE:3 1.6
(byte) keyboard_modifiers#18 keyboard_modifiers zp ZP_BYTE:3 3.40625
(byte) keyboard_modifiers#20 keyboard_modifiers zp ZP_BYTE:3 0.3939393939393939
(byte) keyboard_modifiers#3 keyboard_modifiers zp ZP_BYTE:3 4.0
(byte) keyboard_modifiers#4 keyboard_modifiers zp ZP_BYTE:3 4.0
(byte) keyboard_modifiers#5 keyboard_modifiers zp ZP_BYTE:3 4.0
(byte) keyboard_modifiers#13 reg byte x 0.8
(byte) keyboard_modifiers#14 reg byte x 1.6
(byte) keyboard_modifiers#15 reg byte x 1.6
(byte) keyboard_modifiers#16 reg byte x 0.7272727272727273
(byte) keyboard_modifiers#3 reg byte x 4.0
(byte) keyboard_modifiers#4 reg byte x 4.0
(byte) keyboard_modifiers#5 reg byte x 4.0
(byte[8]) keyboard_scan_values
(const byte[8]) keyboard_scan_values#0 keyboard_scan_values = { fill( 8, 0) }
(void()) main()
(label) main::@1
(label) main::@2
(label) main::@19
(label) main::@20
(label) main::@23
(label) main::@4
(label) main::@6
(label) main::@7
(label) main::@9
(label) main::@return
(void()) menu()
(label) menu::@1
(label) menu::@15
(label) menu::@16
(label) menu::@17
(label) menu::@18
(label) menu::@19
(label) menu::@2
(label) menu::@20
(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::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:9 2002.0
(byte*) print_char_cursor#20 print_char_cursor zp ZP_WORD:9 821.0
(byte*) print_char_cursor#22 print_char_cursor zp ZP_WORD:9 102.0
(byte*) print_char_cursor#38 print_char_cursor zp ZP_WORD:9 572.0
(byte*~) print_char_cursor#64 print_char_cursor zp ZP_WORD:9 4.0
(byte*~) print_char_cursor#65 print_char_cursor zp ZP_WORD:9 202.0
(void()) print_cls()
(byte*~) print_cls::$0 $0 zp ZP_WORD:9 202.0
(label) print_cls::@1
(label) print_cls::@return
(byte*) print_cls::sc
(byte*) print_cls::sc#0 sc zp ZP_WORD:7 4.0
(byte*) print_cls::sc#1 sc zp ZP_WORD:7 101.0
(byte*) print_cls::sc#2 sc zp ZP_WORD:7 152.5
(byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:9 202.0
(byte*) print_char_cursor#16 print_char_cursor zp ZP_WORD:9 83.0
(byte*) print_char_cursor#18 print_char_cursor zp ZP_WORD:9 12.0
(byte*) print_char_cursor#31 print_char_cursor zp ZP_WORD:9 57.714285714285715
(byte*~) print_char_cursor#60 print_char_cursor zp ZP_WORD:9 4.0
(byte*~) print_char_cursor#61 print_char_cursor zp ZP_WORD:9 22.0
(byte[]) print_hextab
(const string) print_hextab#0 print_hextab = (string) "0123456789abcdef"
(byte*) print_line_cursor
(byte*) print_line_cursor#2 print_line_cursor zp ZP_WORD:11 8.749999999999998
(byte*) print_line_cursor#21 print_line_cursor zp ZP_WORD:11 2004.0
(byte*) print_line_cursor#22 print_line_cursor zp ZP_WORD:11 641.0
(byte*) print_line_cursor#16 print_line_cursor zp ZP_WORD:11 1.25
(byte*) print_line_cursor#17 print_line_cursor zp ZP_WORD:11 204.0
(byte*) print_line_cursor#18 print_line_cursor zp ZP_WORD:11 65.0
(void()) print_ln()
(label) print_ln::@1
(label) print_ln::@return
@ -331,7 +557,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:11 5.631578947368421
(byte*) print_set_screen::screen#2 screen zp ZP_WORD:11 0.5
(void()) print_str_lines((byte*) print_str_lines::str)
(label) print_str_lines::@1
(label) print_str_lines::@4
@ -340,27 +566,61 @@
(label) print_str_lines::@9
(label) print_str_lines::@return
(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 67.33333333333333
(byte*) print_str_lines::str
(byte*) print_str_lines::str#0 str zp ZP_WORD:7 233.66666666666669
(byte*) print_str_lines::str#3 str zp ZP_WORD:7 152.5
(byte*) print_str_lines::str#4 str zp ZP_WORD:7 1552.0
(byte*) print_str_lines::str#0 str zp ZP_WORD:7 23.666666666666664
(byte*) print_str_lines::str#3 str zp ZP_WORD:7 17.5
(byte*) print_str_lines::str#4 str zp ZP_WORD:7 157.0
(byte*) print_str_lines::str#5 str zp ZP_WORD:7 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 [ keyboard_modifiers#20 keyboard_modifiers#10 keyboard_modifiers#18 keyboard_modifiers#17 keyboard_modifiers#4 keyboard_modifiers#16 keyboard_modifiers#3 keyboard_modifiers#15 keyboard_modifiers#5 keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#30 form_field_idx#40 form_field_idx#41 ]
reg byte x [ menu::i#2 menu::i#1 ]
zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ]
zp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ]
reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ]
reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ]
reg byte a [ gfx_mode::vic_control2#2 ]
reg byte x [ gfx_mode::i#2 gfx_mode::i#1 ]
reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#0 ]
zp ZP_BYTE:4 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 ]
reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
zp ZP_BYTE:5 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 keyboard_event_pressed::keycode#4 ]
zp ZP_BYTE:6 [ keyboard_events_size#14 keyboard_events_size#43 keyboard_events_size#22 keyboard_events_size#24 keyboard_events_size#20 keyboard_events_size#4 keyboard_events_size#17 keyboard_events_size#44 keyboard_events_size#2 keyboard_events_size#1 ]
zp ZP_BYTE:5 [ keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#15 keyboard_event_scan::keycode#1 keyboard_event_pressed::row_bits#0 ]
zp ZP_BYTE:6 [ keyboard_events_size#12 keyboard_events_size#37 keyboard_events_size#20 keyboard_events_size#18 keyboard_events_size#4 keyboard_events_size#15 keyboard_events_size#38 keyboard_events_size#2 keyboard_events_size#1 ]
reg byte x [ keyboard_modifiers#16 keyboard_modifiers#15 keyboard_modifiers#4 keyboard_modifiers#14 keyboard_modifiers#3 keyboard_modifiers#13 keyboard_modifiers#5 ]
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_mode::i#2 form_mode::i#1 ]
reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ]
zp ZP_WORD:7 [ 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 ]
zp ZP_WORD:7 [ 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 gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 gfx_mode::$33 gfx_mode::$35 gfx_mode::$37 gfx_mode::$46 gfx_mode::$48 gfx_mode::$50 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:9 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#64 print_char_cursor#65 print_char_cursor#38 print_char_cursor#1 print_cls::$0 ]
zp ZP_WORD:11 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ]
zp ZP_WORD:9 [ print_char_cursor#16 print_char_cursor#18 print_char_cursor#60 print_char_cursor#61 print_char_cursor#31 print_char_cursor#1 gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ]
zp ZP_WORD:11 [ print_line_cursor#17 print_line_cursor#16 print_set_screen::screen#2 print_line_cursor#18 gfx_init_plane_8bppchunky::$6 ]
reg byte x [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ]
reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ]
reg byte a [ gfx_mode::$29 ]
reg byte a [ gfx_mode::plane_a_offs#0 ]
zp ZP_DWORD:13 [ gfx_mode::plane_a#0 gfx_mode::plane_b#0 ]
reg byte a [ gfx_mode::$34 ]
reg byte a [ gfx_mode::$36 ]
reg byte a [ gfx_mode::$38 ]
reg byte a [ gfx_mode::$39 ]
reg byte a [ gfx_mode::$40 ]
reg byte a [ gfx_mode::$41 ]
reg byte a [ gfx_mode::$42 ]
reg byte a [ gfx_mode::$43 ]
reg byte a [ gfx_mode::plane_b_offs#0 ]
reg byte a [ gfx_mode::$47 ]
reg byte a [ gfx_mode::$49 ]
reg byte a [ gfx_mode::$51 ]
reg byte a [ gfx_mode::$52 ]
reg byte a [ gfx_mode::$53 ]
reg byte a [ gfx_mode::$54 ]
reg byte a [ gfx_mode::$55 ]
reg byte a [ gfx_mode::$56 ]
reg byte a [ gfx_mode::$57 ]
reg byte a [ gfx_mode::$58 ]
reg byte a [ gfx_mode::$59 ]
reg byte a [ gfx_mode::$60 ]
reg byte a [ gfx_mode::$61 ]
reg byte a [ gfx_mode::$62 ]
reg byte a [ gfx_mode::$63 ]
reg byte a [ form_control::$6 ]
reg byte a [ keyboard_event_get::return#3 ]
reg byte a [ form_control::key_event#0 ]
@ -370,7 +630,7 @@ reg byte a [ form_control::$24 ]
reg byte a [ form_control::$7 ]
reg byte x [ keyboard_matrix_read::rowid#0 ]
reg byte a [ keyboard_matrix_read::return#2 ]
zp ZP_BYTE:13 [ keyboard_event_scan::row_scan#0 ]
zp ZP_BYTE:17 [ keyboard_event_scan::row_scan#0 ]
reg byte a [ keyboard_event_scan::$3 ]
reg byte a [ keyboard_event_scan::$4 ]
reg byte a [ keyboard_event_scan::event_type#0 ]
@ -384,7 +644,6 @@ reg byte a [ keyboard_event_scan::$24 ]
reg byte a [ keyboard_event_pressed::return#3 ]
reg byte a [ keyboard_event_scan::$28 ]
reg byte a [ keyboard_event_pressed::$0 ]
reg byte y [ keyboard_event_pressed::row_bits#0 ]
reg byte a [ keyboard_event_pressed::$1 ]
reg byte a [ keyboard_event_pressed::return#10 ]
reg byte a [ keyboard_matrix_read::return#0 ]
@ -393,3 +652,4 @@ reg byte a [ form_field_ptr::x#0 ]
reg byte a [ form_set_screen::$0 ]
reg byte a [ form_set_screen::$1 ]
reg byte a [ print_str_lines::ch#0 ]
reg byte a [ gfx_init_plane_8bppchunky::c#0 ]