From 2aef56bb2cf96080be15962e292cdd79e8e4cae2 Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Thu, 5 Apr 2018 00:30:26 +0200 Subject: [PATCH] Implemented split screen form menu --- .../fragment/asm/vduz1=vwuc1_plus_vbuaa.asm | 12 + .../kickc/test/kc/c64dtv-gfxexplorer.kc | 258 +- .../kickc/test/ref/c64dtv-gfxexplorer.asm | 584 +- .../kickc/test/ref/c64dtv-gfxexplorer.cfg | 749 +- .../kickc/test/ref/c64dtv-gfxexplorer.log | 14773 ++++++++++------ .../kickc/test/ref/c64dtv-gfxexplorer.sym | 506 +- 6 files changed, 11234 insertions(+), 5648 deletions(-) create mode 100644 src/main/java/dk/camelot64/kickc/fragment/asm/vduz1=vwuc1_plus_vbuaa.asm diff --git a/src/main/java/dk/camelot64/kickc/fragment/asm/vduz1=vwuc1_plus_vbuaa.asm b/src/main/java/dk/camelot64/kickc/fragment/asm/vduz1=vwuc1_plus_vbuaa.asm new file mode 100644 index 000000000..ed4e9d034 --- /dev/null +++ b/src/main/java/dk/camelot64/kickc/fragment/asm/vduz1=vwuc1_plus_vbuaa.asm @@ -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 + diff --git a/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxexplorer.kc b/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxexplorer.kc index 30ca21e0d..d6bd89b9b 100644 --- a/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxexplorer.kc +++ b/src/test/java/dk/camelot64/kickc/test/kc/c64dtv-gfxexplorer.kc @@ -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; } } diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.asm b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.asm index 91d341d33..800fe9e52 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.asm +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.asm @@ -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 + adc #0 + sta plane_b+1 + lda #>$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+1 - jsr print_set_screen - jsr print_cls - lda #MENU_COLS - sta print_str_lines.str+1 - jsr print_str_lines - lda #SCREEN - sta print_set_screen.screen+1 - jsr print_set_screen - jsr print_cls - lda #MENU_TEXT - sta print_str_lines.str+1 - jsr print_str_lines - jsr form_set_screen - jsr form_render_values - 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+1 + jsr print_set_screen + lda #FORM_COLS + sta print_str_lines.str+1 + jsr print_str_lines + lda #FORM_SCREEN+FORM_OFFSET + sta print_set_screen.screen+1 + jsr print_set_screen + 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+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 @"+"@" diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.cfg b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.cfg index 76d0777c6..2114abc6d 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.cfg +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.cfg @@ -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 diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log index 15d4a59dd..99eb22968 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.log @@ -7,12 +7,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 @" + @@ -23,7 +44,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 @" + @@ -35,64 +56,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) @@ -182,6 +335,7 @@ void form_control() { } // Render field value *field = print_hextab[form_fields_val[form_field_idx]]; + return; } } @@ -729,6 +883,9 @@ Adding pre/post-modifier (byte) keyboard_events_size ← ++ (byte) keyboard_even Adding pre/post-modifier (byte) keyboard_events_size ← ++ (byte) keyboard_events_size Adding pre/post-modifier (byte) keyboard_event_scan::keycode ← ++ (byte) keyboard_event_scan::keycode Adding pre/post-modifier (byte) keyboard_events_size ← -- (byte) keyboard_events_size +Adding pre/post-modifier (byte) gfx_init_plane_8bppchunky::gfxbCpuBank ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank +Adding pre/post-modifier (byte) gfx_init_plane_8bppchunky::gfxbCpuBank ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank +Adding pre/post-modifier (byte*) gfx_init_plane_8bppchunky::gfxb ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb Adding pre/post-modifier (byte) form_render_values::idx ← ++ (byte) form_render_values::idx Adding pre/post-modifier (signed byte) form_cursor_count ← -- (signed byte) form_cursor_count Adding pre/post-modifier (byte) form_field_idx ← ++ (byte) form_field_idx @@ -1222,115 +1379,367 @@ endproc // keyboard_event_get() proc (void()) main() asm { sei } *((byte*) DTV_FEATURE) ← (byte) DTV_FEATURE_ENABLE + (void~) main::$0 ← call keyboard_init + (void~) main::$1 ← call gfx_init + (void~) main::$2 ← call form_init main::@1: if(true) goto main::@2 goto main::@3 main::@2: - (void~) main::$0 ← call menu +main::@4: + (byte/word/signed word/dword/signed dword~) main::$3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 * (byte/signed byte/word/signed word/dword/signed dword) 16 + (byte/word/signed word/dword/signed dword~) main::$4 ← (byte/signed byte/word/signed word/dword/signed dword) 48 + (byte/word/signed word/dword/signed dword~) main::$3 + (boolean~) main::$5 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword~) main::$4 + if((boolean~) main::$5) goto main::@5 + goto main::@6 +main::@5: + goto main::@4 +main::@6: + (void~) main::$6 ← call form_mode +main::@7: + (boolean~) main::$7 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword) 255 + if((boolean~) main::$7) goto main::@8 + goto main::@9 +main::@8: + goto main::@7 +main::@9: + (void~) main::$8 ← call form_control + (void~) main::$9 ← call gfx_mode goto main::@1 main::@3: main::@return: return endproc // main() - (string~) $1 ← (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" - (string~) $2 ← (string~) $1 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (dword) PLANE_8BPP_CHUNKY ← (dword/signed dword) 131072 + (byte*) FORM_SCREEN ← (word/dword/signed dword) 32768 + (byte*) FORM_CHARSET ← (word/dword/signed dword) 38912 + (word/signed word/dword/signed dword~) $1 ← (byte/signed byte/word/signed word/dword/signed dword) 16 * (byte/signed byte/word/signed word/dword/signed dword) 40 + (word) FORM_OFFSET ← (word/signed word/dword/signed dword~) $1 + (string~) $2 ← (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" (string~) $3 ← (string~) $2 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" (string~) $4 ← (string~) $3 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" (string~) $5 ← (string~) $4 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" - (string~) $6 ← (string~) $5 + (string) " nnnnnnn ooooooooo @" - (string~) $7 ← (string~) $6 + (string) " nnnnnnn nnnnnnnn ooooooooo @" + (string~) $6 ← (string~) $5 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $7 ← (string~) $6 + (string) " nnnnnnn ooooooooo @" (string~) $8 ← (string~) $7 + (string) " nnnnnnn nnnnnnnn ooooooooo @" - (string~) $9 ← (string~) $8 + (string) "@" - (byte[]) MENU_COLS ← (string~) $9 - (string~) $10 ← (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @" + (string) " CONTROL PLANE A PLANE B VIC II @" - (string~) $11 ← (string~) $10 + (string) " bmm 0 patt p0 patt p0 screen s0 @" - (string~) $12 ← (string~) $11 + (string) " mcm 0 start 00 start 00 gfx g0 @" - (string~) $13 ← (string~) $12 + (string) " ecm 0 step 00 step 00 colors c0 @" - (string~) $14 ← (string~) $13 + (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" - (string~) $15 ← (string~) $14 + (string) " line 0 bgcol1 00 @" - (string~) $16 ← (string~) $15 + (string) " colof 0 borof 0 bgcol2 00 @" - (string~) $17 ← (string~) $16 + (string) " chunk 0 overs 0 bgcol3 00 @" - (string~) $18 ← (string~) $17 + (string) "@" - (byte[]) MENU_TEXT ← (string~) $18 -proc (void()) menu() - (byte*) menu::SCREEN ← (word/dword/signed dword) 32768 - (byte*) menu::CHARSET ← (word/dword/signed dword) 38912 - (dword~) menu::$0 ← ((dword)) (byte*) menu::CHARSET - (dword~) menu::$1 ← (dword~) menu::$0 / (dword/signed dword) 65536 - (byte~) menu::$2 ← ((byte)) (dword~) menu::$1 - *((byte*) DTV_GRAPHICS_VIC_BANK) ← (byte~) menu::$2 - (dword~) menu::$3 ← (dword) DTV_COLOR_BANK_DEFAULT / (word/signed word/dword/signed dword) 1024 - (word~) menu::$4 ← ((word)) (dword~) menu::$3 - (byte~) menu::$5 ← < (word~) menu::$4 - *((byte*) DTV_COLOR_BANK_LO) ← (byte~) menu::$5 - (dword~) menu::$6 ← (dword) DTV_COLOR_BANK_DEFAULT / (word/signed word/dword/signed dword) 1024 - (word~) menu::$7 ← ((word)) (dword~) menu::$6 - (byte~) menu::$8 ← > (word~) menu::$7 - *((byte*) DTV_COLOR_BANK_HI) ← (byte~) menu::$8 - *((byte*) DTV_CONTROL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - *((byte*) CIA2_PORT_A_DDR) ← (byte/signed byte/word/signed word/dword/signed dword) 3 - (word~) menu::$9 ← ((word)) (byte*) menu::CHARSET - (word/signed dword/dword~) menu::$10 ← (word~) menu::$9 / (word/signed word/dword/signed dword) 16384 - (byte~) menu::$11 ← ((byte)) (word/signed dword/dword~) menu::$10 - (byte/word/dword~) menu::$12 ← (byte/signed byte/word/signed word/dword/signed dword) 3 ^ (byte~) menu::$11 - *((byte*) CIA2_PORT_A) ← (byte/word/dword~) menu::$12 - (byte~) menu::$13 ← (byte) VIC_DEN | (byte) VIC_RSEL - (byte/word/dword~) menu::$14 ← (byte~) menu::$13 | (byte/signed byte/word/signed word/dword/signed dword) 3 - *((byte*) VIC_CONTROL) ← (byte/word/dword~) menu::$14 - *((byte*) VIC_CONTROL2) ← (byte) VIC_CSEL - (word~) menu::$15 ← ((word)) (byte*) menu::SCREEN - (word~) menu::$16 ← (word~) menu::$15 & (word/signed word/dword/signed dword) 16383 - (word/signed dword/dword~) menu::$17 ← (word~) menu::$16 / (byte/signed byte/word/signed word/dword/signed dword) 64 - (word~) menu::$18 ← ((word)) (byte*) menu::CHARSET - (word~) menu::$19 ← (word~) menu::$18 & (word/signed word/dword/signed dword) 16383 - (word/signed dword/dword~) menu::$20 ← (word~) menu::$19 / (word/signed word/dword/signed dword) 1024 - (word/dword~) menu::$21 ← (word/signed dword/dword~) menu::$17 | (word/signed dword/dword~) menu::$20 - (byte~) menu::$22 ← ((byte)) (word/dword~) menu::$21 - *((byte*) VIC_MEMORY) ← (byte~) menu::$22 - (byte) menu::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 -menu::@1: - *((byte*) DTV_PALETTE + (byte) menu::i) ← *((byte[16]) DTV_PALETTE_DEFAULT + (byte) menu::i) - (byte) menu::i ← ++ (byte) menu::i - (boolean~) menu::$23 ← (byte) menu::i != (byte/signed byte/word/signed word/dword/signed dword) 16 - if((boolean~) menu::$23) goto menu::@1 - *((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - *((byte*) BORDERCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (void~) menu::$24 ← call print_set_screen (byte*) COLS - (void~) menu::$25 ← call print_cls - (void~) menu::$26 ← call print_str_lines (byte[]) MENU_COLS - (void~) menu::$27 ← call print_set_screen (byte*) menu::SCREEN - (void~) menu::$28 ← call print_cls - (void~) menu::$29 ← call print_str_lines (byte[]) MENU_TEXT - (void~) menu::$30 ← call form_set_screen (byte*) menu::SCREEN - (void~) menu::$31 ← call form_render_values -menu::@2: - if(true) goto menu::@3 - goto menu::@4 -menu::@3: -menu::@5: - (boolean~) menu::$32 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword) 255 - if((boolean~) menu::$32) goto menu::@6 - goto menu::@7 -menu::@6: - goto menu::@5 -menu::@7: - (void~) menu::$33 ← call form_control - goto menu::@2 -menu::@4: -menu::@return: - return -endproc // menu() - (byte[25]) form_line_lo ← { fill( 25, 0) } - (byte[25]) form_line_hi ← { fill( 25, 0) } - (byte) form_field_idx ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (string~) $9 ← (string~) $8 + (string) " nnnnnnn nnnnnnnn ooooooooo @" + (string~) $10 ← (string~) $9 + (string) "@" + (byte[]) FORM_COLS ← (string~) $10 + (string~) $11 ← (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @" + (string) " CONTROL PLANE A PLANE B VIC II @" + (string~) $12 ← (string~) $11 + (string) " bmm 0 patt p0 patt p0 screen s0 @" + (string~) $13 ← (string~) $12 + (string) " mcm 0 start 00 start 00 gfx g0 @" + (string~) $14 ← (string~) $13 + (string) " ecm 0 step 00 step 00 colors c0 @" + (string~) $15 ← (string~) $14 + (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" + (string~) $16 ← (string~) $15 + (string) " line 0 bgcol1 00 @" + (string~) $17 ← (string~) $16 + (string) " colof 0 borof 0 bgcol2 00 @" + (string~) $18 ← (string~) $17 + (string) " chunk 0 overs 0 bgcol3 00 @" + (string~) $19 ← (string~) $18 + (string) "@" + (byte[]) FORM_TEXT ← (string~) $19 (byte) form_fields_cnt ← (byte/signed byte/word/signed word/dword/signed dword) 35 (byte[]) form_fields_x ← { (byte/signed byte/word/signed word/dword/signed dword) 22, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38 } (byte[]) form_fields_y ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 8 } - (byte[]) form_fields_max ← { (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15 } + (byte[]) form_fields_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 ← { (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*~) $20 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*) form_ctrl_mode ← (byte*~) $20 + (byte*~) $21 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte*) form_ctrl_bmm ← (byte*~) $21 + (byte*~) $22 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 2 + (byte*) form_ctrl_mcm ← (byte*~) $22 + (byte*~) $23 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte*) form_ctrl_ecm ← (byte*~) $23 + (byte*~) $24 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte*) form_ctrl_hicol ← (byte*~) $24 + (byte*~) $25 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 5 + (byte*) form_ctrl_line ← (byte*~) $25 + (byte*~) $26 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 6 + (byte*) form_ctrl_colof ← (byte*~) $26 + (byte*~) $27 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 7 + (byte*) form_ctrl_chunk ← (byte*~) $27 + (byte*~) $28 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte*) form_ctrl_borof ← (byte*~) $28 + (byte*~) $29 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 9 + (byte*) form_ctrl_overs ← (byte*~) $29 + (byte*~) $30 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 10 + (byte*) form_a_pattern ← (byte*~) $30 + (byte*~) $31 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 11 + (byte*) form_a_start_hi ← (byte*~) $31 + (byte*~) $32 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 12 + (byte*) form_a_start_lo ← (byte*~) $32 + (byte*~) $33 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 13 + (byte*) form_a_step_hi ← (byte*~) $33 + (byte*~) $34 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 14 + (byte*) form_a_step_lo ← (byte*~) $34 + (byte*~) $35 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 15 + (byte*) form_a_mod_hi ← (byte*~) $35 + (byte*~) $36 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 16 + (byte*) form_a_mod_lo ← (byte*~) $36 + (byte*~) $37 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 17 + (byte*) form_b_pattern ← (byte*~) $37 + (byte*~) $38 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 18 + (byte*) form_b_start_hi ← (byte*~) $38 + (byte*~) $39 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 19 + (byte*) form_b_start_lo ← (byte*~) $39 + (byte*~) $40 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 20 + (byte*) form_b_step_hi ← (byte*~) $40 + (byte*~) $41 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 21 + (byte*) form_b_step_lo ← (byte*~) $41 + (byte*~) $42 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 22 + (byte*) form_b_mod_hi ← (byte*~) $42 + (byte*~) $43 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 23 + (byte*) form_b_mod_lo ← (byte*~) $43 + (byte*~) $44 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 24 + (byte*) form_vic_screen ← (byte*~) $44 + (byte*~) $45 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 25 + (byte*) form_vic_gfx ← (byte*~) $45 + (byte*~) $46 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 26 + (byte*) form_vic_cols ← (byte*~) $46 + (byte*~) $47 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 27 + (byte*) form_vic_bg0_hi ← (byte*~) $47 + (byte*~) $48 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 28 + (byte*) form_vic_bg0_lo ← (byte*~) $48 + (byte*~) $49 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 29 + (byte*) form_vic_bg1_hi ← (byte*~) $49 + (byte*~) $50 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 30 + (byte*) form_vic_bg1_lo ← (byte*~) $50 + (byte*~) $51 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 31 + (byte*) form_vic_bg2_hi ← (byte*~) $51 + (byte*~) $52 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 32 + (byte*) form_vic_bg2_lo ← (byte*~) $52 + (byte*~) $53 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 33 + (byte*) form_vic_bg3_hi ← (byte*~) $53 + (byte*~) $54 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 34 + (byte*) form_vic_bg3_lo ← (byte*~) $54 +proc (void()) gfx_mode() + (byte) gfx_mode::dtv_control ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$0 ← *((byte*) form_ctrl_line) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$1 ← ! (boolean~) gfx_mode::$0 + if((boolean~) gfx_mode::$1) goto gfx_mode::@1 + (byte~) gfx_mode::$2 ← (byte) gfx_mode::dtv_control | (byte) DTV_LINEAR + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$2 +gfx_mode::@1: + (boolean~) gfx_mode::$3 ← *((byte*) form_ctrl_borof) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$4 ← ! (boolean~) gfx_mode::$3 + if((boolean~) gfx_mode::$4) goto gfx_mode::@2 + (byte~) gfx_mode::$5 ← (byte) gfx_mode::dtv_control | (byte) DTV_BORDER_OFF + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$5 +gfx_mode::@2: + (boolean~) gfx_mode::$6 ← *((byte*) form_ctrl_hicol) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$7 ← ! (boolean~) gfx_mode::$6 + if((boolean~) gfx_mode::$7) goto gfx_mode::@3 + (byte~) gfx_mode::$8 ← (byte) gfx_mode::dtv_control | (byte) DTV_HIGHCOLOR + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$8 +gfx_mode::@3: + (boolean~) gfx_mode::$9 ← *((byte*) form_ctrl_overs) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$10 ← ! (boolean~) gfx_mode::$9 + if((boolean~) gfx_mode::$10) goto gfx_mode::@4 + (byte~) gfx_mode::$11 ← (byte) gfx_mode::dtv_control | (byte) DTV_OVERSCAN + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$11 +gfx_mode::@4: + (boolean~) gfx_mode::$12 ← *((byte*) form_ctrl_colof) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$13 ← ! (boolean~) gfx_mode::$12 + if((boolean~) gfx_mode::$13) goto gfx_mode::@5 + (byte~) gfx_mode::$14 ← (byte) gfx_mode::dtv_control | (byte) DTV_COLORRAM_OFF + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$14 +gfx_mode::@5: + (boolean~) gfx_mode::$15 ← *((byte*) form_ctrl_chunk) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$16 ← ! (boolean~) gfx_mode::$15 + if((boolean~) gfx_mode::$16) goto gfx_mode::@6 + (byte~) gfx_mode::$17 ← (byte) gfx_mode::dtv_control | (byte) DTV_CHUNKY + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$17 +gfx_mode::@6: + *((byte*) DTV_CONTROL) ← (byte) gfx_mode::dtv_control + (byte~) gfx_mode::$18 ← (byte) VIC_DEN | (byte) VIC_RSEL + (byte/word/dword~) gfx_mode::$19 ← (byte~) gfx_mode::$18 | (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) gfx_mode::vic_control ← (byte/word/dword~) gfx_mode::$19 + (boolean~) gfx_mode::$20 ← *((byte*) form_ctrl_ecm) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$21 ← ! (boolean~) gfx_mode::$20 + if((boolean~) gfx_mode::$21) goto gfx_mode::@7 + (byte~) gfx_mode::$22 ← (byte) gfx_mode::vic_control | (byte) VIC_ECM + (byte) gfx_mode::vic_control ← (byte~) gfx_mode::$22 +gfx_mode::@7: + (boolean~) gfx_mode::$23 ← *((byte*) form_ctrl_bmm) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$24 ← ! (boolean~) gfx_mode::$23 + if((boolean~) gfx_mode::$24) goto gfx_mode::@8 + (byte~) gfx_mode::$25 ← (byte) gfx_mode::vic_control | (byte) VIC_BMM + (byte) gfx_mode::vic_control ← (byte~) gfx_mode::$25 +gfx_mode::@8: + *((byte*) VIC_CONTROL) ← (byte) gfx_mode::vic_control + (byte) gfx_mode::vic_control2 ← (byte) VIC_CSEL + (boolean~) gfx_mode::$26 ← *((byte*) form_ctrl_mcm) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$27 ← ! (boolean~) gfx_mode::$26 + if((boolean~) gfx_mode::$27) goto gfx_mode::@9 + (byte~) gfx_mode::$28 ← (byte) gfx_mode::vic_control2 | (byte) VIC_MCM + (byte) gfx_mode::vic_control2 ← (byte~) gfx_mode::$28 +gfx_mode::@9: + *((byte*) VIC_CONTROL2) ← (byte) gfx_mode::vic_control2 + (byte~) gfx_mode::$29 ← *((byte*) form_a_start_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$30 ← (byte~) gfx_mode::$29 | *((byte*) form_a_start_lo) + (byte) gfx_mode::plane_a_offs ← (byte~) gfx_mode::$30 + (dword~) gfx_mode::$31 ← ((dword)) (byte*) FORM_SCREEN + (dword~) gfx_mode::$32 ← (dword~) gfx_mode::$31 + (byte) gfx_mode::plane_a_offs + (dword) gfx_mode::plane_a ← (dword~) gfx_mode::$32 + (word~) gfx_mode::$33 ← < (dword) gfx_mode::plane_a + (byte~) gfx_mode::$34 ← < (word~) gfx_mode::$33 + *((byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$34 + (word~) gfx_mode::$35 ← < (dword) gfx_mode::plane_a + (byte~) gfx_mode::$36 ← > (word~) gfx_mode::$35 + *((byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$36 + (word~) gfx_mode::$37 ← > (dword) gfx_mode::plane_a + (byte~) gfx_mode::$38 ← < (word~) gfx_mode::$37 + *((byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$38 + (byte~) gfx_mode::$39 ← *((byte*) form_a_step_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$40 ← (byte~) gfx_mode::$39 | *((byte*) form_a_step_lo) + *((byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$40 + (byte~) gfx_mode::$41 ← *((byte*) form_a_mod_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$42 ← (byte~) gfx_mode::$41 | *((byte*) form_a_mod_lo) + *((byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$42 + *((byte*) DTV_PLANEA_MODULO_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) gfx_mode::$43 ← *((byte*) form_b_start_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$44 ← (byte~) gfx_mode::$43 | *((byte*) form_b_start_lo) + (byte) gfx_mode::plane_b_offs ← (byte~) gfx_mode::$44 + (dword~) gfx_mode::$45 ← (dword) PLANE_8BPP_CHUNKY + (byte) gfx_mode::plane_b_offs + (dword) gfx_mode::plane_b ← (dword~) gfx_mode::$45 + (word~) gfx_mode::$46 ← < (dword) gfx_mode::plane_b + (byte~) gfx_mode::$47 ← < (word~) gfx_mode::$46 + *((byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$47 + (word~) gfx_mode::$48 ← < (dword) gfx_mode::plane_b + (byte~) gfx_mode::$49 ← > (word~) gfx_mode::$48 + *((byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$49 + (word~) gfx_mode::$50 ← > (dword) gfx_mode::plane_b + (byte~) gfx_mode::$51 ← < (word~) gfx_mode::$50 + *((byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$51 + (byte~) gfx_mode::$52 ← *((byte*) form_b_step_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$52 | *((byte*) form_b_step_lo) + *((byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$53 + (byte~) gfx_mode::$54 ← *((byte*) form_b_mod_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$55 ← (byte~) gfx_mode::$54 | *((byte*) form_b_mod_lo) + *((byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$55 + *((byte*) DTV_PLANEB_MODULO_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) gfx_mode::$56 ← *((byte*) form_vic_bg0_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$57 ← (byte~) gfx_mode::$56 | *((byte*) form_vic_bg0_lo) + *((byte*) BGCOL1) ← (byte~) gfx_mode::$57 + (byte~) gfx_mode::$58 ← *((byte*) form_vic_bg1_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$59 ← (byte~) gfx_mode::$58 | *((byte*) form_vic_bg1_lo) + *((byte*) BGCOL2) ← (byte~) gfx_mode::$59 + (byte~) gfx_mode::$60 ← *((byte*) form_vic_bg2_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$61 ← (byte~) gfx_mode::$60 | *((byte*) form_vic_bg2_lo) + *((byte*) BGCOL3) ← (byte~) gfx_mode::$61 + (byte~) gfx_mode::$62 ← *((byte*) form_vic_bg3_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$63 ← (byte~) gfx_mode::$62 | *((byte*) form_vic_bg3_lo) + *((byte*) BGCOL4) ← (byte~) gfx_mode::$63 + (byte) gfx_mode::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 +gfx_mode::@10: + *((byte*) DTV_PALETTE + (byte) gfx_mode::i) ← (byte) gfx_mode::i + (byte) gfx_mode::i ← ++ (byte) gfx_mode::i + (boolean~) gfx_mode::$64 ← (byte) gfx_mode::i != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) gfx_mode::$64) goto gfx_mode::@10 +gfx_mode::@return: + return +endproc // gfx_mode() +proc (void()) gfx_init() + (void~) gfx_init::$0 ← call gfx_init_plane_8bppchunky +gfx_init::@return: + return +endproc // gfx_init() +proc (void()) gfx_init_plane_8bppchunky() + (dword~) gfx_init_plane_8bppchunky::$0 ← (dword) PLANE_8BPP_CHUNKY / (word/signed word/dword/signed dword) 16384 + (byte~) gfx_init_plane_8bppchunky::$1 ← ((byte)) (dword~) gfx_init_plane_8bppchunky::$0 + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank ← (byte~) gfx_init_plane_8bppchunky::$1 + (void~) gfx_init_plane_8bppchunky::$2 ← call dtvSetCpuBankSegment1 (byte) gfx_init_plane_8bppchunky::gfxbCpuBank + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank + (byte*) gfx_init_plane_8bppchunky::gfxb ← (word/signed word/dword/signed dword) 16384 + (byte) gfx_init_plane_8bppchunky::y ← (byte/signed byte/word/signed word/dword/signed dword) 0 +gfx_init_plane_8bppchunky::@1: + (word) gfx_init_plane_8bppchunky::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 +gfx_init_plane_8bppchunky::@2: + (boolean~) gfx_init_plane_8bppchunky::$3 ← (byte*) gfx_init_plane_8bppchunky::gfxb == (word/dword/signed dword) 32768 + (boolean~) gfx_init_plane_8bppchunky::$4 ← ! (boolean~) gfx_init_plane_8bppchunky::$3 + if((boolean~) gfx_init_plane_8bppchunky::$4) goto gfx_init_plane_8bppchunky::@3 + (void~) gfx_init_plane_8bppchunky::$5 ← call dtvSetCpuBankSegment1 (byte) gfx_init_plane_8bppchunky::gfxbCpuBank + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank + (byte*) gfx_init_plane_8bppchunky::gfxb ← (word/signed word/dword/signed dword) 16384 +gfx_init_plane_8bppchunky::@3: + (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x + (byte) gfx_init_plane_8bppchunky::y + (byte~) gfx_init_plane_8bppchunky::$7 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 + (byte) gfx_init_plane_8bppchunky::c ← (byte~) gfx_init_plane_8bppchunky::$7 + *((byte*) gfx_init_plane_8bppchunky::gfxb) ← (byte) gfx_init_plane_8bppchunky::c + (byte*) gfx_init_plane_8bppchunky::gfxb ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb + (word) gfx_init_plane_8bppchunky::x ← ++ (word) gfx_init_plane_8bppchunky::x + (boolean~) gfx_init_plane_8bppchunky::$8 ← (word) gfx_init_plane_8bppchunky::x != (word/signed word/dword/signed dword) 320 + if((boolean~) gfx_init_plane_8bppchunky::$8) goto gfx_init_plane_8bppchunky::@2 + (byte) gfx_init_plane_8bppchunky::y ← ++ (byte) gfx_init_plane_8bppchunky::y + (boolean~) gfx_init_plane_8bppchunky::$9 ← (byte) gfx_init_plane_8bppchunky::y != (byte/word/signed word/dword/signed dword) 200 + if((boolean~) gfx_init_plane_8bppchunky::$9) goto gfx_init_plane_8bppchunky::@1 + (byte/signed byte/word/signed word/dword/signed dword~) gfx_init_plane_8bppchunky::$10 ← (word/signed word/dword/signed dword) 16384 / (word/signed word/dword/signed dword) 16384 + (byte~) gfx_init_plane_8bppchunky::$11 ← ((byte)) (byte/signed byte/word/signed word/dword/signed dword~) gfx_init_plane_8bppchunky::$10 + (void~) gfx_init_plane_8bppchunky::$12 ← call dtvSetCpuBankSegment1 (byte~) gfx_init_plane_8bppchunky::$11 +gfx_init_plane_8bppchunky::@return: + return +endproc // gfx_init_plane_8bppchunky() +proc (void()) form_init() + (byte*~) form_init::$0 ← (byte*) COLS + (word) FORM_OFFSET + (void~) form_init::$1 ← call print_set_screen (byte*~) form_init::$0 + (void~) form_init::$2 ← call print_str_lines (byte[]) FORM_COLS + (byte*~) form_init::$3 ← (byte*) FORM_SCREEN + (word) FORM_OFFSET + (void~) form_init::$4 ← call print_set_screen (byte*~) form_init::$3 + (void~) form_init::$5 ← call print_str_lines (byte[]) FORM_TEXT + (byte*~) form_init::$6 ← (byte*) FORM_SCREEN + (word) FORM_OFFSET + (void~) form_init::$7 ← call form_set_screen (byte*~) form_init::$6 + (void~) form_init::$8 ← call form_render_values +form_init::@return: + return +endproc // form_init() +proc (void()) form_mode() + (dword~) form_mode::$0 ← ((dword)) (byte*) FORM_CHARSET + (dword~) form_mode::$1 ← (dword~) form_mode::$0 / (dword/signed dword) 65536 + (byte~) form_mode::$2 ← ((byte)) (dword~) form_mode::$1 + *((byte*) DTV_GRAPHICS_VIC_BANK) ← (byte~) form_mode::$2 + (dword~) form_mode::$3 ← (dword) DTV_COLOR_BANK_DEFAULT / (word/signed word/dword/signed dword) 1024 + (word~) form_mode::$4 ← ((word)) (dword~) form_mode::$3 + (byte~) form_mode::$5 ← < (word~) form_mode::$4 + *((byte*) DTV_COLOR_BANK_LO) ← (byte~) form_mode::$5 + (dword~) form_mode::$6 ← (dword) DTV_COLOR_BANK_DEFAULT / (word/signed word/dword/signed dword) 1024 + (word~) form_mode::$7 ← ((word)) (dword~) form_mode::$6 + (byte~) form_mode::$8 ← > (word~) form_mode::$7 + *((byte*) DTV_COLOR_BANK_HI) ← (byte~) form_mode::$8 + *((byte*) CIA2_PORT_A_DDR) ← (byte/signed byte/word/signed word/dword/signed dword) 3 + (word~) form_mode::$9 ← ((word)) (byte*) FORM_CHARSET + (word/signed dword/dword~) form_mode::$10 ← (word~) form_mode::$9 / (word/signed word/dword/signed dword) 16384 + (byte~) form_mode::$11 ← ((byte)) (word/signed dword/dword~) form_mode::$10 + (byte/word/dword~) form_mode::$12 ← (byte/signed byte/word/signed word/dword/signed dword) 3 ^ (byte~) form_mode::$11 + *((byte*) CIA2_PORT_A) ← (byte/word/dword~) form_mode::$12 + *((byte*) DTV_CONTROL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) form_mode::$13 ← (byte) VIC_DEN | (byte) VIC_RSEL + (byte/word/dword~) form_mode::$14 ← (byte~) form_mode::$13 | (byte/signed byte/word/signed word/dword/signed dword) 3 + *((byte*) VIC_CONTROL) ← (byte/word/dword~) form_mode::$14 + *((byte*) VIC_CONTROL2) ← (byte) VIC_CSEL + (word~) form_mode::$15 ← ((word)) (byte*) FORM_SCREEN + (word~) form_mode::$16 ← (word~) form_mode::$15 & (word/signed word/dword/signed dword) 16383 + (word/signed dword/dword~) form_mode::$17 ← (word~) form_mode::$16 / (byte/signed byte/word/signed word/dword/signed dword) 64 + (word~) form_mode::$18 ← ((word)) (byte*) FORM_CHARSET + (word~) form_mode::$19 ← (word~) form_mode::$18 & (word/signed word/dword/signed dword) 16383 + (word/signed dword/dword~) form_mode::$20 ← (word~) form_mode::$19 / (word/signed word/dword/signed dword) 1024 + (word/dword~) form_mode::$21 ← (word/signed dword/dword~) form_mode::$17 | (word/signed dword/dword~) form_mode::$20 + (byte~) form_mode::$22 ← ((byte)) (word/dword~) form_mode::$21 + *((byte*) VIC_MEMORY) ← (byte~) form_mode::$22 + (byte) form_mode::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 +form_mode::@1: + *((byte*) DTV_PALETTE + (byte) form_mode::i) ← *((byte[16]) DTV_PALETTE_DEFAULT + (byte) form_mode::i) + (byte) form_mode::i ← ++ (byte) form_mode::i + (boolean~) form_mode::$23 ← (byte) form_mode::i != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) form_mode::$23) goto form_mode::@1 + *((byte*) BORDERCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 +form_mode::@return: + return +endproc // form_mode() + (byte[25]) form_line_lo ← { fill( 25, 0) } + (byte[25]) form_line_hi ← { fill( 25, 0) } + (byte) form_field_idx ← (byte/signed byte/word/signed word/dword/signed dword) 0 (signed byte) FORM_CURSOR_BLINK ← (byte/signed byte/word/signed word/dword/signed dword) 40 - (signed word/signed byte/signed dword~) $19 ← (signed byte) FORM_CURSOR_BLINK / (byte/signed byte/word/signed word/dword/signed dword) 2 - (signed byte) form_cursor_count ← (signed word/signed byte/signed dword~) $19 + (signed word/signed byte/signed dword~) $55 ← (signed byte) FORM_CURSOR_BLINK / (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed byte) form_cursor_count ← (signed word/signed byte/signed dword~) $55 proc (void()) form_set_screen((byte*) form_set_screen::screen) (byte*) form_set_screen::line ← (byte*) form_set_screen::screen (byte) form_set_screen::y ← (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -1447,6 +1856,7 @@ form_control::@10: form_control::@13: form_control::@12: *((byte*) form_control::field) ← *((byte[]) print_hextab + *((byte[]) form_fields_val + (byte) form_field_idx)) + goto form_control::@return form_control::@9: form_control::@return: return @@ -1455,7 +1865,7 @@ endproc // form_control() SYMBOLS (byte~) $0 -(string~) $1 +(word/signed word/dword/signed dword~) $1 (string~) $10 (string~) $11 (string~) $12 @@ -1465,11 +1875,47 @@ SYMBOLS (string~) $16 (string~) $17 (string~) $18 -(signed word/signed byte/signed dword~) $19 +(string~) $19 (string~) $2 +(byte*~) $20 +(byte*~) $21 +(byte*~) $22 +(byte*~) $23 +(byte*~) $24 +(byte*~) $25 +(byte*~) $26 +(byte*~) $27 +(byte*~) $28 +(byte*~) $29 (string~) $3 +(byte*~) $30 +(byte*~) $31 +(byte*~) $32 +(byte*~) $33 +(byte*~) $34 +(byte*~) $35 +(byte*~) $36 +(byte*~) $37 +(byte*~) $38 +(byte*~) $39 (string~) $4 +(byte*~) $40 +(byte*~) $41 +(byte*~) $42 +(byte*~) $43 +(byte*~) $44 +(byte*~) $45 +(byte*~) $46 +(byte*~) $47 +(byte*~) $48 +(byte*~) $49 (string~) $5 +(byte*~) $50 +(byte*~) $51 +(byte*~) $52 +(byte*~) $53 +(byte*~) $54 +(signed word/signed byte/signed dword~) $55 (string~) $6 (string~) $7 (string~) $8 @@ -1529,7 +1975,12 @@ SYMBOLS (byte*) DTV_PLANEB_START_MI (byte*) DTV_PLANEB_STEP (byte*) DTV_SPRITE_BANK +(byte*) FORM_CHARSET +(byte[]) FORM_COLS (signed byte) FORM_CURSOR_BLINK +(word) FORM_OFFSET +(byte*) FORM_SCREEN +(byte[]) FORM_TEXT (byte) GREEN (byte) GREY (byte) KEY_0 @@ -1604,10 +2055,9 @@ SYMBOLS (byte) LIGHT_BLUE (byte) LIGHT_GREEN (byte) LIGHT_GREY -(byte[]) MENU_COLS -(byte[]) MENU_TEXT (byte) ORANGE (byte) PINK +(dword) PLANE_8BPP_CHUNKY (byte*) PROCPORT (byte) PROCPORT_BASIC_KERNEL_IO (byte*) PROCPORT_DDR @@ -1646,6 +2096,20 @@ SYMBOLS (label) dtvSetCpuBankSegment1::@return (byte*) dtvSetCpuBankSegment1::cpuBank (byte) dtvSetCpuBankSegment1::cpuBankIdx +(byte*) form_a_mod_hi +(byte*) form_a_mod_lo +(byte*) form_a_pattern +(byte*) form_a_start_hi +(byte*) form_a_start_lo +(byte*) form_a_step_hi +(byte*) form_a_step_lo +(byte*) form_b_mod_hi +(byte*) form_b_mod_lo +(byte*) form_b_pattern +(byte*) form_b_start_hi +(byte*) form_b_start_lo +(byte*) form_b_step_hi +(byte*) form_b_step_lo (void()) form_control() (byte*~) form_control::$0 (boolean~) form_control::$1 @@ -1694,6 +2158,16 @@ SYMBOLS (label) form_control::@return (byte*) form_control::field (byte) form_control::key_event +(byte*) form_ctrl_bmm +(byte*) form_ctrl_borof +(byte*) form_ctrl_chunk +(byte*) form_ctrl_colof +(byte*) form_ctrl_ecm +(byte*) form_ctrl_hicol +(byte*) form_ctrl_line +(byte*) form_ctrl_mcm +(byte*) form_ctrl_mode +(byte*) form_ctrl_overs (signed byte) form_cursor_count (byte) form_field_idx (byte*()) form_field_ptr((byte) form_field_ptr::field_idx) @@ -1711,8 +2185,47 @@ SYMBOLS (byte[]) form_fields_val (byte[]) form_fields_x (byte[]) form_fields_y +(void()) form_init() +(byte*~) form_init::$0 +(void~) form_init::$1 +(void~) form_init::$2 +(byte*~) form_init::$3 +(void~) form_init::$4 +(void~) form_init::$5 +(byte*~) form_init::$6 +(void~) form_init::$7 +(void~) form_init::$8 +(label) form_init::@return (byte[25]) form_line_hi (byte[25]) form_line_lo +(void()) form_mode() +(dword~) form_mode::$0 +(dword~) form_mode::$1 +(word/signed dword/dword~) form_mode::$10 +(byte~) form_mode::$11 +(byte/word/dword~) form_mode::$12 +(byte~) form_mode::$13 +(byte/word/dword~) form_mode::$14 +(word~) form_mode::$15 +(word~) form_mode::$16 +(word/signed dword/dword~) form_mode::$17 +(word~) form_mode::$18 +(word~) form_mode::$19 +(byte~) form_mode::$2 +(word/signed dword/dword~) form_mode::$20 +(word/dword~) form_mode::$21 +(byte~) form_mode::$22 +(boolean~) form_mode::$23 +(dword~) form_mode::$3 +(word~) form_mode::$4 +(byte~) form_mode::$5 +(dword~) form_mode::$6 +(word~) form_mode::$7 +(byte~) form_mode::$8 +(word~) form_mode::$9 +(label) form_mode::@1 +(label) form_mode::@return +(byte) form_mode::i (void()) form_render_values() (byte*~) form_render_values::$0 (boolean~) form_render_values::$1 @@ -1730,6 +2243,128 @@ SYMBOLS (byte*) form_set_screen::line (byte*) form_set_screen::screen (byte) form_set_screen::y +(byte*) form_vic_bg0_hi +(byte*) form_vic_bg0_lo +(byte*) form_vic_bg1_hi +(byte*) form_vic_bg1_lo +(byte*) form_vic_bg2_hi +(byte*) form_vic_bg2_lo +(byte*) form_vic_bg3_hi +(byte*) form_vic_bg3_lo +(byte*) form_vic_cols +(byte*) form_vic_gfx +(byte*) form_vic_screen +(void()) gfx_init() +(void~) gfx_init::$0 +(label) gfx_init::@return +(void()) gfx_init_plane_8bppchunky() +(dword~) gfx_init_plane_8bppchunky::$0 +(byte~) gfx_init_plane_8bppchunky::$1 +(byte/signed byte/word/signed word/dword/signed dword~) gfx_init_plane_8bppchunky::$10 +(byte~) gfx_init_plane_8bppchunky::$11 +(void~) gfx_init_plane_8bppchunky::$12 +(void~) gfx_init_plane_8bppchunky::$2 +(boolean~) gfx_init_plane_8bppchunky::$3 +(boolean~) gfx_init_plane_8bppchunky::$4 +(void~) gfx_init_plane_8bppchunky::$5 +(word~) gfx_init_plane_8bppchunky::$6 +(byte~) gfx_init_plane_8bppchunky::$7 +(boolean~) gfx_init_plane_8bppchunky::$8 +(boolean~) gfx_init_plane_8bppchunky::$9 +(label) gfx_init_plane_8bppchunky::@1 +(label) gfx_init_plane_8bppchunky::@2 +(label) gfx_init_plane_8bppchunky::@3 +(label) gfx_init_plane_8bppchunky::@return +(byte) gfx_init_plane_8bppchunky::c +(byte*) gfx_init_plane_8bppchunky::gfxb +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank +(word) gfx_init_plane_8bppchunky::x +(byte) gfx_init_plane_8bppchunky::y +(void()) gfx_mode() +(boolean~) gfx_mode::$0 +(boolean~) gfx_mode::$1 +(boolean~) gfx_mode::$10 +(byte~) gfx_mode::$11 +(boolean~) gfx_mode::$12 +(boolean~) gfx_mode::$13 +(byte~) gfx_mode::$14 +(boolean~) gfx_mode::$15 +(boolean~) gfx_mode::$16 +(byte~) gfx_mode::$17 +(byte~) gfx_mode::$18 +(byte/word/dword~) gfx_mode::$19 +(byte~) gfx_mode::$2 +(boolean~) gfx_mode::$20 +(boolean~) gfx_mode::$21 +(byte~) gfx_mode::$22 +(boolean~) gfx_mode::$23 +(boolean~) gfx_mode::$24 +(byte~) gfx_mode::$25 +(boolean~) gfx_mode::$26 +(boolean~) gfx_mode::$27 +(byte~) gfx_mode::$28 +(byte~) gfx_mode::$29 +(boolean~) gfx_mode::$3 +(byte~) gfx_mode::$30 +(dword~) gfx_mode::$31 +(dword~) gfx_mode::$32 +(word~) gfx_mode::$33 +(byte~) gfx_mode::$34 +(word~) gfx_mode::$35 +(byte~) gfx_mode::$36 +(word~) gfx_mode::$37 +(byte~) gfx_mode::$38 +(byte~) gfx_mode::$39 +(boolean~) gfx_mode::$4 +(byte~) gfx_mode::$40 +(byte~) gfx_mode::$41 +(byte~) gfx_mode::$42 +(byte~) gfx_mode::$43 +(byte~) gfx_mode::$44 +(dword~) gfx_mode::$45 +(word~) gfx_mode::$46 +(byte~) gfx_mode::$47 +(word~) gfx_mode::$48 +(byte~) gfx_mode::$49 +(byte~) gfx_mode::$5 +(word~) gfx_mode::$50 +(byte~) gfx_mode::$51 +(byte~) gfx_mode::$52 +(byte~) gfx_mode::$53 +(byte~) gfx_mode::$54 +(byte~) gfx_mode::$55 +(byte~) gfx_mode::$56 +(byte~) gfx_mode::$57 +(byte~) gfx_mode::$58 +(byte~) gfx_mode::$59 +(boolean~) gfx_mode::$6 +(byte~) gfx_mode::$60 +(byte~) gfx_mode::$61 +(byte~) gfx_mode::$62 +(byte~) gfx_mode::$63 +(boolean~) gfx_mode::$64 +(boolean~) gfx_mode::$7 +(byte~) gfx_mode::$8 +(boolean~) gfx_mode::$9 +(label) gfx_mode::@1 +(label) gfx_mode::@10 +(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::i +(dword) gfx_mode::plane_a +(byte) gfx_mode::plane_a_offs +(dword) gfx_mode::plane_b +(byte) gfx_mode::plane_b_offs +(byte) gfx_mode::vic_control +(byte) gfx_mode::vic_control2 (byte[]) keyboard_char_keycodes (byte()) keyboard_event_get() (boolean~) keyboard_event_get::$0 @@ -1827,56 +2462,25 @@ SYMBOLS (byte[8]) keyboard_scan_values (void()) main() (void~) main::$0 +(void~) main::$1 +(void~) main::$2 +(byte/word/signed word/dword/signed dword~) main::$3 +(byte/word/signed word/dword/signed dword~) main::$4 +(boolean~) main::$5 +(void~) main::$6 +(boolean~) main::$7 +(void~) main::$8 +(void~) main::$9 (label) main::@1 (label) main::@2 (label) main::@3 +(label) main::@4 +(label) main::@5 +(label) main::@6 +(label) main::@7 +(label) main::@8 +(label) main::@9 (label) main::@return -(void()) menu() -(dword~) menu::$0 -(dword~) menu::$1 -(word/signed dword/dword~) menu::$10 -(byte~) menu::$11 -(byte/word/dword~) menu::$12 -(byte~) menu::$13 -(byte/word/dword~) menu::$14 -(word~) menu::$15 -(word~) menu::$16 -(word/signed dword/dword~) menu::$17 -(word~) menu::$18 -(word~) menu::$19 -(byte~) menu::$2 -(word/signed dword/dword~) menu::$20 -(word/dword~) menu::$21 -(byte~) menu::$22 -(boolean~) menu::$23 -(void~) menu::$24 -(void~) menu::$25 -(void~) menu::$26 -(void~) menu::$27 -(void~) menu::$28 -(void~) menu::$29 -(dword~) menu::$3 -(void~) menu::$30 -(void~) menu::$31 -(boolean~) menu::$32 -(void~) menu::$33 -(word~) menu::$4 -(byte~) menu::$5 -(dword~) menu::$6 -(word~) menu::$7 -(byte~) menu::$8 -(word~) menu::$9 -(label) menu::@1 -(label) menu::@2 -(label) menu::@3 -(label) menu::@4 -(label) menu::@5 -(label) menu::@6 -(label) menu::@7 -(label) menu::@return -(byte*) menu::CHARSET -(byte*) menu::SCREEN -(byte) menu::i (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 (void~) print_byte::$1 @@ -2042,8 +2646,10 @@ Promoting word/dword/signed dword to byte* in DTV_GRAPHICS_VIC_BANK ← ((byte*) Promoting word/dword/signed dword to byte* in DTV_GRAPHICS_HICOL_BANK ← ((byte*)) 53310 Promoting byte/word/signed word/dword/signed dword to byte* in dtvSetCpuBankSegment1::cpuBank ← ((byte*)) 255 Promoting word/signed word/dword/signed dword to byte* in print_screen ← ((byte*)) 1024 -Promoting word/dword/signed dword to byte* in menu::SCREEN ← ((byte*)) 32768 -Promoting word/dword/signed dword to byte* in menu::CHARSET ← ((byte*)) 38912 +Promoting word/dword/signed dword to byte* in FORM_SCREEN ← ((byte*)) 32768 +Promoting word/dword/signed dword to byte* in FORM_CHARSET ← ((byte*)) 38912 +Promoting word/signed word/dword/signed dword to byte* in gfx_init_plane_8bppchunky::gfxb ← ((byte*)) 16384 +Promoting word/signed word/dword/signed dword to byte* in gfx_init_plane_8bppchunky::gfxb ← ((byte*)) 16384 INITIAL CONTROL FLOW GRAPH @begin: scope:[] from (byte*) PROCPORT_DDR ← ((byte*)) (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -2685,145 +3291,448 @@ keyboard_event_get::@6: scope:[keyboard_event_get] from main: scope:[main] from asm { sei } *((byte*) DTV_FEATURE) ← (byte) DTV_FEATURE_ENABLE + (void~) main::$0 ← call keyboard_init + (void~) main::$1 ← call gfx_init + (void~) main::$2 ← call form_init to:main::@1 -main::@1: scope:[main] from main main::@2 +main::@1: scope:[main] from main main::@9 if(true) goto main::@2 + to:main::@10 +main::@2: scope:[main] from main::@1 main::@11 to:main::@4 -main::@2: scope:[main] from main::@1 main::@5 - (void~) main::$0 ← call menu - to:main::@1 -main::@4: scope:[main] from main::@1 +main::@10: scope:[main] from main::@1 to:main::@3 -main::@3: scope:[main] from main::@4 main::@6 +main::@3: scope:[main] from main::@10 main::@18 to:main::@return -main::@5: scope:[main] from +main::@11: scope:[main] from to:main::@2 -main::@6: scope:[main] from +main::@4: scope:[main] from main::@2 main::@5 + (byte/word/signed word/dword/signed dword~) main::$3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 * (byte/signed byte/word/signed word/dword/signed dword) 16 + (byte/word/signed word/dword/signed dword~) main::$4 ← (byte/signed byte/word/signed word/dword/signed dword) 48 + (byte/word/signed word/dword/signed dword~) main::$3 + (boolean~) main::$5 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword~) main::$4 + if((boolean~) main::$5) goto main::@5 + to:main::@12 +main::@5: scope:[main] from main::@13 main::@4 + to:main::@4 +main::@12: scope:[main] from main::@4 + to:main::@6 +main::@6: scope:[main] from main::@12 main::@14 + (void~) main::$6 ← call form_mode + to:main::@7 +main::@13: scope:[main] from + to:main::@5 +main::@14: scope:[main] from + to:main::@6 +main::@7: scope:[main] from main::@6 main::@8 + (boolean~) main::$7 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword) 255 + if((boolean~) main::$7) goto main::@8 + to:main::@15 +main::@8: scope:[main] from main::@16 main::@7 + to:main::@7 +main::@15: scope:[main] from main::@7 + to:main::@9 +main::@9: scope:[main] from main::@15 main::@17 + (void~) main::$8 ← call form_control + (void~) main::$9 ← call gfx_mode + to:main::@1 +main::@16: scope:[main] from + to:main::@8 +main::@17: scope:[main] from + to:main::@9 +main::@18: scope:[main] from to:main::@3 main::@return: scope:[main] from main::@3 return to:@return @23: scope:[] from @22 - (string~) $1 ← (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" - (string~) $2 ← (string~) $1 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (dword) PLANE_8BPP_CHUNKY ← (dword/signed dword) 131072 + (byte*) FORM_SCREEN ← ((byte*)) (word/dword/signed dword) 32768 + (byte*) FORM_CHARSET ← ((byte*)) (word/dword/signed dword) 38912 + (word/signed word/dword/signed dword~) $1 ← (byte/signed byte/word/signed word/dword/signed dword) 16 * (byte/signed byte/word/signed word/dword/signed dword) 40 + (word) FORM_OFFSET ← (word/signed word/dword/signed dword~) $1 + (string~) $2 ← (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" (string~) $3 ← (string~) $2 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" (string~) $4 ← (string~) $3 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" (string~) $5 ← (string~) $4 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" - (string~) $6 ← (string~) $5 + (string) " nnnnnnn ooooooooo @" - (string~) $7 ← (string~) $6 + (string) " nnnnnnn nnnnnnnn ooooooooo @" + (string~) $6 ← (string~) $5 + (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" + (string~) $7 ← (string~) $6 + (string) " nnnnnnn ooooooooo @" (string~) $8 ← (string~) $7 + (string) " nnnnnnn nnnnnnnn ooooooooo @" - (string~) $9 ← (string~) $8 + (string) "@" - (byte[]) MENU_COLS ← (string~) $9 - (string~) $10 ← (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @" + (string) " CONTROL PLANE A PLANE B VIC II @" - (string~) $11 ← (string~) $10 + (string) " bmm 0 patt p0 patt p0 screen s0 @" - (string~) $12 ← (string~) $11 + (string) " mcm 0 start 00 start 00 gfx g0 @" - (string~) $13 ← (string~) $12 + (string) " ecm 0 step 00 step 00 colors c0 @" - (string~) $14 ← (string~) $13 + (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" - (string~) $15 ← (string~) $14 + (string) " line 0 bgcol1 00 @" - (string~) $16 ← (string~) $15 + (string) " colof 0 borof 0 bgcol2 00 @" - (string~) $17 ← (string~) $16 + (string) " chunk 0 overs 0 bgcol3 00 @" - (string~) $18 ← (string~) $17 + (string) "@" - (byte[]) MENU_TEXT ← (string~) $18 - to:@24 -menu: scope:[menu] from - (byte*) menu::SCREEN ← ((byte*)) (word/dword/signed dword) 32768 - (byte*) menu::CHARSET ← ((byte*)) (word/dword/signed dword) 38912 - (dword~) menu::$0 ← ((dword)) (byte*) menu::CHARSET - (dword~) menu::$1 ← (dword~) menu::$0 / (dword/signed dword) 65536 - (byte~) menu::$2 ← ((byte)) (dword~) menu::$1 - *((byte*) DTV_GRAPHICS_VIC_BANK) ← (byte~) menu::$2 - (dword~) menu::$3 ← (dword) DTV_COLOR_BANK_DEFAULT / (word/signed word/dword/signed dword) 1024 - (word~) menu::$4 ← ((word)) (dword~) menu::$3 - (byte~) menu::$5 ← < (word~) menu::$4 - *((byte*) DTV_COLOR_BANK_LO) ← (byte~) menu::$5 - (dword~) menu::$6 ← (dword) DTV_COLOR_BANK_DEFAULT / (word/signed word/dword/signed dword) 1024 - (word~) menu::$7 ← ((word)) (dword~) menu::$6 - (byte~) menu::$8 ← > (word~) menu::$7 - *((byte*) DTV_COLOR_BANK_HI) ← (byte~) menu::$8 - *((byte*) DTV_CONTROL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - *((byte*) CIA2_PORT_A_DDR) ← (byte/signed byte/word/signed word/dword/signed dword) 3 - (word~) menu::$9 ← ((word)) (byte*) menu::CHARSET - (word/signed dword/dword~) menu::$10 ← (word~) menu::$9 / (word/signed word/dword/signed dword) 16384 - (byte~) menu::$11 ← ((byte)) (word/signed dword/dword~) menu::$10 - (byte/word/dword~) menu::$12 ← (byte/signed byte/word/signed word/dword/signed dword) 3 ^ (byte~) menu::$11 - *((byte*) CIA2_PORT_A) ← (byte/word/dword~) menu::$12 - (byte~) menu::$13 ← (byte) VIC_DEN | (byte) VIC_RSEL - (byte/word/dword~) menu::$14 ← (byte~) menu::$13 | (byte/signed byte/word/signed word/dword/signed dword) 3 - *((byte*) VIC_CONTROL) ← (byte/word/dword~) menu::$14 - *((byte*) VIC_CONTROL2) ← (byte) VIC_CSEL - (word~) menu::$15 ← ((word)) (byte*) menu::SCREEN - (word~) menu::$16 ← (word~) menu::$15 & (word/signed word/dword/signed dword) 16383 - (word/signed dword/dword~) menu::$17 ← (word~) menu::$16 / (byte/signed byte/word/signed word/dword/signed dword) 64 - (word~) menu::$18 ← ((word)) (byte*) menu::CHARSET - (word~) menu::$19 ← (word~) menu::$18 & (word/signed word/dword/signed dword) 16383 - (word/signed dword/dword~) menu::$20 ← (word~) menu::$19 / (word/signed word/dword/signed dword) 1024 - (word/dword~) menu::$21 ← (word/signed dword/dword~) menu::$17 | (word/signed dword/dword~) menu::$20 - (byte~) menu::$22 ← ((byte)) (word/dword~) menu::$21 - *((byte*) VIC_MEMORY) ← (byte~) menu::$22 - (byte) menu::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 - to:menu::@1 -menu::@1: scope:[menu] from menu menu::@1 - *((byte*) DTV_PALETTE + (byte) menu::i) ← *((byte[16]) DTV_PALETTE_DEFAULT + (byte) menu::i) - (byte) menu::i ← ++ (byte) menu::i - (boolean~) menu::$23 ← (byte) menu::i != (byte/signed byte/word/signed word/dword/signed dword) 16 - if((boolean~) menu::$23) goto menu::@1 - to:menu::@8 -menu::@8: scope:[menu] from menu::@1 - *((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - *((byte*) BORDERCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (void~) menu::$24 ← call print_set_screen (byte*) COLS - (void~) menu::$25 ← call print_cls - (void~) menu::$26 ← call print_str_lines (byte[]) MENU_COLS - (void~) menu::$27 ← call print_set_screen (byte*) menu::SCREEN - (void~) menu::$28 ← call print_cls - (void~) menu::$29 ← call print_str_lines (byte[]) MENU_TEXT - (void~) menu::$30 ← call form_set_screen (byte*) menu::SCREEN - (void~) menu::$31 ← call form_render_values - to:menu::@2 -menu::@2: scope:[menu] from menu::@7 menu::@8 - if(true) goto menu::@3 - to:menu::@9 -menu::@3: scope:[menu] from menu::@10 menu::@2 - to:menu::@5 -menu::@9: scope:[menu] from menu::@2 - to:menu::@4 -menu::@4: scope:[menu] from menu::@14 menu::@9 - to:menu::@return -menu::@10: scope:[menu] from - to:menu::@3 -menu::@5: scope:[menu] from menu::@3 menu::@6 - (boolean~) menu::$32 ← *((byte*) RASTER) != (byte/word/signed word/dword/signed dword) 255 - if((boolean~) menu::$32) goto menu::@6 - to:menu::@11 -menu::@6: scope:[menu] from menu::@12 menu::@5 - to:menu::@5 -menu::@11: scope:[menu] from menu::@5 - to:menu::@7 -menu::@7: scope:[menu] from menu::@11 menu::@13 - (void~) menu::$33 ← call form_control - to:menu::@2 -menu::@12: scope:[menu] from - to:menu::@6 -menu::@13: scope:[menu] from - to:menu::@7 -menu::@14: scope:[menu] from - to:menu::@4 -menu::@return: scope:[menu] from menu::@4 - return - to:@return -@24: scope:[] from @23 - (byte[25]) form_line_lo ← { fill( 25, 0) } - (byte[25]) form_line_hi ← { fill( 25, 0) } - (byte) form_field_idx ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (string~) $9 ← (string~) $8 + (string) " nnnnnnn nnnnnnnn ooooooooo @" + (string~) $10 ← (string~) $9 + (string) "@" + (byte[]) FORM_COLS ← (string~) $10 + (string~) $11 ← (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @" + (string) " CONTROL PLANE A PLANE B VIC II @" + (string~) $12 ← (string~) $11 + (string) " bmm 0 patt p0 patt p0 screen s0 @" + (string~) $13 ← (string~) $12 + (string) " mcm 0 start 00 start 00 gfx g0 @" + (string~) $14 ← (string~) $13 + (string) " ecm 0 step 00 step 00 colors c0 @" + (string~) $15 ← (string~) $14 + (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" + (string~) $16 ← (string~) $15 + (string) " line 0 bgcol1 00 @" + (string~) $17 ← (string~) $16 + (string) " colof 0 borof 0 bgcol2 00 @" + (string~) $18 ← (string~) $17 + (string) " chunk 0 overs 0 bgcol3 00 @" + (string~) $19 ← (string~) $18 + (string) "@" + (byte[]) FORM_TEXT ← (string~) $19 (byte) form_fields_cnt ← (byte/signed byte/word/signed word/dword/signed dword) 35 (byte[]) form_fields_x ← { (byte/signed byte/word/signed word/dword/signed dword) 22, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38 } (byte[]) form_fields_y ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 8 } - (byte[]) form_fields_max ← { (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15 } + (byte[]) form_fields_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 ← { (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 } - (signed byte) FORM_CURSOR_BLINK ← (byte/signed byte/word/signed word/dword/signed dword) 40 - (signed word/signed byte/signed dword~) $19 ← (signed byte) FORM_CURSOR_BLINK / (byte/signed byte/word/signed word/dword/signed dword) 2 - (signed byte) form_cursor_count ← (signed word/signed byte/signed dword~) $19 + (byte*~) $20 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte*) form_ctrl_mode ← (byte*~) $20 + (byte*~) $21 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte*) form_ctrl_bmm ← (byte*~) $21 + (byte*~) $22 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 2 + (byte*) form_ctrl_mcm ← (byte*~) $22 + (byte*~) $23 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte*) form_ctrl_ecm ← (byte*~) $23 + (byte*~) $24 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte*) form_ctrl_hicol ← (byte*~) $24 + (byte*~) $25 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 5 + (byte*) form_ctrl_line ← (byte*~) $25 + (byte*~) $26 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 6 + (byte*) form_ctrl_colof ← (byte*~) $26 + (byte*~) $27 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 7 + (byte*) form_ctrl_chunk ← (byte*~) $27 + (byte*~) $28 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte*) form_ctrl_borof ← (byte*~) $28 + (byte*~) $29 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 9 + (byte*) form_ctrl_overs ← (byte*~) $29 + (byte*~) $30 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 10 + (byte*) form_a_pattern ← (byte*~) $30 + (byte*~) $31 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 11 + (byte*) form_a_start_hi ← (byte*~) $31 + (byte*~) $32 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 12 + (byte*) form_a_start_lo ← (byte*~) $32 + (byte*~) $33 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 13 + (byte*) form_a_step_hi ← (byte*~) $33 + (byte*~) $34 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 14 + (byte*) form_a_step_lo ← (byte*~) $34 + (byte*~) $35 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 15 + (byte*) form_a_mod_hi ← (byte*~) $35 + (byte*~) $36 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 16 + (byte*) form_a_mod_lo ← (byte*~) $36 + (byte*~) $37 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 17 + (byte*) form_b_pattern ← (byte*~) $37 + (byte*~) $38 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 18 + (byte*) form_b_start_hi ← (byte*~) $38 + (byte*~) $39 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 19 + (byte*) form_b_start_lo ← (byte*~) $39 + (byte*~) $40 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 20 + (byte*) form_b_step_hi ← (byte*~) $40 + (byte*~) $41 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 21 + (byte*) form_b_step_lo ← (byte*~) $41 + (byte*~) $42 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 22 + (byte*) form_b_mod_hi ← (byte*~) $42 + (byte*~) $43 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 23 + (byte*) form_b_mod_lo ← (byte*~) $43 + (byte*~) $44 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 24 + (byte*) form_vic_screen ← (byte*~) $44 + (byte*~) $45 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 25 + (byte*) form_vic_gfx ← (byte*~) $45 + (byte*~) $46 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 26 + (byte*) form_vic_cols ← (byte*~) $46 + (byte*~) $47 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 27 + (byte*) form_vic_bg0_hi ← (byte*~) $47 + (byte*~) $48 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 28 + (byte*) form_vic_bg0_lo ← (byte*~) $48 + (byte*~) $49 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 29 + (byte*) form_vic_bg1_hi ← (byte*~) $49 + (byte*~) $50 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 30 + (byte*) form_vic_bg1_lo ← (byte*~) $50 + (byte*~) $51 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 31 + (byte*) form_vic_bg2_hi ← (byte*~) $51 + (byte*~) $52 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 32 + (byte*) form_vic_bg2_lo ← (byte*~) $52 + (byte*~) $53 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 33 + (byte*) form_vic_bg3_hi ← (byte*~) $53 + (byte*~) $54 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 34 + (byte*) form_vic_bg3_lo ← (byte*~) $54 + to:@24 +gfx_mode: scope:[gfx_mode] from + (byte) gfx_mode::dtv_control ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$0 ← *((byte*) form_ctrl_line) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$1 ← ! (boolean~) gfx_mode::$0 + if((boolean~) gfx_mode::$1) goto gfx_mode::@1 + to:gfx_mode::@11 +gfx_mode::@1: scope:[gfx_mode] from gfx_mode gfx_mode::@11 + (boolean~) gfx_mode::$3 ← *((byte*) form_ctrl_borof) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$4 ← ! (boolean~) gfx_mode::$3 + if((boolean~) gfx_mode::$4) goto gfx_mode::@2 + to:gfx_mode::@12 +gfx_mode::@11: scope:[gfx_mode] from gfx_mode + (byte~) gfx_mode::$2 ← (byte) gfx_mode::dtv_control | (byte) DTV_LINEAR + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$2 + to:gfx_mode::@1 +gfx_mode::@2: scope:[gfx_mode] from gfx_mode::@1 gfx_mode::@12 + (boolean~) gfx_mode::$6 ← *((byte*) form_ctrl_hicol) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$7 ← ! (boolean~) gfx_mode::$6 + if((boolean~) gfx_mode::$7) goto gfx_mode::@3 + to:gfx_mode::@13 +gfx_mode::@12: scope:[gfx_mode] from gfx_mode::@1 + (byte~) gfx_mode::$5 ← (byte) gfx_mode::dtv_control | (byte) DTV_BORDER_OFF + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$5 + to:gfx_mode::@2 +gfx_mode::@3: scope:[gfx_mode] from gfx_mode::@13 gfx_mode::@2 + (boolean~) gfx_mode::$9 ← *((byte*) form_ctrl_overs) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$10 ← ! (boolean~) gfx_mode::$9 + if((boolean~) gfx_mode::$10) goto gfx_mode::@4 + to:gfx_mode::@14 +gfx_mode::@13: scope:[gfx_mode] from gfx_mode::@2 + (byte~) gfx_mode::$8 ← (byte) gfx_mode::dtv_control | (byte) DTV_HIGHCOLOR + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$8 + to:gfx_mode::@3 +gfx_mode::@4: scope:[gfx_mode] from gfx_mode::@14 gfx_mode::@3 + (boolean~) gfx_mode::$12 ← *((byte*) form_ctrl_colof) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$13 ← ! (boolean~) gfx_mode::$12 + if((boolean~) gfx_mode::$13) goto gfx_mode::@5 + to:gfx_mode::@15 +gfx_mode::@14: scope:[gfx_mode] from gfx_mode::@3 + (byte~) gfx_mode::$11 ← (byte) gfx_mode::dtv_control | (byte) DTV_OVERSCAN + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$11 + to:gfx_mode::@4 +gfx_mode::@5: scope:[gfx_mode] from gfx_mode::@15 gfx_mode::@4 + (boolean~) gfx_mode::$15 ← *((byte*) form_ctrl_chunk) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$16 ← ! (boolean~) gfx_mode::$15 + if((boolean~) gfx_mode::$16) goto gfx_mode::@6 + to:gfx_mode::@16 +gfx_mode::@15: scope:[gfx_mode] from gfx_mode::@4 + (byte~) gfx_mode::$14 ← (byte) gfx_mode::dtv_control | (byte) DTV_COLORRAM_OFF + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$14 + to:gfx_mode::@5 +gfx_mode::@6: scope:[gfx_mode] from gfx_mode::@16 gfx_mode::@5 + *((byte*) DTV_CONTROL) ← (byte) gfx_mode::dtv_control + (byte~) gfx_mode::$18 ← (byte) VIC_DEN | (byte) VIC_RSEL + (byte/word/dword~) gfx_mode::$19 ← (byte~) gfx_mode::$18 | (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) gfx_mode::vic_control ← (byte/word/dword~) gfx_mode::$19 + (boolean~) gfx_mode::$20 ← *((byte*) form_ctrl_ecm) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$21 ← ! (boolean~) gfx_mode::$20 + if((boolean~) gfx_mode::$21) goto gfx_mode::@7 + to:gfx_mode::@17 +gfx_mode::@16: scope:[gfx_mode] from gfx_mode::@5 + (byte~) gfx_mode::$17 ← (byte) gfx_mode::dtv_control | (byte) DTV_CHUNKY + (byte) gfx_mode::dtv_control ← (byte~) gfx_mode::$17 + to:gfx_mode::@6 +gfx_mode::@7: scope:[gfx_mode] from gfx_mode::@17 gfx_mode::@6 + (boolean~) gfx_mode::$23 ← *((byte*) form_ctrl_bmm) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$24 ← ! (boolean~) gfx_mode::$23 + if((boolean~) gfx_mode::$24) goto gfx_mode::@8 + to:gfx_mode::@18 +gfx_mode::@17: scope:[gfx_mode] from gfx_mode::@6 + (byte~) gfx_mode::$22 ← (byte) gfx_mode::vic_control | (byte) VIC_ECM + (byte) gfx_mode::vic_control ← (byte~) gfx_mode::$22 + to:gfx_mode::@7 +gfx_mode::@8: scope:[gfx_mode] from gfx_mode::@18 gfx_mode::@7 + *((byte*) VIC_CONTROL) ← (byte) gfx_mode::vic_control + (byte) gfx_mode::vic_control2 ← (byte) VIC_CSEL + (boolean~) gfx_mode::$26 ← *((byte*) form_ctrl_mcm) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$27 ← ! (boolean~) gfx_mode::$26 + if((boolean~) gfx_mode::$27) goto gfx_mode::@9 + to:gfx_mode::@19 +gfx_mode::@18: scope:[gfx_mode] from gfx_mode::@7 + (byte~) gfx_mode::$25 ← (byte) gfx_mode::vic_control | (byte) VIC_BMM + (byte) gfx_mode::vic_control ← (byte~) gfx_mode::$25 + to:gfx_mode::@8 +gfx_mode::@9: scope:[gfx_mode] from gfx_mode::@19 gfx_mode::@8 + *((byte*) VIC_CONTROL2) ← (byte) gfx_mode::vic_control2 + (byte~) gfx_mode::$29 ← *((byte*) form_a_start_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$30 ← (byte~) gfx_mode::$29 | *((byte*) form_a_start_lo) + (byte) gfx_mode::plane_a_offs ← (byte~) gfx_mode::$30 + (dword~) gfx_mode::$31 ← ((dword)) (byte*) FORM_SCREEN + (dword~) gfx_mode::$32 ← (dword~) gfx_mode::$31 + (byte) gfx_mode::plane_a_offs + (dword) gfx_mode::plane_a ← (dword~) gfx_mode::$32 + (word~) gfx_mode::$33 ← < (dword) gfx_mode::plane_a + (byte~) gfx_mode::$34 ← < (word~) gfx_mode::$33 + *((byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$34 + (word~) gfx_mode::$35 ← < (dword) gfx_mode::plane_a + (byte~) gfx_mode::$36 ← > (word~) gfx_mode::$35 + *((byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$36 + (word~) gfx_mode::$37 ← > (dword) gfx_mode::plane_a + (byte~) gfx_mode::$38 ← < (word~) gfx_mode::$37 + *((byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$38 + (byte~) gfx_mode::$39 ← *((byte*) form_a_step_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$40 ← (byte~) gfx_mode::$39 | *((byte*) form_a_step_lo) + *((byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$40 + (byte~) gfx_mode::$41 ← *((byte*) form_a_mod_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$42 ← (byte~) gfx_mode::$41 | *((byte*) form_a_mod_lo) + *((byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$42 + *((byte*) DTV_PLANEA_MODULO_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) gfx_mode::$43 ← *((byte*) form_b_start_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$44 ← (byte~) gfx_mode::$43 | *((byte*) form_b_start_lo) + (byte) gfx_mode::plane_b_offs ← (byte~) gfx_mode::$44 + (dword~) gfx_mode::$45 ← (dword) PLANE_8BPP_CHUNKY + (byte) gfx_mode::plane_b_offs + (dword) gfx_mode::plane_b ← (dword~) gfx_mode::$45 + (word~) gfx_mode::$46 ← < (dword) gfx_mode::plane_b + (byte~) gfx_mode::$47 ← < (word~) gfx_mode::$46 + *((byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$47 + (word~) gfx_mode::$48 ← < (dword) gfx_mode::plane_b + (byte~) gfx_mode::$49 ← > (word~) gfx_mode::$48 + *((byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$49 + (word~) gfx_mode::$50 ← > (dword) gfx_mode::plane_b + (byte~) gfx_mode::$51 ← < (word~) gfx_mode::$50 + *((byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$51 + (byte~) gfx_mode::$52 ← *((byte*) form_b_step_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$52 | *((byte*) form_b_step_lo) + *((byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$53 + (byte~) gfx_mode::$54 ← *((byte*) form_b_mod_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$55 ← (byte~) gfx_mode::$54 | *((byte*) form_b_mod_lo) + *((byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$55 + *((byte*) DTV_PLANEB_MODULO_HI) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) gfx_mode::$56 ← *((byte*) form_vic_bg0_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$57 ← (byte~) gfx_mode::$56 | *((byte*) form_vic_bg0_lo) + *((byte*) BGCOL1) ← (byte~) gfx_mode::$57 + (byte~) gfx_mode::$58 ← *((byte*) form_vic_bg1_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$59 ← (byte~) gfx_mode::$58 | *((byte*) form_vic_bg1_lo) + *((byte*) BGCOL2) ← (byte~) gfx_mode::$59 + (byte~) gfx_mode::$60 ← *((byte*) form_vic_bg2_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$61 ← (byte~) gfx_mode::$60 | *((byte*) form_vic_bg2_lo) + *((byte*) BGCOL3) ← (byte~) gfx_mode::$61 + (byte~) gfx_mode::$62 ← *((byte*) form_vic_bg3_hi) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$63 ← (byte~) gfx_mode::$62 | *((byte*) form_vic_bg3_lo) + *((byte*) BGCOL4) ← (byte~) gfx_mode::$63 + (byte) gfx_mode::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:gfx_mode::@10 +gfx_mode::@19: scope:[gfx_mode] from gfx_mode::@8 + (byte~) gfx_mode::$28 ← (byte) gfx_mode::vic_control2 | (byte) VIC_MCM + (byte) gfx_mode::vic_control2 ← (byte~) gfx_mode::$28 + to:gfx_mode::@9 +gfx_mode::@10: scope:[gfx_mode] from gfx_mode::@10 gfx_mode::@9 + *((byte*) DTV_PALETTE + (byte) gfx_mode::i) ← (byte) gfx_mode::i + (byte) gfx_mode::i ← ++ (byte) gfx_mode::i + (boolean~) gfx_mode::$64 ← (byte) gfx_mode::i != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) gfx_mode::$64) goto gfx_mode::@10 + to:gfx_mode::@20 +gfx_mode::@20: scope:[gfx_mode] from gfx_mode::@10 + to:gfx_mode::@return +gfx_mode::@return: scope:[gfx_mode] from gfx_mode::@20 + return + to:@return +@24: scope:[] from @23 to:@25 +gfx_init: scope:[gfx_init] from + (void~) gfx_init::$0 ← call gfx_init_plane_8bppchunky + to:gfx_init::@return +gfx_init::@return: scope:[gfx_init] from gfx_init + return + to:@return +@25: scope:[] from @24 + to:@26 +gfx_init_plane_8bppchunky: scope:[gfx_init_plane_8bppchunky] from + (dword~) gfx_init_plane_8bppchunky::$0 ← (dword) PLANE_8BPP_CHUNKY / (word/signed word/dword/signed dword) 16384 + (byte~) gfx_init_plane_8bppchunky::$1 ← ((byte)) (dword~) gfx_init_plane_8bppchunky::$0 + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank ← (byte~) gfx_init_plane_8bppchunky::$1 + (void~) gfx_init_plane_8bppchunky::$2 ← call dtvSetCpuBankSegment1 (byte) gfx_init_plane_8bppchunky::gfxbCpuBank + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank + (byte*) gfx_init_plane_8bppchunky::gfxb ← ((byte*)) (word/signed word/dword/signed dword) 16384 + (byte) gfx_init_plane_8bppchunky::y ← (byte/signed byte/word/signed word/dword/signed dword) 0 + 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 + (word) gfx_init_plane_8bppchunky::x ← (byte/signed byte/word/signed word/dword/signed dword) 0 + 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 + (boolean~) gfx_init_plane_8bppchunky::$3 ← (byte*) gfx_init_plane_8bppchunky::gfxb == (word/dword/signed dword) 32768 + (boolean~) gfx_init_plane_8bppchunky::$4 ← ! (boolean~) gfx_init_plane_8bppchunky::$3 + if((boolean~) gfx_init_plane_8bppchunky::$4) goto gfx_init_plane_8bppchunky::@3 + to:gfx_init_plane_8bppchunky::@4 +gfx_init_plane_8bppchunky::@3: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@4 + (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x + (byte) gfx_init_plane_8bppchunky::y + (byte~) gfx_init_plane_8bppchunky::$7 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 + (byte) gfx_init_plane_8bppchunky::c ← (byte~) gfx_init_plane_8bppchunky::$7 + *((byte*) gfx_init_plane_8bppchunky::gfxb) ← (byte) gfx_init_plane_8bppchunky::c + (byte*) gfx_init_plane_8bppchunky::gfxb ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb + (word) gfx_init_plane_8bppchunky::x ← ++ (word) gfx_init_plane_8bppchunky::x + (boolean~) gfx_init_plane_8bppchunky::$8 ← (word) gfx_init_plane_8bppchunky::x != (word/signed word/dword/signed dword) 320 + if((boolean~) gfx_init_plane_8bppchunky::$8) goto gfx_init_plane_8bppchunky::@2 + to:gfx_init_plane_8bppchunky::@5 +gfx_init_plane_8bppchunky::@4: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 + (void~) gfx_init_plane_8bppchunky::$5 ← call dtvSetCpuBankSegment1 (byte) gfx_init_plane_8bppchunky::gfxbCpuBank + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank + (byte*) gfx_init_plane_8bppchunky::gfxb ← ((byte*)) (word/signed word/dword/signed dword) 16384 + to:gfx_init_plane_8bppchunky::@3 +gfx_init_plane_8bppchunky::@5: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@3 + (byte) gfx_init_plane_8bppchunky::y ← ++ (byte) gfx_init_plane_8bppchunky::y + (boolean~) gfx_init_plane_8bppchunky::$9 ← (byte) gfx_init_plane_8bppchunky::y != (byte/word/signed word/dword/signed dword) 200 + if((boolean~) gfx_init_plane_8bppchunky::$9) goto gfx_init_plane_8bppchunky::@1 + to:gfx_init_plane_8bppchunky::@6 +gfx_init_plane_8bppchunky::@6: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@5 + (byte/signed byte/word/signed word/dword/signed dword~) gfx_init_plane_8bppchunky::$10 ← (word/signed word/dword/signed dword) 16384 / (word/signed word/dword/signed dword) 16384 + (byte~) gfx_init_plane_8bppchunky::$11 ← ((byte)) (byte/signed byte/word/signed word/dword/signed dword~) gfx_init_plane_8bppchunky::$10 + (void~) gfx_init_plane_8bppchunky::$12 ← call dtvSetCpuBankSegment1 (byte~) gfx_init_plane_8bppchunky::$11 + to:gfx_init_plane_8bppchunky::@return +gfx_init_plane_8bppchunky::@return: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@6 + return + to:@return +@26: scope:[] from @25 + to:@27 +form_init: scope:[form_init] from + (byte*~) form_init::$0 ← (byte*) COLS + (word) FORM_OFFSET + (void~) form_init::$1 ← call print_set_screen (byte*~) form_init::$0 + (void~) form_init::$2 ← call print_str_lines (byte[]) FORM_COLS + (byte*~) form_init::$3 ← (byte*) FORM_SCREEN + (word) FORM_OFFSET + (void~) form_init::$4 ← call print_set_screen (byte*~) form_init::$3 + (void~) form_init::$5 ← call print_str_lines (byte[]) FORM_TEXT + (byte*~) form_init::$6 ← (byte*) FORM_SCREEN + (word) FORM_OFFSET + (void~) form_init::$7 ← call form_set_screen (byte*~) form_init::$6 + (void~) form_init::$8 ← call form_render_values + to:form_init::@return +form_init::@return: scope:[form_init] from form_init + return + to:@return +@27: scope:[] from @26 + to:@28 +form_mode: scope:[form_mode] from + (dword~) form_mode::$0 ← ((dword)) (byte*) FORM_CHARSET + (dword~) form_mode::$1 ← (dword~) form_mode::$0 / (dword/signed dword) 65536 + (byte~) form_mode::$2 ← ((byte)) (dword~) form_mode::$1 + *((byte*) DTV_GRAPHICS_VIC_BANK) ← (byte~) form_mode::$2 + (dword~) form_mode::$3 ← (dword) DTV_COLOR_BANK_DEFAULT / (word/signed word/dword/signed dword) 1024 + (word~) form_mode::$4 ← ((word)) (dword~) form_mode::$3 + (byte~) form_mode::$5 ← < (word~) form_mode::$4 + *((byte*) DTV_COLOR_BANK_LO) ← (byte~) form_mode::$5 + (dword~) form_mode::$6 ← (dword) DTV_COLOR_BANK_DEFAULT / (word/signed word/dword/signed dword) 1024 + (word~) form_mode::$7 ← ((word)) (dword~) form_mode::$6 + (byte~) form_mode::$8 ← > (word~) form_mode::$7 + *((byte*) DTV_COLOR_BANK_HI) ← (byte~) form_mode::$8 + *((byte*) CIA2_PORT_A_DDR) ← (byte/signed byte/word/signed word/dword/signed dword) 3 + (word~) form_mode::$9 ← ((word)) (byte*) FORM_CHARSET + (word/signed dword/dword~) form_mode::$10 ← (word~) form_mode::$9 / (word/signed word/dword/signed dword) 16384 + (byte~) form_mode::$11 ← ((byte)) (word/signed dword/dword~) form_mode::$10 + (byte/word/dword~) form_mode::$12 ← (byte/signed byte/word/signed word/dword/signed dword) 3 ^ (byte~) form_mode::$11 + *((byte*) CIA2_PORT_A) ← (byte/word/dword~) form_mode::$12 + *((byte*) DTV_CONTROL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) form_mode::$13 ← (byte) VIC_DEN | (byte) VIC_RSEL + (byte/word/dword~) form_mode::$14 ← (byte~) form_mode::$13 | (byte/signed byte/word/signed word/dword/signed dword) 3 + *((byte*) VIC_CONTROL) ← (byte/word/dword~) form_mode::$14 + *((byte*) VIC_CONTROL2) ← (byte) VIC_CSEL + (word~) form_mode::$15 ← ((word)) (byte*) FORM_SCREEN + (word~) form_mode::$16 ← (word~) form_mode::$15 & (word/signed word/dword/signed dword) 16383 + (word/signed dword/dword~) form_mode::$17 ← (word~) form_mode::$16 / (byte/signed byte/word/signed word/dword/signed dword) 64 + (word~) form_mode::$18 ← ((word)) (byte*) FORM_CHARSET + (word~) form_mode::$19 ← (word~) form_mode::$18 & (word/signed word/dword/signed dword) 16383 + (word/signed dword/dword~) form_mode::$20 ← (word~) form_mode::$19 / (word/signed word/dword/signed dword) 1024 + (word/dword~) form_mode::$21 ← (word/signed dword/dword~) form_mode::$17 | (word/signed dword/dword~) form_mode::$20 + (byte~) form_mode::$22 ← ((byte)) (word/dword~) form_mode::$21 + *((byte*) VIC_MEMORY) ← (byte~) form_mode::$22 + (byte) form_mode::i ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:form_mode::@1 +form_mode::@1: scope:[form_mode] from form_mode form_mode::@1 + *((byte*) DTV_PALETTE + (byte) form_mode::i) ← *((byte[16]) DTV_PALETTE_DEFAULT + (byte) form_mode::i) + (byte) form_mode::i ← ++ (byte) form_mode::i + (boolean~) form_mode::$23 ← (byte) form_mode::i != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) form_mode::$23) goto form_mode::@1 + to:form_mode::@2 +form_mode::@2: scope:[form_mode] from form_mode::@1 + *((byte*) BORDERCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) BGCOL) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:form_mode::@return +form_mode::@return: scope:[form_mode] from form_mode::@2 + return + to:@return +@28: scope:[] from @27 + (byte[25]) form_line_lo ← { fill( 25, 0) } + (byte[25]) form_line_hi ← { fill( 25, 0) } + (byte) form_field_idx ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (signed byte) FORM_CURSOR_BLINK ← (byte/signed byte/word/signed word/dword/signed dword) 40 + (signed word/signed byte/signed dword~) $55 ← (signed byte) FORM_CURSOR_BLINK / (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed byte) form_cursor_count ← (signed word/signed byte/signed dword~) $55 + to:@29 form_set_screen: scope:[form_set_screen] from (byte*) form_set_screen::line ← (byte*) form_set_screen::screen (byte) form_set_screen::y ← (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -2844,8 +3753,8 @@ form_set_screen::@2: scope:[form_set_screen] from form_set_screen::@1 form_set_screen::@return: scope:[form_set_screen] from form_set_screen::@2 return to:@return -@25: scope:[] from @24 - to:@26 +@29: scope:[] from @28 + to:@30 form_field_ptr: scope:[form_field_ptr] from (byte) form_field_ptr::y ← *((byte[]) form_fields_y + (byte) form_field_ptr::field_idx) (byte*~) form_field_ptr::$0 ← ((byte*)) { *((byte[25]) form_line_hi + (byte) form_field_ptr::y), *((byte[25]) form_line_lo + (byte) form_field_ptr::y) } @@ -2861,8 +3770,8 @@ form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr form_field_ to:@return form_field_ptr::@1: scope:[form_field_ptr] from to:form_field_ptr::@return -@26: scope:[] from @25 - to:@27 +@30: scope:[] from @29 + to:@31 form_render_values: scope:[form_render_values] from (byte) form_render_values::idx ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:form_render_values::@1 @@ -2879,8 +3788,8 @@ form_render_values::@2: scope:[form_render_values] from form_render_values::@1 form_render_values::@return: scope:[form_render_values] from form_render_values::@2 return to:@return -@27: scope:[] from @26 - to:@28 +@31: scope:[] from @30 + to:@32 form_control: scope:[form_control] from (byte*~) form_control::$0 ← call form_field_ptr (byte) form_field_idx (byte*) form_control::field ← (byte*~) form_control::$0 @@ -2958,12 +3867,12 @@ form_control::@21: scope:[form_control] from form_control::@5 (byte/signed word/word/dword/signed dword~) form_control::$20 ← (byte) form_fields_cnt - (byte/signed byte/word/signed word/dword/signed dword) 1 (byte) form_field_idx ← (byte/signed word/word/dword/signed dword~) form_control::$20 to:form_control::@8 -form_control::@return: scope:[form_control] from form_control::@7 form_control::@9 +form_control::@return: scope:[form_control] from form_control::@12 form_control::@7 form_control::@9 return to:@return form_control::@22: scope:[form_control] from to:form_control::@4 -form_control::@9: scope:[form_control] from form_control::@12 form_control::@4 +form_control::@9: scope:[form_control] from form_control::@28 form_control::@4 to:form_control::@return form_control::@23: scope:[form_control] from form_control::@4 (byte~) form_control::$24 ← (byte) keyboard_modifiers & (byte) KEY_MODIFIER_SHIFT @@ -2990,7 +3899,7 @@ form_control::@25: scope:[form_control] from form_control::@24 to:form_control::@11 form_control::@12: scope:[form_control] from form_control::@11 form_control::@13 *((byte*) form_control::field) ← *((byte[]) print_hextab + *((byte[]) form_fields_val + (byte) form_field_idx)) - to:form_control::@9 + to:form_control::@return form_control::@26: scope:[form_control] from to:form_control::@10 form_control::@13: scope:[form_control] from form_control::@10 form_control::@27 @@ -2998,18 +3907,19 @@ form_control::@13: scope:[form_control] from form_control::@10 form_control::@2 form_control::@27: scope:[form_control] from form_control::@10 *((byte[]) form_fields_val + (byte) form_field_idx) ← *((byte[]) form_fields_max + (byte) form_field_idx) to:form_control::@13 -@28: scope:[] from @27 +form_control::@28: scope:[form_control] from + to:form_control::@9 +@32: scope:[] from @31 call main to:@end -@end: scope:[] from @28 +@end: scope:[] from @32 -Removing unused procedure dtvSetCpuBankSegment1 Removing unused procedure print_str_ln Removing unused procedure print_str_at Removing unused procedure print_sword Removing unused procedure print_sbyte Removing unused procedure print_sdword -Removing unused procedure keyboard_init +Removing unused procedure print_cls Removing unused procedure keyboard_key_pressed Removing unused procedure keyboard_get_keycode Removing unused procedure print_str @@ -3034,22 +3944,13 @@ Eliminating unused variable (byte*) SPRITES_EXPAND_Y and assignment [14] (byte*) Eliminating unused variable (byte*) SPRITES_PRIORITY and assignment [15] (byte*) SPRITES_PRIORITY ← ((byte*)) (word/dword/signed dword) 53275 Eliminating unused variable (byte*) SPRITES_MC and assignment [16] (byte*) SPRITES_MC ← ((byte*)) (word/dword/signed dword) 53276 Eliminating unused variable (byte*) SPRITES_EXPAND_X and assignment [17] (byte*) SPRITES_EXPAND_X ← ((byte*)) (word/dword/signed dword) 53277 -Eliminating unused variable (byte*) BGCOL1 and assignment [20] (byte*) BGCOL1 ← ((byte*)) (word/dword/signed dword) 53281 -Eliminating unused variable (byte*) BGCOL2 and assignment [21] (byte*) BGCOL2 ← ((byte*)) (word/dword/signed dword) 53282 -Eliminating unused variable (byte*) BGCOL3 and assignment [22] (byte*) BGCOL3 ← ((byte*)) (word/dword/signed dword) 53283 -Eliminating unused variable (byte*) BGCOL4 and assignment [23] (byte*) BGCOL4 ← ((byte*)) (word/dword/signed dword) 53284 Eliminating unused variable (byte*) SPRITES_MC1 and assignment [24] (byte*) SPRITES_MC1 ← ((byte*)) (word/dword/signed dword) 53285 Eliminating unused variable (byte*) SPRITES_MC2 and assignment [25] (byte*) SPRITES_MC2 ← ((byte*)) (word/dword/signed dword) 53286 Eliminating unused variable (byte*) SPRITES_COLS and assignment [26] (byte*) SPRITES_COLS ← ((byte*)) (word/dword/signed dword) 53287 Eliminating unused variable (byte*) D011 and assignment [28] (byte*) D011 ← ((byte*)) (word/dword/signed dword) 53265 Eliminating unused variable (byte) VIC_RST8 and assignment [29] (byte) VIC_RST8 ← (byte/word/signed word/dword/signed dword) 128 -Eliminating unused variable (byte) VIC_ECM and assignment [30] (byte) VIC_ECM ← (byte/signed byte/word/signed word/dword/signed dword) 64 -Eliminating unused variable (byte) VIC_BMM and assignment [31] (byte) VIC_BMM ← (byte/signed byte/word/signed word/dword/signed dword) 32 Eliminating unused variable (byte*) D016 and assignment [35] (byte*) D016 ← ((byte*)) (word/dword/signed dword) 53270 -Eliminating unused variable (byte) VIC_MCM and assignment [36] (byte) VIC_MCM ← (byte/signed byte/word/signed word/dword/signed dword) 16 Eliminating unused variable (byte*) D018 and assignment [38] (byte*) D018 ← ((byte*)) (word/dword/signed dword) 53272 -Eliminating unused variable (byte*) CIA1_PORT_A_DDR and assignment [43] (byte*) CIA1_PORT_A_DDR ← ((byte*)) (word/dword/signed dword) 56322 -Eliminating unused variable (byte*) CIA1_PORT_B_DDR and assignment [44] (byte*) CIA1_PORT_B_DDR ← ((byte*)) (word/dword/signed dword) 56323 Eliminating unused variable (byte*) CIA2_PORT_B and assignment [46] (byte*) CIA2_PORT_B ← ((byte*)) (word/dword/signed dword) 56577 Eliminating unused variable (byte*) CIA2_PORT_B_DDR and assignment [48] (byte*) CIA2_PORT_B_DDR ← ((byte*)) (word/dword/signed dword) 56579 Eliminating unused variable (byte) BLACK and assignment [49] (byte) BLACK ← (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -3069,119 +3970,119 @@ Eliminating unused variable (byte) LIGHT_GREEN and assignment [62] (byte) LIGHT_ Eliminating unused variable (byte) LIGHT_BLUE and assignment [63] (byte) LIGHT_BLUE ← (byte/signed byte/word/signed word/dword/signed dword) 14 Eliminating unused variable (byte) LIGHT_GREY and assignment [64] (byte) LIGHT_GREY ← (byte/signed byte/word/signed word/dword/signed dword) 15 Eliminating unused variable (byte) DTV_FEATURE_DISABLE_TIL_RESET and assignment [67] (byte) DTV_FEATURE_DISABLE_TIL_RESET ← (byte/signed byte/word/signed word/dword/signed dword) 2 -Eliminating unused variable (byte) DTV_LINEAR and assignment [69] (byte) DTV_LINEAR ← (byte/signed byte/word/signed word/dword/signed dword) 1 -Eliminating unused variable (byte) DTV_BORDER_OFF and assignment [70] (byte) DTV_BORDER_OFF ← (byte/signed byte/word/signed word/dword/signed dword) 2 -Eliminating unused variable (byte) DTV_HIGHCOLOR and assignment [71] (byte) DTV_HIGHCOLOR ← (byte/signed byte/word/signed word/dword/signed dword) 4 -Eliminating unused variable (byte) DTV_OVERSCAN and assignment [72] (byte) DTV_OVERSCAN ← (byte/signed byte/word/signed word/dword/signed dword) 8 -Eliminating unused variable (byte) DTV_COLORRAM_OFF and assignment [73] (byte) DTV_COLORRAM_OFF ← (byte/signed byte/word/signed word/dword/signed dword) 16 Eliminating unused variable (byte) DTV_BADLINE_OFF and assignment [74] (byte) DTV_BADLINE_OFF ← (byte/signed byte/word/signed word/dword/signed dword) 32 -Eliminating unused variable (byte) DTV_CHUNKY and assignment [75] (byte) DTV_CHUNKY ← (byte/signed byte/word/signed word/dword/signed dword) 64 -Eliminating unused variable (byte*) DTV_PLANEA_START_LO and assignment [78] (byte*) DTV_PLANEA_START_LO ← ((byte*)) (word/dword/signed dword) 53306 -Eliminating unused variable (byte*) DTV_PLANEA_START_MI and assignment [79] (byte*) DTV_PLANEA_START_MI ← ((byte*)) (word/dword/signed dword) 53307 -Eliminating unused variable (byte*) DTV_PLANEA_START_HI and assignment [80] (byte*) DTV_PLANEA_START_HI ← ((byte*)) (word/dword/signed dword) 53317 -Eliminating unused variable (byte*) DTV_PLANEA_STEP and assignment [81] (byte*) DTV_PLANEA_STEP ← ((byte*)) (word/dword/signed dword) 53318 -Eliminating unused variable (byte*) DTV_PLANEA_MODULO_LO and assignment [82] (byte*) DTV_PLANEA_MODULO_LO ← ((byte*)) (word/dword/signed dword) 53304 -Eliminating unused variable (byte*) DTV_PLANEA_MODULO_HI and assignment [83] (byte*) DTV_PLANEA_MODULO_HI ← ((byte*)) (word/dword/signed dword) 53305 -Eliminating unused variable (byte*) DTV_PLANEB_START_LO and assignment [84] (byte*) DTV_PLANEB_START_LO ← ((byte*)) (word/dword/signed dword) 53321 -Eliminating unused variable (byte*) DTV_PLANEB_START_MI and assignment [85] (byte*) DTV_PLANEB_START_MI ← ((byte*)) (word/dword/signed dword) 53322 -Eliminating unused variable (byte*) DTV_PLANEB_START_HI and assignment [86] (byte*) DTV_PLANEB_START_HI ← ((byte*)) (word/dword/signed dword) 53323 -Eliminating unused variable (byte*) DTV_PLANEB_STEP and assignment [87] (byte*) DTV_PLANEB_STEP ← ((byte*)) (word/dword/signed dword) 53324 -Eliminating unused variable (byte*) DTV_PLANEB_MODULO_LO and assignment [88] (byte*) DTV_PLANEB_MODULO_LO ← ((byte*)) (word/dword/signed dword) 53319 -Eliminating unused variable (byte*) DTV_PLANEB_MODULO_HI and assignment [89] (byte*) DTV_PLANEB_MODULO_HI ← ((byte*)) (word/dword/signed dword) 53320 Eliminating unused variable (byte*) DTV_SPRITE_BANK and assignment [90] (byte*) DTV_SPRITE_BANK ← ((byte*)) (word/dword/signed dword) 53325 Eliminating unused variable (byte*) DTV_GRAPHICS_HICOL_BANK and assignment [95] (byte*) DTV_GRAPHICS_HICOL_BANK ← ((byte*)) (word/dword/signed dword) 53310 Eliminating unused variable - keeping the call (void~) print_str_lines::$4 -Eliminating unused variable (byte) KEY_DEL and assignment [132] (byte) KEY_DEL ← (byte/signed byte/word/signed word/dword/signed dword) 0 -Eliminating unused variable (byte) KEY_RETURN and assignment [133] (byte) KEY_RETURN ← (byte/signed byte/word/signed word/dword/signed dword) 1 -Eliminating unused variable (byte) KEY_F7 and assignment [135] (byte) KEY_F7 ← (byte/signed byte/word/signed word/dword/signed dword) 3 -Eliminating unused variable (byte) KEY_F1 and assignment [136] (byte) KEY_F1 ← (byte/signed byte/word/signed word/dword/signed dword) 4 -Eliminating unused variable (byte) KEY_F3 and assignment [137] (byte) KEY_F3 ← (byte/signed byte/word/signed word/dword/signed dword) 5 -Eliminating unused variable (byte) KEY_F5 and assignment [138] (byte) KEY_F5 ← (byte/signed byte/word/signed word/dword/signed dword) 6 -Eliminating unused variable (byte) KEY_HOME and assignment [183] (byte) KEY_HOME ← (byte/signed byte/word/signed word/dword/signed dword) 51 -Eliminating unused variable (byte) KEY_RUNSTOP and assignment [195] (byte) KEY_RUNSTOP ← (byte/signed byte/word/signed word/dword/signed dword) 63 -Eliminating unused variable (byte[]) keyboard_char_keycodes and assignment [196] (byte[]) keyboard_char_keycodes ← { (byte) KEY_AT, (byte) KEY_A, (byte) KEY_B, (byte) KEY_C, (byte) KEY_D, (byte) KEY_E, (byte) KEY_F, (byte) KEY_G, (byte) KEY_H, (byte) KEY_I, (byte) KEY_J, (byte) KEY_K, (byte) KEY_L, (byte) KEY_M, (byte) KEY_N, (byte) KEY_O, (byte) KEY_P, (byte) KEY_Q, (byte) KEY_R, (byte) KEY_S, (byte) KEY_T, (byte) KEY_U, (byte) KEY_V, (byte) KEY_W, (byte) KEY_X, (byte) KEY_Y, (byte) KEY_Z, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_POUND, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_ARROW_UP, (byte) KEY_ARROW_LEFT, (byte) KEY_SPACE, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_ASTERISK, (byte) KEY_PLUS, (byte) KEY_COMMA, (byte) KEY_MINUS, (byte) KEY_DOT, (byte) KEY_SLASH, (byte) KEY_0, (byte) KEY_1, (byte) KEY_2, (byte) KEY_3, (byte) KEY_4, (byte) KEY_5, (byte) KEY_6, (byte) KEY_7, (byte) KEY_8, (byte) KEY_9, (byte) KEY_COLON, (byte) KEY_SEMICOLON, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_EQUALS, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63 } +Eliminating unused variable (byte) KEY_DEL and assignment [127] (byte) KEY_DEL ← (byte/signed byte/word/signed word/dword/signed dword) 0 +Eliminating unused variable (byte) KEY_RETURN and assignment [128] (byte) KEY_RETURN ← (byte/signed byte/word/signed word/dword/signed dword) 1 +Eliminating unused variable (byte) KEY_F7 and assignment [130] (byte) KEY_F7 ← (byte/signed byte/word/signed word/dword/signed dword) 3 +Eliminating unused variable (byte) KEY_F1 and assignment [131] (byte) KEY_F1 ← (byte/signed byte/word/signed word/dword/signed dword) 4 +Eliminating unused variable (byte) KEY_F3 and assignment [132] (byte) KEY_F3 ← (byte/signed byte/word/signed word/dword/signed dword) 5 +Eliminating unused variable (byte) KEY_F5 and assignment [133] (byte) KEY_F5 ← (byte/signed byte/word/signed word/dword/signed dword) 6 +Eliminating unused variable (byte) KEY_HOME and assignment [178] (byte) KEY_HOME ← (byte/signed byte/word/signed word/dword/signed dword) 51 +Eliminating unused variable (byte) KEY_RUNSTOP and assignment [190] (byte) KEY_RUNSTOP ← (byte/signed byte/word/signed word/dword/signed dword) 63 +Eliminating unused variable (byte[]) keyboard_char_keycodes and assignment [191] (byte[]) keyboard_char_keycodes ← { (byte) KEY_AT, (byte) KEY_A, (byte) KEY_B, (byte) KEY_C, (byte) KEY_D, (byte) KEY_E, (byte) KEY_F, (byte) KEY_G, (byte) KEY_H, (byte) KEY_I, (byte) KEY_J, (byte) KEY_K, (byte) KEY_L, (byte) KEY_M, (byte) KEY_N, (byte) KEY_O, (byte) KEY_P, (byte) KEY_Q, (byte) KEY_R, (byte) KEY_S, (byte) KEY_T, (byte) KEY_U, (byte) KEY_V, (byte) KEY_W, (byte) KEY_X, (byte) KEY_Y, (byte) KEY_Z, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_POUND, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_ARROW_UP, (byte) KEY_ARROW_LEFT, (byte) KEY_SPACE, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_ASTERISK, (byte) KEY_PLUS, (byte) KEY_COMMA, (byte) KEY_MINUS, (byte) KEY_DOT, (byte) KEY_SLASH, (byte) KEY_0, (byte) KEY_1, (byte) KEY_2, (byte) KEY_3, (byte) KEY_4, (byte) KEY_5, (byte) KEY_6, (byte) KEY_7, (byte) KEY_8, (byte) KEY_9, (byte) KEY_COLON, (byte) KEY_SEMICOLON, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte) KEY_EQUALS, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63 } Eliminating unused variable - keeping the call (void~) main::$0 -Eliminating unused variable - keeping the call (void~) menu::$24 -Eliminating unused variable - keeping the call (void~) menu::$25 -Eliminating unused variable - keeping the call (void~) menu::$26 -Eliminating unused variable - keeping the call (void~) menu::$27 -Eliminating unused variable - keeping the call (void~) menu::$28 -Eliminating unused variable - keeping the call (void~) menu::$29 -Eliminating unused variable - keeping the call (void~) menu::$30 -Eliminating unused variable - keeping the call (void~) menu::$31 -Eliminating unused variable - keeping the call (void~) menu::$33 +Eliminating unused variable - keeping the call (void~) main::$1 +Eliminating unused variable - keeping the call (void~) main::$2 +Eliminating unused variable - keeping the call (void~) main::$6 +Eliminating unused variable - keeping the call (void~) main::$8 +Eliminating unused variable - keeping the call (void~) main::$9 +Eliminating unused variable (byte*) form_ctrl_mode and assignment [337] (byte*) form_ctrl_mode ← (byte*~) $20 +Eliminating unused variable (byte*) form_a_pattern and assignment [357] (byte*) form_a_pattern ← (byte*~) $30 +Eliminating unused variable (byte*) form_b_pattern and assignment [371] (byte*) form_b_pattern ← (byte*~) $37 +Eliminating unused variable (byte*) form_vic_screen and assignment [385] (byte*) form_vic_screen ← (byte*~) $44 +Eliminating unused variable (byte*) form_vic_gfx and assignment [387] (byte*) form_vic_gfx ← (byte*~) $45 +Eliminating unused variable (byte*) form_vic_cols and assignment [389] (byte*) form_vic_cols ← (byte*~) $46 +Eliminating unused variable - keeping the call (void~) gfx_init::$0 +Eliminating unused variable - keeping the call (void~) gfx_init_plane_8bppchunky::$2 +Eliminating unused variable - keeping the call (void~) gfx_init_plane_8bppchunky::$5 +Eliminating unused variable - keeping the call (void~) gfx_init_plane_8bppchunky::$12 +Eliminating unused variable - keeping the call (void~) form_init::$1 +Eliminating unused variable - keeping the call (void~) form_init::$2 +Eliminating unused variable - keeping the call (void~) form_init::$4 +Eliminating unused variable - keeping the call (void~) form_init::$5 +Eliminating unused variable - keeping the call (void~) form_init::$7 +Eliminating unused variable - keeping the call (void~) form_init::$8 Eliminating unused variable - keeping the call (void~) form_control::$8 -Eliminating unused variable (byte) KEY_3 and assignment [61] (byte) KEY_3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 -Eliminating unused variable (byte) KEY_W and assignment [62] (byte) KEY_W ← (byte/signed byte/word/signed word/dword/signed dword) 9 -Eliminating unused variable (byte) KEY_A and assignment [63] (byte) KEY_A ← (byte/signed byte/word/signed word/dword/signed dword) 10 -Eliminating unused variable (byte) KEY_4 and assignment [64] (byte) KEY_4 ← (byte/signed byte/word/signed word/dword/signed dword) 11 -Eliminating unused variable (byte) KEY_Z and assignment [65] (byte) KEY_Z ← (byte/signed byte/word/signed word/dword/signed dword) 12 -Eliminating unused variable (byte) KEY_S and assignment [66] (byte) KEY_S ← (byte/signed byte/word/signed word/dword/signed dword) 13 -Eliminating unused variable (byte) KEY_E and assignment [67] (byte) KEY_E ← (byte/signed byte/word/signed word/dword/signed dword) 14 -Eliminating unused variable (byte) KEY_5 and assignment [69] (byte) KEY_5 ← (byte/signed byte/word/signed word/dword/signed dword) 16 -Eliminating unused variable (byte) KEY_R and assignment [70] (byte) KEY_R ← (byte/signed byte/word/signed word/dword/signed dword) 17 -Eliminating unused variable (byte) KEY_D and assignment [71] (byte) KEY_D ← (byte/signed byte/word/signed word/dword/signed dword) 18 -Eliminating unused variable (byte) KEY_6 and assignment [72] (byte) KEY_6 ← (byte/signed byte/word/signed word/dword/signed dword) 19 -Eliminating unused variable (byte) KEY_C and assignment [73] (byte) KEY_C ← (byte/signed byte/word/signed word/dword/signed dword) 20 -Eliminating unused variable (byte) KEY_F and assignment [74] (byte) KEY_F ← (byte/signed byte/word/signed word/dword/signed dword) 21 -Eliminating unused variable (byte) KEY_T and assignment [75] (byte) KEY_T ← (byte/signed byte/word/signed word/dword/signed dword) 22 -Eliminating unused variable (byte) KEY_X and assignment [76] (byte) KEY_X ← (byte/signed byte/word/signed word/dword/signed dword) 23 -Eliminating unused variable (byte) KEY_7 and assignment [77] (byte) KEY_7 ← (byte/signed byte/word/signed word/dword/signed dword) 24 -Eliminating unused variable (byte) KEY_Y and assignment [78] (byte) KEY_Y ← (byte/signed byte/word/signed word/dword/signed dword) 25 -Eliminating unused variable (byte) KEY_G and assignment [79] (byte) KEY_G ← (byte/signed byte/word/signed word/dword/signed dword) 26 -Eliminating unused variable (byte) KEY_8 and assignment [80] (byte) KEY_8 ← (byte/signed byte/word/signed word/dword/signed dword) 27 -Eliminating unused variable (byte) KEY_B and assignment [81] (byte) KEY_B ← (byte/signed byte/word/signed word/dword/signed dword) 28 -Eliminating unused variable (byte) KEY_H and assignment [82] (byte) KEY_H ← (byte/signed byte/word/signed word/dword/signed dword) 29 -Eliminating unused variable (byte) KEY_U and assignment [83] (byte) KEY_U ← (byte/signed byte/word/signed word/dword/signed dword) 30 -Eliminating unused variable (byte) KEY_V and assignment [84] (byte) KEY_V ← (byte/signed byte/word/signed word/dword/signed dword) 31 -Eliminating unused variable (byte) KEY_9 and assignment [85] (byte) KEY_9 ← (byte/signed byte/word/signed word/dword/signed dword) 32 -Eliminating unused variable (byte) KEY_I and assignment [86] (byte) KEY_I ← (byte/signed byte/word/signed word/dword/signed dword) 33 -Eliminating unused variable (byte) KEY_J and assignment [87] (byte) KEY_J ← (byte/signed byte/word/signed word/dword/signed dword) 34 -Eliminating unused variable (byte) KEY_0 and assignment [88] (byte) KEY_0 ← (byte/signed byte/word/signed word/dword/signed dword) 35 -Eliminating unused variable (byte) KEY_M and assignment [89] (byte) KEY_M ← (byte/signed byte/word/signed word/dword/signed dword) 36 -Eliminating unused variable (byte) KEY_K and assignment [90] (byte) KEY_K ← (byte/signed byte/word/signed word/dword/signed dword) 37 -Eliminating unused variable (byte) KEY_O and assignment [91] (byte) KEY_O ← (byte/signed byte/word/signed word/dword/signed dword) 38 -Eliminating unused variable (byte) KEY_N and assignment [92] (byte) KEY_N ← (byte/signed byte/word/signed word/dword/signed dword) 39 -Eliminating unused variable (byte) KEY_PLUS and assignment [93] (byte) KEY_PLUS ← (byte/signed byte/word/signed word/dword/signed dword) 40 -Eliminating unused variable (byte) KEY_P and assignment [94] (byte) KEY_P ← (byte/signed byte/word/signed word/dword/signed dword) 41 -Eliminating unused variable (byte) KEY_L and assignment [95] (byte) KEY_L ← (byte/signed byte/word/signed word/dword/signed dword) 42 -Eliminating unused variable (byte) KEY_MINUS and assignment [96] (byte) KEY_MINUS ← (byte/signed byte/word/signed word/dword/signed dword) 43 -Eliminating unused variable (byte) KEY_DOT and assignment [97] (byte) KEY_DOT ← (byte/signed byte/word/signed word/dword/signed dword) 44 -Eliminating unused variable (byte) KEY_COLON and assignment [98] (byte) KEY_COLON ← (byte/signed byte/word/signed word/dword/signed dword) 45 -Eliminating unused variable (byte) KEY_AT and assignment [99] (byte) KEY_AT ← (byte/signed byte/word/signed word/dword/signed dword) 46 -Eliminating unused variable (byte) KEY_COMMA and assignment [100] (byte) KEY_COMMA ← (byte/signed byte/word/signed word/dword/signed dword) 47 -Eliminating unused variable (byte) KEY_POUND and assignment [101] (byte) KEY_POUND ← (byte/signed byte/word/signed word/dword/signed dword) 48 -Eliminating unused variable (byte) KEY_ASTERISK and assignment [102] (byte) KEY_ASTERISK ← (byte/signed byte/word/signed word/dword/signed dword) 49 -Eliminating unused variable (byte) KEY_SEMICOLON and assignment [103] (byte) KEY_SEMICOLON ← (byte/signed byte/word/signed word/dword/signed dword) 50 -Eliminating unused variable (byte) KEY_EQUALS and assignment [105] (byte) KEY_EQUALS ← (byte/signed byte/word/signed word/dword/signed dword) 53 -Eliminating unused variable (byte) KEY_ARROW_UP and assignment [106] (byte) KEY_ARROW_UP ← (byte/signed byte/word/signed word/dword/signed dword) 54 -Eliminating unused variable (byte) KEY_SLASH and assignment [107] (byte) KEY_SLASH ← (byte/signed byte/word/signed word/dword/signed dword) 55 -Eliminating unused variable (byte) KEY_1 and assignment [108] (byte) KEY_1 ← (byte/signed byte/word/signed word/dword/signed dword) 56 -Eliminating unused variable (byte) KEY_ARROW_LEFT and assignment [109] (byte) KEY_ARROW_LEFT ← (byte/signed byte/word/signed word/dword/signed dword) 57 -Eliminating unused variable (byte) KEY_2 and assignment [111] (byte) KEY_2 ← (byte/signed byte/word/signed word/dword/signed dword) 59 -Eliminating unused variable (byte) KEY_SPACE and assignment [112] (byte) KEY_SPACE ← (byte/signed byte/word/signed word/dword/signed dword) 60 -Eliminating unused variable (byte) KEY_Q and assignment [114] (byte) KEY_Q ← (byte/signed byte/word/signed word/dword/signed dword) 62 -Creating constant string variable for inline (const string) $20 "0123456789abcdef" -Creating constant string variable for inline (const string) $21 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" -Creating constant string variable for inline (const string) $22 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Creating constant string variable for inline (const string) $23 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Creating constant string variable for inline (const string) $24 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Creating constant string variable for inline (const string) $25 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Creating constant string variable for inline (const string) $26 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Creating constant string variable for inline (const string) $27 " nnnnnnn ooooooooo @" -Creating constant string variable for inline (const string) $28 " nnnnnnn nnnnnnnn ooooooooo @" -Creating constant string variable for inline (const string) $29 " nnnnnnn nnnnnnnn ooooooooo @" -Creating constant string variable for inline (const string) $30 "@" -Creating constant string variable for inline (const string) $31 " DTV GfxExplorer MODE 0 8bpp pixel cell @" -Creating constant string variable for inline (const string) $32 " CONTROL PLANE A PLANE B VIC II @" -Creating constant string variable for inline (const string) $33 " bmm 0 patt p0 patt p0 screen s0 @" -Creating constant string variable for inline (const string) $34 " mcm 0 start 00 start 00 gfx g0 @" -Creating constant string variable for inline (const string) $35 " ecm 0 step 00 step 00 colors c0 @" -Creating constant string variable for inline (const string) $36 " hicol 0 mod 00 mod 00 bgcol0 00 @" -Creating constant string variable for inline (const string) $37 " line 0 bgcol1 00 @" -Creating constant string variable for inline (const string) $38 " colof 0 borof 0 bgcol2 00 @" -Creating constant string variable for inline (const string) $39 " chunk 0 overs 0 bgcol3 00 @" -Creating constant string variable for inline (const string) $40 "@" +Eliminating unused variable (byte) KEY_3 and assignment [83] (byte) KEY_3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 +Eliminating unused variable (byte) KEY_W and assignment [84] (byte) KEY_W ← (byte/signed byte/word/signed word/dword/signed dword) 9 +Eliminating unused variable (byte) KEY_A and assignment [85] (byte) KEY_A ← (byte/signed byte/word/signed word/dword/signed dword) 10 +Eliminating unused variable (byte) KEY_4 and assignment [86] (byte) KEY_4 ← (byte/signed byte/word/signed word/dword/signed dword) 11 +Eliminating unused variable (byte) KEY_Z and assignment [87] (byte) KEY_Z ← (byte/signed byte/word/signed word/dword/signed dword) 12 +Eliminating unused variable (byte) KEY_S and assignment [88] (byte) KEY_S ← (byte/signed byte/word/signed word/dword/signed dword) 13 +Eliminating unused variable (byte) KEY_E and assignment [89] (byte) KEY_E ← (byte/signed byte/word/signed word/dword/signed dword) 14 +Eliminating unused variable (byte) KEY_5 and assignment [91] (byte) KEY_5 ← (byte/signed byte/word/signed word/dword/signed dword) 16 +Eliminating unused variable (byte) KEY_R and assignment [92] (byte) KEY_R ← (byte/signed byte/word/signed word/dword/signed dword) 17 +Eliminating unused variable (byte) KEY_D and assignment [93] (byte) KEY_D ← (byte/signed byte/word/signed word/dword/signed dword) 18 +Eliminating unused variable (byte) KEY_6 and assignment [94] (byte) KEY_6 ← (byte/signed byte/word/signed word/dword/signed dword) 19 +Eliminating unused variable (byte) KEY_C and assignment [95] (byte) KEY_C ← (byte/signed byte/word/signed word/dword/signed dword) 20 +Eliminating unused variable (byte) KEY_F and assignment [96] (byte) KEY_F ← (byte/signed byte/word/signed word/dword/signed dword) 21 +Eliminating unused variable (byte) KEY_T and assignment [97] (byte) KEY_T ← (byte/signed byte/word/signed word/dword/signed dword) 22 +Eliminating unused variable (byte) KEY_X and assignment [98] (byte) KEY_X ← (byte/signed byte/word/signed word/dword/signed dword) 23 +Eliminating unused variable (byte) KEY_7 and assignment [99] (byte) KEY_7 ← (byte/signed byte/word/signed word/dword/signed dword) 24 +Eliminating unused variable (byte) KEY_Y and assignment [100] (byte) KEY_Y ← (byte/signed byte/word/signed word/dword/signed dword) 25 +Eliminating unused variable (byte) KEY_G and assignment [101] (byte) KEY_G ← (byte/signed byte/word/signed word/dword/signed dword) 26 +Eliminating unused variable (byte) KEY_8 and assignment [102] (byte) KEY_8 ← (byte/signed byte/word/signed word/dword/signed dword) 27 +Eliminating unused variable (byte) KEY_B and assignment [103] (byte) KEY_B ← (byte/signed byte/word/signed word/dword/signed dword) 28 +Eliminating unused variable (byte) KEY_H and assignment [104] (byte) KEY_H ← (byte/signed byte/word/signed word/dword/signed dword) 29 +Eliminating unused variable (byte) KEY_U and assignment [105] (byte) KEY_U ← (byte/signed byte/word/signed word/dword/signed dword) 30 +Eliminating unused variable (byte) KEY_V and assignment [106] (byte) KEY_V ← (byte/signed byte/word/signed word/dword/signed dword) 31 +Eliminating unused variable (byte) KEY_9 and assignment [107] (byte) KEY_9 ← (byte/signed byte/word/signed word/dword/signed dword) 32 +Eliminating unused variable (byte) KEY_I and assignment [108] (byte) KEY_I ← (byte/signed byte/word/signed word/dword/signed dword) 33 +Eliminating unused variable (byte) KEY_J and assignment [109] (byte) KEY_J ← (byte/signed byte/word/signed word/dword/signed dword) 34 +Eliminating unused variable (byte) KEY_0 and assignment [110] (byte) KEY_0 ← (byte/signed byte/word/signed word/dword/signed dword) 35 +Eliminating unused variable (byte) KEY_M and assignment [111] (byte) KEY_M ← (byte/signed byte/word/signed word/dword/signed dword) 36 +Eliminating unused variable (byte) KEY_K and assignment [112] (byte) KEY_K ← (byte/signed byte/word/signed word/dword/signed dword) 37 +Eliminating unused variable (byte) KEY_O and assignment [113] (byte) KEY_O ← (byte/signed byte/word/signed word/dword/signed dword) 38 +Eliminating unused variable (byte) KEY_N and assignment [114] (byte) KEY_N ← (byte/signed byte/word/signed word/dword/signed dword) 39 +Eliminating unused variable (byte) KEY_PLUS and assignment [115] (byte) KEY_PLUS ← (byte/signed byte/word/signed word/dword/signed dword) 40 +Eliminating unused variable (byte) KEY_P and assignment [116] (byte) KEY_P ← (byte/signed byte/word/signed word/dword/signed dword) 41 +Eliminating unused variable (byte) KEY_L and assignment [117] (byte) KEY_L ← (byte/signed byte/word/signed word/dword/signed dword) 42 +Eliminating unused variable (byte) KEY_MINUS and assignment [118] (byte) KEY_MINUS ← (byte/signed byte/word/signed word/dword/signed dword) 43 +Eliminating unused variable (byte) KEY_DOT and assignment [119] (byte) KEY_DOT ← (byte/signed byte/word/signed word/dword/signed dword) 44 +Eliminating unused variable (byte) KEY_COLON and assignment [120] (byte) KEY_COLON ← (byte/signed byte/word/signed word/dword/signed dword) 45 +Eliminating unused variable (byte) KEY_AT and assignment [121] (byte) KEY_AT ← (byte/signed byte/word/signed word/dword/signed dword) 46 +Eliminating unused variable (byte) KEY_COMMA and assignment [122] (byte) KEY_COMMA ← (byte/signed byte/word/signed word/dword/signed dword) 47 +Eliminating unused variable (byte) KEY_POUND and assignment [123] (byte) KEY_POUND ← (byte/signed byte/word/signed word/dword/signed dword) 48 +Eliminating unused variable (byte) KEY_ASTERISK and assignment [124] (byte) KEY_ASTERISK ← (byte/signed byte/word/signed word/dword/signed dword) 49 +Eliminating unused variable (byte) KEY_SEMICOLON and assignment [125] (byte) KEY_SEMICOLON ← (byte/signed byte/word/signed word/dword/signed dword) 50 +Eliminating unused variable (byte) KEY_EQUALS and assignment [127] (byte) KEY_EQUALS ← (byte/signed byte/word/signed word/dword/signed dword) 53 +Eliminating unused variable (byte) KEY_ARROW_UP and assignment [128] (byte) KEY_ARROW_UP ← (byte/signed byte/word/signed word/dword/signed dword) 54 +Eliminating unused variable (byte) KEY_SLASH and assignment [129] (byte) KEY_SLASH ← (byte/signed byte/word/signed word/dword/signed dword) 55 +Eliminating unused variable (byte) KEY_1 and assignment [130] (byte) KEY_1 ← (byte/signed byte/word/signed word/dword/signed dword) 56 +Eliminating unused variable (byte) KEY_ARROW_LEFT and assignment [131] (byte) KEY_ARROW_LEFT ← (byte/signed byte/word/signed word/dword/signed dword) 57 +Eliminating unused variable (byte) KEY_2 and assignment [133] (byte) KEY_2 ← (byte/signed byte/word/signed word/dword/signed dword) 59 +Eliminating unused variable (byte) KEY_SPACE and assignment [134] (byte) KEY_SPACE ← (byte/signed byte/word/signed word/dword/signed dword) 60 +Eliminating unused variable (byte) KEY_Q and assignment [136] (byte) KEY_Q ← (byte/signed byte/word/signed word/dword/signed dword) 62 +Eliminating unused variable (byte*~) $20 and assignment [281] (byte*~) $20 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 0 +Eliminating unused variable (byte*~) $30 and assignment [300] (byte*~) $30 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 10 +Eliminating unused variable (byte*~) $37 and assignment [313] (byte*~) $37 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 17 +Eliminating unused variable (byte*~) $44 and assignment [326] (byte*~) $44 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 24 +Eliminating unused variable (byte*~) $45 and assignment [327] (byte*~) $45 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 25 +Eliminating unused variable (byte*~) $46 and assignment [328] (byte*~) $46 ← (byte[]) form_fields_val + (byte/signed byte/word/signed word/dword/signed dword) 26 +Creating constant string variable for inline (const string) $56 "0123456789abcdef" +Creating constant string variable for inline (const string) $57 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" +Creating constant string variable for inline (const string) $58 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $59 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $60 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $61 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $62 " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Creating constant string variable for inline (const string) $63 " nnnnnnn ooooooooo @" +Creating constant string variable for inline (const string) $64 " nnnnnnn nnnnnnnn ooooooooo @" +Creating constant string variable for inline (const string) $65 " nnnnnnn nnnnnnnn ooooooooo @" +Creating constant string variable for inline (const string) $66 "@" +Creating constant string variable for inline (const string) $67 " DTV GfxExplorer MODE 0 8bpp pixel cell @" +Creating constant string variable for inline (const string) $68 " CONTROL PLANE A PLANE B VIC II @" +Creating constant string variable for inline (const string) $69 " bmm 0 patt p0 patt p0 screen s0 @" +Creating constant string variable for inline (const string) $70 " mcm 0 start 00 start 00 gfx g0 @" +Creating constant string variable for inline (const string) $71 " ecm 0 step 00 step 00 colors c0 @" +Creating constant string variable for inline (const string) $72 " hicol 0 mod 00 mod 00 bgcol0 00 @" +Creating constant string variable for inline (const string) $73 " line 0 bgcol1 00 @" +Creating constant string variable for inline (const string) $74 " colof 0 borof 0 bgcol2 00 @" +Creating constant string variable for inline (const string) $75 " chunk 0 overs 0 bgcol3 00 @" +Creating constant string variable for inline (const string) $76 "@" Removing empty block print_str_lines::@6 Removing empty block print_str_lines::@3 Removing empty block print_str_lines::@7 @@ -3213,34 +4114,37 @@ Removing empty block keyboard_event_get::@2 Removing empty block keyboard_event_get::@5 Removing empty block keyboard_event_get::@6 Removing empty block @22 -Removing empty block main::@4 +Removing empty block main::@10 Removing empty block main::@3 -Removing empty block main::@5 -Removing empty block main::@6 -Removing empty block menu::@9 -Removing empty block menu::@4 -Removing empty block menu::@10 -Removing empty block menu::@11 -Removing empty block menu::@12 -Removing empty block menu::@13 -Removing empty block menu::@14 -Removing empty block form_set_screen::@2 +Removing empty block main::@11 +Removing empty block main::@12 +Removing empty block main::@13 +Removing empty block main::@14 +Removing empty block main::@15 +Removing empty block main::@16 +Removing empty block main::@17 +Removing empty block main::@18 +Removing empty block gfx_mode::@20 +Removing empty block @24 Removing empty block @25 -Removing empty block form_field_ptr::@1 Removing empty block @26 -Removing empty block form_render_values::@2 Removing empty block @27 +Removing empty block form_set_screen::@2 +Removing empty block @29 +Removing empty block form_field_ptr::@1 +Removing empty block @30 +Removing empty block form_render_values::@2 +Removing empty block @31 Removing empty block form_control::@16 Removing empty block form_control::@20 Removing empty block form_control::@22 Removing empty block form_control::@26 +Removing empty block form_control::@28 PROCEDURE MODIFY VARIABLE ANALYSIS print_str_lines modifies print_char_cursor print_str_lines modifies print_line_cursor print_ln modifies print_line_cursor print_ln modifies print_char_cursor -print_cls modifies print_line_cursor -print_cls modifies print_char_cursor print_set_screen modifies print_screen print_set_screen modifies print_line_cursor print_set_screen modifies print_char_cursor @@ -3254,13 +4158,9 @@ main modifies form_cursor_count main modifies keyboard_events_size main modifies keyboard_modifiers main modifies form_field_idx -menu modifies print_screen -menu modifies print_line_cursor -menu modifies print_char_cursor -menu modifies form_cursor_count -menu modifies keyboard_events_size -menu modifies keyboard_modifiers -menu modifies form_field_idx +form_init modifies print_screen +form_init modifies print_line_cursor +form_init modifies print_char_cursor form_control modifies form_cursor_count form_control modifies keyboard_events_size form_control modifies keyboard_modifiers @@ -3283,58 +4183,95 @@ Completing Phi functions... Completing Phi functions... Completing Phi functions... Completing Phi functions... +Completing Phi functions... CONTROL FLOW GRAPH SSA WITH ASSIGNMENT CALL & RETURN @begin: scope:[] from (byte*) RASTER#0 ← ((byte*)) (word/dword/signed dword) 53266 (byte*) BORDERCOL#0 ← ((byte*)) (word/dword/signed dword) 53280 (byte*) BGCOL#0 ← ((byte*)) (word/dword/signed dword) 53281 + (byte*) BGCOL1#0 ← ((byte*)) (word/dword/signed dword) 53281 + (byte*) BGCOL2#0 ← ((byte*)) (word/dword/signed dword) 53282 + (byte*) BGCOL3#0 ← ((byte*)) (word/dword/signed dword) 53283 + (byte*) BGCOL4#0 ← ((byte*)) (word/dword/signed dword) 53284 (byte*) VIC_CONTROL#0 ← ((byte*)) (word/dword/signed dword) 53265 + (byte) VIC_ECM#0 ← (byte/signed byte/word/signed word/dword/signed dword) 64 + (byte) VIC_BMM#0 ← (byte/signed byte/word/signed word/dword/signed dword) 32 (byte) VIC_DEN#0 ← (byte/signed byte/word/signed word/dword/signed dword) 16 (byte) VIC_RSEL#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 (byte*) VIC_CONTROL2#0 ← ((byte*)) (word/dword/signed dword) 53270 + (byte) VIC_MCM#0 ← (byte/signed byte/word/signed word/dword/signed dword) 16 (byte) VIC_CSEL#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 (byte*) VIC_MEMORY#0 ← ((byte*)) (word/dword/signed dword) 53272 (byte*) COLS#0 ← ((byte*)) (word/dword/signed dword) 55296 (byte*) CIA1_PORT_A#0 ← ((byte*)) (word/dword/signed dword) 56320 (byte*) CIA1_PORT_B#0 ← ((byte*)) (word/dword/signed dword) 56321 + (byte*) CIA1_PORT_A_DDR#0 ← ((byte*)) (word/dword/signed dword) 56322 + (byte*) CIA1_PORT_B_DDR#0 ← ((byte*)) (word/dword/signed dword) 56323 (byte*) CIA2_PORT_A#0 ← ((byte*)) (word/dword/signed dword) 56576 (byte*) CIA2_PORT_A_DDR#0 ← ((byte*)) (word/dword/signed dword) 56578 (byte*) DTV_FEATURE#0 ← ((byte*)) (word/dword/signed dword) 53311 (byte) DTV_FEATURE_ENABLE#0 ← (byte/signed byte/word/signed word/dword/signed dword) 1 (byte*) DTV_CONTROL#0 ← ((byte*)) (word/dword/signed dword) 53308 + (byte) DTV_LINEAR#0 ← (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) DTV_BORDER_OFF#0 ← (byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) DTV_HIGHCOLOR#0 ← (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) DTV_OVERSCAN#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) DTV_COLORRAM_OFF#0 ← (byte/signed byte/word/signed word/dword/signed dword) 16 + (byte) DTV_CHUNKY#0 ← (byte/signed byte/word/signed word/dword/signed dword) 64 (byte*) DTV_PALETTE#0 ← ((byte*)) (word/dword/signed dword) 53760 (byte[16]) DTV_PALETTE_DEFAULT#0 ← { (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_START_LO#0 ← ((byte*)) (word/dword/signed dword) 53306 + (byte*) DTV_PLANEA_START_MI#0 ← ((byte*)) (word/dword/signed dword) 53307 + (byte*) DTV_PLANEA_START_HI#0 ← ((byte*)) (word/dword/signed dword) 53317 + (byte*) DTV_PLANEA_STEP#0 ← ((byte*)) (word/dword/signed dword) 53318 + (byte*) DTV_PLANEA_MODULO_LO#0 ← ((byte*)) (word/dword/signed dword) 53304 + (byte*) DTV_PLANEA_MODULO_HI#0 ← ((byte*)) (word/dword/signed dword) 53305 + (byte*) DTV_PLANEB_START_LO#0 ← ((byte*)) (word/dword/signed dword) 53321 + (byte*) DTV_PLANEB_START_MI#0 ← ((byte*)) (word/dword/signed dword) 53322 + (byte*) DTV_PLANEB_START_HI#0 ← ((byte*)) (word/dword/signed dword) 53323 + (byte*) DTV_PLANEB_STEP#0 ← ((byte*)) (word/dword/signed dword) 53324 + (byte*) DTV_PLANEB_MODULO_LO#0 ← ((byte*)) (word/dword/signed dword) 53319 + (byte*) DTV_PLANEB_MODULO_HI#0 ← ((byte*)) (word/dword/signed dword) 53320 (byte*) DTV_COLOR_BANK_LO#0 ← ((byte*)) (word/dword/signed dword) 53302 (byte*) DTV_COLOR_BANK_HI#0 ← ((byte*)) (word/dword/signed dword) 53303 (dword) DTV_COLOR_BANK_DEFAULT#0 ← (dword/signed dword) 120832 (byte*) DTV_GRAPHICS_VIC_BANK#0 ← ((byte*)) (word/dword/signed dword) 53309 to:@1 +dtvSetCpuBankSegment1: scope:[dtvSetCpuBankSegment1] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@6 + (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 ← phi( gfx_init_plane_8bppchunky/(byte) dtvSetCpuBankSegment1::cpuBankIdx#0 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/(byte) dtvSetCpuBankSegment1::cpuBankIdx#2 ) + (byte*) dtvSetCpuBankSegment1::cpuBank#0 ← ((byte*)) (byte/word/signed word/dword/signed dword) 255 + *((byte*) dtvSetCpuBankSegment1::cpuBank#0) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 + asm { .byte$32,$dd lda$ff .byte$32,$00 } + to:dtvSetCpuBankSegment1::@return +dtvSetCpuBankSegment1::@return: scope:[dtvSetCpuBankSegment1] from dtvSetCpuBankSegment1 + return + to:@return @1: scope:[] from @begin (byte*) print_screen#0 ← ((byte*)) (word/signed word/dword/signed dword) 1024 (byte*) print_line_cursor#0 ← (byte*) print_screen#0 (byte*) print_char_cursor#0 ← (byte*) print_line_cursor#0 to:@11 -print_str_lines: scope:[print_str_lines] from menu::@16 menu::@19 - (byte*) print_line_cursor#44 ← phi( menu::@16/(byte*) print_line_cursor#12 menu::@19/(byte*) print_line_cursor#15 ) - (byte*) print_char_cursor#46 ← phi( menu::@16/(byte*) print_char_cursor#13 menu::@19/(byte*) print_char_cursor#16 ) - (byte*) print_str_lines::str#5 ← phi( menu::@16/(byte*) print_str_lines::str#1 menu::@19/(byte*) print_str_lines::str#2 ) +print_str_lines: scope:[print_str_lines] from form_init::@1 form_init::@3 + (byte*) print_line_cursor#37 ← phi( form_init::@1/(byte*) print_line_cursor#9 form_init::@3/(byte*) print_line_cursor#11 ) + (byte*) print_char_cursor#39 ← phi( form_init::@1/(byte*) print_char_cursor#10 form_init::@3/(byte*) print_char_cursor#12 ) + (byte*) print_str_lines::str#5 ← phi( form_init::@1/(byte*) print_str_lines::str#1 form_init::@3/(byte*) print_str_lines::str#2 ) to:print_str_lines::@1 print_str_lines::@1: scope:[print_str_lines] from print_str_lines print_str_lines::@11 - (byte*) print_line_cursor#37 ← phi( print_str_lines/(byte*) print_line_cursor#44 print_str_lines::@11/(byte*) print_line_cursor#1 ) - (byte*) print_char_cursor#39 ← phi( print_str_lines/(byte*) print_char_cursor#46 print_str_lines::@11/(byte*) print_char_cursor#2 ) + (byte*) print_line_cursor#30 ← phi( print_str_lines/(byte*) print_line_cursor#37 print_str_lines::@11/(byte*) print_line_cursor#1 ) + (byte*) print_char_cursor#32 ← phi( print_str_lines/(byte*) print_char_cursor#39 print_str_lines::@11/(byte*) print_char_cursor#2 ) (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@11/(byte*) print_str_lines::str#6 ) (boolean~) print_str_lines::$0 ← *((byte*) print_str_lines::str#3) != (byte) '@' if((boolean~) print_str_lines::$0) goto print_str_lines::@2 to:print_str_lines::@return print_str_lines::@2: scope:[print_str_lines] from print_str_lines::@1 - (byte*) print_line_cursor#57 ← phi( print_str_lines::@1/(byte*) print_line_cursor#37 ) - (byte*) print_char_cursor#47 ← phi( print_str_lines::@1/(byte*) print_char_cursor#39 ) + (byte*) print_line_cursor#48 ← phi( print_str_lines::@1/(byte*) print_line_cursor#30 ) + (byte*) print_char_cursor#40 ← phi( print_str_lines::@1/(byte*) print_char_cursor#32 ) (byte*) print_str_lines::str#7 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 ) to:print_str_lines::@4 print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 print_str_lines::@5 - (byte*) print_line_cursor#51 ← phi( print_str_lines::@2/(byte*) print_line_cursor#57 print_str_lines::@5/(byte*) print_line_cursor#45 ) - (byte*) print_char_cursor#37 ← phi( print_str_lines::@2/(byte*) print_char_cursor#47 print_str_lines::@5/(byte*) print_char_cursor#48 ) + (byte*) print_line_cursor#43 ← phi( print_str_lines::@2/(byte*) print_line_cursor#48 print_str_lines::@5/(byte*) print_line_cursor#38 ) + (byte*) print_char_cursor#30 ← phi( print_str_lines::@2/(byte*) print_char_cursor#40 print_str_lines::@5/(byte*) print_char_cursor#41 ) (byte*) print_str_lines::str#4 ← phi( print_str_lines::@2/(byte*) print_str_lines::str#7 print_str_lines::@5/(byte*) print_str_lines::str#8 ) (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 @@ -3343,114 +4280,89 @@ print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 print_str if((boolean~) print_str_lines::$2) goto print_str_lines::@5 to:print_str_lines::@8 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@4 print_str_lines::@8 - (byte*) print_line_cursor#45 ← phi( print_str_lines::@4/(byte*) print_line_cursor#51 print_str_lines::@8/(byte*) print_line_cursor#52 ) - (byte*) print_char_cursor#48 ← phi( print_str_lines::@4/(byte*) print_char_cursor#37 print_str_lines::@8/(byte*) print_char_cursor#1 ) + (byte*) print_line_cursor#38 ← phi( print_str_lines::@4/(byte*) print_line_cursor#43 print_str_lines::@8/(byte*) print_line_cursor#44 ) + (byte*) print_char_cursor#41 ← phi( print_str_lines::@4/(byte*) print_char_cursor#30 print_str_lines::@8/(byte*) print_char_cursor#1 ) (byte*) print_str_lines::str#8 ← phi( print_str_lines::@4/(byte*) print_str_lines::str#0 print_str_lines::@8/(byte*) print_str_lines::str#9 ) (byte) print_str_lines::ch#1 ← phi( print_str_lines::@4/(byte) print_str_lines::ch#0 print_str_lines::@8/(byte) print_str_lines::ch#2 ) (boolean~) print_str_lines::$3 ← (byte) print_str_lines::ch#1 != (byte) '@' if((boolean~) print_str_lines::$3) goto print_str_lines::@4 to:print_str_lines::@9 print_str_lines::@8: scope:[print_str_lines] from print_str_lines::@4 - (byte*) print_line_cursor#52 ← phi( print_str_lines::@4/(byte*) print_line_cursor#51 ) + (byte*) print_line_cursor#44 ← phi( print_str_lines::@4/(byte*) print_line_cursor#43 ) (byte*) print_str_lines::str#9 ← phi( print_str_lines::@4/(byte*) print_str_lines::str#0 ) - (byte*) print_char_cursor#20 ← phi( print_str_lines::@4/(byte*) print_char_cursor#37 ) + (byte*) print_char_cursor#16 ← phi( print_str_lines::@4/(byte*) print_char_cursor#30 ) (byte) print_str_lines::ch#2 ← phi( print_str_lines::@4/(byte) print_str_lines::ch#0 ) - *((byte*) print_char_cursor#20) ← (byte) print_str_lines::ch#2 - (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#20 + *((byte*) print_char_cursor#16) ← (byte) print_str_lines::ch#2 + (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#16 to:print_str_lines::@5 print_str_lines::@9: scope:[print_str_lines] from print_str_lines::@5 (byte*) print_str_lines::str#10 ← phi( print_str_lines::@5/(byte*) print_str_lines::str#8 ) - (byte*) print_char_cursor#38 ← phi( print_str_lines::@5/(byte*) print_char_cursor#48 ) - (byte*) print_line_cursor#36 ← phi( print_str_lines::@5/(byte*) print_line_cursor#45 ) + (byte*) print_char_cursor#31 ← phi( print_str_lines::@5/(byte*) print_char_cursor#41 ) + (byte*) print_line_cursor#29 ← phi( print_str_lines::@5/(byte*) print_line_cursor#38 ) call print_ln param-assignment to:print_str_lines::@11 print_str_lines::@11: scope:[print_str_lines] from print_str_lines::@9 (byte*) print_str_lines::str#6 ← phi( print_str_lines::@9/(byte*) print_str_lines::str#10 ) - (byte*) print_char_cursor#21 ← phi( print_str_lines::@9/(byte*) print_char_cursor#5 ) - (byte*) print_line_cursor#19 ← phi( print_str_lines::@9/(byte*) print_line_cursor#4 ) - (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#19 - (byte*) print_char_cursor#2 ← (byte*) print_char_cursor#21 + (byte*) print_char_cursor#17 ← phi( print_str_lines::@9/(byte*) print_char_cursor#5 ) + (byte*) print_line_cursor#15 ← phi( print_str_lines::@9/(byte*) print_line_cursor#4 ) + (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#15 + (byte*) print_char_cursor#2 ← (byte*) print_char_cursor#17 to:print_str_lines::@1 print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 - (byte*) print_line_cursor#20 ← phi( print_str_lines::@1/(byte*) print_line_cursor#37 ) - (byte*) print_char_cursor#22 ← phi( print_str_lines::@1/(byte*) print_char_cursor#39 ) - (byte*) print_char_cursor#3 ← (byte*) print_char_cursor#22 - (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#20 + (byte*) print_line_cursor#16 ← phi( print_str_lines::@1/(byte*) print_line_cursor#30 ) + (byte*) print_char_cursor#18 ← phi( print_str_lines::@1/(byte*) print_char_cursor#32 ) + (byte*) print_char_cursor#3 ← (byte*) print_char_cursor#18 + (byte*) print_line_cursor#2 ← (byte*) print_line_cursor#16 return to:@return print_ln: scope:[print_ln] from print_str_lines::@9 - (byte*) print_char_cursor#40 ← phi( print_str_lines::@9/(byte*) print_char_cursor#38 ) - (byte*) print_line_cursor#38 ← phi( print_str_lines::@9/(byte*) print_line_cursor#36 ) + (byte*) print_char_cursor#33 ← phi( print_str_lines::@9/(byte*) print_char_cursor#31 ) + (byte*) print_line_cursor#31 ← phi( print_str_lines::@9/(byte*) print_line_cursor#29 ) to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 - (byte*) print_char_cursor#23 ← phi( print_ln/(byte*) print_char_cursor#40 print_ln::@1/(byte*) print_char_cursor#23 ) - (byte*) print_line_cursor#21 ← phi( print_ln/(byte*) print_line_cursor#38 print_ln::@1/(byte*) print_line_cursor#3 ) - (byte*~) print_ln::$0 ← (byte*) print_line_cursor#21 + (byte/signed byte/word/signed word/dword/signed dword) 40 + (byte*) print_char_cursor#19 ← phi( print_ln/(byte*) print_char_cursor#33 print_ln::@1/(byte*) print_char_cursor#19 ) + (byte*) print_line_cursor#17 ← phi( print_ln/(byte*) print_line_cursor#31 print_ln::@1/(byte*) print_line_cursor#3 ) + (byte*~) print_ln::$0 ← (byte*) print_line_cursor#17 + (byte/signed byte/word/signed word/dword/signed dword) 40 (byte*) print_line_cursor#3 ← (byte*~) print_ln::$0 - (boolean~) print_ln::$1 ← (byte*) print_line_cursor#3 < (byte*) print_char_cursor#23 + (boolean~) print_ln::$1 ← (byte*) print_line_cursor#3 < (byte*) print_char_cursor#19 if((boolean~) print_ln::$1) goto print_ln::@1 to:print_ln::@2 print_ln::@2: scope:[print_ln] from print_ln::@1 - (byte*) print_line_cursor#22 ← phi( print_ln::@1/(byte*) print_line_cursor#3 ) - (byte*) print_char_cursor#4 ← (byte*) print_line_cursor#22 + (byte*) print_line_cursor#18 ← phi( print_ln::@1/(byte*) print_line_cursor#3 ) + (byte*) print_char_cursor#4 ← (byte*) print_line_cursor#18 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@2 - (byte*) print_char_cursor#24 ← phi( print_ln::@2/(byte*) print_char_cursor#4 ) - (byte*) print_line_cursor#23 ← phi( print_ln::@2/(byte*) print_line_cursor#22 ) - (byte*) print_line_cursor#4 ← (byte*) print_line_cursor#23 - (byte*) print_char_cursor#5 ← (byte*) print_char_cursor#24 + (byte*) print_char_cursor#20 ← phi( print_ln::@2/(byte*) print_char_cursor#4 ) + (byte*) print_line_cursor#19 ← phi( print_ln::@2/(byte*) print_line_cursor#18 ) + (byte*) print_line_cursor#4 ← (byte*) print_line_cursor#19 + (byte*) print_char_cursor#5 ← (byte*) print_char_cursor#20 return to:@return @11: scope:[] from @1 - (byte*) print_char_cursor#63 ← phi( @1/(byte*) print_char_cursor#0 ) - (byte*) print_line_cursor#63 ← phi( @1/(byte*) print_line_cursor#0 ) - (byte*) print_screen#42 ← phi( @1/(byte*) print_screen#0 ) - (byte[]) print_hextab#0 ← (const string) $20 + (byte*) print_char_cursor#53 ← phi( @1/(byte*) print_char_cursor#0 ) + (byte*) print_line_cursor#53 ← phi( @1/(byte*) print_line_cursor#0 ) + (byte*) print_screen#34 ← phi( @1/(byte*) print_screen#0 ) + (byte[]) print_hextab#0 ← (const string) $56 to:@15 -print_cls: scope:[print_cls] from menu::@15 menu::@18 - (byte*) print_screen#9 ← phi( menu::@15/(byte*) print_screen#5 menu::@18/(byte*) print_screen#6 ) - (byte*) print_cls::sc#0 ← (byte*) print_screen#9 - to:print_cls::@1 -print_cls::@1: scope:[print_cls] from print_cls print_cls::@1 - (byte*) print_screen#10 ← phi( print_cls/(byte*) print_screen#9 print_cls::@1/(byte*) print_screen#10 ) - (byte*) print_cls::sc#2 ← phi( print_cls/(byte*) print_cls::sc#0 print_cls::@1/(byte*) print_cls::sc#1 ) - *((byte*) print_cls::sc#2) ← (byte) ' ' - (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 - (byte*~) print_cls::$0 ← (byte*) print_screen#10 + (word/signed word/dword/signed dword) 1000 - (boolean~) print_cls::$1 ← (byte*) print_cls::sc#1 != (byte*~) print_cls::$0 - if((boolean~) print_cls::$1) goto print_cls::@1 - to:print_cls::@2 -print_cls::@2: scope:[print_cls] from print_cls::@1 - (byte*) print_screen#11 ← phi( print_cls::@1/(byte*) print_screen#10 ) - (byte*) print_line_cursor#5 ← (byte*) print_screen#11 - (byte*) print_char_cursor#6 ← (byte*) print_line_cursor#5 - to:print_cls::@return -print_cls::@return: scope:[print_cls] from print_cls::@2 - (byte*) print_char_cursor#25 ← phi( print_cls::@2/(byte*) print_char_cursor#6 ) - (byte*) print_line_cursor#24 ← phi( print_cls::@2/(byte*) print_line_cursor#5 ) - (byte*) print_line_cursor#6 ← (byte*) print_line_cursor#24 - (byte*) print_char_cursor#7 ← (byte*) print_char_cursor#25 - return - to:@return -print_set_screen: scope:[print_set_screen] from menu::@17 menu::@8 - (byte*) print_set_screen::screen#2 ← phi( menu::@17/(byte*) print_set_screen::screen#1 menu::@8/(byte*) print_set_screen::screen#0 ) +print_set_screen: scope:[print_set_screen] from form_init form_init::@2 + (byte*) print_set_screen::screen#2 ← phi( form_init/(byte*) print_set_screen::screen#0 form_init::@2/(byte*) print_set_screen::screen#1 ) (byte*) print_screen#1 ← (byte*) print_set_screen::screen#2 - (byte*) print_line_cursor#7 ← (byte*) print_screen#1 - (byte*) print_char_cursor#8 ← (byte*) print_line_cursor#7 + (byte*) print_line_cursor#5 ← (byte*) print_screen#1 + (byte*) print_char_cursor#6 ← (byte*) print_line_cursor#5 to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen - (byte*) print_char_cursor#26 ← phi( print_set_screen/(byte*) print_char_cursor#8 ) - (byte*) print_line_cursor#25 ← phi( print_set_screen/(byte*) print_line_cursor#7 ) - (byte*) print_screen#12 ← phi( print_set_screen/(byte*) print_screen#1 ) - (byte*) print_screen#2 ← (byte*) print_screen#12 - (byte*) print_line_cursor#8 ← (byte*) print_line_cursor#25 - (byte*) print_char_cursor#9 ← (byte*) print_char_cursor#26 + (byte*) print_char_cursor#21 ← phi( print_set_screen/(byte*) print_char_cursor#6 ) + (byte*) print_line_cursor#20 ← phi( print_set_screen/(byte*) print_line_cursor#5 ) + (byte*) print_screen#9 ← phi( print_set_screen/(byte*) print_screen#1 ) + (byte*) print_screen#2 ← (byte*) print_screen#9 + (byte*) print_line_cursor#6 ← (byte*) print_line_cursor#20 + (byte*) print_char_cursor#7 ← (byte*) print_char_cursor#21 return to:@return @15: scope:[] from @11 - (byte*) print_char_cursor#60 ← phi( @11/(byte*) print_char_cursor#63 ) - (byte*) print_line_cursor#60 ← phi( @11/(byte*) print_line_cursor#63 ) - (byte*) print_screen#38 ← phi( @11/(byte*) print_screen#42 ) + (byte*) print_char_cursor#51 ← phi( @11/(byte*) print_char_cursor#53 ) + (byte*) print_line_cursor#51 ← phi( @11/(byte*) print_line_cursor#53 ) + (byte*) print_screen#32 ← phi( @11/(byte*) print_screen#34 ) (byte) KEY_CRSR_RIGHT#0 ← (byte/signed byte/word/signed word/dword/signed dword) 2 (byte) KEY_CRSR_DOWN#0 ← (byte/signed byte/word/signed word/dword/signed dword) 7 (byte) KEY_LSHIFT#0 ← (byte/signed byte/word/signed word/dword/signed dword) 15 @@ -3460,6 +4372,13 @@ print_set_screen::@return: scope:[print_set_screen] from print_set_screen (byte[8]) keyboard_matrix_row_bitmask#0 ← { (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[8]) keyboard_matrix_col_bitmask#0 ← { (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 } to:@19 +keyboard_init: scope:[keyboard_init] from main + *((byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 + *((byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:keyboard_init::@return +keyboard_init::@return: scope:[keyboard_init] from keyboard_init + return + to:@return keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_event_scan::@1 (byte) keyboard_matrix_read::rowid#1 ← phi( keyboard_event_scan::@1/(byte) keyboard_matrix_read::rowid#0 ) *((byte*) CIA1_PORT_A#0) ← *((byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#1) @@ -3473,9 +4392,9 @@ keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matri return to:@return @19: scope:[] from @15 - (byte*) print_char_cursor#58 ← phi( @15/(byte*) print_char_cursor#60 ) - (byte*) print_line_cursor#58 ← phi( @15/(byte*) print_line_cursor#60 ) - (byte*) print_screen#35 ← phi( @15/(byte*) print_screen#38 ) + (byte*) print_char_cursor#50 ← phi( @15/(byte*) print_char_cursor#51 ) + (byte*) print_line_cursor#50 ← phi( @15/(byte*) print_line_cursor#51 ) + (byte*) print_screen#31 ← phi( @15/(byte*) print_screen#32 ) (byte[8]) keyboard_events#0 ← { fill( 8, 0) } (byte) keyboard_events_size#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 (byte) keyboard_modifiers#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -3488,12 +4407,12 @@ keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matri (byte[8]) keyboard_scan_values#0 ← { fill( 8, 0) } to:@23 keyboard_event_scan: scope:[keyboard_event_scan] from form_control::@3 - (byte) keyboard_events_size#81 ← phi( form_control::@3/(byte) keyboard_events_size#38 ) + (byte) keyboard_events_size#76 ← phi( form_control::@3/(byte) keyboard_events_size#32 ) (byte) keyboard_event_scan::keycode#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 (byte) keyboard_event_scan::row#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:keyboard_event_scan::@1 keyboard_event_scan::@1: scope:[keyboard_event_scan] from keyboard_event_scan keyboard_event_scan::@8 - (byte) keyboard_events_size#73 ← phi( keyboard_event_scan/(byte) keyboard_events_size#81 keyboard_event_scan::@8/(byte) keyboard_events_size#82 ) + (byte) keyboard_events_size#67 ← phi( keyboard_event_scan/(byte) keyboard_events_size#76 keyboard_event_scan::@8/(byte) keyboard_events_size#77 ) (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte) keyboard_event_scan::keycode#0 keyboard_event_scan::@8/(byte) keyboard_event_scan::keycode#14 ) (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte) keyboard_event_scan::row#0 keyboard_event_scan::@8/(byte) keyboard_event_scan::row#1 ) (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 @@ -3501,7 +4420,7 @@ keyboard_event_scan::@1: scope:[keyboard_event_scan] from keyboard_event_scan k (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#1 to:keyboard_event_scan::@25 keyboard_event_scan::@25: scope:[keyboard_event_scan] from keyboard_event_scan::@1 - (byte) keyboard_events_size#61 ← phi( keyboard_event_scan::@1/(byte) keyboard_events_size#73 ) + (byte) keyboard_events_size#55 ← phi( keyboard_event_scan::@1/(byte) keyboard_events_size#67 ) (byte) keyboard_event_scan::keycode#7 ← phi( keyboard_event_scan::@1/(byte) keyboard_event_scan::keycode#11 ) (byte) keyboard_event_scan::row#3 ← phi( keyboard_event_scan::@1/(byte) keyboard_event_scan::row#2 ) (byte) keyboard_matrix_read::return#4 ← phi( keyboard_event_scan::@1/(byte) keyboard_matrix_read::return#2 ) @@ -3512,21 +4431,21 @@ keyboard_event_scan::@25: scope:[keyboard_event_scan] from keyboard_event_scan: if((boolean~) keyboard_event_scan::$2) goto keyboard_event_scan::@2 to:keyboard_event_scan::@13 keyboard_event_scan::@2: scope:[keyboard_event_scan] from keyboard_event_scan::@25 - (byte) keyboard_events_size#87 ← phi( keyboard_event_scan::@25/(byte) keyboard_events_size#61 ) + (byte) keyboard_events_size#83 ← phi( keyboard_event_scan::@25/(byte) keyboard_events_size#55 ) (byte) keyboard_event_scan::row#9 ← phi( keyboard_event_scan::@25/(byte) keyboard_event_scan::row#3 ) (byte) keyboard_event_scan::keycode#3 ← phi( keyboard_event_scan::@25/(byte) keyboard_event_scan::keycode#7 ) (byte/signed word/word/dword/signed dword~) keyboard_event_scan::$14 ← (byte) keyboard_event_scan::keycode#3 + (byte/signed byte/word/signed word/dword/signed dword) 8 (byte) keyboard_event_scan::keycode#1 ← (byte/signed word/word/dword/signed dword~) keyboard_event_scan::$14 to:keyboard_event_scan::@8 keyboard_event_scan::@13: scope:[keyboard_event_scan] from keyboard_event_scan::@25 - (byte) keyboard_events_size#43 ← phi( keyboard_event_scan::@25/(byte) keyboard_events_size#61 ) + (byte) keyboard_events_size#37 ← phi( keyboard_event_scan::@25/(byte) keyboard_events_size#55 ) (byte) keyboard_event_scan::keycode#12 ← phi( keyboard_event_scan::@25/(byte) keyboard_event_scan::keycode#7 ) (byte) keyboard_event_scan::row#7 ← phi( keyboard_event_scan::@25/(byte) keyboard_event_scan::row#3 ) (byte) keyboard_event_scan::row_scan#4 ← phi( keyboard_event_scan::@25/(byte) keyboard_event_scan::row_scan#0 ) (byte) keyboard_event_scan::col#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:keyboard_event_scan::@3 keyboard_event_scan::@3: scope:[keyboard_event_scan] from keyboard_event_scan::@13 keyboard_event_scan::@4 - (byte) keyboard_events_size#29 ← phi( keyboard_event_scan::@13/(byte) keyboard_events_size#43 keyboard_event_scan::@4/(byte) keyboard_events_size#44 ) + (byte) keyboard_events_size#25 ← phi( keyboard_event_scan::@13/(byte) keyboard_events_size#37 keyboard_event_scan::@4/(byte) keyboard_events_size#38 ) (byte) keyboard_event_scan::keycode#8 ← phi( keyboard_event_scan::@13/(byte) keyboard_event_scan::keycode#12 keyboard_event_scan::@4/(byte) keyboard_event_scan::keycode#2 ) (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@13/(byte) keyboard_event_scan::col#0 keyboard_event_scan::@4/(byte) keyboard_event_scan::col#1 ) (byte) keyboard_event_scan::row#4 ← phi( keyboard_event_scan::@13/(byte) keyboard_event_scan::row#7 keyboard_event_scan::@4/(byte) keyboard_event_scan::row#8 ) @@ -3538,7 +4457,7 @@ keyboard_event_scan::@3: scope:[keyboard_event_scan] from keyboard_event_scan:: if((boolean~) keyboard_event_scan::$6) goto keyboard_event_scan::@4 to:keyboard_event_scan::@14 keyboard_event_scan::@4: scope:[keyboard_event_scan] from keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@5 keyboard_event_scan::@6 - (byte) keyboard_events_size#44 ← phi( keyboard_event_scan::@16/(byte) keyboard_events_size#2 keyboard_event_scan::@3/(byte) keyboard_events_size#29 keyboard_event_scan::@5/(byte) keyboard_events_size#62 keyboard_event_scan::@6/(byte) keyboard_events_size#1 ) + (byte) keyboard_events_size#38 ← phi( keyboard_event_scan::@16/(byte) keyboard_events_size#2 keyboard_event_scan::@3/(byte) keyboard_events_size#25 keyboard_event_scan::@5/(byte) keyboard_events_size#56 keyboard_event_scan::@6/(byte) keyboard_events_size#1 ) (byte) keyboard_event_scan::row#8 ← phi( keyboard_event_scan::@16/(byte) keyboard_event_scan::row#10 keyboard_event_scan::@3/(byte) keyboard_event_scan::row#4 keyboard_event_scan::@5/(byte) keyboard_event_scan::row#11 keyboard_event_scan::@6/(byte) keyboard_event_scan::row#12 ) (byte) keyboard_event_scan::row_scan#5 ← phi( keyboard_event_scan::@16/(byte) keyboard_event_scan::row_scan#7 keyboard_event_scan::@3/(byte) keyboard_event_scan::row_scan#1 keyboard_event_scan::@5/(byte) keyboard_event_scan::row_scan#8 keyboard_event_scan::@6/(byte) keyboard_event_scan::row_scan#9 ) (byte) keyboard_event_scan::col#3 ← phi( keyboard_event_scan::@16/(byte) keyboard_event_scan::col#5 keyboard_event_scan::@3/(byte) keyboard_event_scan::col#2 keyboard_event_scan::@5/(byte) keyboard_event_scan::col#6 keyboard_event_scan::@6/(byte) keyboard_event_scan::col#7 ) @@ -3553,13 +4472,13 @@ keyboard_event_scan::@14: scope:[keyboard_event_scan] from keyboard_event_scan: (byte) keyboard_event_scan::keycode#13 ← phi( keyboard_event_scan::@3/(byte) keyboard_event_scan::keycode#8 ) (byte) keyboard_event_scan::col#8 ← phi( keyboard_event_scan::@3/(byte) keyboard_event_scan::col#2 ) (byte) keyboard_event_scan::row_scan#6 ← phi( keyboard_event_scan::@3/(byte) keyboard_event_scan::row_scan#1 ) - (byte) keyboard_events_size#14 ← phi( keyboard_event_scan::@3/(byte) keyboard_events_size#29 ) - (boolean~) keyboard_event_scan::$7 ← (byte) keyboard_events_size#14 != (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) keyboard_events_size#12 ← phi( keyboard_event_scan::@3/(byte) keyboard_events_size#25 ) + (boolean~) keyboard_event_scan::$7 ← (byte) keyboard_events_size#12 != (byte/signed byte/word/signed word/dword/signed dword) 8 (boolean~) keyboard_event_scan::$8 ← ! (boolean~) keyboard_event_scan::$7 if((boolean~) keyboard_event_scan::$8) goto keyboard_event_scan::@5 to:keyboard_event_scan::@15 keyboard_event_scan::@5: scope:[keyboard_event_scan] from keyboard_event_scan::@14 - (byte) keyboard_events_size#62 ← phi( keyboard_event_scan::@14/(byte) keyboard_events_size#14 ) + (byte) keyboard_events_size#56 ← phi( keyboard_event_scan::@14/(byte) keyboard_events_size#12 ) (byte) keyboard_event_scan::row#11 ← phi( keyboard_event_scan::@14/(byte) keyboard_event_scan::row#13 ) (byte) keyboard_event_scan::row_scan#8 ← phi( keyboard_event_scan::@14/(byte) keyboard_event_scan::row_scan#6 ) (byte) keyboard_event_scan::col#6 ← phi( keyboard_event_scan::@14/(byte) keyboard_event_scan::col#8 ) @@ -3567,7 +4486,7 @@ keyboard_event_scan::@5: scope:[keyboard_event_scan] from keyboard_event_scan:: to:keyboard_event_scan::@4 keyboard_event_scan::@15: scope:[keyboard_event_scan] from keyboard_event_scan::@14 (byte) keyboard_event_scan::row#14 ← phi( keyboard_event_scan::@14/(byte) keyboard_event_scan::row#13 ) - (byte) keyboard_events_size#30 ← phi( keyboard_event_scan::@14/(byte) keyboard_events_size#14 ) + (byte) keyboard_events_size#26 ← phi( keyboard_event_scan::@14/(byte) keyboard_events_size#12 ) (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@14/(byte) keyboard_event_scan::keycode#13 ) (byte) keyboard_event_scan::col#4 ← phi( keyboard_event_scan::@14/(byte) keyboard_event_scan::col#8 ) (byte) keyboard_event_scan::row_scan#2 ← phi( keyboard_event_scan::@14/(byte) keyboard_event_scan::row_scan#6 ) @@ -3581,30 +4500,30 @@ keyboard_event_scan::@6: scope:[keyboard_event_scan] from keyboard_event_scan:: (byte) keyboard_event_scan::row#12 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::row#14 ) (byte) keyboard_event_scan::row_scan#9 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::row_scan#2 ) (byte) keyboard_event_scan::col#7 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::col#4 ) - (byte) keyboard_events_size#15 ← phi( keyboard_event_scan::@15/(byte) keyboard_events_size#30 ) + (byte) keyboard_events_size#13 ← phi( keyboard_event_scan::@15/(byte) keyboard_events_size#26 ) (byte) keyboard_event_scan::keycode#5 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::keycode#10 ) - *((byte[8]) keyboard_events#0 + (byte) keyboard_events_size#15) ← (byte) keyboard_event_scan::keycode#5 - (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#15 + *((byte[8]) keyboard_events#0 + (byte) keyboard_events_size#13) ← (byte) keyboard_event_scan::keycode#5 + (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#13 to:keyboard_event_scan::@4 keyboard_event_scan::@16: scope:[keyboard_event_scan] from keyboard_event_scan::@15 (byte) keyboard_event_scan::row#10 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::row#14 ) (byte) keyboard_event_scan::row_scan#7 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::row_scan#2 ) (byte) keyboard_event_scan::col#5 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::col#4 ) - (byte) keyboard_events_size#16 ← phi( keyboard_event_scan::@15/(byte) keyboard_events_size#30 ) + (byte) keyboard_events_size#14 ← phi( keyboard_event_scan::@15/(byte) keyboard_events_size#26 ) (byte) keyboard_event_scan::keycode#6 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::keycode#10 ) (byte/word/dword~) keyboard_event_scan::$12 ← (byte) keyboard_event_scan::keycode#6 | (byte/signed byte/word/signed word/dword/signed dword) 64 - *((byte[8]) keyboard_events#0 + (byte) keyboard_events_size#16) ← (byte/word/dword~) keyboard_event_scan::$12 - (byte) keyboard_events_size#2 ← ++ (byte) keyboard_events_size#16 + *((byte[8]) keyboard_events#0 + (byte) keyboard_events_size#14) ← (byte/word/dword~) keyboard_event_scan::$12 + (byte) keyboard_events_size#2 ← ++ (byte) keyboard_events_size#14 to:keyboard_event_scan::@4 keyboard_event_scan::@18: scope:[keyboard_event_scan] from keyboard_event_scan::@4 - (byte) keyboard_events_size#86 ← phi( keyboard_event_scan::@4/(byte) keyboard_events_size#44 ) + (byte) keyboard_events_size#82 ← phi( keyboard_event_scan::@4/(byte) keyboard_events_size#38 ) (byte) keyboard_event_scan::keycode#15 ← phi( keyboard_event_scan::@4/(byte) keyboard_event_scan::keycode#2 ) (byte) keyboard_event_scan::row#5 ← phi( keyboard_event_scan::@4/(byte) keyboard_event_scan::row#8 ) (byte) keyboard_event_scan::row_scan#3 ← phi( keyboard_event_scan::@4/(byte) keyboard_event_scan::row_scan#5 ) *((byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#5) ← (byte) keyboard_event_scan::row_scan#3 to:keyboard_event_scan::@8 keyboard_event_scan::@8: scope:[keyboard_event_scan] from keyboard_event_scan::@18 keyboard_event_scan::@2 - (byte) keyboard_events_size#82 ← phi( keyboard_event_scan::@18/(byte) keyboard_events_size#86 keyboard_event_scan::@2/(byte) keyboard_events_size#87 ) + (byte) keyboard_events_size#77 ← phi( keyboard_event_scan::@18/(byte) keyboard_events_size#82 keyboard_event_scan::@2/(byte) keyboard_events_size#83 ) (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 ) (byte) keyboard_event_scan::row#6 ← phi( keyboard_event_scan::@18/(byte) keyboard_event_scan::row#5 keyboard_event_scan::@2/(byte) keyboard_event_scan::row#9 ) (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#6 @@ -3612,15 +4531,15 @@ keyboard_event_scan::@8: scope:[keyboard_event_scan] from keyboard_event_scan:: if((boolean~) keyboard_event_scan::$15) goto keyboard_event_scan::@1 to:keyboard_event_scan::@20 keyboard_event_scan::@20: scope:[keyboard_event_scan] from keyboard_event_scan::@8 - (byte) keyboard_events_size#96 ← phi( keyboard_event_scan::@8/(byte) keyboard_events_size#82 ) + (byte) keyboard_events_size#91 ← phi( keyboard_event_scan::@8/(byte) keyboard_events_size#77 ) (byte) keyboard_modifiers#1 ← (byte/signed byte/word/signed word/dword/signed dword) 0 (byte) keyboard_event_pressed::keycode#0 ← (byte) KEY_LSHIFT#0 call keyboard_event_pressed param-assignment (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#5 to:keyboard_event_scan::@26 keyboard_event_scan::@26: scope:[keyboard_event_scan] from keyboard_event_scan::@20 - (byte) keyboard_events_size#94 ← phi( keyboard_event_scan::@20/(byte) keyboard_events_size#96 ) - (byte) keyboard_modifiers#28 ← phi( keyboard_event_scan::@20/(byte) keyboard_modifiers#1 ) + (byte) keyboard_events_size#90 ← phi( keyboard_event_scan::@20/(byte) keyboard_events_size#91 ) + (byte) keyboard_modifiers#24 ← phi( keyboard_event_scan::@20/(byte) keyboard_modifiers#1 ) (byte) keyboard_event_pressed::return#6 ← phi( keyboard_event_scan::@20/(byte) keyboard_event_pressed::return#0 ) (byte~) keyboard_event_scan::$16 ← (byte) keyboard_event_pressed::return#6 (boolean~) keyboard_event_scan::$17 ← (byte~) keyboard_event_scan::$16 != (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -3628,15 +4547,15 @@ keyboard_event_scan::@26: scope:[keyboard_event_scan] from keyboard_event_scan: if((boolean~) keyboard_event_scan::$18) goto keyboard_event_scan::@9 to:keyboard_event_scan::@21 keyboard_event_scan::@9: scope:[keyboard_event_scan] from keyboard_event_scan::@21 keyboard_event_scan::@26 - (byte) keyboard_events_size#91 ← phi( keyboard_event_scan::@21/(byte) keyboard_events_size#93 keyboard_event_scan::@26/(byte) keyboard_events_size#94 ) - (byte) keyboard_modifiers#44 ← phi( keyboard_event_scan::@21/(byte) keyboard_modifiers#2 keyboard_event_scan::@26/(byte) keyboard_modifiers#28 ) + (byte) keyboard_events_size#88 ← phi( keyboard_event_scan::@21/(byte) keyboard_events_size#89 keyboard_event_scan::@26/(byte) keyboard_events_size#90 ) + (byte) keyboard_modifiers#38 ← phi( keyboard_event_scan::@21/(byte) keyboard_modifiers#2 keyboard_event_scan::@26/(byte) keyboard_modifiers#24 ) (byte) keyboard_event_pressed::keycode#1 ← (byte) KEY_RSHIFT#0 call keyboard_event_pressed param-assignment (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#5 to:keyboard_event_scan::@27 keyboard_event_scan::@27: scope:[keyboard_event_scan] from keyboard_event_scan::@9 - (byte) keyboard_events_size#89 ← phi( keyboard_event_scan::@9/(byte) keyboard_events_size#91 ) - (byte) keyboard_modifiers#29 ← phi( keyboard_event_scan::@9/(byte) keyboard_modifiers#44 ) + (byte) keyboard_events_size#85 ← phi( keyboard_event_scan::@9/(byte) keyboard_events_size#88 ) + (byte) keyboard_modifiers#25 ← phi( keyboard_event_scan::@9/(byte) keyboard_modifiers#38 ) (byte) keyboard_event_pressed::return#7 ← phi( keyboard_event_scan::@9/(byte) keyboard_event_pressed::return#1 ) (byte~) keyboard_event_scan::$20 ← (byte) keyboard_event_pressed::return#7 (boolean~) keyboard_event_scan::$21 ← (byte~) keyboard_event_scan::$20 != (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -3644,21 +4563,21 @@ keyboard_event_scan::@27: scope:[keyboard_event_scan] from keyboard_event_scan: if((boolean~) keyboard_event_scan::$22) goto keyboard_event_scan::@10 to:keyboard_event_scan::@22 keyboard_event_scan::@21: scope:[keyboard_event_scan] from keyboard_event_scan::@26 - (byte) keyboard_events_size#93 ← phi( keyboard_event_scan::@26/(byte) keyboard_events_size#94 ) - (byte) keyboard_modifiers#14 ← phi( keyboard_event_scan::@26/(byte) keyboard_modifiers#28 ) - (byte~) keyboard_event_scan::$19 ← (byte) keyboard_modifiers#14 | (byte) KEY_MODIFIER_LSHIFT#0 + (byte) keyboard_events_size#89 ← phi( keyboard_event_scan::@26/(byte) keyboard_events_size#90 ) + (byte) keyboard_modifiers#12 ← phi( keyboard_event_scan::@26/(byte) keyboard_modifiers#24 ) + (byte~) keyboard_event_scan::$19 ← (byte) keyboard_modifiers#12 | (byte) KEY_MODIFIER_LSHIFT#0 (byte) keyboard_modifiers#2 ← (byte~) keyboard_event_scan::$19 to:keyboard_event_scan::@9 keyboard_event_scan::@10: scope:[keyboard_event_scan] from keyboard_event_scan::@22 keyboard_event_scan::@27 - (byte) keyboard_events_size#83 ← phi( keyboard_event_scan::@22/(byte) keyboard_events_size#88 keyboard_event_scan::@27/(byte) keyboard_events_size#89 ) - (byte) keyboard_modifiers#45 ← phi( keyboard_event_scan::@22/(byte) keyboard_modifiers#3 keyboard_event_scan::@27/(byte) keyboard_modifiers#29 ) + (byte) keyboard_events_size#78 ← phi( keyboard_event_scan::@22/(byte) keyboard_events_size#84 keyboard_event_scan::@27/(byte) keyboard_events_size#85 ) + (byte) keyboard_modifiers#39 ← phi( keyboard_event_scan::@22/(byte) keyboard_modifiers#3 keyboard_event_scan::@27/(byte) keyboard_modifiers#25 ) (byte) keyboard_event_pressed::keycode#2 ← (byte) KEY_CTRL#0 call keyboard_event_pressed param-assignment (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#5 to:keyboard_event_scan::@28 keyboard_event_scan::@28: scope:[keyboard_event_scan] from keyboard_event_scan::@10 - (byte) keyboard_events_size#75 ← phi( keyboard_event_scan::@10/(byte) keyboard_events_size#83 ) - (byte) keyboard_modifiers#30 ← phi( keyboard_event_scan::@10/(byte) keyboard_modifiers#45 ) + (byte) keyboard_events_size#69 ← phi( keyboard_event_scan::@10/(byte) keyboard_events_size#78 ) + (byte) keyboard_modifiers#26 ← phi( keyboard_event_scan::@10/(byte) keyboard_modifiers#39 ) (byte) keyboard_event_pressed::return#8 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_pressed::return#2 ) (byte~) keyboard_event_scan::$24 ← (byte) keyboard_event_pressed::return#8 (boolean~) keyboard_event_scan::$25 ← (byte~) keyboard_event_scan::$24 != (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -3666,21 +4585,21 @@ keyboard_event_scan::@28: scope:[keyboard_event_scan] from keyboard_event_scan: if((boolean~) keyboard_event_scan::$26) goto keyboard_event_scan::@11 to:keyboard_event_scan::@23 keyboard_event_scan::@22: scope:[keyboard_event_scan] from keyboard_event_scan::@27 - (byte) keyboard_events_size#88 ← phi( keyboard_event_scan::@27/(byte) keyboard_events_size#89 ) - (byte) keyboard_modifiers#15 ← phi( keyboard_event_scan::@27/(byte) keyboard_modifiers#29 ) - (byte~) keyboard_event_scan::$23 ← (byte) keyboard_modifiers#15 | (byte) KEY_MODIFIER_RSHIFT#0 + (byte) keyboard_events_size#84 ← phi( keyboard_event_scan::@27/(byte) keyboard_events_size#85 ) + (byte) keyboard_modifiers#13 ← phi( keyboard_event_scan::@27/(byte) keyboard_modifiers#25 ) + (byte~) keyboard_event_scan::$23 ← (byte) keyboard_modifiers#13 | (byte) KEY_MODIFIER_RSHIFT#0 (byte) keyboard_modifiers#3 ← (byte~) keyboard_event_scan::$23 to:keyboard_event_scan::@10 keyboard_event_scan::@11: scope:[keyboard_event_scan] from keyboard_event_scan::@23 keyboard_event_scan::@28 - (byte) keyboard_events_size#63 ← phi( keyboard_event_scan::@23/(byte) keyboard_events_size#74 keyboard_event_scan::@28/(byte) keyboard_events_size#75 ) - (byte) keyboard_modifiers#46 ← phi( keyboard_event_scan::@23/(byte) keyboard_modifiers#4 keyboard_event_scan::@28/(byte) keyboard_modifiers#30 ) + (byte) keyboard_events_size#57 ← phi( keyboard_event_scan::@23/(byte) keyboard_events_size#68 keyboard_event_scan::@28/(byte) keyboard_events_size#69 ) + (byte) keyboard_modifiers#40 ← phi( keyboard_event_scan::@23/(byte) keyboard_modifiers#4 keyboard_event_scan::@28/(byte) keyboard_modifiers#26 ) (byte) keyboard_event_pressed::keycode#3 ← (byte) KEY_COMMODORE#0 call keyboard_event_pressed param-assignment (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#5 to:keyboard_event_scan::@29 keyboard_event_scan::@29: scope:[keyboard_event_scan] from keyboard_event_scan::@11 - (byte) keyboard_events_size#45 ← phi( keyboard_event_scan::@11/(byte) keyboard_events_size#63 ) - (byte) keyboard_modifiers#31 ← phi( keyboard_event_scan::@11/(byte) keyboard_modifiers#46 ) + (byte) keyboard_events_size#39 ← phi( keyboard_event_scan::@11/(byte) keyboard_events_size#57 ) + (byte) keyboard_modifiers#27 ← phi( keyboard_event_scan::@11/(byte) keyboard_modifiers#40 ) (byte) keyboard_event_pressed::return#9 ← phi( keyboard_event_scan::@11/(byte) keyboard_event_pressed::return#3 ) (byte~) keyboard_event_scan::$28 ← (byte) keyboard_event_pressed::return#9 (boolean~) keyboard_event_scan::$29 ← (byte~) keyboard_event_scan::$28 != (byte/signed byte/word/signed word/dword/signed dword) 0 @@ -3688,26 +4607,26 @@ keyboard_event_scan::@29: scope:[keyboard_event_scan] from keyboard_event_scan: if((boolean~) keyboard_event_scan::$30) goto keyboard_event_scan::@12 to:keyboard_event_scan::@24 keyboard_event_scan::@23: scope:[keyboard_event_scan] from keyboard_event_scan::@28 - (byte) keyboard_events_size#74 ← phi( keyboard_event_scan::@28/(byte) keyboard_events_size#75 ) - (byte) keyboard_modifiers#16 ← phi( keyboard_event_scan::@28/(byte) keyboard_modifiers#30 ) - (byte~) keyboard_event_scan::$27 ← (byte) keyboard_modifiers#16 | (byte) KEY_MODIFIER_CTRL#0 + (byte) keyboard_events_size#68 ← phi( keyboard_event_scan::@28/(byte) keyboard_events_size#69 ) + (byte) keyboard_modifiers#14 ← phi( keyboard_event_scan::@28/(byte) keyboard_modifiers#26 ) + (byte~) keyboard_event_scan::$27 ← (byte) keyboard_modifiers#14 | (byte) KEY_MODIFIER_CTRL#0 (byte) keyboard_modifiers#4 ← (byte~) keyboard_event_scan::$27 to:keyboard_event_scan::@11 keyboard_event_scan::@12: scope:[keyboard_event_scan] from keyboard_event_scan::@29 - (byte) keyboard_modifiers#32 ← phi( keyboard_event_scan::@29/(byte) keyboard_modifiers#31 ) - (byte) keyboard_events_size#31 ← phi( keyboard_event_scan::@29/(byte) keyboard_events_size#45 ) + (byte) keyboard_modifiers#28 ← phi( keyboard_event_scan::@29/(byte) keyboard_modifiers#27 ) + (byte) keyboard_events_size#27 ← phi( keyboard_event_scan::@29/(byte) keyboard_events_size#39 ) to:keyboard_event_scan::@return keyboard_event_scan::@24: scope:[keyboard_event_scan] from keyboard_event_scan::@29 - (byte) keyboard_events_size#32 ← phi( keyboard_event_scan::@29/(byte) keyboard_events_size#45 ) - (byte) keyboard_modifiers#17 ← phi( keyboard_event_scan::@29/(byte) keyboard_modifiers#31 ) - (byte~) keyboard_event_scan::$31 ← (byte) keyboard_modifiers#17 | (byte) KEY_MODIFIER_COMMODORE#0 + (byte) keyboard_events_size#28 ← phi( keyboard_event_scan::@29/(byte) keyboard_events_size#39 ) + (byte) keyboard_modifiers#15 ← phi( keyboard_event_scan::@29/(byte) keyboard_modifiers#27 ) + (byte~) keyboard_event_scan::$31 ← (byte) keyboard_modifiers#15 | (byte) KEY_MODIFIER_COMMODORE#0 (byte) keyboard_modifiers#5 ← (byte~) keyboard_event_scan::$31 to:keyboard_event_scan::@return keyboard_event_scan::@return: scope:[keyboard_event_scan] from keyboard_event_scan::@12 keyboard_event_scan::@24 - (byte) keyboard_modifiers#18 ← phi( keyboard_event_scan::@12/(byte) keyboard_modifiers#32 keyboard_event_scan::@24/(byte) keyboard_modifiers#5 ) - (byte) keyboard_events_size#17 ← phi( keyboard_event_scan::@12/(byte) keyboard_events_size#31 keyboard_event_scan::@24/(byte) keyboard_events_size#32 ) - (byte) keyboard_events_size#3 ← (byte) keyboard_events_size#17 - (byte) keyboard_modifiers#6 ← (byte) keyboard_modifiers#18 + (byte) keyboard_modifiers#16 ← phi( keyboard_event_scan::@12/(byte) keyboard_modifiers#28 keyboard_event_scan::@24/(byte) keyboard_modifiers#5 ) + (byte) keyboard_events_size#15 ← phi( keyboard_event_scan::@12/(byte) keyboard_events_size#27 keyboard_event_scan::@24/(byte) keyboard_events_size#28 ) + (byte) keyboard_events_size#3 ← (byte) keyboard_events_size#15 + (byte) keyboard_modifiers#6 ← (byte) keyboard_modifiers#16 return to:@return keyboard_event_pressed: scope:[keyboard_event_pressed] from keyboard_event_scan::@10 keyboard_event_scan::@11 keyboard_event_scan::@20 keyboard_event_scan::@9 @@ -3723,407 +4642,709 @@ keyboard_event_pressed::@return: scope:[keyboard_event_pressed] from keyboard_e (byte) keyboard_event_pressed::return#5 ← (byte) keyboard_event_pressed::return#10 return to:@return -keyboard_event_get: scope:[keyboard_event_get] from form_control::@29 - (byte) keyboard_events_size#18 ← phi( form_control::@29/(byte) keyboard_events_size#10 ) - (boolean~) keyboard_event_get::$0 ← (byte) keyboard_events_size#18 == (byte/signed byte/word/signed word/dword/signed dword) 0 +keyboard_event_get: scope:[keyboard_event_get] from form_control::@30 + (byte) keyboard_events_size#16 ← phi( form_control::@30/(byte) keyboard_events_size#8 ) + (boolean~) keyboard_event_get::$0 ← (byte) keyboard_events_size#16 == (byte/signed byte/word/signed word/dword/signed dword) 0 (boolean~) keyboard_event_get::$1 ← ! (boolean~) keyboard_event_get::$0 if((boolean~) keyboard_event_get::$1) goto keyboard_event_get::@1 to:keyboard_event_get::@3 keyboard_event_get::@1: scope:[keyboard_event_get] from keyboard_event_get - (byte) keyboard_events_size#19 ← phi( keyboard_event_get/(byte) keyboard_events_size#18 ) - (byte) keyboard_events_size#4 ← -- (byte) keyboard_events_size#19 + (byte) keyboard_events_size#17 ← phi( keyboard_event_get/(byte) keyboard_events_size#16 ) + (byte) keyboard_events_size#4 ← -- (byte) keyboard_events_size#17 (byte) keyboard_event_get::return#0 ← *((byte[8]) keyboard_events#0 + (byte) keyboard_events_size#4) to:keyboard_event_get::@return keyboard_event_get::@3: scope:[keyboard_event_get] from keyboard_event_get - (byte) keyboard_events_size#33 ← phi( keyboard_event_get/(byte) keyboard_events_size#18 ) + (byte) keyboard_events_size#29 ← phi( keyboard_event_get/(byte) keyboard_events_size#16 ) (byte) keyboard_event_get::return#1 ← (byte/word/signed word/dword/signed dword) 255 to:keyboard_event_get::@return keyboard_event_get::@return: scope:[keyboard_event_get] from keyboard_event_get::@1 keyboard_event_get::@3 - (byte) keyboard_events_size#20 ← phi( keyboard_event_get::@1/(byte) keyboard_events_size#4 keyboard_event_get::@3/(byte) keyboard_events_size#33 ) + (byte) keyboard_events_size#18 ← phi( keyboard_event_get::@1/(byte) keyboard_events_size#4 keyboard_event_get::@3/(byte) keyboard_events_size#29 ) (byte) keyboard_event_get::return#4 ← phi( keyboard_event_get::@1/(byte) keyboard_event_get::return#0 keyboard_event_get::@3/(byte) keyboard_event_get::return#1 ) (byte) keyboard_event_get::return#2 ← (byte) keyboard_event_get::return#4 - (byte) keyboard_events_size#5 ← (byte) keyboard_events_size#20 + (byte) keyboard_events_size#5 ← (byte) keyboard_events_size#18 return to:@return -main: scope:[main] from @28 - (byte) form_fields_cnt#36 ← phi( @28/(byte) form_fields_cnt#38 ) - (byte) form_field_idx#36 ← phi( @28/(byte) form_field_idx#35 ) - (byte) keyboard_modifiers#47 ← phi( @28/(byte) keyboard_modifiers#43 ) - (byte) keyboard_events_size#46 ← phi( @28/(byte) keyboard_events_size#42 ) - (signed byte) form_cursor_count#26 ← phi( @28/(signed byte) form_cursor_count#25 ) - (byte*) print_char_cursor#49 ← phi( @28/(byte*) print_char_cursor#45 ) - (byte*) print_line_cursor#46 ← phi( @28/(byte*) print_line_cursor#43 ) - (byte*) print_screen#25 ← phi( @28/(byte*) print_screen#24 ) +main: scope:[main] from @32 + (byte) form_fields_cnt#27 ← phi( @32/(byte) form_fields_cnt#30 ) + (byte) form_field_idx#44 ← phi( @32/(byte) form_field_idx#29 ) + (byte) keyboard_modifiers#68 ← phi( @32/(byte) keyboard_modifiers#37 ) + (byte) keyboard_events_size#79 ← phi( @32/(byte) keyboard_events_size#36 ) + (signed byte) form_cursor_count#38 ← phi( @32/(signed byte) form_cursor_count#19 ) + (byte*) print_char_cursor#46 ← phi( @32/(byte*) print_char_cursor#38 ) + (byte*) print_line_cursor#45 ← phi( @32/(byte*) print_line_cursor#36 ) + (byte*) print_screen#26 ← phi( @32/(byte*) print_screen#21 ) asm { sei } *((byte*) DTV_FEATURE#0) ← (byte) DTV_FEATURE_ENABLE#0 + call keyboard_init param-assignment + to:main::@19 +main::@19: scope:[main] from main + (byte) form_fields_cnt#25 ← phi( main/(byte) form_fields_cnt#27 ) + (byte) form_field_idx#41 ← phi( main/(byte) form_field_idx#44 ) + (byte) keyboard_modifiers#64 ← phi( main/(byte) keyboard_modifiers#68 ) + (byte) keyboard_events_size#70 ← phi( main/(byte) keyboard_events_size#79 ) + (signed byte) form_cursor_count#34 ← phi( main/(signed byte) form_cursor_count#38 ) + (byte*) print_char_cursor#42 ← phi( main/(byte*) print_char_cursor#46 ) + (byte*) print_line_cursor#39 ← phi( main/(byte*) print_line_cursor#45 ) + (byte*) print_screen#22 ← phi( main/(byte*) print_screen#26 ) + call gfx_init param-assignment + to:main::@20 +main::@20: scope:[main] from main::@19 + (byte) form_fields_cnt#23 ← phi( main::@19/(byte) form_fields_cnt#25 ) + (byte) form_field_idx#37 ← phi( main::@19/(byte) form_field_idx#41 ) + (byte) keyboard_modifiers#55 ← phi( main::@19/(byte) keyboard_modifiers#64 ) + (byte) keyboard_events_size#58 ← phi( main::@19/(byte) keyboard_events_size#70 ) + (signed byte) form_cursor_count#28 ← phi( main::@19/(signed byte) form_cursor_count#34 ) + (byte*) print_char_cursor#34 ← phi( main::@19/(byte*) print_char_cursor#42 ) + (byte*) print_line_cursor#32 ← phi( main::@19/(byte*) print_line_cursor#39 ) + (byte*) print_screen#16 ← phi( main::@19/(byte*) print_screen#22 ) + call form_init param-assignment + to:main::@21 +main::@21: scope:[main] from main::@20 + (byte) form_fields_cnt#37 ← phi( main::@20/(byte) form_fields_cnt#23 ) + (byte) form_field_idx#30 ← phi( main::@20/(byte) form_field_idx#37 ) + (byte) keyboard_modifiers#41 ← phi( main::@20/(byte) keyboard_modifiers#55 ) + (byte) keyboard_events_size#40 ← phi( main::@20/(byte) keyboard_events_size#58 ) + (signed byte) form_cursor_count#20 ← phi( main::@20/(signed byte) form_cursor_count#28 ) + (byte*) print_char_cursor#22 ← phi( main::@20/(byte*) print_char_cursor#14 ) + (byte*) print_line_cursor#21 ← phi( main::@20/(byte*) print_line_cursor#13 ) + (byte*) print_screen#10 ← phi( main::@20/(byte*) print_screen#7 ) + (byte*) print_screen#3 ← (byte*) print_screen#10 + (byte*) print_line_cursor#7 ← (byte*) print_line_cursor#21 + (byte*) print_char_cursor#8 ← (byte*) print_char_cursor#22 to:main::@1 -main::@1: scope:[main] from main main::@7 - (byte) form_fields_cnt#35 ← phi( main/(byte) form_fields_cnt#36 main::@7/(byte) form_fields_cnt#37 ) - (byte) form_field_idx#26 ← phi( main/(byte) form_field_idx#36 main::@7/(byte) form_field_idx#0 ) - (byte) keyboard_modifiers#34 ← phi( main/(byte) keyboard_modifiers#47 main::@7/(byte) keyboard_modifiers#7 ) - (byte) keyboard_events_size#35 ← phi( main/(byte) keyboard_events_size#46 main::@7/(byte) keyboard_events_size#6 ) - (signed byte) form_cursor_count#19 ← phi( main/(signed byte) form_cursor_count#26 main::@7/(signed byte) form_cursor_count#0 ) - (byte*) print_char_cursor#42 ← phi( main/(byte*) print_char_cursor#49 main::@7/(byte*) print_char_cursor#10 ) - (byte*) print_line_cursor#40 ← phi( main/(byte*) print_line_cursor#46 main::@7/(byte*) print_line_cursor#9 ) - (byte*) print_screen#20 ← phi( main/(byte*) print_screen#25 main::@7/(byte*) print_screen#3 ) +main::@1: scope:[main] from main::@21 main::@24 + (byte) form_fields_cnt#36 ← phi( main::@21/(byte) form_fields_cnt#37 main::@24/(byte) form_fields_cnt#38 ) + (byte) form_field_idx#22 ← phi( main::@21/(byte) form_field_idx#30 main::@24/(byte) form_field_idx#31 ) + (byte) keyboard_modifiers#30 ← phi( main::@21/(byte) keyboard_modifiers#41 main::@24/(byte) keyboard_modifiers#42 ) + (byte) keyboard_events_size#31 ← phi( main::@21/(byte) keyboard_events_size#40 main::@24/(byte) keyboard_events_size#41 ) + (signed byte) form_cursor_count#15 ← phi( main::@21/(signed byte) form_cursor_count#20 main::@24/(signed byte) form_cursor_count#21 ) + (byte*) print_char_cursor#35 ← phi( main::@21/(byte*) print_char_cursor#8 main::@24/(byte*) print_char_cursor#43 ) + (byte*) print_line_cursor#33 ← phi( main::@21/(byte*) print_line_cursor#7 main::@24/(byte*) print_line_cursor#40 ) + (byte*) print_screen#17 ← phi( main::@21/(byte*) print_screen#3 main::@24/(byte*) print_screen#23 ) if(true) goto main::@2 to:main::@return main::@2: scope:[main] from main::@1 - (byte) form_fields_cnt#32 ← phi( main::@1/(byte) form_fields_cnt#35 ) - (byte) form_field_idx#25 ← phi( main::@1/(byte) form_field_idx#26 ) - (byte) keyboard_modifiers#33 ← phi( main::@1/(byte) keyboard_modifiers#34 ) - (byte) keyboard_events_size#34 ← phi( main::@1/(byte) keyboard_events_size#35 ) - (signed byte) form_cursor_count#18 ← phi( main::@1/(signed byte) form_cursor_count#19 ) - (byte*) print_char_cursor#41 ← phi( main::@1/(byte*) print_char_cursor#42 ) - (byte*) print_line_cursor#39 ← phi( main::@1/(byte*) print_line_cursor#40 ) - (byte*) print_screen#19 ← phi( main::@1/(byte*) print_screen#20 ) - call menu param-assignment + (byte) form_fields_cnt#34 ← phi( main::@1/(byte) form_fields_cnt#36 ) + (byte*) print_char_cursor#58 ← phi( main::@1/(byte*) print_char_cursor#35 ) + (byte*) print_line_cursor#58 ← phi( main::@1/(byte*) print_line_cursor#33 ) + (byte*) print_screen#39 ← phi( main::@1/(byte*) print_screen#17 ) + (byte) form_field_idx#48 ← phi( main::@1/(byte) form_field_idx#22 ) + (byte) keyboard_modifiers#71 ← phi( main::@1/(byte) keyboard_modifiers#30 ) + (byte) keyboard_events_size#86 ← phi( main::@1/(byte) keyboard_events_size#31 ) + (signed byte) form_cursor_count#41 ← phi( main::@1/(signed byte) form_cursor_count#15 ) + to:main::@4 +main::@4: scope:[main] from main::@2 main::@5 + (byte) form_fields_cnt#32 ← phi( main::@2/(byte) form_fields_cnt#34 main::@5/(byte) form_fields_cnt#35 ) + (byte*) print_char_cursor#57 ← phi( main::@2/(byte*) print_char_cursor#58 main::@5/(byte*) print_char_cursor#59 ) + (byte*) print_line_cursor#57 ← phi( main::@2/(byte*) print_line_cursor#58 main::@5/(byte*) print_line_cursor#59 ) + (byte*) print_screen#38 ← phi( main::@2/(byte*) print_screen#39 main::@5/(byte*) print_screen#40 ) + (byte) form_field_idx#45 ← phi( main::@2/(byte) form_field_idx#48 main::@5/(byte) form_field_idx#49 ) + (byte) keyboard_modifiers#69 ← phi( main::@2/(byte) keyboard_modifiers#71 main::@5/(byte) keyboard_modifiers#72 ) + (byte) keyboard_events_size#80 ← phi( main::@2/(byte) keyboard_events_size#86 main::@5/(byte) keyboard_events_size#87 ) + (signed byte) form_cursor_count#39 ← phi( main::@2/(signed byte) form_cursor_count#41 main::@5/(signed byte) form_cursor_count#42 ) + (byte/word/signed word/dword/signed dword~) main::$3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 * (byte/signed byte/word/signed word/dword/signed dword) 16 + (byte/word/signed word/dword/signed dword~) main::$4 ← (byte/signed byte/word/signed word/dword/signed dword) 48 + (byte/word/signed word/dword/signed dword~) main::$3 + (boolean~) main::$5 ← *((byte*) RASTER#0) != (byte/word/signed word/dword/signed dword~) main::$4 + if((boolean~) main::$5) goto main::@5 + to:main::@6 +main::@5: scope:[main] from main::@4 + (byte) form_fields_cnt#35 ← phi( main::@4/(byte) form_fields_cnt#32 ) + (byte*) print_char_cursor#59 ← phi( main::@4/(byte*) print_char_cursor#57 ) + (byte*) print_line_cursor#59 ← phi( main::@4/(byte*) print_line_cursor#57 ) + (byte*) print_screen#40 ← phi( main::@4/(byte*) print_screen#38 ) + (byte) form_field_idx#49 ← phi( main::@4/(byte) form_field_idx#45 ) + (byte) keyboard_modifiers#72 ← phi( main::@4/(byte) keyboard_modifiers#69 ) + (byte) keyboard_events_size#87 ← phi( main::@4/(byte) keyboard_events_size#80 ) + (signed byte) form_cursor_count#42 ← phi( main::@4/(signed byte) form_cursor_count#39 ) + to:main::@4 +main::@6: scope:[main] from main::@4 + (byte) form_fields_cnt#31 ← phi( main::@4/(byte) form_fields_cnt#32 ) + (byte*) print_char_cursor#56 ← phi( main::@4/(byte*) print_char_cursor#57 ) + (byte*) print_line_cursor#56 ← phi( main::@4/(byte*) print_line_cursor#57 ) + (byte*) print_screen#37 ← phi( main::@4/(byte*) print_screen#38 ) + (byte) form_field_idx#42 ← phi( main::@4/(byte) form_field_idx#45 ) + (byte) keyboard_modifiers#65 ← phi( main::@4/(byte) keyboard_modifiers#69 ) + (byte) keyboard_events_size#71 ← phi( main::@4/(byte) keyboard_events_size#80 ) + (signed byte) form_cursor_count#35 ← phi( main::@4/(signed byte) form_cursor_count#39 ) + call form_mode param-assignment + to:main::@22 +main::@22: scope:[main] from main::@6 + (byte) form_fields_cnt#28 ← phi( main::@6/(byte) form_fields_cnt#31 ) + (byte*) print_char_cursor#54 ← phi( main::@6/(byte*) print_char_cursor#56 ) + (byte*) print_line_cursor#54 ← phi( main::@6/(byte*) print_line_cursor#56 ) + (byte*) print_screen#35 ← phi( main::@6/(byte*) print_screen#37 ) + (byte) form_field_idx#38 ← phi( main::@6/(byte) form_field_idx#42 ) + (byte) keyboard_modifiers#56 ← phi( main::@6/(byte) keyboard_modifiers#65 ) + (byte) keyboard_events_size#59 ← phi( main::@6/(byte) keyboard_events_size#71 ) + (signed byte) form_cursor_count#29 ← phi( main::@6/(signed byte) form_cursor_count#35 ) to:main::@7 -main::@7: scope:[main] from main::@2 - (byte) form_fields_cnt#37 ← phi( main::@2/(byte) form_fields_cnt#32 ) - (byte) form_field_idx#11 ← phi( main::@2/(byte) form_field_idx#3 ) - (byte) keyboard_modifiers#19 ← phi( main::@2/(byte) keyboard_modifiers#10 ) - (byte) keyboard_events_size#21 ← phi( main::@2/(byte) keyboard_events_size#9 ) - (signed byte) form_cursor_count#10 ← phi( main::@2/(signed byte) form_cursor_count#3 ) - (byte*) print_char_cursor#27 ← phi( main::@2/(byte*) print_char_cursor#18 ) - (byte*) print_line_cursor#26 ← phi( main::@2/(byte*) print_line_cursor#17 ) - (byte*) print_screen#13 ← phi( main::@2/(byte*) print_screen#7 ) - (byte*) print_screen#3 ← (byte*) print_screen#13 - (byte*) print_line_cursor#9 ← (byte*) print_line_cursor#26 - (byte*) print_char_cursor#10 ← (byte*) print_char_cursor#27 - (signed byte) form_cursor_count#0 ← (signed byte) form_cursor_count#10 - (byte) keyboard_events_size#6 ← (byte) keyboard_events_size#21 - (byte) keyboard_modifiers#7 ← (byte) keyboard_modifiers#19 - (byte) form_field_idx#0 ← (byte) form_field_idx#11 +main::@7: scope:[main] from main::@22 main::@8 + (byte) form_fields_cnt#26 ← phi( main::@22/(byte) form_fields_cnt#28 main::@8/(byte) form_fields_cnt#29 ) + (byte*) print_char_cursor#52 ← phi( main::@22/(byte*) print_char_cursor#54 main::@8/(byte*) print_char_cursor#55 ) + (byte*) print_line_cursor#52 ← phi( main::@22/(byte*) print_line_cursor#54 main::@8/(byte*) print_line_cursor#55 ) + (byte*) print_screen#33 ← phi( main::@22/(byte*) print_screen#35 main::@8/(byte*) print_screen#36 ) + (byte) form_field_idx#32 ← phi( main::@22/(byte) form_field_idx#38 main::@8/(byte) form_field_idx#39 ) + (byte) keyboard_modifiers#43 ← phi( main::@22/(byte) keyboard_modifiers#56 main::@8/(byte) keyboard_modifiers#57 ) + (byte) keyboard_events_size#42 ← phi( main::@22/(byte) keyboard_events_size#59 main::@8/(byte) keyboard_events_size#60 ) + (signed byte) form_cursor_count#22 ← phi( main::@22/(signed byte) form_cursor_count#29 main::@8/(signed byte) form_cursor_count#30 ) + (boolean~) main::$7 ← *((byte*) RASTER#0) != (byte/word/signed word/dword/signed dword) 255 + if((boolean~) main::$7) goto main::@8 + to:main::@9 +main::@8: scope:[main] from main::@7 + (byte) form_fields_cnt#29 ← phi( main::@7/(byte) form_fields_cnt#26 ) + (byte*) print_char_cursor#55 ← phi( main::@7/(byte*) print_char_cursor#52 ) + (byte*) print_line_cursor#55 ← phi( main::@7/(byte*) print_line_cursor#52 ) + (byte*) print_screen#36 ← phi( main::@7/(byte*) print_screen#33 ) + (byte) form_field_idx#39 ← phi( main::@7/(byte) form_field_idx#32 ) + (byte) keyboard_modifiers#57 ← phi( main::@7/(byte) keyboard_modifiers#43 ) + (byte) keyboard_events_size#60 ← phi( main::@7/(byte) keyboard_events_size#42 ) + (signed byte) form_cursor_count#30 ← phi( main::@7/(signed byte) form_cursor_count#22 ) + to:main::@7 +main::@9: scope:[main] from main::@7 + (byte) form_fields_cnt#24 ← phi( main::@7/(byte) form_fields_cnt#26 ) + (byte*) print_char_cursor#49 ← phi( main::@7/(byte*) print_char_cursor#52 ) + (byte*) print_line_cursor#49 ← phi( main::@7/(byte*) print_line_cursor#52 ) + (byte*) print_screen#30 ← phi( main::@7/(byte*) print_screen#33 ) + (byte) form_field_idx#21 ← phi( main::@7/(byte) form_field_idx#32 ) + (byte) keyboard_modifiers#29 ← phi( main::@7/(byte) keyboard_modifiers#43 ) + (byte) keyboard_events_size#30 ← phi( main::@7/(byte) keyboard_events_size#42 ) + (signed byte) form_cursor_count#14 ← phi( main::@7/(signed byte) form_cursor_count#22 ) + call form_control param-assignment + to:main::@23 +main::@23: scope:[main] from main::@9 + (byte) form_fields_cnt#39 ← phi( main::@9/(byte) form_fields_cnt#24 ) + (byte*) print_char_cursor#47 ← phi( main::@9/(byte*) print_char_cursor#49 ) + (byte*) print_line_cursor#46 ← phi( main::@9/(byte*) print_line_cursor#49 ) + (byte*) print_screen#27 ← phi( main::@9/(byte*) print_screen#30 ) + (byte) form_field_idx#9 ← phi( main::@9/(byte) form_field_idx#7 ) + (byte) keyboard_modifiers#17 ← phi( main::@9/(byte) keyboard_modifiers#10 ) + (byte) keyboard_events_size#19 ← phi( main::@9/(byte) keyboard_events_size#10 ) + (signed byte) form_cursor_count#8 ← phi( main::@9/(signed byte) form_cursor_count#6 ) + (signed byte) form_cursor_count#0 ← (signed byte) form_cursor_count#8 + (byte) keyboard_events_size#6 ← (byte) keyboard_events_size#19 + (byte) keyboard_modifiers#7 ← (byte) keyboard_modifiers#17 + (byte) form_field_idx#0 ← (byte) form_field_idx#9 + call gfx_mode param-assignment + to:main::@24 +main::@24: scope:[main] from main::@23 + (byte) form_fields_cnt#38 ← phi( main::@23/(byte) form_fields_cnt#39 ) + (byte) form_field_idx#31 ← phi( main::@23/(byte) form_field_idx#0 ) + (byte) keyboard_modifiers#42 ← phi( main::@23/(byte) keyboard_modifiers#7 ) + (byte) keyboard_events_size#41 ← phi( main::@23/(byte) keyboard_events_size#6 ) + (signed byte) form_cursor_count#21 ← phi( main::@23/(signed byte) form_cursor_count#0 ) + (byte*) print_char_cursor#43 ← phi( main::@23/(byte*) print_char_cursor#47 ) + (byte*) print_line_cursor#40 ← phi( main::@23/(byte*) print_line_cursor#46 ) + (byte*) print_screen#23 ← phi( main::@23/(byte*) print_screen#27 ) to:main::@1 main::@return: scope:[main] from main::@1 - (byte) form_field_idx#12 ← phi( main::@1/(byte) form_field_idx#26 ) - (byte) keyboard_modifiers#20 ← phi( main::@1/(byte) keyboard_modifiers#34 ) - (byte) keyboard_events_size#22 ← phi( main::@1/(byte) keyboard_events_size#35 ) - (signed byte) form_cursor_count#11 ← phi( main::@1/(signed byte) form_cursor_count#19 ) - (byte*) print_char_cursor#28 ← phi( main::@1/(byte*) print_char_cursor#42 ) - (byte*) print_line_cursor#27 ← phi( main::@1/(byte*) print_line_cursor#40 ) - (byte*) print_screen#14 ← phi( main::@1/(byte*) print_screen#20 ) - (byte*) print_screen#4 ← (byte*) print_screen#14 - (byte*) print_line_cursor#10 ← (byte*) print_line_cursor#27 - (byte*) print_char_cursor#11 ← (byte*) print_char_cursor#28 - (signed byte) form_cursor_count#1 ← (signed byte) form_cursor_count#11 - (byte) keyboard_events_size#7 ← (byte) keyboard_events_size#22 - (byte) keyboard_modifiers#8 ← (byte) keyboard_modifiers#20 - (byte) form_field_idx#1 ← (byte) form_field_idx#12 + (byte) form_field_idx#10 ← phi( main::@1/(byte) form_field_idx#22 ) + (byte) keyboard_modifiers#18 ← phi( main::@1/(byte) keyboard_modifiers#30 ) + (byte) keyboard_events_size#20 ← phi( main::@1/(byte) keyboard_events_size#31 ) + (signed byte) form_cursor_count#9 ← phi( main::@1/(signed byte) form_cursor_count#15 ) + (byte*) print_char_cursor#23 ← phi( main::@1/(byte*) print_char_cursor#35 ) + (byte*) print_line_cursor#22 ← phi( main::@1/(byte*) print_line_cursor#33 ) + (byte*) print_screen#11 ← phi( main::@1/(byte*) print_screen#17 ) + (byte*) print_screen#4 ← (byte*) print_screen#11 + (byte*) print_line_cursor#8 ← (byte*) print_line_cursor#22 + (byte*) print_char_cursor#9 ← (byte*) print_char_cursor#23 + (signed byte) form_cursor_count#1 ← (signed byte) form_cursor_count#9 + (byte) keyboard_events_size#7 ← (byte) keyboard_events_size#20 + (byte) keyboard_modifiers#8 ← (byte) keyboard_modifiers#18 + (byte) form_field_idx#1 ← (byte) form_field_idx#10 return to:@return @23: scope:[] from @19 - (byte) keyboard_modifiers#64 ← phi( @19/(byte) keyboard_modifiers#0 ) - (byte) keyboard_events_size#67 ← phi( @19/(byte) keyboard_events_size#0 ) - (byte*) print_char_cursor#57 ← phi( @19/(byte*) print_char_cursor#58 ) - (byte*) print_line_cursor#56 ← phi( @19/(byte*) print_line_cursor#58 ) - (byte*) print_screen#34 ← phi( @19/(byte*) print_screen#35 ) - (string~) $1 ← (const string) $21 + (const string) $22 - (string~) $2 ← (string~) $1 + (const string) $23 - (string~) $3 ← (string~) $2 + (const string) $24 - (string~) $4 ← (string~) $3 + (const string) $25 - (string~) $5 ← (string~) $4 + (const string) $26 - (string~) $6 ← (string~) $5 + (const string) $27 - (string~) $7 ← (string~) $6 + (const string) $28 - (string~) $8 ← (string~) $7 + (const string) $29 - (string~) $9 ← (string~) $8 + (const string) $30 - (byte[]) MENU_COLS#0 ← (string~) $9 - (string~) $10 ← (const string) $31 + (const string) $32 - (string~) $11 ← (string~) $10 + (const string) $33 - (string~) $12 ← (string~) $11 + (const string) $34 - (string~) $13 ← (string~) $12 + (const string) $35 - (string~) $14 ← (string~) $13 + (const string) $36 - (string~) $15 ← (string~) $14 + (const string) $37 - (string~) $16 ← (string~) $15 + (const string) $38 - (string~) $17 ← (string~) $16 + (const string) $39 - (string~) $18 ← (string~) $17 + (const string) $40 - (byte[]) MENU_TEXT#0 ← (string~) $18 - to:@24 -menu: scope:[menu] from main::@2 - (byte) form_fields_cnt#30 ← phi( main::@2/(byte) form_fields_cnt#32 ) - (byte) form_field_idx#61 ← phi( main::@2/(byte) form_field_idx#25 ) - (byte) keyboard_modifiers#81 ← phi( main::@2/(byte) keyboard_modifiers#33 ) - (byte) keyboard_events_size#100 ← phi( main::@2/(byte) keyboard_events_size#34 ) - (signed byte) form_cursor_count#53 ← phi( main::@2/(signed byte) form_cursor_count#18 ) - (byte*) print_char_cursor#54 ← phi( main::@2/(byte*) print_char_cursor#41 ) - (byte*) print_line_cursor#53 ← phi( main::@2/(byte*) print_line_cursor#39 ) - (byte*) print_screen#31 ← phi( main::@2/(byte*) print_screen#19 ) - (byte*) menu::SCREEN#0 ← ((byte*)) (word/dword/signed dword) 32768 - (byte*) menu::CHARSET#0 ← ((byte*)) (word/dword/signed dword) 38912 - (dword~) menu::$0 ← ((dword)) (byte*) menu::CHARSET#0 - (dword~) menu::$1 ← (dword~) menu::$0 / (dword/signed dword) 65536 - (byte~) menu::$2 ← ((byte)) (dword~) menu::$1 - *((byte*) DTV_GRAPHICS_VIC_BANK#0) ← (byte~) menu::$2 - (dword~) menu::$3 ← (dword) DTV_COLOR_BANK_DEFAULT#0 / (word/signed word/dword/signed dword) 1024 - (word~) menu::$4 ← ((word)) (dword~) menu::$3 - (byte~) menu::$5 ← < (word~) menu::$4 - *((byte*) DTV_COLOR_BANK_LO#0) ← (byte~) menu::$5 - (dword~) menu::$6 ← (dword) DTV_COLOR_BANK_DEFAULT#0 / (word/signed word/dword/signed dword) 1024 - (word~) menu::$7 ← ((word)) (dword~) menu::$6 - (byte~) menu::$8 ← > (word~) menu::$7 - *((byte*) DTV_COLOR_BANK_HI#0) ← (byte~) menu::$8 - *((byte*) DTV_CONTROL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - *((byte*) CIA2_PORT_A_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3 - (word~) menu::$9 ← ((word)) (byte*) menu::CHARSET#0 - (word/signed dword/dword~) menu::$10 ← (word~) menu::$9 / (word/signed word/dword/signed dword) 16384 - (byte~) menu::$11 ← ((byte)) (word/signed dword/dword~) menu::$10 - (byte/word/dword~) menu::$12 ← (byte/signed byte/word/signed word/dword/signed dword) 3 ^ (byte~) menu::$11 - *((byte*) CIA2_PORT_A#0) ← (byte/word/dword~) menu::$12 - (byte~) menu::$13 ← (byte) VIC_DEN#0 | (byte) VIC_RSEL#0 - (byte/word/dword~) menu::$14 ← (byte~) menu::$13 | (byte/signed byte/word/signed word/dword/signed dword) 3 - *((byte*) VIC_CONTROL#0) ← (byte/word/dword~) menu::$14 - *((byte*) VIC_CONTROL2#0) ← (byte) VIC_CSEL#0 - (word~) menu::$15 ← ((word)) (byte*) menu::SCREEN#0 - (word~) menu::$16 ← (word~) menu::$15 & (word/signed word/dword/signed dword) 16383 - (word/signed dword/dword~) menu::$17 ← (word~) menu::$16 / (byte/signed byte/word/signed word/dword/signed dword) 64 - (word~) menu::$18 ← ((word)) (byte*) menu::CHARSET#0 - (word~) menu::$19 ← (word~) menu::$18 & (word/signed word/dword/signed dword) 16383 - (word/signed dword/dword~) menu::$20 ← (word~) menu::$19 / (word/signed word/dword/signed dword) 1024 - (word/dword~) menu::$21 ← (word/signed dword/dword~) menu::$17 | (word/signed dword/dword~) menu::$20 - (byte~) menu::$22 ← ((byte)) (word/dword~) menu::$21 - *((byte*) VIC_MEMORY#0) ← (byte~) menu::$22 - (byte) menu::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 - to:menu::@1 -menu::@1: scope:[menu] from menu menu::@1 - (byte) form_fields_cnt#27 ← phi( menu/(byte) form_fields_cnt#30 menu::@1/(byte) form_fields_cnt#27 ) - (byte) form_field_idx#60 ← phi( menu/(byte) form_field_idx#61 menu::@1/(byte) form_field_idx#60 ) - (byte) keyboard_modifiers#80 ← phi( menu/(byte) keyboard_modifiers#81 menu::@1/(byte) keyboard_modifiers#80 ) - (byte) keyboard_events_size#99 ← phi( menu/(byte) keyboard_events_size#100 menu::@1/(byte) keyboard_events_size#99 ) - (signed byte) form_cursor_count#52 ← phi( menu/(signed byte) form_cursor_count#53 menu::@1/(signed byte) form_cursor_count#52 ) - (byte*) print_char_cursor#50 ← phi( menu/(byte*) print_char_cursor#54 menu::@1/(byte*) print_char_cursor#50 ) - (byte*) print_line_cursor#47 ← phi( menu/(byte*) print_line_cursor#53 menu::@1/(byte*) print_line_cursor#47 ) - (byte*) print_screen#26 ← phi( menu/(byte*) print_screen#31 menu::@1/(byte*) print_screen#26 ) - (byte) menu::i#2 ← phi( menu/(byte) menu::i#0 menu::@1/(byte) menu::i#1 ) - *((byte*) DTV_PALETTE#0 + (byte) menu::i#2) ← *((byte[16]) DTV_PALETTE_DEFAULT#0 + (byte) menu::i#2) - (byte) menu::i#1 ← ++ (byte) menu::i#2 - (boolean~) menu::$23 ← (byte) menu::i#1 != (byte/signed byte/word/signed word/dword/signed dword) 16 - if((boolean~) menu::$23) goto menu::@1 - to:menu::@8 -menu::@8: scope:[menu] from menu::@1 - (byte) form_fields_cnt#25 ← phi( menu::@1/(byte) form_fields_cnt#27 ) - (byte) form_field_idx#59 ← phi( menu::@1/(byte) form_field_idx#60 ) - (byte) keyboard_modifiers#79 ← phi( menu::@1/(byte) keyboard_modifiers#80 ) - (byte) keyboard_events_size#98 ← phi( menu::@1/(byte) keyboard_events_size#99 ) - (signed byte) form_cursor_count#51 ← phi( menu::@1/(signed byte) form_cursor_count#52 ) - (byte*) print_char_cursor#43 ← phi( menu::@1/(byte*) print_char_cursor#50 ) - (byte*) print_line_cursor#41 ← phi( menu::@1/(byte*) print_line_cursor#47 ) - (byte*) print_screen#21 ← phi( menu::@1/(byte*) print_screen#26 ) - *((byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - *((byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 - (byte*) print_set_screen::screen#0 ← (byte*) COLS#0 - call print_set_screen param-assignment - to:menu::@15 -menu::@15: scope:[menu] from menu::@8 - (byte) form_fields_cnt#23 ← phi( menu::@8/(byte) form_fields_cnt#25 ) - (byte) form_field_idx#58 ← phi( menu::@8/(byte) form_field_idx#59 ) - (byte) keyboard_modifiers#78 ← phi( menu::@8/(byte) keyboard_modifiers#79 ) - (byte) keyboard_events_size#97 ← phi( menu::@8/(byte) keyboard_events_size#98 ) - (signed byte) form_cursor_count#50 ← phi( menu::@8/(signed byte) form_cursor_count#51 ) - (byte*) print_char_cursor#29 ← phi( menu::@8/(byte*) print_char_cursor#9 ) - (byte*) print_line_cursor#28 ← phi( menu::@8/(byte*) print_line_cursor#8 ) - (byte*) print_screen#15 ← phi( menu::@8/(byte*) print_screen#2 ) - (byte*) print_screen#5 ← (byte*) print_screen#15 - (byte*) print_line_cursor#11 ← (byte*) print_line_cursor#28 - (byte*) print_char_cursor#12 ← (byte*) print_char_cursor#29 - call print_cls param-assignment - to:menu::@16 -menu::@16: scope:[menu] from menu::@15 - (byte) form_fields_cnt#21 ← phi( menu::@15/(byte) form_fields_cnt#23 ) - (byte) form_field_idx#57 ← phi( menu::@15/(byte) form_field_idx#58 ) - (byte) keyboard_modifiers#77 ← phi( menu::@15/(byte) keyboard_modifiers#78 ) - (byte) keyboard_events_size#95 ← phi( menu::@15/(byte) keyboard_events_size#97 ) - (signed byte) form_cursor_count#49 ← phi( menu::@15/(signed byte) form_cursor_count#50 ) - (byte*) print_screen#27 ← phi( menu::@15/(byte*) print_screen#5 ) - (byte*) print_char_cursor#30 ← phi( menu::@15/(byte*) print_char_cursor#7 ) - (byte*) print_line_cursor#29 ← phi( menu::@15/(byte*) print_line_cursor#6 ) - (byte*) print_line_cursor#12 ← (byte*) print_line_cursor#29 - (byte*) print_char_cursor#13 ← (byte*) print_char_cursor#30 - (byte*) print_str_lines::str#1 ← (byte[]) MENU_COLS#0 - call print_str_lines param-assignment - to:menu::@17 -menu::@17: scope:[menu] from menu::@16 - (byte) form_fields_cnt#18 ← phi( menu::@16/(byte) form_fields_cnt#21 ) - (byte) form_field_idx#54 ← phi( menu::@16/(byte) form_field_idx#57 ) - (byte) keyboard_modifiers#76 ← phi( menu::@16/(byte) keyboard_modifiers#77 ) - (byte) keyboard_events_size#92 ← phi( menu::@16/(byte) keyboard_events_size#95 ) - (signed byte) form_cursor_count#48 ← phi( menu::@16/(signed byte) form_cursor_count#49 ) - (byte*) print_screen#22 ← phi( menu::@16/(byte*) print_screen#27 ) - (byte*) print_line_cursor#30 ← phi( menu::@16/(byte*) print_line_cursor#2 ) - (byte*) print_char_cursor#31 ← phi( menu::@16/(byte*) print_char_cursor#3 ) - (byte*) print_char_cursor#14 ← (byte*) print_char_cursor#31 - (byte*) print_line_cursor#13 ← (byte*) print_line_cursor#30 - (byte*) print_set_screen::screen#1 ← (byte*) menu::SCREEN#0 - call print_set_screen param-assignment - to:menu::@18 -menu::@18: scope:[menu] from menu::@17 - (byte) form_fields_cnt#16 ← phi( menu::@17/(byte) form_fields_cnt#18 ) - (byte) form_field_idx#52 ← phi( menu::@17/(byte) form_field_idx#54 ) - (byte) keyboard_modifiers#75 ← phi( menu::@17/(byte) keyboard_modifiers#76 ) - (byte) keyboard_events_size#90 ← phi( menu::@17/(byte) keyboard_events_size#92 ) - (signed byte) form_cursor_count#45 ← phi( menu::@17/(signed byte) form_cursor_count#48 ) - (byte*) print_char_cursor#32 ← phi( menu::@17/(byte*) print_char_cursor#9 ) - (byte*) print_line_cursor#31 ← phi( menu::@17/(byte*) print_line_cursor#8 ) - (byte*) print_screen#16 ← phi( menu::@17/(byte*) print_screen#2 ) - (byte*) print_screen#6 ← (byte*) print_screen#16 - (byte*) print_line_cursor#14 ← (byte*) print_line_cursor#31 - (byte*) print_char_cursor#15 ← (byte*) print_char_cursor#32 - call print_cls param-assignment - to:menu::@19 -menu::@19: scope:[menu] from menu::@18 - (byte) form_fields_cnt#13 ← phi( menu::@18/(byte) form_fields_cnt#16 ) - (byte) form_field_idx#49 ← phi( menu::@18/(byte) form_field_idx#52 ) - (byte) keyboard_modifiers#73 ← phi( menu::@18/(byte) keyboard_modifiers#75 ) - (byte) keyboard_events_size#84 ← phi( menu::@18/(byte) keyboard_events_size#90 ) - (signed byte) form_cursor_count#43 ← phi( menu::@18/(signed byte) form_cursor_count#45 ) - (byte*) print_screen#39 ← phi( menu::@18/(byte*) print_screen#6 ) - (byte*) print_char_cursor#33 ← phi( menu::@18/(byte*) print_char_cursor#7 ) - (byte*) print_line_cursor#32 ← phi( menu::@18/(byte*) print_line_cursor#6 ) - (byte*) print_line_cursor#15 ← (byte*) print_line_cursor#32 - (byte*) print_char_cursor#16 ← (byte*) print_char_cursor#33 - (byte*) print_str_lines::str#2 ← (byte[]) MENU_TEXT#0 - call print_str_lines param-assignment - to:menu::@20 -menu::@20: scope:[menu] from menu::@19 - (byte) form_fields_cnt#11 ← phi( menu::@19/(byte) form_fields_cnt#13 ) - (byte) form_field_idx#47 ← phi( menu::@19/(byte) form_field_idx#49 ) - (byte) keyboard_modifiers#70 ← phi( menu::@19/(byte) keyboard_modifiers#73 ) - (byte) keyboard_events_size#76 ← phi( menu::@19/(byte) keyboard_events_size#84 ) - (signed byte) form_cursor_count#40 ← phi( menu::@19/(signed byte) form_cursor_count#43 ) - (byte*) print_screen#36 ← phi( menu::@19/(byte*) print_screen#39 ) - (byte*) print_line_cursor#33 ← phi( menu::@19/(byte*) print_line_cursor#2 ) - (byte*) print_char_cursor#34 ← phi( menu::@19/(byte*) print_char_cursor#3 ) - (byte*) print_char_cursor#17 ← (byte*) print_char_cursor#34 - (byte*) print_line_cursor#16 ← (byte*) print_line_cursor#33 - (byte*) form_set_screen::screen#0 ← (byte*) menu::SCREEN#0 - call form_set_screen param-assignment - to:menu::@21 -menu::@21: scope:[menu] from menu::@20 - (byte) form_fields_cnt#9 ← phi( menu::@20/(byte) form_fields_cnt#11 ) - (byte) form_field_idx#43 ← phi( menu::@20/(byte) form_field_idx#47 ) - (byte) keyboard_modifiers#61 ← phi( menu::@20/(byte) keyboard_modifiers#70 ) - (byte) keyboard_events_size#64 ← phi( menu::@20/(byte) keyboard_events_size#76 ) - (signed byte) form_cursor_count#34 ← phi( menu::@20/(signed byte) form_cursor_count#40 ) - (byte*) print_char_cursor#55 ← phi( menu::@20/(byte*) print_char_cursor#17 ) - (byte*) print_line_cursor#54 ← phi( menu::@20/(byte*) print_line_cursor#16 ) - (byte*) print_screen#32 ← phi( menu::@20/(byte*) print_screen#36 ) - call form_render_values param-assignment - to:menu::@22 -menu::@22: scope:[menu] from menu::@21 - (byte) form_fields_cnt#33 ← phi( menu::@21/(byte) form_fields_cnt#9 ) - (byte) form_field_idx#37 ← phi( menu::@21/(byte) form_field_idx#43 ) - (byte) keyboard_modifiers#48 ← phi( menu::@21/(byte) keyboard_modifiers#61 ) - (byte) keyboard_events_size#47 ← phi( menu::@21/(byte) keyboard_events_size#64 ) - (signed byte) form_cursor_count#27 ← phi( menu::@21/(signed byte) form_cursor_count#34 ) - (byte*) print_char_cursor#51 ← phi( menu::@21/(byte*) print_char_cursor#55 ) - (byte*) print_line_cursor#48 ← phi( menu::@21/(byte*) print_line_cursor#54 ) - (byte*) print_screen#28 ← phi( menu::@21/(byte*) print_screen#32 ) - to:menu::@2 -menu::@2: scope:[menu] from menu::@22 menu::@23 - (byte) form_fields_cnt#31 ← phi( menu::@22/(byte) form_fields_cnt#33 menu::@23/(byte) form_fields_cnt#34 ) - (byte) form_field_idx#28 ← phi( menu::@22/(byte) form_field_idx#37 menu::@23/(byte) form_field_idx#2 ) - (byte) keyboard_modifiers#36 ← phi( menu::@22/(byte) keyboard_modifiers#48 menu::@23/(byte) keyboard_modifiers#9 ) - (byte) keyboard_events_size#37 ← phi( menu::@22/(byte) keyboard_events_size#47 menu::@23/(byte) keyboard_events_size#8 ) - (signed byte) form_cursor_count#21 ← phi( menu::@22/(signed byte) form_cursor_count#27 menu::@23/(signed byte) form_cursor_count#2 ) - (byte*) print_char_cursor#44 ← phi( menu::@22/(byte*) print_char_cursor#51 menu::@23/(byte*) print_char_cursor#52 ) - (byte*) print_line_cursor#42 ← phi( menu::@22/(byte*) print_line_cursor#48 menu::@23/(byte*) print_line_cursor#49 ) - (byte*) print_screen#23 ← phi( menu::@22/(byte*) print_screen#28 menu::@23/(byte*) print_screen#29 ) - if(true) goto menu::@3 - to:menu::@return -menu::@3: scope:[menu] from menu::@2 - (byte) form_fields_cnt#28 ← phi( menu::@2/(byte) form_fields_cnt#31 ) - (byte*) print_char_cursor#61 ← phi( menu::@2/(byte*) print_char_cursor#44 ) - (byte*) print_line_cursor#61 ← phi( menu::@2/(byte*) print_line_cursor#42 ) - (byte*) print_screen#40 ← phi( menu::@2/(byte*) print_screen#23 ) - (byte) form_field_idx#44 ← phi( menu::@2/(byte) form_field_idx#28 ) - (byte) keyboard_modifiers#62 ← phi( menu::@2/(byte) keyboard_modifiers#36 ) - (byte) keyboard_events_size#65 ← phi( menu::@2/(byte) keyboard_events_size#37 ) - (signed byte) form_cursor_count#35 ← phi( menu::@2/(signed byte) form_cursor_count#21 ) - to:menu::@5 -menu::@5: scope:[menu] from menu::@3 menu::@6 - (byte) form_fields_cnt#26 ← phi( menu::@3/(byte) form_fields_cnt#28 menu::@6/(byte) form_fields_cnt#29 ) - (byte*) print_char_cursor#59 ← phi( menu::@3/(byte*) print_char_cursor#61 menu::@6/(byte*) print_char_cursor#62 ) - (byte*) print_line_cursor#59 ← phi( menu::@3/(byte*) print_line_cursor#61 menu::@6/(byte*) print_line_cursor#62 ) - (byte*) print_screen#37 ← phi( menu::@3/(byte*) print_screen#40 menu::@6/(byte*) print_screen#41 ) - (byte) form_field_idx#38 ← phi( menu::@3/(byte) form_field_idx#44 menu::@6/(byte) form_field_idx#45 ) - (byte) keyboard_modifiers#49 ← phi( menu::@3/(byte) keyboard_modifiers#62 menu::@6/(byte) keyboard_modifiers#63 ) - (byte) keyboard_events_size#48 ← phi( menu::@3/(byte) keyboard_events_size#65 menu::@6/(byte) keyboard_events_size#66 ) - (signed byte) form_cursor_count#28 ← phi( menu::@3/(signed byte) form_cursor_count#35 menu::@6/(signed byte) form_cursor_count#36 ) - (boolean~) menu::$32 ← *((byte*) RASTER#0) != (byte/word/signed word/dword/signed dword) 255 - if((boolean~) menu::$32) goto menu::@6 - to:menu::@7 -menu::@6: scope:[menu] from menu::@5 - (byte) form_fields_cnt#29 ← phi( menu::@5/(byte) form_fields_cnt#26 ) - (byte*) print_char_cursor#62 ← phi( menu::@5/(byte*) print_char_cursor#59 ) - (byte*) print_line_cursor#62 ← phi( menu::@5/(byte*) print_line_cursor#59 ) - (byte*) print_screen#41 ← phi( menu::@5/(byte*) print_screen#37 ) - (byte) form_field_idx#45 ← phi( menu::@5/(byte) form_field_idx#38 ) - (byte) keyboard_modifiers#63 ← phi( menu::@5/(byte) keyboard_modifiers#49 ) - (byte) keyboard_events_size#66 ← phi( menu::@5/(byte) keyboard_events_size#48 ) - (signed byte) form_cursor_count#36 ← phi( menu::@5/(signed byte) form_cursor_count#28 ) - to:menu::@5 -menu::@7: scope:[menu] from menu::@5 - (byte) form_fields_cnt#24 ← phi( menu::@5/(byte) form_fields_cnt#26 ) - (byte*) print_char_cursor#56 ← phi( menu::@5/(byte*) print_char_cursor#59 ) - (byte*) print_line_cursor#55 ← phi( menu::@5/(byte*) print_line_cursor#59 ) - (byte*) print_screen#33 ← phi( menu::@5/(byte*) print_screen#37 ) - (byte) form_field_idx#27 ← phi( menu::@5/(byte) form_field_idx#38 ) - (byte) keyboard_modifiers#35 ← phi( menu::@5/(byte) keyboard_modifiers#49 ) - (byte) keyboard_events_size#36 ← phi( menu::@5/(byte) keyboard_events_size#48 ) - (signed byte) form_cursor_count#20 ← phi( menu::@5/(signed byte) form_cursor_count#28 ) - call form_control param-assignment - to:menu::@23 -menu::@23: scope:[menu] from menu::@7 - (byte) form_fields_cnt#34 ← phi( menu::@7/(byte) form_fields_cnt#24 ) - (byte*) print_char_cursor#52 ← phi( menu::@7/(byte*) print_char_cursor#56 ) - (byte*) print_line_cursor#49 ← phi( menu::@7/(byte*) print_line_cursor#55 ) - (byte*) print_screen#29 ← phi( menu::@7/(byte*) print_screen#33 ) - (byte) form_field_idx#13 ← phi( menu::@7/(byte) form_field_idx#9 ) - (byte) keyboard_modifiers#21 ← phi( menu::@7/(byte) keyboard_modifiers#12 ) - (byte) keyboard_events_size#23 ← phi( menu::@7/(byte) keyboard_events_size#12 ) - (signed byte) form_cursor_count#12 ← phi( menu::@7/(signed byte) form_cursor_count#8 ) - (signed byte) form_cursor_count#2 ← (signed byte) form_cursor_count#12 - (byte) keyboard_events_size#8 ← (byte) keyboard_events_size#23 - (byte) keyboard_modifiers#9 ← (byte) keyboard_modifiers#21 - (byte) form_field_idx#2 ← (byte) form_field_idx#13 - to:menu::@2 -menu::@return: scope:[menu] from menu::@2 - (byte) form_field_idx#14 ← phi( menu::@2/(byte) form_field_idx#28 ) - (byte) keyboard_modifiers#22 ← phi( menu::@2/(byte) keyboard_modifiers#36 ) - (byte) keyboard_events_size#24 ← phi( menu::@2/(byte) keyboard_events_size#37 ) - (signed byte) form_cursor_count#13 ← phi( menu::@2/(signed byte) form_cursor_count#21 ) - (byte*) print_char_cursor#35 ← phi( menu::@2/(byte*) print_char_cursor#44 ) - (byte*) print_line_cursor#34 ← phi( menu::@2/(byte*) print_line_cursor#42 ) - (byte*) print_screen#17 ← phi( menu::@2/(byte*) print_screen#23 ) - (byte*) print_screen#7 ← (byte*) print_screen#17 - (byte*) print_line_cursor#17 ← (byte*) print_line_cursor#34 - (byte*) print_char_cursor#18 ← (byte*) print_char_cursor#35 - (signed byte) form_cursor_count#3 ← (signed byte) form_cursor_count#13 - (byte) keyboard_events_size#9 ← (byte) keyboard_events_size#24 - (byte) keyboard_modifiers#10 ← (byte) keyboard_modifiers#22 - (byte) form_field_idx#3 ← (byte) form_field_idx#14 - return - to:@return -@24: scope:[] from @23 - (byte) keyboard_modifiers#60 ← phi( @23/(byte) keyboard_modifiers#64 ) - (byte) keyboard_events_size#60 ← phi( @23/(byte) keyboard_events_size#67 ) - (byte*) print_char_cursor#53 ← phi( @23/(byte*) print_char_cursor#57 ) - (byte*) print_line_cursor#50 ← phi( @23/(byte*) print_line_cursor#56 ) - (byte*) print_screen#30 ← phi( @23/(byte*) print_screen#34 ) - (byte[25]) form_line_lo#0 ← { fill( 25, 0) } - (byte[25]) form_line_hi#0 ← { fill( 25, 0) } - (byte) form_field_idx#4 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) keyboard_modifiers#58 ← phi( @19/(byte) keyboard_modifiers#0 ) + (byte) keyboard_events_size#61 ← phi( @19/(byte) keyboard_events_size#0 ) + (byte*) print_char_cursor#48 ← phi( @19/(byte*) print_char_cursor#50 ) + (byte*) print_line_cursor#47 ← phi( @19/(byte*) print_line_cursor#50 ) + (byte*) print_screen#29 ← phi( @19/(byte*) print_screen#31 ) + (dword) PLANE_8BPP_CHUNKY#0 ← (dword/signed dword) 131072 + (byte*) FORM_SCREEN#0 ← ((byte*)) (word/dword/signed dword) 32768 + (byte*) FORM_CHARSET#0 ← ((byte*)) (word/dword/signed dword) 38912 + (word/signed word/dword/signed dword~) $1 ← (byte/signed byte/word/signed word/dword/signed dword) 16 * (byte/signed byte/word/signed word/dword/signed dword) 40 + (word) FORM_OFFSET#0 ← (word/signed word/dword/signed dword~) $1 + (string~) $2 ← (const string) $57 + (const string) $58 + (string~) $3 ← (string~) $2 + (const string) $59 + (string~) $4 ← (string~) $3 + (const string) $60 + (string~) $5 ← (string~) $4 + (const string) $61 + (string~) $6 ← (string~) $5 + (const string) $62 + (string~) $7 ← (string~) $6 + (const string) $63 + (string~) $8 ← (string~) $7 + (const string) $64 + (string~) $9 ← (string~) $8 + (const string) $65 + (string~) $10 ← (string~) $9 + (const string) $66 + (byte[]) FORM_COLS#0 ← (string~) $10 + (string~) $11 ← (const string) $67 + (const string) $68 + (string~) $12 ← (string~) $11 + (const string) $69 + (string~) $13 ← (string~) $12 + (const string) $70 + (string~) $14 ← (string~) $13 + (const string) $71 + (string~) $15 ← (string~) $14 + (const string) $72 + (string~) $16 ← (string~) $15 + (const string) $73 + (string~) $17 ← (string~) $16 + (const string) $74 + (string~) $18 ← (string~) $17 + (const string) $75 + (string~) $19 ← (string~) $18 + (const string) $76 + (byte[]) FORM_TEXT#0 ← (string~) $19 (byte) form_fields_cnt#0 ← (byte/signed byte/word/signed word/dword/signed dword) 35 (byte[]) form_fields_x#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 22, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 17, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 26, (byte/signed byte/word/signed word/dword/signed dword) 27, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 37, (byte/signed byte/word/signed word/dword/signed dword) 38 } (byte[]) form_fields_y#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 7, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 8 } - (byte[]) form_fields_max#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15, (byte/signed byte/word/signed word/dword/signed dword) 15 } + (byte[]) form_fields_max#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 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#0 ← { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 } - (signed byte) FORM_CURSOR_BLINK#0 ← (byte/signed byte/word/signed word/dword/signed dword) 40 - (signed word/signed byte/signed dword~) $19 ← (signed byte) FORM_CURSOR_BLINK#0 / (byte/signed byte/word/signed word/dword/signed dword) 2 - (signed byte) form_cursor_count#4 ← (signed word/signed byte/signed dword~) $19 + (byte*~) $21 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 1 + (byte*) form_ctrl_bmm#0 ← (byte*~) $21 + (byte*~) $22 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 2 + (byte*) form_ctrl_mcm#0 ← (byte*~) $22 + (byte*~) $23 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte*) form_ctrl_ecm#0 ← (byte*~) $23 + (byte*~) $24 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte*) form_ctrl_hicol#0 ← (byte*~) $24 + (byte*~) $25 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 5 + (byte*) form_ctrl_line#0 ← (byte*~) $25 + (byte*~) $26 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 6 + (byte*) form_ctrl_colof#0 ← (byte*~) $26 + (byte*~) $27 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 7 + (byte*) form_ctrl_chunk#0 ← (byte*~) $27 + (byte*~) $28 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte*) form_ctrl_borof#0 ← (byte*~) $28 + (byte*~) $29 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 9 + (byte*) form_ctrl_overs#0 ← (byte*~) $29 + (byte*~) $31 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 11 + (byte*) form_a_start_hi#0 ← (byte*~) $31 + (byte*~) $32 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 12 + (byte*) form_a_start_lo#0 ← (byte*~) $32 + (byte*~) $33 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 13 + (byte*) form_a_step_hi#0 ← (byte*~) $33 + (byte*~) $34 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 14 + (byte*) form_a_step_lo#0 ← (byte*~) $34 + (byte*~) $35 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 15 + (byte*) form_a_mod_hi#0 ← (byte*~) $35 + (byte*~) $36 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 16 + (byte*) form_a_mod_lo#0 ← (byte*~) $36 + (byte*~) $38 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 18 + (byte*) form_b_start_hi#0 ← (byte*~) $38 + (byte*~) $39 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 19 + (byte*) form_b_start_lo#0 ← (byte*~) $39 + (byte*~) $40 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 20 + (byte*) form_b_step_hi#0 ← (byte*~) $40 + (byte*~) $41 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 21 + (byte*) form_b_step_lo#0 ← (byte*~) $41 + (byte*~) $42 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 22 + (byte*) form_b_mod_hi#0 ← (byte*~) $42 + (byte*~) $43 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 23 + (byte*) form_b_mod_lo#0 ← (byte*~) $43 + (byte*~) $47 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 27 + (byte*) form_vic_bg0_hi#0 ← (byte*~) $47 + (byte*~) $48 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 28 + (byte*) form_vic_bg0_lo#0 ← (byte*~) $48 + (byte*~) $49 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 29 + (byte*) form_vic_bg1_hi#0 ← (byte*~) $49 + (byte*~) $50 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 30 + (byte*) form_vic_bg1_lo#0 ← (byte*~) $50 + (byte*~) $51 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 31 + (byte*) form_vic_bg2_hi#0 ← (byte*~) $51 + (byte*~) $52 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 32 + (byte*) form_vic_bg2_lo#0 ← (byte*~) $52 + (byte*~) $53 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 33 + (byte*) form_vic_bg3_hi#0 ← (byte*~) $53 + (byte*~) $54 ← (byte[]) form_fields_val#0 + (byte/signed byte/word/signed word/dword/signed dword) 34 + (byte*) form_vic_bg3_lo#0 ← (byte*~) $54 to:@28 -form_set_screen: scope:[form_set_screen] from menu::@20 - (byte*) form_set_screen::screen#1 ← phi( menu::@20/(byte*) form_set_screen::screen#0 ) +gfx_mode: scope:[gfx_mode] from main::@23 + (byte) gfx_mode::dtv_control#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$0 ← *((byte*) form_ctrl_line#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$1 ← ! (boolean~) gfx_mode::$0 + if((boolean~) gfx_mode::$1) goto gfx_mode::@1 + to:gfx_mode::@11 +gfx_mode::@1: scope:[gfx_mode] from gfx_mode gfx_mode::@11 + (byte) gfx_mode::dtv_control#14 ← phi( gfx_mode/(byte) gfx_mode::dtv_control#0 gfx_mode::@11/(byte) gfx_mode::dtv_control#1 ) + (boolean~) gfx_mode::$3 ← *((byte*) form_ctrl_borof#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$4 ← ! (boolean~) gfx_mode::$3 + if((boolean~) gfx_mode::$4) goto gfx_mode::@2 + to:gfx_mode::@12 +gfx_mode::@11: scope:[gfx_mode] from gfx_mode + (byte) gfx_mode::dtv_control#7 ← phi( gfx_mode/(byte) gfx_mode::dtv_control#0 ) + (byte~) gfx_mode::$2 ← (byte) gfx_mode::dtv_control#7 | (byte) DTV_LINEAR#0 + (byte) gfx_mode::dtv_control#1 ← (byte~) gfx_mode::$2 + to:gfx_mode::@1 +gfx_mode::@2: scope:[gfx_mode] from gfx_mode::@1 gfx_mode::@12 + (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 ) + (boolean~) gfx_mode::$6 ← *((byte*) form_ctrl_hicol#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$7 ← ! (boolean~) gfx_mode::$6 + if((boolean~) gfx_mode::$7) goto gfx_mode::@3 + to:gfx_mode::@13 +gfx_mode::@12: scope:[gfx_mode] from gfx_mode::@1 + (byte) gfx_mode::dtv_control#8 ← phi( gfx_mode::@1/(byte) gfx_mode::dtv_control#14 ) + (byte~) gfx_mode::$5 ← (byte) gfx_mode::dtv_control#8 | (byte) DTV_BORDER_OFF#0 + (byte) gfx_mode::dtv_control#2 ← (byte~) gfx_mode::$5 + to:gfx_mode::@2 +gfx_mode::@3: scope:[gfx_mode] from gfx_mode::@13 gfx_mode::@2 + (byte) gfx_mode::dtv_control#16 ← phi( gfx_mode::@13/(byte) gfx_mode::dtv_control#3 gfx_mode::@2/(byte) gfx_mode::dtv_control#15 ) + (boolean~) gfx_mode::$9 ← *((byte*) form_ctrl_overs#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$10 ← ! (boolean~) gfx_mode::$9 + if((boolean~) gfx_mode::$10) goto gfx_mode::@4 + to:gfx_mode::@14 +gfx_mode::@13: scope:[gfx_mode] from gfx_mode::@2 + (byte) gfx_mode::dtv_control#9 ← phi( gfx_mode::@2/(byte) gfx_mode::dtv_control#15 ) + (byte~) gfx_mode::$8 ← (byte) gfx_mode::dtv_control#9 | (byte) DTV_HIGHCOLOR#0 + (byte) gfx_mode::dtv_control#3 ← (byte~) gfx_mode::$8 + to:gfx_mode::@3 +gfx_mode::@4: scope:[gfx_mode] from gfx_mode::@14 gfx_mode::@3 + (byte) gfx_mode::dtv_control#17 ← phi( gfx_mode::@14/(byte) gfx_mode::dtv_control#4 gfx_mode::@3/(byte) gfx_mode::dtv_control#16 ) + (boolean~) gfx_mode::$12 ← *((byte*) form_ctrl_colof#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$13 ← ! (boolean~) gfx_mode::$12 + if((boolean~) gfx_mode::$13) goto gfx_mode::@5 + to:gfx_mode::@15 +gfx_mode::@14: scope:[gfx_mode] from gfx_mode::@3 + (byte) gfx_mode::dtv_control#10 ← phi( gfx_mode::@3/(byte) gfx_mode::dtv_control#16 ) + (byte~) gfx_mode::$11 ← (byte) gfx_mode::dtv_control#10 | (byte) DTV_OVERSCAN#0 + (byte) gfx_mode::dtv_control#4 ← (byte~) gfx_mode::$11 + to:gfx_mode::@4 +gfx_mode::@5: scope:[gfx_mode] from gfx_mode::@15 gfx_mode::@4 + (byte) gfx_mode::dtv_control#18 ← phi( gfx_mode::@15/(byte) gfx_mode::dtv_control#5 gfx_mode::@4/(byte) gfx_mode::dtv_control#17 ) + (boolean~) gfx_mode::$15 ← *((byte*) form_ctrl_chunk#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$16 ← ! (boolean~) gfx_mode::$15 + if((boolean~) gfx_mode::$16) goto gfx_mode::@6 + to:gfx_mode::@16 +gfx_mode::@15: scope:[gfx_mode] from gfx_mode::@4 + (byte) gfx_mode::dtv_control#11 ← phi( gfx_mode::@4/(byte) gfx_mode::dtv_control#17 ) + (byte~) gfx_mode::$14 ← (byte) gfx_mode::dtv_control#11 | (byte) DTV_COLORRAM_OFF#0 + (byte) gfx_mode::dtv_control#5 ← (byte~) gfx_mode::$14 + to:gfx_mode::@5 +gfx_mode::@6: scope:[gfx_mode] from gfx_mode::@16 gfx_mode::@5 + (byte) gfx_mode::dtv_control#12 ← phi( gfx_mode::@16/(byte) gfx_mode::dtv_control#6 gfx_mode::@5/(byte) gfx_mode::dtv_control#18 ) + *((byte*) DTV_CONTROL#0) ← (byte) gfx_mode::dtv_control#12 + (byte~) gfx_mode::$18 ← (byte) VIC_DEN#0 | (byte) VIC_RSEL#0 + (byte/word/dword~) gfx_mode::$19 ← (byte~) gfx_mode::$18 | (byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) gfx_mode::vic_control#0 ← (byte/word/dword~) gfx_mode::$19 + (boolean~) gfx_mode::$20 ← *((byte*) form_ctrl_ecm#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$21 ← ! (boolean~) gfx_mode::$20 + if((boolean~) gfx_mode::$21) goto gfx_mode::@7 + to:gfx_mode::@17 +gfx_mode::@16: scope:[gfx_mode] from gfx_mode::@5 + (byte) gfx_mode::dtv_control#13 ← phi( gfx_mode::@5/(byte) gfx_mode::dtv_control#18 ) + (byte~) gfx_mode::$17 ← (byte) gfx_mode::dtv_control#13 | (byte) DTV_CHUNKY#0 + (byte) gfx_mode::dtv_control#6 ← (byte~) gfx_mode::$17 + to:gfx_mode::@6 +gfx_mode::@7: scope:[gfx_mode] from gfx_mode::@17 gfx_mode::@6 + (byte) gfx_mode::vic_control#6 ← phi( gfx_mode::@17/(byte) gfx_mode::vic_control#1 gfx_mode::@6/(byte) gfx_mode::vic_control#0 ) + (boolean~) gfx_mode::$23 ← *((byte*) form_ctrl_bmm#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$24 ← ! (boolean~) gfx_mode::$23 + if((boolean~) gfx_mode::$24) goto gfx_mode::@8 + to:gfx_mode::@18 +gfx_mode::@17: scope:[gfx_mode] from gfx_mode::@6 + (byte) gfx_mode::vic_control#3 ← phi( gfx_mode::@6/(byte) gfx_mode::vic_control#0 ) + (byte~) gfx_mode::$22 ← (byte) gfx_mode::vic_control#3 | (byte) VIC_ECM#0 + (byte) gfx_mode::vic_control#1 ← (byte~) gfx_mode::$22 + to:gfx_mode::@7 +gfx_mode::@8: scope:[gfx_mode] from gfx_mode::@18 gfx_mode::@7 + (byte) gfx_mode::vic_control#4 ← phi( gfx_mode::@18/(byte) gfx_mode::vic_control#2 gfx_mode::@7/(byte) gfx_mode::vic_control#6 ) + *((byte*) VIC_CONTROL#0) ← (byte) gfx_mode::vic_control#4 + (byte) gfx_mode::vic_control2#0 ← (byte) VIC_CSEL#0 + (boolean~) gfx_mode::$26 ← *((byte*) form_ctrl_mcm#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 + (boolean~) gfx_mode::$27 ← ! (boolean~) gfx_mode::$26 + if((boolean~) gfx_mode::$27) goto gfx_mode::@9 + to:gfx_mode::@19 +gfx_mode::@18: scope:[gfx_mode] from gfx_mode::@7 + (byte) gfx_mode::vic_control#5 ← phi( gfx_mode::@7/(byte) gfx_mode::vic_control#6 ) + (byte~) gfx_mode::$25 ← (byte) gfx_mode::vic_control#5 | (byte) VIC_BMM#0 + (byte) gfx_mode::vic_control#2 ← (byte~) gfx_mode::$25 + to:gfx_mode::@8 +gfx_mode::@9: scope:[gfx_mode] from gfx_mode::@19 gfx_mode::@8 + (byte) gfx_mode::vic_control2#2 ← phi( gfx_mode::@19/(byte) gfx_mode::vic_control2#1 gfx_mode::@8/(byte) gfx_mode::vic_control2#0 ) + *((byte*) VIC_CONTROL2#0) ← (byte) gfx_mode::vic_control2#2 + (byte~) gfx_mode::$29 ← *((byte*) form_a_start_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$30 ← (byte~) gfx_mode::$29 | *((byte*) form_a_start_lo#0) + (byte) gfx_mode::plane_a_offs#0 ← (byte~) gfx_mode::$30 + (dword~) gfx_mode::$31 ← ((dword)) (byte*) FORM_SCREEN#0 + (dword~) gfx_mode::$32 ← (dword~) gfx_mode::$31 + (byte) gfx_mode::plane_a_offs#0 + (dword) gfx_mode::plane_a#0 ← (dword~) gfx_mode::$32 + (word~) gfx_mode::$33 ← < (dword) gfx_mode::plane_a#0 + (byte~) gfx_mode::$34 ← < (word~) gfx_mode::$33 + *((byte*) DTV_PLANEA_START_LO#0) ← (byte~) gfx_mode::$34 + (word~) gfx_mode::$35 ← < (dword) gfx_mode::plane_a#0 + (byte~) gfx_mode::$36 ← > (word~) gfx_mode::$35 + *((byte*) DTV_PLANEA_START_MI#0) ← (byte~) gfx_mode::$36 + (word~) gfx_mode::$37 ← > (dword) gfx_mode::plane_a#0 + (byte~) gfx_mode::$38 ← < (word~) gfx_mode::$37 + *((byte*) DTV_PLANEA_START_HI#0) ← (byte~) gfx_mode::$38 + (byte~) gfx_mode::$39 ← *((byte*) form_a_step_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$40 ← (byte~) gfx_mode::$39 | *((byte*) form_a_step_lo#0) + *((byte*) DTV_PLANEA_STEP#0) ← (byte~) gfx_mode::$40 + (byte~) gfx_mode::$41 ← *((byte*) form_a_mod_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$42 ← (byte~) gfx_mode::$41 | *((byte*) form_a_mod_lo#0) + *((byte*) DTV_PLANEA_MODULO_LO#0) ← (byte~) gfx_mode::$42 + *((byte*) DTV_PLANEA_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) gfx_mode::$43 ← *((byte*) form_b_start_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$44 ← (byte~) gfx_mode::$43 | *((byte*) form_b_start_lo#0) + (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$44 + (dword~) gfx_mode::$45 ← (dword) PLANE_8BPP_CHUNKY#0 + (byte) gfx_mode::plane_b_offs#0 + (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$45 + (word~) gfx_mode::$46 ← < (dword) gfx_mode::plane_b#0 + (byte~) gfx_mode::$47 ← < (word~) gfx_mode::$46 + *((byte*) DTV_PLANEB_START_LO#0) ← (byte~) gfx_mode::$47 + (word~) gfx_mode::$48 ← < (dword) gfx_mode::plane_b#0 + (byte~) gfx_mode::$49 ← > (word~) gfx_mode::$48 + *((byte*) DTV_PLANEB_START_MI#0) ← (byte~) gfx_mode::$49 + (word~) gfx_mode::$50 ← > (dword) gfx_mode::plane_b#0 + (byte~) gfx_mode::$51 ← < (word~) gfx_mode::$50 + *((byte*) DTV_PLANEB_START_HI#0) ← (byte~) gfx_mode::$51 + (byte~) gfx_mode::$52 ← *((byte*) form_b_step_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$52 | *((byte*) form_b_step_lo#0) + *((byte*) DTV_PLANEB_STEP#0) ← (byte~) gfx_mode::$53 + (byte~) gfx_mode::$54 ← *((byte*) form_b_mod_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$55 ← (byte~) gfx_mode::$54 | *((byte*) form_b_mod_lo#0) + *((byte*) DTV_PLANEB_MODULO_LO#0) ← (byte~) gfx_mode::$55 + *((byte*) DTV_PLANEB_MODULO_HI#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) gfx_mode::$56 ← *((byte*) form_vic_bg0_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$57 ← (byte~) gfx_mode::$56 | *((byte*) form_vic_bg0_lo#0) + *((byte*) BGCOL1#0) ← (byte~) gfx_mode::$57 + (byte~) gfx_mode::$58 ← *((byte*) form_vic_bg1_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$59 ← (byte~) gfx_mode::$58 | *((byte*) form_vic_bg1_lo#0) + *((byte*) BGCOL2#0) ← (byte~) gfx_mode::$59 + (byte~) gfx_mode::$60 ← *((byte*) form_vic_bg2_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$61 ← (byte~) gfx_mode::$60 | *((byte*) form_vic_bg2_lo#0) + *((byte*) BGCOL3#0) ← (byte~) gfx_mode::$61 + (byte~) gfx_mode::$62 ← *((byte*) form_vic_bg3_hi#0) << (byte/signed byte/word/signed word/dword/signed dword) 4 + (byte~) gfx_mode::$63 ← (byte~) gfx_mode::$62 | *((byte*) form_vic_bg3_lo#0) + *((byte*) BGCOL4#0) ← (byte~) gfx_mode::$63 + (byte) gfx_mode::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:gfx_mode::@10 +gfx_mode::@19: scope:[gfx_mode] from gfx_mode::@8 + (byte) gfx_mode::vic_control2#3 ← phi( gfx_mode::@8/(byte) gfx_mode::vic_control2#0 ) + (byte~) gfx_mode::$28 ← (byte) gfx_mode::vic_control2#3 | (byte) VIC_MCM#0 + (byte) gfx_mode::vic_control2#1 ← (byte~) gfx_mode::$28 + to:gfx_mode::@9 +gfx_mode::@10: scope:[gfx_mode] from gfx_mode::@10 gfx_mode::@9 + (byte) gfx_mode::i#2 ← phi( gfx_mode::@10/(byte) gfx_mode::i#1 gfx_mode::@9/(byte) gfx_mode::i#0 ) + *((byte*) DTV_PALETTE#0 + (byte) gfx_mode::i#2) ← (byte) gfx_mode::i#2 + (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 + (boolean~) gfx_mode::$64 ← (byte) gfx_mode::i#1 != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) gfx_mode::$64) goto gfx_mode::@10 + to:gfx_mode::@return +gfx_mode::@return: scope:[gfx_mode] from gfx_mode::@10 + return + to:@return +gfx_init: scope:[gfx_init] from main::@19 + call gfx_init_plane_8bppchunky param-assignment + to:gfx_init::@1 +gfx_init::@1: scope:[gfx_init] from gfx_init + to:gfx_init::@return +gfx_init::@return: scope:[gfx_init] from gfx_init::@1 + return + to:@return +gfx_init_plane_8bppchunky: scope:[gfx_init_plane_8bppchunky] from gfx_init + (dword~) gfx_init_plane_8bppchunky::$0 ← (dword) PLANE_8BPP_CHUNKY#0 / (word/signed word/dword/signed dword) 16384 + (byte~) gfx_init_plane_8bppchunky::$1 ← ((byte)) (dword~) gfx_init_plane_8bppchunky::$0 + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 ← (byte~) gfx_init_plane_8bppchunky::$1 + (byte) dtvSetCpuBankSegment1::cpuBankIdx#0 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 + call dtvSetCpuBankSegment1 param-assignment + to:gfx_init_plane_8bppchunky::@7 +gfx_init_plane_8bppchunky::@7: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#3 ← phi( gfx_init_plane_8bppchunky/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 ) + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#3 + (byte*) gfx_init_plane_8bppchunky::gfxb#0 ← ((byte*)) (word/signed word/dword/signed dword) 16384 + (byte) gfx_init_plane_8bppchunky::y#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:gfx_init_plane_8bppchunky::@1 +gfx_init_plane_8bppchunky::@1: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@7 + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#9 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 ) + (byte) gfx_init_plane_8bppchunky::y#6 ← phi( gfx_init_plane_8bppchunky::@5/(byte) gfx_init_plane_8bppchunky::y#1 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::y#0 ) + (byte*) gfx_init_plane_8bppchunky::gfxb#5 ← phi( gfx_init_plane_8bppchunky::@5/(byte*) gfx_init_plane_8bppchunky::gfxb#6 gfx_init_plane_8bppchunky::@7/(byte*) gfx_init_plane_8bppchunky::gfxb#0 ) + (word) gfx_init_plane_8bppchunky::x#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + 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 + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#6 ← 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 ) + (byte) gfx_init_plane_8bppchunky::y#4 ← phi( gfx_init_plane_8bppchunky::@1/(byte) gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::y#2 ) + (word) gfx_init_plane_8bppchunky::x#3 ← phi( gfx_init_plane_8bppchunky::@1/(word) gfx_init_plane_8bppchunky::x#0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) + (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 ) + (boolean~) gfx_init_plane_8bppchunky::$3 ← (byte*) gfx_init_plane_8bppchunky::gfxb#3 == (word/dword/signed dword) 32768 + (boolean~) gfx_init_plane_8bppchunky::$4 ← ! (boolean~) gfx_init_plane_8bppchunky::$3 + if((boolean~) gfx_init_plane_8bppchunky::$4) goto gfx_init_plane_8bppchunky::@3 + to:gfx_init_plane_8bppchunky::@4 +gfx_init_plane_8bppchunky::@3: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8 + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#6 gfx_init_plane_8bppchunky::@8/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) + (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*) gfx_init_plane_8bppchunky::gfxb#2 ) + (byte) gfx_init_plane_8bppchunky::y#2 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::y#4 gfx_init_plane_8bppchunky::@8/(byte) gfx_init_plane_8bppchunky::y#5 ) + (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@2/(word) gfx_init_plane_8bppchunky::x#3 gfx_init_plane_8bppchunky::@8/(word) gfx_init_plane_8bppchunky::x#4 ) + (word~) gfx_init_plane_8bppchunky::$6 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#2 + (byte~) gfx_init_plane_8bppchunky::$7 ← ((byte)) (word~) gfx_init_plane_8bppchunky::$6 + (byte) gfx_init_plane_8bppchunky::c#0 ← (byte~) gfx_init_plane_8bppchunky::$7 + *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 + (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 + (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 + (boolean~) gfx_init_plane_8bppchunky::$8 ← (word) gfx_init_plane_8bppchunky::x#1 != (word/signed word/dword/signed dword) 320 + if((boolean~) gfx_init_plane_8bppchunky::$8) goto gfx_init_plane_8bppchunky::@2 + to:gfx_init_plane_8bppchunky::@5 +gfx_init_plane_8bppchunky::@4: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 + (byte) gfx_init_plane_8bppchunky::y#7 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::y#4 ) + (word) gfx_init_plane_8bppchunky::x#5 ← phi( gfx_init_plane_8bppchunky::@2/(word) gfx_init_plane_8bppchunky::x#3 ) + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#6 ) + (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 + call dtvSetCpuBankSegment1 param-assignment + to:gfx_init_plane_8bppchunky::@8 +gfx_init_plane_8bppchunky::@8: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@4 + (byte) gfx_init_plane_8bppchunky::y#5 ← phi( gfx_init_plane_8bppchunky::@4/(byte) gfx_init_plane_8bppchunky::y#7 ) + (word) gfx_init_plane_8bppchunky::x#4 ← phi( gfx_init_plane_8bppchunky::@4/(word) gfx_init_plane_8bppchunky::x#5 ) + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#5 ← phi( gfx_init_plane_8bppchunky::@4/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 ) + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#5 + (byte*) gfx_init_plane_8bppchunky::gfxb#2 ← ((byte*)) (word/signed word/dword/signed dword) 16384 + to:gfx_init_plane_8bppchunky::@3 +gfx_init_plane_8bppchunky::@5: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@3 + (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#9 ← phi( gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ) + (byte*) gfx_init_plane_8bppchunky::gfxb#6 ← phi( gfx_init_plane_8bppchunky::@3/(byte*) gfx_init_plane_8bppchunky::gfxb#1 ) + (byte) gfx_init_plane_8bppchunky::y#3 ← phi( gfx_init_plane_8bppchunky::@3/(byte) gfx_init_plane_8bppchunky::y#2 ) + (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#3 + (boolean~) gfx_init_plane_8bppchunky::$9 ← (byte) gfx_init_plane_8bppchunky::y#1 != (byte/word/signed word/dword/signed dword) 200 + if((boolean~) gfx_init_plane_8bppchunky::$9) goto gfx_init_plane_8bppchunky::@1 + to:gfx_init_plane_8bppchunky::@6 +gfx_init_plane_8bppchunky::@6: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@5 + (byte/signed byte/word/signed word/dword/signed dword~) gfx_init_plane_8bppchunky::$10 ← (word/signed word/dword/signed dword) 16384 / (word/signed word/dword/signed dword) 16384 + (byte~) gfx_init_plane_8bppchunky::$11 ← ((byte)) (byte/signed byte/word/signed word/dword/signed dword~) gfx_init_plane_8bppchunky::$10 + (byte) dtvSetCpuBankSegment1::cpuBankIdx#2 ← (byte~) gfx_init_plane_8bppchunky::$11 + call dtvSetCpuBankSegment1 param-assignment + to:gfx_init_plane_8bppchunky::@9 +gfx_init_plane_8bppchunky::@9: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@6 + to:gfx_init_plane_8bppchunky::@return +gfx_init_plane_8bppchunky::@return: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@9 + return + to:@return +form_init: scope:[form_init] from main::@20 + (byte) form_fields_cnt#21 ← phi( main::@20/(byte) form_fields_cnt#23 ) + (byte*) print_char_cursor#36 ← phi( main::@20/(byte*) print_char_cursor#34 ) + (byte*) print_line_cursor#34 ← phi( main::@20/(byte*) print_line_cursor#32 ) + (byte*) print_screen#18 ← phi( main::@20/(byte*) print_screen#16 ) + (byte*~) form_init::$0 ← (byte*) COLS#0 + (word) FORM_OFFSET#0 + (byte*) print_set_screen::screen#0 ← (byte*~) form_init::$0 + call print_set_screen param-assignment + to:form_init::@1 +form_init::@1: scope:[form_init] from form_init + (byte) form_fields_cnt#18 ← phi( form_init/(byte) form_fields_cnt#21 ) + (byte*) print_char_cursor#24 ← phi( form_init/(byte*) print_char_cursor#7 ) + (byte*) print_line_cursor#23 ← phi( form_init/(byte*) print_line_cursor#6 ) + (byte*) print_screen#12 ← phi( form_init/(byte*) print_screen#2 ) + (byte*) print_screen#5 ← (byte*) print_screen#12 + (byte*) print_line_cursor#9 ← (byte*) print_line_cursor#23 + (byte*) print_char_cursor#10 ← (byte*) print_char_cursor#24 + (byte*) print_str_lines::str#1 ← (byte[]) FORM_COLS#0 + call print_str_lines param-assignment + to:form_init::@2 +form_init::@2: scope:[form_init] from form_init::@1 + (byte) form_fields_cnt#16 ← phi( form_init::@1/(byte) form_fields_cnt#18 ) + (byte*) print_screen#19 ← phi( form_init::@1/(byte*) print_screen#5 ) + (byte*) print_line_cursor#24 ← phi( form_init::@1/(byte*) print_line_cursor#2 ) + (byte*) print_char_cursor#25 ← phi( form_init::@1/(byte*) print_char_cursor#3 ) + (byte*) print_char_cursor#11 ← (byte*) print_char_cursor#25 + (byte*) print_line_cursor#10 ← (byte*) print_line_cursor#24 + (byte*~) form_init::$3 ← (byte*) FORM_SCREEN#0 + (word) FORM_OFFSET#0 + (byte*) print_set_screen::screen#1 ← (byte*~) form_init::$3 + call print_set_screen param-assignment + to:form_init::@3 +form_init::@3: scope:[form_init] from form_init::@2 + (byte) form_fields_cnt#13 ← phi( form_init::@2/(byte) form_fields_cnt#16 ) + (byte*) print_char_cursor#26 ← phi( form_init::@2/(byte*) print_char_cursor#7 ) + (byte*) print_line_cursor#25 ← phi( form_init::@2/(byte*) print_line_cursor#6 ) + (byte*) print_screen#13 ← phi( form_init::@2/(byte*) print_screen#2 ) + (byte*) print_screen#6 ← (byte*) print_screen#13 + (byte*) print_line_cursor#11 ← (byte*) print_line_cursor#25 + (byte*) print_char_cursor#12 ← (byte*) print_char_cursor#26 + (byte*) print_str_lines::str#2 ← (byte[]) FORM_TEXT#0 + call print_str_lines param-assignment + to:form_init::@4 +form_init::@4: scope:[form_init] from form_init::@3 + (byte) form_fields_cnt#11 ← phi( form_init::@3/(byte) form_fields_cnt#13 ) + (byte*) print_screen#28 ← phi( form_init::@3/(byte*) print_screen#6 ) + (byte*) print_line_cursor#26 ← phi( form_init::@3/(byte*) print_line_cursor#2 ) + (byte*) print_char_cursor#27 ← phi( form_init::@3/(byte*) print_char_cursor#3 ) + (byte*) print_char_cursor#13 ← (byte*) print_char_cursor#27 + (byte*) print_line_cursor#12 ← (byte*) print_line_cursor#26 + (byte*~) form_init::$6 ← (byte*) FORM_SCREEN#0 + (word) FORM_OFFSET#0 + (byte*) form_set_screen::screen#0 ← (byte*~) form_init::$6 + call form_set_screen param-assignment + to:form_init::@5 +form_init::@5: scope:[form_init] from form_init::@4 + (byte) form_fields_cnt#9 ← phi( form_init::@4/(byte) form_fields_cnt#11 ) + (byte*) print_char_cursor#44 ← phi( form_init::@4/(byte*) print_char_cursor#13 ) + (byte*) print_line_cursor#41 ← phi( form_init::@4/(byte*) print_line_cursor#12 ) + (byte*) print_screen#24 ← phi( form_init::@4/(byte*) print_screen#28 ) + call form_render_values param-assignment + to:form_init::@6 +form_init::@6: scope:[form_init] from form_init::@5 + (byte*) print_char_cursor#37 ← phi( form_init::@5/(byte*) print_char_cursor#44 ) + (byte*) print_line_cursor#35 ← phi( form_init::@5/(byte*) print_line_cursor#41 ) + (byte*) print_screen#20 ← phi( form_init::@5/(byte*) print_screen#24 ) + to:form_init::@return +form_init::@return: scope:[form_init] from form_init::@6 + (byte*) print_char_cursor#28 ← phi( form_init::@6/(byte*) print_char_cursor#37 ) + (byte*) print_line_cursor#27 ← phi( form_init::@6/(byte*) print_line_cursor#35 ) + (byte*) print_screen#14 ← phi( form_init::@6/(byte*) print_screen#20 ) + (byte*) print_screen#7 ← (byte*) print_screen#14 + (byte*) print_line_cursor#13 ← (byte*) print_line_cursor#27 + (byte*) print_char_cursor#14 ← (byte*) print_char_cursor#28 + return + to:@return +form_mode: scope:[form_mode] from main::@6 + (dword~) form_mode::$0 ← ((dword)) (byte*) FORM_CHARSET#0 + (dword~) form_mode::$1 ← (dword~) form_mode::$0 / (dword/signed dword) 65536 + (byte~) form_mode::$2 ← ((byte)) (dword~) form_mode::$1 + *((byte*) DTV_GRAPHICS_VIC_BANK#0) ← (byte~) form_mode::$2 + (dword~) form_mode::$3 ← (dword) DTV_COLOR_BANK_DEFAULT#0 / (word/signed word/dword/signed dword) 1024 + (word~) form_mode::$4 ← ((word)) (dword~) form_mode::$3 + (byte~) form_mode::$5 ← < (word~) form_mode::$4 + *((byte*) DTV_COLOR_BANK_LO#0) ← (byte~) form_mode::$5 + (dword~) form_mode::$6 ← (dword) DTV_COLOR_BANK_DEFAULT#0 / (word/signed word/dword/signed dword) 1024 + (word~) form_mode::$7 ← ((word)) (dword~) form_mode::$6 + (byte~) form_mode::$8 ← > (word~) form_mode::$7 + *((byte*) DTV_COLOR_BANK_HI#0) ← (byte~) form_mode::$8 + *((byte*) CIA2_PORT_A_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3 + (word~) form_mode::$9 ← ((word)) (byte*) FORM_CHARSET#0 + (word/signed dword/dword~) form_mode::$10 ← (word~) form_mode::$9 / (word/signed word/dword/signed dword) 16384 + (byte~) form_mode::$11 ← ((byte)) (word/signed dword/dword~) form_mode::$10 + (byte/word/dword~) form_mode::$12 ← (byte/signed byte/word/signed word/dword/signed dword) 3 ^ (byte~) form_mode::$11 + *((byte*) CIA2_PORT_A#0) ← (byte/word/dword~) form_mode::$12 + *((byte*) DTV_CONTROL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte~) form_mode::$13 ← (byte) VIC_DEN#0 | (byte) VIC_RSEL#0 + (byte/word/dword~) form_mode::$14 ← (byte~) form_mode::$13 | (byte/signed byte/word/signed word/dword/signed dword) 3 + *((byte*) VIC_CONTROL#0) ← (byte/word/dword~) form_mode::$14 + *((byte*) VIC_CONTROL2#0) ← (byte) VIC_CSEL#0 + (word~) form_mode::$15 ← ((word)) (byte*) FORM_SCREEN#0 + (word~) form_mode::$16 ← (word~) form_mode::$15 & (word/signed word/dword/signed dword) 16383 + (word/signed dword/dword~) form_mode::$17 ← (word~) form_mode::$16 / (byte/signed byte/word/signed word/dword/signed dword) 64 + (word~) form_mode::$18 ← ((word)) (byte*) FORM_CHARSET#0 + (word~) form_mode::$19 ← (word~) form_mode::$18 & (word/signed word/dword/signed dword) 16383 + (word/signed dword/dword~) form_mode::$20 ← (word~) form_mode::$19 / (word/signed word/dword/signed dword) 1024 + (word/dword~) form_mode::$21 ← (word/signed dword/dword~) form_mode::$17 | (word/signed dword/dword~) form_mode::$20 + (byte~) form_mode::$22 ← ((byte)) (word/dword~) form_mode::$21 + *((byte*) VIC_MEMORY#0) ← (byte~) form_mode::$22 + (byte) form_mode::i#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:form_mode::@1 +form_mode::@1: scope:[form_mode] from form_mode form_mode::@1 + (byte) form_mode::i#2 ← phi( form_mode/(byte) form_mode::i#0 form_mode::@1/(byte) form_mode::i#1 ) + *((byte*) DTV_PALETTE#0 + (byte) form_mode::i#2) ← *((byte[16]) DTV_PALETTE_DEFAULT#0 + (byte) form_mode::i#2) + (byte) form_mode::i#1 ← ++ (byte) form_mode::i#2 + (boolean~) form_mode::$23 ← (byte) form_mode::i#1 != (byte/signed byte/word/signed word/dword/signed dword) 16 + if((boolean~) form_mode::$23) goto form_mode::@1 + to:form_mode::@2 +form_mode::@2: scope:[form_mode] from form_mode::@1 + *((byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + *((byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + to:form_mode::@return +form_mode::@return: scope:[form_mode] from form_mode::@2 + return + to:@return +@28: scope:[] from @23 + (byte) form_fields_cnt#33 ← phi( @23/(byte) form_fields_cnt#0 ) + (byte) keyboard_modifiers#54 ← phi( @23/(byte) keyboard_modifiers#58 ) + (byte) keyboard_events_size#54 ← phi( @23/(byte) keyboard_events_size#61 ) + (byte*) print_char_cursor#45 ← phi( @23/(byte*) print_char_cursor#48 ) + (byte*) print_line_cursor#42 ← phi( @23/(byte*) print_line_cursor#47 ) + (byte*) print_screen#25 ← phi( @23/(byte*) print_screen#29 ) + (byte[25]) form_line_lo#0 ← { fill( 25, 0) } + (byte[25]) form_line_hi#0 ← { fill( 25, 0) } + (byte) form_field_idx#2 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (signed byte) FORM_CURSOR_BLINK#0 ← (byte/signed byte/word/signed word/dword/signed dword) 40 + (signed word/signed byte/signed dword~) $55 ← (signed byte) FORM_CURSOR_BLINK#0 / (byte/signed byte/word/signed word/dword/signed dword) 2 + (signed byte) form_cursor_count#2 ← (signed word/signed byte/signed dword~) $55 + to:@32 +form_set_screen: scope:[form_set_screen] from form_init::@4 + (byte*) form_set_screen::screen#1 ← phi( form_init::@4/(byte*) form_set_screen::screen#0 ) (byte*) form_set_screen::line#0 ← (byte*) form_set_screen::screen#1 (byte) form_set_screen::y#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:form_set_screen::@1 @@ -4158,8 +5379,8 @@ form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr (byte*) form_field_ptr::return#1 ← (byte*) form_field_ptr::return#4 return to:@return -form_render_values: scope:[form_render_values] from menu::@21 - (byte) form_fields_cnt#7 ← phi( menu::@21/(byte) form_fields_cnt#9 ) +form_render_values: scope:[form_render_values] from form_init::@5 + (byte) form_fields_cnt#7 ← phi( form_init::@5/(byte) form_fields_cnt#9 ) (byte) form_render_values::idx#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:form_render_values::@1 form_render_values::@1: scope:[form_render_values] from form_render_values form_render_values::@3 @@ -4183,299 +5404,299 @@ form_render_values::@3: scope:[form_render_values] from form_render_values::@1 form_render_values::@return: scope:[form_render_values] from form_render_values::@3 return to:@return -form_control: scope:[form_control] from menu::@7 - (byte) form_fields_cnt#22 ← phi( menu::@7/(byte) form_fields_cnt#24 ) - (byte) keyboard_modifiers#74 ← phi( menu::@7/(byte) keyboard_modifiers#35 ) - (byte) keyboard_events_size#85 ← phi( menu::@7/(byte) keyboard_events_size#36 ) - (signed byte) form_cursor_count#22 ← phi( menu::@7/(signed byte) form_cursor_count#20 ) - (byte) form_field_idx#15 ← phi( menu::@7/(byte) form_field_idx#27 ) - (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#15 +form_control: scope:[form_control] from main::@9 + (byte) form_fields_cnt#22 ← phi( main::@9/(byte) form_fields_cnt#24 ) + (byte) keyboard_modifiers#70 ← phi( main::@9/(byte) keyboard_modifiers#29 ) + (byte) keyboard_events_size#81 ← phi( main::@9/(byte) keyboard_events_size#30 ) + (signed byte) form_cursor_count#16 ← phi( main::@9/(signed byte) form_cursor_count#14 ) + (byte) form_field_idx#11 ← phi( main::@9/(byte) form_field_idx#21 ) + (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#11 call form_field_ptr param-assignment (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#1 - to:form_control::@28 -form_control::@28: scope:[form_control] from form_control + to:form_control::@29 +form_control::@29: scope:[form_control] from form_control (byte) form_fields_cnt#20 ← phi( form_control/(byte) form_fields_cnt#22 ) - (byte) form_field_idx#56 ← phi( form_control/(byte) form_field_idx#15 ) - (byte) keyboard_modifiers#72 ← phi( form_control/(byte) keyboard_modifiers#74 ) - (byte) keyboard_events_size#78 ← phi( form_control/(byte) keyboard_events_size#85 ) - (signed byte) form_cursor_count#14 ← phi( form_control/(signed byte) form_cursor_count#22 ) + (byte) form_field_idx#52 ← phi( form_control/(byte) form_field_idx#11 ) + (byte) keyboard_modifiers#67 ← phi( form_control/(byte) keyboard_modifiers#70 ) + (byte) keyboard_events_size#73 ← phi( form_control/(byte) keyboard_events_size#81 ) + (signed byte) form_cursor_count#10 ← phi( form_control/(signed byte) form_cursor_count#16 ) (byte*) form_field_ptr::return#6 ← phi( form_control/(byte*) form_field_ptr::return#3 ) (byte*~) form_control::$0 ← (byte*) form_field_ptr::return#6 (byte*) form_control::field#0 ← (byte*~) form_control::$0 - (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#14 - (boolean~) form_control::$1 ← (signed byte) form_cursor_count#5 < (byte/signed byte/word/signed word/dword/signed dword) 0 + (signed byte) form_cursor_count#3 ← -- (signed byte) form_cursor_count#10 + (boolean~) form_control::$1 ← (signed byte) form_cursor_count#3 < (byte/signed byte/word/signed word/dword/signed dword) 0 (boolean~) form_control::$2 ← ! (boolean~) form_control::$1 if((boolean~) form_control::$2) goto form_control::@1 to:form_control::@14 -form_control::@1: scope:[form_control] from form_control::@14 form_control::@28 - (byte) form_fields_cnt#17 ← phi( form_control::@14/(byte) form_fields_cnt#19 form_control::@28/(byte) form_fields_cnt#20 ) - (byte) form_field_idx#53 ← phi( form_control::@14/(byte) form_field_idx#55 form_control::@28/(byte) form_field_idx#56 ) - (byte) keyboard_modifiers#65 ← phi( form_control::@14/(byte) keyboard_modifiers#71 form_control::@28/(byte) keyboard_modifiers#72 ) - (byte) keyboard_events_size#68 ← phi( form_control::@14/(byte) keyboard_events_size#77 form_control::@28/(byte) keyboard_events_size#78 ) - (byte*) form_control::field#5 ← phi( form_control::@14/(byte*) form_control::field#11 form_control::@28/(byte*) form_control::field#0 ) - (signed byte) form_cursor_count#15 ← phi( form_control::@14/(signed byte) form_cursor_count#6 form_control::@28/(signed byte) form_cursor_count#5 ) +form_control::@1: scope:[form_control] from form_control::@14 form_control::@29 + (byte) form_fields_cnt#17 ← phi( form_control::@14/(byte) form_fields_cnt#19 form_control::@29/(byte) form_fields_cnt#20 ) + (byte) form_field_idx#50 ← phi( form_control::@14/(byte) form_field_idx#51 form_control::@29/(byte) form_field_idx#52 ) + (byte) keyboard_modifiers#59 ← phi( form_control::@14/(byte) keyboard_modifiers#66 form_control::@29/(byte) keyboard_modifiers#67 ) + (byte) keyboard_events_size#62 ← phi( form_control::@14/(byte) keyboard_events_size#72 form_control::@29/(byte) keyboard_events_size#73 ) + (byte*) form_control::field#5 ← phi( form_control::@14/(byte*) form_control::field#11 form_control::@29/(byte*) form_control::field#0 ) + (signed byte) form_cursor_count#11 ← phi( form_control::@14/(signed byte) form_cursor_count#4 form_control::@29/(signed byte) form_cursor_count#3 ) (signed word/signed byte/signed dword~) form_control::$3 ← (signed byte) FORM_CURSOR_BLINK#0 / (byte/signed byte/word/signed word/dword/signed dword) 2 - (boolean~) form_control::$4 ← (signed byte) form_cursor_count#15 < (signed word/signed byte/signed dword~) form_control::$3 + (boolean~) form_control::$4 ← (signed byte) form_cursor_count#11 < (signed word/signed byte/signed dword~) form_control::$3 (boolean~) form_control::$5 ← ! (boolean~) form_control::$4 if((boolean~) form_control::$5) goto form_control::@2 to:form_control::@15 -form_control::@14: scope:[form_control] from form_control::@28 - (byte) form_fields_cnt#19 ← phi( form_control::@28/(byte) form_fields_cnt#20 ) - (byte) form_field_idx#55 ← phi( form_control::@28/(byte) form_field_idx#56 ) - (byte) keyboard_modifiers#71 ← phi( form_control::@28/(byte) keyboard_modifiers#72 ) - (byte) keyboard_events_size#77 ← phi( form_control::@28/(byte) keyboard_events_size#78 ) - (byte*) form_control::field#11 ← phi( form_control::@28/(byte*) form_control::field#0 ) - (signed byte) form_cursor_count#6 ← (signed byte) FORM_CURSOR_BLINK#0 +form_control::@14: scope:[form_control] from form_control::@29 + (byte) form_fields_cnt#19 ← phi( form_control::@29/(byte) form_fields_cnt#20 ) + (byte) form_field_idx#51 ← phi( form_control::@29/(byte) form_field_idx#52 ) + (byte) keyboard_modifiers#66 ← phi( form_control::@29/(byte) keyboard_modifiers#67 ) + (byte) keyboard_events_size#72 ← phi( form_control::@29/(byte) keyboard_events_size#73 ) + (byte*) form_control::field#11 ← phi( form_control::@29/(byte*) form_control::field#0 ) + (signed byte) form_cursor_count#4 ← (signed byte) FORM_CURSOR_BLINK#0 to:form_control::@1 form_control::@2: scope:[form_control] from form_control::@1 - (signed byte) form_cursor_count#47 ← phi( form_control::@1/(signed byte) form_cursor_count#15 ) + (signed byte) form_cursor_count#44 ← phi( form_control::@1/(signed byte) form_cursor_count#11 ) (byte) form_fields_cnt#15 ← phi( form_control::@1/(byte) form_fields_cnt#17 ) - (byte) form_field_idx#51 ← phi( form_control::@1/(byte) form_field_idx#53 ) - (byte) keyboard_modifiers#51 ← phi( form_control::@1/(byte) keyboard_modifiers#65 ) - (byte) keyboard_events_size#50 ← phi( form_control::@1/(byte) keyboard_events_size#68 ) + (byte) form_field_idx#47 ← phi( form_control::@1/(byte) form_field_idx#50 ) + (byte) keyboard_modifiers#45 ← phi( form_control::@1/(byte) keyboard_modifiers#59 ) + (byte) keyboard_events_size#44 ← phi( form_control::@1/(byte) keyboard_events_size#62 ) (byte*) form_control::field#1 ← phi( form_control::@1/(byte*) form_control::field#5 ) (byte~) form_control::$7 ← *((byte*) form_control::field#1) & (byte/signed byte/word/signed word/dword/signed dword) 127 *((byte*) form_control::field#1) ← (byte~) form_control::$7 to:form_control::@3 form_control::@15: scope:[form_control] from form_control::@1 - (signed byte) form_cursor_count#46 ← phi( form_control::@1/(signed byte) form_cursor_count#15 ) + (signed byte) form_cursor_count#43 ← phi( form_control::@1/(signed byte) form_cursor_count#11 ) (byte) form_fields_cnt#14 ← phi( form_control::@1/(byte) form_fields_cnt#17 ) - (byte) form_field_idx#50 ← phi( form_control::@1/(byte) form_field_idx#53 ) - (byte) keyboard_modifiers#50 ← phi( form_control::@1/(byte) keyboard_modifiers#65 ) - (byte) keyboard_events_size#49 ← phi( form_control::@1/(byte) keyboard_events_size#68 ) + (byte) form_field_idx#46 ← phi( form_control::@1/(byte) form_field_idx#50 ) + (byte) keyboard_modifiers#44 ← phi( form_control::@1/(byte) keyboard_modifiers#59 ) + (byte) keyboard_events_size#43 ← phi( form_control::@1/(byte) keyboard_events_size#62 ) (byte*) form_control::field#2 ← phi( form_control::@1/(byte*) form_control::field#5 ) (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#2) | (byte/word/signed word/dword/signed dword) 128 *((byte*) form_control::field#2) ← (byte/word/dword~) form_control::$6 to:form_control::@3 form_control::@3: scope:[form_control] from form_control::@15 form_control::@2 - (signed byte) form_cursor_count#44 ← phi( form_control::@15/(signed byte) form_cursor_count#46 form_control::@2/(signed byte) form_cursor_count#47 ) + (signed byte) form_cursor_count#40 ← phi( form_control::@15/(signed byte) form_cursor_count#43 form_control::@2/(signed byte) form_cursor_count#44 ) (byte) form_fields_cnt#12 ← phi( form_control::@15/(byte) form_fields_cnt#14 form_control::@2/(byte) form_fields_cnt#15 ) - (byte) form_field_idx#48 ← phi( form_control::@15/(byte) form_field_idx#50 form_control::@2/(byte) form_field_idx#51 ) + (byte) form_field_idx#43 ← phi( form_control::@15/(byte) form_field_idx#46 form_control::@2/(byte) form_field_idx#47 ) (byte*) form_control::field#15 ← phi( form_control::@15/(byte*) form_control::field#2 form_control::@2/(byte*) form_control::field#1 ) - (byte) keyboard_modifiers#37 ← phi( form_control::@15/(byte) keyboard_modifiers#50 form_control::@2/(byte) keyboard_modifiers#51 ) - (byte) keyboard_events_size#38 ← phi( form_control::@15/(byte) keyboard_events_size#49 form_control::@2/(byte) keyboard_events_size#50 ) + (byte) keyboard_modifiers#31 ← phi( form_control::@15/(byte) keyboard_modifiers#44 form_control::@2/(byte) keyboard_modifiers#45 ) + (byte) keyboard_events_size#32 ← phi( form_control::@15/(byte) keyboard_events_size#43 form_control::@2/(byte) keyboard_events_size#44 ) call keyboard_event_scan param-assignment - to:form_control::@29 -form_control::@29: scope:[form_control] from form_control::@3 - (signed byte) form_cursor_count#41 ← phi( form_control::@3/(signed byte) form_cursor_count#44 ) + to:form_control::@30 +form_control::@30: scope:[form_control] from form_control::@3 + (signed byte) form_cursor_count#36 ← phi( form_control::@3/(signed byte) form_cursor_count#40 ) (byte) form_fields_cnt#10 ← phi( form_control::@3/(byte) form_fields_cnt#12 ) - (byte) form_field_idx#46 ← phi( form_control::@3/(byte) form_field_idx#48 ) + (byte) form_field_idx#40 ← phi( form_control::@3/(byte) form_field_idx#43 ) (byte*) form_control::field#12 ← phi( form_control::@3/(byte*) form_control::field#15 ) - (byte) keyboard_modifiers#23 ← phi( form_control::@3/(byte) keyboard_modifiers#6 ) - (byte) keyboard_events_size#25 ← phi( form_control::@3/(byte) keyboard_events_size#3 ) - (byte) keyboard_events_size#10 ← (byte) keyboard_events_size#25 - (byte) keyboard_modifiers#11 ← (byte) keyboard_modifiers#23 + (byte) keyboard_modifiers#19 ← phi( form_control::@3/(byte) keyboard_modifiers#6 ) + (byte) keyboard_events_size#21 ← phi( form_control::@3/(byte) keyboard_events_size#3 ) + (byte) keyboard_events_size#8 ← (byte) keyboard_events_size#21 + (byte) keyboard_modifiers#9 ← (byte) keyboard_modifiers#19 call keyboard_event_get param-assignment (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 - to:form_control::@30 -form_control::@30: scope:[form_control] from form_control::@29 - (signed byte) form_cursor_count#37 ← phi( form_control::@29/(signed byte) form_cursor_count#41 ) - (byte) form_fields_cnt#8 ← phi( form_control::@29/(byte) form_fields_cnt#10 ) - (byte) form_field_idx#39 ← phi( form_control::@29/(byte) form_field_idx#46 ) - (byte) keyboard_modifiers#38 ← phi( form_control::@29/(byte) keyboard_modifiers#11 ) - (byte*) form_control::field#6 ← phi( form_control::@29/(byte*) form_control::field#12 ) - (byte) keyboard_events_size#26 ← phi( form_control::@29/(byte) keyboard_events_size#5 ) - (byte) keyboard_event_get::return#5 ← phi( form_control::@29/(byte) keyboard_event_get::return#3 ) + to:form_control::@31 +form_control::@31: scope:[form_control] from form_control::@30 + (signed byte) form_cursor_count#31 ← phi( form_control::@30/(signed byte) form_cursor_count#36 ) + (byte) form_fields_cnt#8 ← phi( form_control::@30/(byte) form_fields_cnt#10 ) + (byte) form_field_idx#33 ← phi( form_control::@30/(byte) form_field_idx#40 ) + (byte) keyboard_modifiers#32 ← phi( form_control::@30/(byte) keyboard_modifiers#9 ) + (byte*) form_control::field#6 ← phi( form_control::@30/(byte*) form_control::field#12 ) + (byte) keyboard_events_size#22 ← phi( form_control::@30/(byte) keyboard_events_size#5 ) + (byte) keyboard_event_get::return#5 ← phi( form_control::@30/(byte) keyboard_event_get::return#3 ) (byte~) form_control::$9 ← (byte) keyboard_event_get::return#5 - (byte) keyboard_events_size#11 ← (byte) keyboard_events_size#26 + (byte) keyboard_events_size#9 ← (byte) keyboard_events_size#22 (byte) form_control::key_event#0 ← (byte~) form_control::$9 (boolean~) form_control::$10 ← (byte) form_control::key_event#0 == (byte) KEY_CRSR_DOWN#0 (boolean~) form_control::$11 ← ! (boolean~) form_control::$10 if((boolean~) form_control::$11) goto form_control::@4 to:form_control::@17 -form_control::@4: scope:[form_control] from form_control::@30 - (byte*) form_control::field#17 ← phi( form_control::@30/(byte*) form_control::field#6 ) - (byte) form_field_idx#42 ← phi( form_control::@30/(byte) form_field_idx#39 ) - (byte) keyboard_events_size#55 ← phi( form_control::@30/(byte) keyboard_events_size#11 ) - (signed byte) form_cursor_count#29 ← phi( form_control::@30/(signed byte) form_cursor_count#37 ) - (byte) keyboard_modifiers#42 ← phi( form_control::@30/(byte) keyboard_modifiers#38 ) - (byte) form_control::key_event#1 ← phi( form_control::@30/(byte) form_control::key_event#0 ) +form_control::@4: scope:[form_control] from form_control::@31 + (byte*) form_control::field#17 ← phi( form_control::@31/(byte*) form_control::field#6 ) + (byte) form_field_idx#36 ← phi( form_control::@31/(byte) form_field_idx#33 ) + (byte) keyboard_events_size#49 ← phi( form_control::@31/(byte) keyboard_events_size#9 ) + (signed byte) form_cursor_count#23 ← phi( form_control::@31/(signed byte) form_cursor_count#31 ) + (byte) keyboard_modifiers#36 ← phi( form_control::@31/(byte) keyboard_modifiers#32 ) + (byte) form_control::key_event#1 ← phi( form_control::@31/(byte) form_control::key_event#0 ) (boolean~) form_control::$22 ← (byte) form_control::key_event#1 == (byte) KEY_CRSR_RIGHT#0 (boolean~) form_control::$23 ← ! (boolean~) form_control::$22 if((boolean~) form_control::$23) goto form_control::@9 to:form_control::@23 -form_control::@17: scope:[form_control] from form_control::@30 - (byte) keyboard_events_size#79 ← phi( form_control::@30/(byte) keyboard_events_size#11 ) - (byte) form_fields_cnt#5 ← phi( form_control::@30/(byte) form_fields_cnt#8 ) - (byte) form_field_idx#29 ← phi( form_control::@30/(byte) form_field_idx#39 ) - (byte) keyboard_modifiers#24 ← phi( form_control::@30/(byte) keyboard_modifiers#38 ) - (byte*) form_control::field#3 ← phi( form_control::@30/(byte*) form_control::field#6 ) +form_control::@17: scope:[form_control] from form_control::@31 + (byte) keyboard_events_size#74 ← phi( form_control::@31/(byte) keyboard_events_size#9 ) + (byte) form_fields_cnt#5 ← phi( form_control::@31/(byte) form_fields_cnt#8 ) + (byte) form_field_idx#23 ← phi( form_control::@31/(byte) form_field_idx#33 ) + (byte) keyboard_modifiers#20 ← phi( form_control::@31/(byte) keyboard_modifiers#32 ) + (byte*) form_control::field#3 ← phi( form_control::@31/(byte*) form_control::field#6 ) (byte~) form_control::$12 ← *((byte*) form_control::field#3) & (byte/signed byte/word/signed word/dword/signed dword) 127 *((byte*) form_control::field#3) ← (byte~) form_control::$12 - (byte~) form_control::$13 ← (byte) keyboard_modifiers#24 & (byte) KEY_MODIFIER_SHIFT#0 + (byte~) form_control::$13 ← (byte) keyboard_modifiers#20 & (byte) KEY_MODIFIER_SHIFT#0 (boolean~) form_control::$14 ← (byte~) form_control::$13 == (byte/signed byte/word/signed word/dword/signed dword) 0 (boolean~) form_control::$15 ← ! (boolean~) form_control::$14 if((boolean~) form_control::$15) goto form_control::@5 to:form_control::@18 form_control::@5: scope:[form_control] from form_control::@17 - (byte) keyboard_modifiers#67 ← phi( form_control::@17/(byte) keyboard_modifiers#24 ) - (byte) keyboard_events_size#70 ← phi( form_control::@17/(byte) keyboard_events_size#79 ) + (byte) keyboard_modifiers#61 ← phi( form_control::@17/(byte) keyboard_modifiers#20 ) + (byte) keyboard_events_size#64 ← phi( form_control::@17/(byte) keyboard_events_size#74 ) (byte) form_fields_cnt#6 ← phi( form_control::@17/(byte) form_fields_cnt#5 ) - (byte) form_field_idx#16 ← phi( form_control::@17/(byte) form_field_idx#29 ) - (byte) form_field_idx#5 ← -- (byte) form_field_idx#16 - (boolean~) form_control::$18 ← (byte) form_field_idx#5 == (byte/word/signed word/dword/signed dword) 255 + (byte) form_field_idx#12 ← phi( form_control::@17/(byte) form_field_idx#23 ) + (byte) form_field_idx#3 ← -- (byte) form_field_idx#12 + (boolean~) form_control::$18 ← (byte) form_field_idx#3 == (byte/word/signed word/dword/signed dword) 255 (boolean~) form_control::$19 ← ! (boolean~) form_control::$18 if((boolean~) form_control::$19) goto form_control::@8 to:form_control::@21 form_control::@18: scope:[form_control] from form_control::@17 - (byte) keyboard_modifiers#66 ← phi( form_control::@17/(byte) keyboard_modifiers#24 ) - (byte) keyboard_events_size#69 ← phi( form_control::@17/(byte) keyboard_events_size#79 ) + (byte) keyboard_modifiers#60 ← phi( form_control::@17/(byte) keyboard_modifiers#20 ) + (byte) keyboard_events_size#63 ← phi( form_control::@17/(byte) keyboard_events_size#74 ) (byte) form_fields_cnt#2 ← phi( form_control::@17/(byte) form_fields_cnt#5 ) - (byte) form_field_idx#17 ← phi( form_control::@17/(byte) form_field_idx#29 ) - (byte) form_field_idx#6 ← ++ (byte) form_field_idx#17 - (boolean~) form_control::$16 ← (byte) form_field_idx#6 == (byte) form_fields_cnt#2 + (byte) form_field_idx#13 ← phi( form_control::@17/(byte) form_field_idx#23 ) + (byte) form_field_idx#4 ← ++ (byte) form_field_idx#13 + (boolean~) form_control::$16 ← (byte) form_field_idx#4 == (byte) form_fields_cnt#2 (boolean~) form_control::$17 ← ! (boolean~) form_control::$16 if((boolean~) form_control::$17) goto form_control::@6 to:form_control::@19 form_control::@6: scope:[form_control] from form_control::@18 - (byte) form_field_idx#40 ← phi( form_control::@18/(byte) form_field_idx#6 ) - (byte) keyboard_modifiers#54 ← phi( form_control::@18/(byte) keyboard_modifiers#66 ) - (byte) keyboard_events_size#53 ← phi( form_control::@18/(byte) keyboard_events_size#69 ) + (byte) form_field_idx#34 ← phi( form_control::@18/(byte) form_field_idx#4 ) + (byte) keyboard_modifiers#48 ← phi( form_control::@18/(byte) keyboard_modifiers#60 ) + (byte) keyboard_events_size#47 ← phi( form_control::@18/(byte) keyboard_events_size#63 ) to:form_control::@7 form_control::@19: scope:[form_control] from form_control::@18 - (byte) keyboard_modifiers#52 ← phi( form_control::@18/(byte) keyboard_modifiers#66 ) - (byte) keyboard_events_size#51 ← phi( form_control::@18/(byte) keyboard_events_size#69 ) - (byte) form_field_idx#7 ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) keyboard_modifiers#46 ← phi( form_control::@18/(byte) keyboard_modifiers#60 ) + (byte) keyboard_events_size#45 ← phi( form_control::@18/(byte) keyboard_events_size#63 ) + (byte) form_field_idx#5 ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:form_control::@7 form_control::@7: scope:[form_control] from form_control::@19 form_control::@21 form_control::@6 form_control::@8 - (byte) form_field_idx#30 ← phi( form_control::@19/(byte) form_field_idx#7 form_control::@21/(byte) form_field_idx#8 form_control::@6/(byte) form_field_idx#40 form_control::@8/(byte) form_field_idx#41 ) - (byte) keyboard_modifiers#40 ← phi( form_control::@19/(byte) keyboard_modifiers#52 form_control::@21/(byte) keyboard_modifiers#53 form_control::@6/(byte) keyboard_modifiers#54 form_control::@8/(byte) keyboard_modifiers#55 ) - (byte) keyboard_events_size#40 ← phi( form_control::@19/(byte) keyboard_events_size#51 form_control::@21/(byte) keyboard_events_size#52 form_control::@6/(byte) keyboard_events_size#53 form_control::@8/(byte) keyboard_events_size#54 ) + (byte) form_field_idx#24 ← phi( form_control::@19/(byte) form_field_idx#5 form_control::@21/(byte) form_field_idx#6 form_control::@6/(byte) form_field_idx#34 form_control::@8/(byte) form_field_idx#35 ) + (byte) keyboard_modifiers#34 ← phi( form_control::@19/(byte) keyboard_modifiers#46 form_control::@21/(byte) keyboard_modifiers#47 form_control::@6/(byte) keyboard_modifiers#48 form_control::@8/(byte) keyboard_modifiers#49 ) + (byte) keyboard_events_size#34 ← phi( form_control::@19/(byte) keyboard_events_size#45 form_control::@21/(byte) keyboard_events_size#46 form_control::@6/(byte) keyboard_events_size#47 form_control::@8/(byte) keyboard_events_size#48 ) (signed word/signed byte/signed dword~) form_control::$21 ← (signed byte) FORM_CURSOR_BLINK#0 / (byte/signed byte/word/signed word/dword/signed dword) 2 - (signed byte) form_cursor_count#7 ← (signed word/signed byte/signed dword~) form_control::$21 + (signed byte) form_cursor_count#5 ← (signed word/signed byte/signed dword~) form_control::$21 to:form_control::@return form_control::@8: scope:[form_control] from form_control::@5 - (byte) form_field_idx#41 ← phi( form_control::@5/(byte) form_field_idx#5 ) - (byte) keyboard_modifiers#55 ← phi( form_control::@5/(byte) keyboard_modifiers#67 ) - (byte) keyboard_events_size#54 ← phi( form_control::@5/(byte) keyboard_events_size#70 ) + (byte) form_field_idx#35 ← phi( form_control::@5/(byte) form_field_idx#3 ) + (byte) keyboard_modifiers#49 ← phi( form_control::@5/(byte) keyboard_modifiers#61 ) + (byte) keyboard_events_size#48 ← phi( form_control::@5/(byte) keyboard_events_size#64 ) to:form_control::@7 form_control::@21: scope:[form_control] from form_control::@5 - (byte) keyboard_modifiers#53 ← phi( form_control::@5/(byte) keyboard_modifiers#67 ) - (byte) keyboard_events_size#52 ← phi( form_control::@5/(byte) keyboard_events_size#70 ) + (byte) keyboard_modifiers#47 ← phi( form_control::@5/(byte) keyboard_modifiers#61 ) + (byte) keyboard_events_size#46 ← phi( form_control::@5/(byte) keyboard_events_size#64 ) (byte) form_fields_cnt#3 ← phi( form_control::@5/(byte) form_fields_cnt#6 ) (byte/signed word/word/dword/signed dword~) form_control::$20 ← (byte) form_fields_cnt#3 - (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) form_field_idx#8 ← (byte/signed word/word/dword/signed dword~) form_control::$20 + (byte) form_field_idx#6 ← (byte/signed word/word/dword/signed dword~) form_control::$20 to:form_control::@7 form_control::@return: scope:[form_control] from form_control::@12 form_control::@7 form_control::@9 - (byte) form_field_idx#18 ← phi( form_control::@12/(byte) form_field_idx#22 form_control::@7/(byte) form_field_idx#30 form_control::@9/(byte) form_field_idx#31 ) - (byte) keyboard_modifiers#25 ← phi( form_control::@12/(byte) keyboard_modifiers#39 form_control::@7/(byte) keyboard_modifiers#40 form_control::@9/(byte) keyboard_modifiers#41 ) - (byte) keyboard_events_size#27 ← phi( form_control::@12/(byte) keyboard_events_size#39 form_control::@7/(byte) keyboard_events_size#40 form_control::@9/(byte) keyboard_events_size#41 ) - (signed byte) form_cursor_count#16 ← phi( form_control::@12/(signed byte) form_cursor_count#23 form_control::@7/(signed byte) form_cursor_count#7 form_control::@9/(signed byte) form_cursor_count#24 ) - (signed byte) form_cursor_count#8 ← (signed byte) form_cursor_count#16 - (byte) keyboard_events_size#12 ← (byte) keyboard_events_size#27 - (byte) keyboard_modifiers#12 ← (byte) keyboard_modifiers#25 - (byte) form_field_idx#9 ← (byte) form_field_idx#18 + (byte) form_field_idx#14 ← phi( form_control::@12/(byte) form_field_idx#18 form_control::@7/(byte) form_field_idx#24 form_control::@9/(byte) form_field_idx#25 ) + (byte) keyboard_modifiers#21 ← phi( form_control::@12/(byte) keyboard_modifiers#33 form_control::@7/(byte) keyboard_modifiers#34 form_control::@9/(byte) keyboard_modifiers#35 ) + (byte) keyboard_events_size#23 ← phi( form_control::@12/(byte) keyboard_events_size#33 form_control::@7/(byte) keyboard_events_size#34 form_control::@9/(byte) keyboard_events_size#35 ) + (signed byte) form_cursor_count#12 ← phi( form_control::@12/(signed byte) form_cursor_count#17 form_control::@7/(signed byte) form_cursor_count#5 form_control::@9/(signed byte) form_cursor_count#18 ) + (signed byte) form_cursor_count#6 ← (signed byte) form_cursor_count#12 + (byte) keyboard_events_size#10 ← (byte) keyboard_events_size#23 + (byte) keyboard_modifiers#10 ← (byte) keyboard_modifiers#21 + (byte) form_field_idx#7 ← (byte) form_field_idx#14 return to:@return form_control::@9: scope:[form_control] from form_control::@4 - (byte) form_field_idx#31 ← phi( form_control::@4/(byte) form_field_idx#42 ) - (byte) keyboard_modifiers#41 ← phi( form_control::@4/(byte) keyboard_modifiers#42 ) - (byte) keyboard_events_size#41 ← phi( form_control::@4/(byte) keyboard_events_size#55 ) - (signed byte) form_cursor_count#24 ← phi( form_control::@4/(signed byte) form_cursor_count#29 ) + (byte) form_field_idx#25 ← phi( form_control::@4/(byte) form_field_idx#36 ) + (byte) keyboard_modifiers#35 ← phi( form_control::@4/(byte) keyboard_modifiers#36 ) + (byte) keyboard_events_size#35 ← phi( form_control::@4/(byte) keyboard_events_size#49 ) + (signed byte) form_cursor_count#18 ← phi( form_control::@4/(signed byte) form_cursor_count#23 ) to:form_control::@return form_control::@23: scope:[form_control] from form_control::@4 - (byte) keyboard_events_size#80 ← phi( form_control::@4/(byte) keyboard_events_size#55 ) - (signed byte) form_cursor_count#42 ← phi( form_control::@4/(signed byte) form_cursor_count#29 ) + (byte) keyboard_events_size#75 ← phi( form_control::@4/(byte) keyboard_events_size#49 ) + (signed byte) form_cursor_count#37 ← phi( form_control::@4/(signed byte) form_cursor_count#23 ) (byte*) form_control::field#16 ← phi( form_control::@4/(byte*) form_control::field#17 ) - (byte) form_field_idx#32 ← phi( form_control::@4/(byte) form_field_idx#42 ) - (byte) keyboard_modifiers#26 ← phi( form_control::@4/(byte) keyboard_modifiers#42 ) - (byte~) form_control::$24 ← (byte) keyboard_modifiers#26 & (byte) KEY_MODIFIER_SHIFT#0 + (byte) form_field_idx#26 ← phi( form_control::@4/(byte) form_field_idx#36 ) + (byte) keyboard_modifiers#22 ← phi( form_control::@4/(byte) keyboard_modifiers#36 ) + (byte~) form_control::$24 ← (byte) keyboard_modifiers#22 & (byte) KEY_MODIFIER_SHIFT#0 (boolean~) form_control::$25 ← (byte~) form_control::$24 == (byte/signed byte/word/signed word/dword/signed dword) 0 (boolean~) form_control::$26 ← ! (boolean~) form_control::$25 if((boolean~) form_control::$26) goto form_control::@10 to:form_control::@24 form_control::@10: scope:[form_control] from form_control::@23 - (byte) keyboard_modifiers#69 ← phi( form_control::@23/(byte) keyboard_modifiers#26 ) - (byte) keyboard_events_size#72 ← phi( form_control::@23/(byte) keyboard_events_size#80 ) - (signed byte) form_cursor_count#39 ← phi( form_control::@23/(signed byte) form_cursor_count#42 ) + (byte) keyboard_modifiers#63 ← phi( form_control::@23/(byte) keyboard_modifiers#22 ) + (byte) keyboard_events_size#66 ← phi( form_control::@23/(byte) keyboard_events_size#75 ) + (signed byte) form_cursor_count#33 ← phi( form_control::@23/(signed byte) form_cursor_count#37 ) (byte*) form_control::field#14 ← phi( form_control::@23/(byte*) form_control::field#16 ) - (byte) form_field_idx#19 ← phi( form_control::@23/(byte) form_field_idx#32 ) - *((byte[]) form_fields_val#0 + (byte) form_field_idx#19) ← -- *((byte[]) form_fields_val#0 + (byte) form_field_idx#19) - (boolean~) form_control::$29 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#19) == (byte/word/signed word/dword/signed dword) 255 + (byte) form_field_idx#15 ← phi( form_control::@23/(byte) form_field_idx#26 ) + *((byte[]) form_fields_val#0 + (byte) form_field_idx#15) ← -- *((byte[]) form_fields_val#0 + (byte) form_field_idx#15) + (boolean~) form_control::$29 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#15) == (byte/word/signed word/dword/signed dword) 255 (boolean~) form_control::$30 ← ! (boolean~) form_control::$29 if((boolean~) form_control::$30) goto form_control::@13 to:form_control::@27 form_control::@24: scope:[form_control] from form_control::@23 - (byte) keyboard_modifiers#68 ← phi( form_control::@23/(byte) keyboard_modifiers#26 ) - (byte) keyboard_events_size#71 ← phi( form_control::@23/(byte) keyboard_events_size#80 ) - (signed byte) form_cursor_count#38 ← phi( form_control::@23/(signed byte) form_cursor_count#42 ) + (byte) keyboard_modifiers#62 ← phi( form_control::@23/(byte) keyboard_modifiers#22 ) + (byte) keyboard_events_size#65 ← phi( form_control::@23/(byte) keyboard_events_size#75 ) + (signed byte) form_cursor_count#32 ← phi( form_control::@23/(signed byte) form_cursor_count#37 ) (byte*) form_control::field#13 ← phi( form_control::@23/(byte*) form_control::field#16 ) - (byte) form_field_idx#20 ← phi( form_control::@23/(byte) form_field_idx#32 ) - *((byte[]) form_fields_val#0 + (byte) form_field_idx#20) ← ++ *((byte[]) form_fields_val#0 + (byte) form_field_idx#20) - (boolean~) form_control::$27 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#20) > *((byte[]) form_fields_max#0 + (byte) form_field_idx#20) + (byte) form_field_idx#16 ← phi( form_control::@23/(byte) form_field_idx#26 ) + *((byte[]) form_fields_val#0 + (byte) form_field_idx#16) ← ++ *((byte[]) form_fields_val#0 + (byte) form_field_idx#16) + (boolean~) form_control::$27 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#16) > *((byte[]) form_fields_max#0 + (byte) form_field_idx#16) (boolean~) form_control::$28 ← ! (boolean~) form_control::$27 if((boolean~) form_control::$28) goto form_control::@11 to:form_control::@25 form_control::@11: scope:[form_control] from form_control::@24 - (byte) keyboard_modifiers#56 ← phi( form_control::@24/(byte) keyboard_modifiers#68 ) - (byte) keyboard_events_size#56 ← phi( form_control::@24/(byte) keyboard_events_size#71 ) - (signed byte) form_cursor_count#30 ← phi( form_control::@24/(signed byte) form_cursor_count#38 ) + (byte) keyboard_modifiers#50 ← phi( form_control::@24/(byte) keyboard_modifiers#62 ) + (byte) keyboard_events_size#50 ← phi( form_control::@24/(byte) keyboard_events_size#65 ) + (signed byte) form_cursor_count#24 ← phi( form_control::@24/(signed byte) form_cursor_count#32 ) (byte*) form_control::field#7 ← phi( form_control::@24/(byte*) form_control::field#13 ) - (byte) form_field_idx#33 ← phi( form_control::@24/(byte) form_field_idx#20 ) + (byte) form_field_idx#27 ← phi( form_control::@24/(byte) form_field_idx#16 ) to:form_control::@12 form_control::@25: scope:[form_control] from form_control::@24 - (byte) keyboard_modifiers#58 ← phi( form_control::@24/(byte) keyboard_modifiers#68 ) - (byte) keyboard_events_size#58 ← phi( form_control::@24/(byte) keyboard_events_size#71 ) - (signed byte) form_cursor_count#32 ← phi( form_control::@24/(signed byte) form_cursor_count#38 ) + (byte) keyboard_modifiers#52 ← phi( form_control::@24/(byte) keyboard_modifiers#62 ) + (byte) keyboard_events_size#52 ← phi( form_control::@24/(byte) keyboard_events_size#65 ) + (signed byte) form_cursor_count#26 ← phi( form_control::@24/(signed byte) form_cursor_count#32 ) (byte*) form_control::field#9 ← phi( form_control::@24/(byte*) form_control::field#13 ) - (byte) form_field_idx#21 ← phi( form_control::@24/(byte) form_field_idx#20 ) - *((byte[]) form_fields_val#0 + (byte) form_field_idx#21) ← (byte/signed byte/word/signed word/dword/signed dword) 0 + (byte) form_field_idx#17 ← phi( form_control::@24/(byte) form_field_idx#16 ) + *((byte[]) form_fields_val#0 + (byte) form_field_idx#17) ← (byte/signed byte/word/signed word/dword/signed dword) 0 to:form_control::@12 form_control::@12: scope:[form_control] from form_control::@11 form_control::@13 form_control::@25 form_control::@27 - (byte) keyboard_modifiers#39 ← phi( form_control::@11/(byte) keyboard_modifiers#56 form_control::@13/(byte) keyboard_modifiers#57 form_control::@25/(byte) keyboard_modifiers#58 form_control::@27/(byte) keyboard_modifiers#59 ) - (byte) keyboard_events_size#39 ← phi( form_control::@11/(byte) keyboard_events_size#56 form_control::@13/(byte) keyboard_events_size#57 form_control::@25/(byte) keyboard_events_size#58 form_control::@27/(byte) keyboard_events_size#59 ) - (signed byte) form_cursor_count#23 ← phi( form_control::@11/(signed byte) form_cursor_count#30 form_control::@13/(signed byte) form_cursor_count#31 form_control::@25/(signed byte) form_cursor_count#32 form_control::@27/(signed byte) form_cursor_count#33 ) + (byte) keyboard_modifiers#33 ← phi( form_control::@11/(byte) keyboard_modifiers#50 form_control::@13/(byte) keyboard_modifiers#51 form_control::@25/(byte) keyboard_modifiers#52 form_control::@27/(byte) keyboard_modifiers#53 ) + (byte) keyboard_events_size#33 ← phi( form_control::@11/(byte) keyboard_events_size#50 form_control::@13/(byte) keyboard_events_size#51 form_control::@25/(byte) keyboard_events_size#52 form_control::@27/(byte) keyboard_events_size#53 ) + (signed byte) form_cursor_count#17 ← phi( form_control::@11/(signed byte) form_cursor_count#24 form_control::@13/(signed byte) form_cursor_count#25 form_control::@25/(signed byte) form_cursor_count#26 form_control::@27/(signed byte) form_cursor_count#27 ) (byte*) form_control::field#4 ← phi( form_control::@11/(byte*) form_control::field#7 form_control::@13/(byte*) form_control::field#8 form_control::@25/(byte*) form_control::field#9 form_control::@27/(byte*) form_control::field#10 ) - (byte) form_field_idx#22 ← phi( form_control::@11/(byte) form_field_idx#33 form_control::@13/(byte) form_field_idx#34 form_control::@25/(byte) form_field_idx#21 form_control::@27/(byte) form_field_idx#23 ) - *((byte*) form_control::field#4) ← *((byte[]) print_hextab#0 + *((byte[]) form_fields_val#0 + (byte) form_field_idx#22)) + (byte) form_field_idx#18 ← phi( form_control::@11/(byte) form_field_idx#27 form_control::@13/(byte) form_field_idx#28 form_control::@25/(byte) form_field_idx#17 form_control::@27/(byte) form_field_idx#19 ) + *((byte*) form_control::field#4) ← *((byte[]) print_hextab#0 + *((byte[]) form_fields_val#0 + (byte) form_field_idx#18)) to:form_control::@return form_control::@13: scope:[form_control] from form_control::@10 - (byte) keyboard_modifiers#57 ← phi( form_control::@10/(byte) keyboard_modifiers#69 ) - (byte) keyboard_events_size#57 ← phi( form_control::@10/(byte) keyboard_events_size#72 ) - (signed byte) form_cursor_count#31 ← phi( form_control::@10/(signed byte) form_cursor_count#39 ) + (byte) keyboard_modifiers#51 ← phi( form_control::@10/(byte) keyboard_modifiers#63 ) + (byte) keyboard_events_size#51 ← phi( form_control::@10/(byte) keyboard_events_size#66 ) + (signed byte) form_cursor_count#25 ← phi( form_control::@10/(signed byte) form_cursor_count#33 ) (byte*) form_control::field#8 ← phi( form_control::@10/(byte*) form_control::field#14 ) - (byte) form_field_idx#34 ← phi( form_control::@10/(byte) form_field_idx#19 ) + (byte) form_field_idx#28 ← phi( form_control::@10/(byte) form_field_idx#15 ) to:form_control::@12 form_control::@27: scope:[form_control] from form_control::@10 - (byte) keyboard_modifiers#59 ← phi( form_control::@10/(byte) keyboard_modifiers#69 ) - (byte) keyboard_events_size#59 ← phi( form_control::@10/(byte) keyboard_events_size#72 ) - (signed byte) form_cursor_count#33 ← phi( form_control::@10/(signed byte) form_cursor_count#39 ) + (byte) keyboard_modifiers#53 ← phi( form_control::@10/(byte) keyboard_modifiers#63 ) + (byte) keyboard_events_size#53 ← phi( form_control::@10/(byte) keyboard_events_size#66 ) + (signed byte) form_cursor_count#27 ← phi( form_control::@10/(signed byte) form_cursor_count#33 ) (byte*) form_control::field#10 ← phi( form_control::@10/(byte*) form_control::field#14 ) - (byte) form_field_idx#23 ← phi( form_control::@10/(byte) form_field_idx#19 ) - *((byte[]) form_fields_val#0 + (byte) form_field_idx#23) ← *((byte[]) form_fields_max#0 + (byte) form_field_idx#23) + (byte) form_field_idx#19 ← phi( form_control::@10/(byte) form_field_idx#15 ) + *((byte[]) form_fields_val#0 + (byte) form_field_idx#19) ← *((byte[]) form_fields_max#0 + (byte) form_field_idx#19) to:form_control::@12 -@28: scope:[] from @24 - (byte) form_fields_cnt#38 ← phi( @24/(byte) form_fields_cnt#0 ) - (byte) form_field_idx#35 ← phi( @24/(byte) form_field_idx#4 ) - (byte) keyboard_modifiers#43 ← phi( @24/(byte) keyboard_modifiers#60 ) - (byte) keyboard_events_size#42 ← phi( @24/(byte) keyboard_events_size#60 ) - (signed byte) form_cursor_count#25 ← phi( @24/(signed byte) form_cursor_count#4 ) - (byte*) print_char_cursor#45 ← phi( @24/(byte*) print_char_cursor#53 ) - (byte*) print_line_cursor#43 ← phi( @24/(byte*) print_line_cursor#50 ) - (byte*) print_screen#24 ← phi( @24/(byte*) print_screen#30 ) +@32: scope:[] from @28 + (byte) form_fields_cnt#30 ← phi( @28/(byte) form_fields_cnt#33 ) + (byte) form_field_idx#29 ← phi( @28/(byte) form_field_idx#2 ) + (byte) keyboard_modifiers#37 ← phi( @28/(byte) keyboard_modifiers#54 ) + (byte) keyboard_events_size#36 ← phi( @28/(byte) keyboard_events_size#54 ) + (signed byte) form_cursor_count#19 ← phi( @28/(signed byte) form_cursor_count#2 ) + (byte*) print_char_cursor#38 ← phi( @28/(byte*) print_char_cursor#45 ) + (byte*) print_line_cursor#36 ← phi( @28/(byte*) print_line_cursor#42 ) + (byte*) print_screen#21 ← phi( @28/(byte*) print_screen#25 ) call main param-assignment - to:@29 -@29: scope:[] from @28 - (byte) form_field_idx#24 ← phi( @28/(byte) form_field_idx#1 ) - (byte) keyboard_modifiers#27 ← phi( @28/(byte) keyboard_modifiers#8 ) - (byte) keyboard_events_size#28 ← phi( @28/(byte) keyboard_events_size#7 ) - (signed byte) form_cursor_count#17 ← phi( @28/(signed byte) form_cursor_count#1 ) - (byte*) print_char_cursor#36 ← phi( @28/(byte*) print_char_cursor#11 ) - (byte*) print_line_cursor#35 ← phi( @28/(byte*) print_line_cursor#10 ) - (byte*) print_screen#18 ← phi( @28/(byte*) print_screen#4 ) - (byte*) print_screen#8 ← (byte*) print_screen#18 - (byte*) print_line_cursor#18 ← (byte*) print_line_cursor#35 - (byte*) print_char_cursor#19 ← (byte*) print_char_cursor#36 - (signed byte) form_cursor_count#9 ← (signed byte) form_cursor_count#17 - (byte) keyboard_events_size#13 ← (byte) keyboard_events_size#28 - (byte) keyboard_modifiers#13 ← (byte) keyboard_modifiers#27 - (byte) form_field_idx#10 ← (byte) form_field_idx#24 + to:@33 +@33: scope:[] from @32 + (byte) form_field_idx#20 ← phi( @32/(byte) form_field_idx#1 ) + (byte) keyboard_modifiers#23 ← phi( @32/(byte) keyboard_modifiers#8 ) + (byte) keyboard_events_size#24 ← phi( @32/(byte) keyboard_events_size#7 ) + (signed byte) form_cursor_count#13 ← phi( @32/(signed byte) form_cursor_count#1 ) + (byte*) print_char_cursor#29 ← phi( @32/(byte*) print_char_cursor#9 ) + (byte*) print_line_cursor#28 ← phi( @32/(byte*) print_line_cursor#8 ) + (byte*) print_screen#15 ← phi( @32/(byte*) print_screen#4 ) + (byte*) print_screen#8 ← (byte*) print_screen#15 + (byte*) print_line_cursor#14 ← (byte*) print_line_cursor#28 + (byte*) print_char_cursor#15 ← (byte*) print_char_cursor#29 + (signed byte) form_cursor_count#7 ← (signed byte) form_cursor_count#13 + (byte) keyboard_events_size#11 ← (byte) keyboard_events_size#24 + (byte) keyboard_modifiers#11 ← (byte) keyboard_modifiers#23 + (byte) form_field_idx#8 ← (byte) form_field_idx#20 to:@end -@end: scope:[] from @29 +@end: scope:[] from @33 SYMBOL TABLE SSA (byte~) $0 -(string~) $1 +(word/signed word/dword/signed dword~) $1 (string~) $10 (string~) $11 (string~) $12 @@ -4485,34 +5706,64 @@ SYMBOL TABLE SSA (string~) $16 (string~) $17 (string~) $18 -(signed word/signed byte/signed dword~) $19 +(string~) $19 (string~) $2 -(const string) $20 = (string) "0123456789abcdef" -(const string) $21 = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" -(const string) $22 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -(const string) $23 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -(const string) $24 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -(const string) $25 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -(const string) $26 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -(const string) $27 = (string) " nnnnnnn ooooooooo @" -(const string) $28 = (string) " nnnnnnn nnnnnnnn ooooooooo @" -(const string) $29 = (string) " nnnnnnn nnnnnnnn ooooooooo @" +(byte*~) $21 +(byte*~) $22 +(byte*~) $23 +(byte*~) $24 +(byte*~) $25 +(byte*~) $26 +(byte*~) $27 +(byte*~) $28 +(byte*~) $29 (string~) $3 -(const string) $30 = (string) "@" -(const string) $31 = (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @" -(const string) $32 = (string) " CONTROL PLANE A PLANE B VIC II @" -(const string) $33 = (string) " bmm 0 patt p0 patt p0 screen s0 @" -(const string) $34 = (string) " mcm 0 start 00 start 00 gfx g0 @" -(const string) $35 = (string) " ecm 0 step 00 step 00 colors c0 @" -(const string) $36 = (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" -(const string) $37 = (string) " line 0 bgcol1 00 @" -(const string) $38 = (string) " colof 0 borof 0 bgcol2 00 @" -(const string) $39 = (string) " chunk 0 overs 0 bgcol3 00 @" +(byte*~) $31 +(byte*~) $32 +(byte*~) $33 +(byte*~) $34 +(byte*~) $35 +(byte*~) $36 +(byte*~) $38 +(byte*~) $39 (string~) $4 -(const string) $40 = (string) "@" +(byte*~) $40 +(byte*~) $41 +(byte*~) $42 +(byte*~) $43 +(byte*~) $47 +(byte*~) $48 +(byte*~) $49 (string~) $5 +(byte*~) $50 +(byte*~) $51 +(byte*~) $52 +(byte*~) $53 +(byte*~) $54 +(signed word/signed byte/signed dword~) $55 +(const string) $56 = (string) "0123456789abcdef" +(const string) $57 = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@" +(const string) $58 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +(const string) $59 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" (string~) $6 +(const string) $60 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +(const string) $61 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +(const string) $62 = (string) " nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +(const string) $63 = (string) " nnnnnnn ooooooooo @" +(const string) $64 = (string) " nnnnnnn nnnnnnnn ooooooooo @" +(const string) $65 = (string) " nnnnnnn nnnnnnnn ooooooooo @" +(const string) $66 = (string) "@" +(const string) $67 = (string) " DTV GfxExplorer MODE 0 8bpp pixel cell @" +(const string) $68 = (string) " CONTROL PLANE A PLANE B VIC II @" +(const string) $69 = (string) " bmm 0 patt p0 patt p0 screen s0 @" (string~) $7 +(const string) $70 = (string) " mcm 0 start 00 start 00 gfx g0 @" +(const string) $71 = (string) " ecm 0 step 00 step 00 colors c0 @" +(const string) $72 = (string) " hicol 0 mod 00 mod 00 bgcol0 00 @" +(const string) $73 = (string) " line 0 bgcol1 00 @" +(const string) $74 = (string) " colof 0 borof 0 bgcol2 00 @" +(const string) $75 = (string) " chunk 0 overs 0 bgcol3 00 @" +(const string) $76 = (string) "@" (string~) $8 (string~) $9 (label) @1 @@ -4520,25 +5771,43 @@ SYMBOL TABLE SSA (label) @15 (label) @19 (label) @23 -(label) @24 (label) @28 -(label) @29 +(label) @32 +(label) @33 (label) @begin (label) @end (byte*) BGCOL (byte*) BGCOL#0 +(byte*) BGCOL1 +(byte*) BGCOL1#0 +(byte*) BGCOL2 +(byte*) BGCOL2#0 +(byte*) BGCOL3 +(byte*) BGCOL3#0 +(byte*) BGCOL4 +(byte*) BGCOL4#0 (byte*) BORDERCOL (byte*) BORDERCOL#0 (byte*) CIA1_PORT_A (byte*) CIA1_PORT_A#0 +(byte*) CIA1_PORT_A_DDR +(byte*) CIA1_PORT_A_DDR#0 (byte*) CIA1_PORT_B (byte*) CIA1_PORT_B#0 +(byte*) CIA1_PORT_B_DDR +(byte*) CIA1_PORT_B_DDR#0 (byte*) CIA2_PORT_A (byte*) CIA2_PORT_A#0 (byte*) CIA2_PORT_A_DDR (byte*) CIA2_PORT_A_DDR#0 (byte*) COLS (byte*) COLS#0 +(byte) DTV_BORDER_OFF +(byte) DTV_BORDER_OFF#0 +(byte) DTV_CHUNKY +(byte) DTV_CHUNKY#0 +(byte) DTV_COLORRAM_OFF +(byte) DTV_COLORRAM_OFF#0 (dword) DTV_COLOR_BANK_DEFAULT (dword) DTV_COLOR_BANK_DEFAULT#0 (byte*) DTV_COLOR_BANK_HI @@ -4553,12 +5822,52 @@ SYMBOL TABLE SSA (byte) DTV_FEATURE_ENABLE#0 (byte*) DTV_GRAPHICS_VIC_BANK (byte*) DTV_GRAPHICS_VIC_BANK#0 +(byte) DTV_HIGHCOLOR +(byte) DTV_HIGHCOLOR#0 +(byte) DTV_LINEAR +(byte) DTV_LINEAR#0 +(byte) DTV_OVERSCAN +(byte) DTV_OVERSCAN#0 (byte*) DTV_PALETTE (byte*) DTV_PALETTE#0 (byte[16]) DTV_PALETTE_DEFAULT (byte[16]) DTV_PALETTE_DEFAULT#0 +(byte*) DTV_PLANEA_MODULO_HI +(byte*) DTV_PLANEA_MODULO_HI#0 +(byte*) DTV_PLANEA_MODULO_LO +(byte*) DTV_PLANEA_MODULO_LO#0 +(byte*) DTV_PLANEA_START_HI +(byte*) DTV_PLANEA_START_HI#0 +(byte*) DTV_PLANEA_START_LO +(byte*) DTV_PLANEA_START_LO#0 +(byte*) DTV_PLANEA_START_MI +(byte*) DTV_PLANEA_START_MI#0 +(byte*) DTV_PLANEA_STEP +(byte*) DTV_PLANEA_STEP#0 +(byte*) DTV_PLANEB_MODULO_HI +(byte*) DTV_PLANEB_MODULO_HI#0 +(byte*) DTV_PLANEB_MODULO_LO +(byte*) DTV_PLANEB_MODULO_LO#0 +(byte*) DTV_PLANEB_START_HI +(byte*) DTV_PLANEB_START_HI#0 +(byte*) DTV_PLANEB_START_LO +(byte*) DTV_PLANEB_START_LO#0 +(byte*) DTV_PLANEB_START_MI +(byte*) DTV_PLANEB_START_MI#0 +(byte*) DTV_PLANEB_STEP +(byte*) DTV_PLANEB_STEP#0 +(byte*) FORM_CHARSET +(byte*) FORM_CHARSET#0 +(byte[]) FORM_COLS +(byte[]) FORM_COLS#0 (signed byte) FORM_CURSOR_BLINK (signed byte) FORM_CURSOR_BLINK#0 +(word) FORM_OFFSET +(word) FORM_OFFSET#0 +(byte*) FORM_SCREEN +(byte*) FORM_SCREEN#0 +(byte[]) FORM_TEXT +(byte[]) FORM_TEXT#0 (byte) KEY_COMMODORE (byte) KEY_COMMODORE#0 (byte) KEY_CRSR_DOWN @@ -4581,12 +5890,12 @@ SYMBOL TABLE SSA (byte) KEY_MODIFIER_SHIFT#0 (byte) KEY_RSHIFT (byte) KEY_RSHIFT#0 -(byte[]) MENU_COLS -(byte[]) MENU_COLS#0 -(byte[]) MENU_TEXT -(byte[]) MENU_TEXT#0 +(dword) PLANE_8BPP_CHUNKY +(dword) PLANE_8BPP_CHUNKY#0 (byte*) RASTER (byte*) RASTER#0 +(byte) VIC_BMM +(byte) VIC_BMM#0 (byte*) VIC_CONTROL (byte*) VIC_CONTROL#0 (byte*) VIC_CONTROL2 @@ -4595,10 +5904,47 @@ SYMBOL TABLE SSA (byte) VIC_CSEL#0 (byte) VIC_DEN (byte) VIC_DEN#0 +(byte) VIC_ECM +(byte) VIC_ECM#0 +(byte) VIC_MCM +(byte) VIC_MCM#0 (byte*) VIC_MEMORY (byte*) VIC_MEMORY#0 (byte) VIC_RSEL (byte) VIC_RSEL#0 +(void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) +(label) dtvSetCpuBankSegment1::@return +(byte*) dtvSetCpuBankSegment1::cpuBank +(byte*) dtvSetCpuBankSegment1::cpuBank#0 +(byte) dtvSetCpuBankSegment1::cpuBankIdx +(byte) dtvSetCpuBankSegment1::cpuBankIdx#0 +(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 +(byte) dtvSetCpuBankSegment1::cpuBankIdx#2 +(byte) dtvSetCpuBankSegment1::cpuBankIdx#3 +(byte*) form_a_mod_hi +(byte*) form_a_mod_hi#0 +(byte*) form_a_mod_lo +(byte*) form_a_mod_lo#0 +(byte*) form_a_start_hi +(byte*) form_a_start_hi#0 +(byte*) form_a_start_lo +(byte*) form_a_start_lo#0 +(byte*) form_a_step_hi +(byte*) form_a_step_hi#0 +(byte*) form_a_step_lo +(byte*) form_a_step_lo#0 +(byte*) form_b_mod_hi +(byte*) form_b_mod_hi#0 +(byte*) form_b_mod_lo +(byte*) form_b_mod_lo#0 +(byte*) form_b_start_hi +(byte*) form_b_start_hi#0 +(byte*) form_b_start_lo +(byte*) form_b_start_lo#0 +(byte*) form_b_step_hi +(byte*) form_b_step_hi#0 +(byte*) form_b_step_lo +(byte*) form_b_step_lo#0 (void()) form_control() (byte*~) form_control::$0 (boolean~) form_control::$1 @@ -4646,10 +5992,10 @@ SYMBOL TABLE SSA (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::@4 (label) form_control::@5 (label) form_control::@6 @@ -4679,6 +6025,24 @@ SYMBOL TABLE SSA (byte) form_control::key_event (byte) form_control::key_event#0 (byte) form_control::key_event#1 +(byte*) form_ctrl_bmm +(byte*) form_ctrl_bmm#0 +(byte*) form_ctrl_borof +(byte*) form_ctrl_borof#0 +(byte*) form_ctrl_chunk +(byte*) form_ctrl_chunk#0 +(byte*) form_ctrl_colof +(byte*) form_ctrl_colof#0 +(byte*) form_ctrl_ecm +(byte*) form_ctrl_ecm#0 +(byte*) form_ctrl_hicol +(byte*) form_ctrl_hicol#0 +(byte*) form_ctrl_line +(byte*) form_ctrl_line#0 +(byte*) form_ctrl_mcm +(byte*) form_ctrl_mcm#0 +(byte*) form_ctrl_overs +(byte*) form_ctrl_overs#0 (signed byte) form_cursor_count (signed byte) form_cursor_count#0 (signed byte) form_cursor_count#1 @@ -4720,16 +6084,7 @@ SYMBOL TABLE SSA (signed byte) form_cursor_count#42 (signed byte) form_cursor_count#43 (signed byte) form_cursor_count#44 -(signed byte) form_cursor_count#45 -(signed byte) form_cursor_count#46 -(signed byte) form_cursor_count#47 -(signed byte) form_cursor_count#48 -(signed byte) form_cursor_count#49 (signed byte) form_cursor_count#5 -(signed byte) form_cursor_count#50 -(signed byte) form_cursor_count#51 -(signed byte) form_cursor_count#52 -(signed byte) form_cursor_count#53 (signed byte) form_cursor_count#6 (signed byte) form_cursor_count#7 (signed byte) form_cursor_count#8 @@ -4784,16 +6139,7 @@ SYMBOL TABLE SSA (byte) form_field_idx#50 (byte) form_field_idx#51 (byte) form_field_idx#52 -(byte) form_field_idx#53 -(byte) form_field_idx#54 -(byte) form_field_idx#55 -(byte) form_field_idx#56 -(byte) form_field_idx#57 -(byte) form_field_idx#58 -(byte) form_field_idx#59 (byte) form_field_idx#6 -(byte) form_field_idx#60 -(byte) form_field_idx#61 (byte) form_field_idx#7 (byte) form_field_idx#8 (byte) form_field_idx#9 @@ -4855,6 +6201,7 @@ SYMBOL TABLE SSA (byte) form_fields_cnt#36 (byte) form_fields_cnt#37 (byte) form_fields_cnt#38 +(byte) form_fields_cnt#39 (byte) form_fields_cnt#4 (byte) form_fields_cnt#5 (byte) form_fields_cnt#6 @@ -4869,10 +6216,53 @@ SYMBOL TABLE SSA (byte[]) form_fields_x#0 (byte[]) form_fields_y (byte[]) form_fields_y#0 +(void()) form_init() +(byte*~) form_init::$0 +(byte*~) form_init::$3 +(byte*~) form_init::$6 +(label) form_init::@1 +(label) form_init::@2 +(label) form_init::@3 +(label) form_init::@4 +(label) form_init::@5 +(label) form_init::@6 +(label) form_init::@return (byte[25]) form_line_hi (byte[25]) form_line_hi#0 (byte[25]) form_line_lo (byte[25]) form_line_lo#0 +(void()) form_mode() +(dword~) form_mode::$0 +(dword~) form_mode::$1 +(word/signed dword/dword~) form_mode::$10 +(byte~) form_mode::$11 +(byte/word/dword~) form_mode::$12 +(byte~) form_mode::$13 +(byte/word/dword~) form_mode::$14 +(word~) form_mode::$15 +(word~) form_mode::$16 +(word/signed dword/dword~) form_mode::$17 +(word~) form_mode::$18 +(word~) form_mode::$19 +(byte~) form_mode::$2 +(word/signed dword/dword~) form_mode::$20 +(word/dword~) form_mode::$21 +(byte~) form_mode::$22 +(boolean~) form_mode::$23 +(dword~) form_mode::$3 +(word~) form_mode::$4 +(byte~) form_mode::$5 +(dword~) form_mode::$6 +(word~) form_mode::$7 +(byte~) form_mode::$8 +(word~) form_mode::$9 +(label) form_mode::@1 +(label) form_mode::@2 +(label) form_mode::@return +(byte) form_mode::i +(byte) form_mode::i#0 +(byte) form_mode::i#1 +(byte) form_mode::i#2 (void()) form_render_values() (byte*~) form_render_values::$0 (boolean~) form_render_values::$1 @@ -4904,6 +6294,214 @@ SYMBOL TABLE SSA (byte) form_set_screen::y#0 (byte) form_set_screen::y#1 (byte) form_set_screen::y#2 +(byte*) form_vic_bg0_hi +(byte*) form_vic_bg0_hi#0 +(byte*) form_vic_bg0_lo +(byte*) form_vic_bg0_lo#0 +(byte*) form_vic_bg1_hi +(byte*) form_vic_bg1_hi#0 +(byte*) form_vic_bg1_lo +(byte*) form_vic_bg1_lo#0 +(byte*) form_vic_bg2_hi +(byte*) form_vic_bg2_hi#0 +(byte*) form_vic_bg2_lo +(byte*) form_vic_bg2_lo#0 +(byte*) form_vic_bg3_hi +(byte*) form_vic_bg3_hi#0 +(byte*) form_vic_bg3_lo +(byte*) form_vic_bg3_lo#0 +(void()) gfx_init() +(label) gfx_init::@1 +(label) gfx_init::@return +(void()) gfx_init_plane_8bppchunky() +(dword~) gfx_init_plane_8bppchunky::$0 +(byte~) gfx_init_plane_8bppchunky::$1 +(byte/signed byte/word/signed word/dword/signed dword~) gfx_init_plane_8bppchunky::$10 +(byte~) gfx_init_plane_8bppchunky::$11 +(boolean~) gfx_init_plane_8bppchunky::$3 +(boolean~) gfx_init_plane_8bppchunky::$4 +(word~) gfx_init_plane_8bppchunky::$6 +(byte~) gfx_init_plane_8bppchunky::$7 +(boolean~) gfx_init_plane_8bppchunky::$8 +(boolean~) gfx_init_plane_8bppchunky::$9 +(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::@7 +(label) gfx_init_plane_8bppchunky::@8 +(label) gfx_init_plane_8bppchunky::@9 +(label) gfx_init_plane_8bppchunky::@return +(byte) gfx_init_plane_8bppchunky::c +(byte) gfx_init_plane_8bppchunky::c#0 +(byte*) gfx_init_plane_8bppchunky::gfxb +(byte*) gfx_init_plane_8bppchunky::gfxb#0 +(byte*) gfx_init_plane_8bppchunky::gfxb#1 +(byte*) gfx_init_plane_8bppchunky::gfxb#2 +(byte*) gfx_init_plane_8bppchunky::gfxb#3 +(byte*) gfx_init_plane_8bppchunky::gfxb#4 +(byte*) gfx_init_plane_8bppchunky::gfxb#5 +(byte*) gfx_init_plane_8bppchunky::gfxb#6 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#3 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#5 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#6 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#9 +(word) gfx_init_plane_8bppchunky::x +(word) gfx_init_plane_8bppchunky::x#0 +(word) gfx_init_plane_8bppchunky::x#1 +(word) gfx_init_plane_8bppchunky::x#2 +(word) gfx_init_plane_8bppchunky::x#3 +(word) gfx_init_plane_8bppchunky::x#4 +(word) gfx_init_plane_8bppchunky::x#5 +(byte) gfx_init_plane_8bppchunky::y +(byte) gfx_init_plane_8bppchunky::y#0 +(byte) gfx_init_plane_8bppchunky::y#1 +(byte) gfx_init_plane_8bppchunky::y#2 +(byte) gfx_init_plane_8bppchunky::y#3 +(byte) gfx_init_plane_8bppchunky::y#4 +(byte) gfx_init_plane_8bppchunky::y#5 +(byte) gfx_init_plane_8bppchunky::y#6 +(byte) gfx_init_plane_8bppchunky::y#7 +(void()) gfx_mode() +(boolean~) gfx_mode::$0 +(boolean~) gfx_mode::$1 +(boolean~) gfx_mode::$10 +(byte~) gfx_mode::$11 +(boolean~) gfx_mode::$12 +(boolean~) gfx_mode::$13 +(byte~) gfx_mode::$14 +(boolean~) gfx_mode::$15 +(boolean~) gfx_mode::$16 +(byte~) gfx_mode::$17 +(byte~) gfx_mode::$18 +(byte/word/dword~) gfx_mode::$19 +(byte~) gfx_mode::$2 +(boolean~) gfx_mode::$20 +(boolean~) gfx_mode::$21 +(byte~) gfx_mode::$22 +(boolean~) gfx_mode::$23 +(boolean~) gfx_mode::$24 +(byte~) gfx_mode::$25 +(boolean~) gfx_mode::$26 +(boolean~) gfx_mode::$27 +(byte~) gfx_mode::$28 +(byte~) gfx_mode::$29 +(boolean~) gfx_mode::$3 +(byte~) gfx_mode::$30 +(dword~) gfx_mode::$31 +(dword~) gfx_mode::$32 +(word~) gfx_mode::$33 +(byte~) gfx_mode::$34 +(word~) gfx_mode::$35 +(byte~) gfx_mode::$36 +(word~) gfx_mode::$37 +(byte~) gfx_mode::$38 +(byte~) gfx_mode::$39 +(boolean~) gfx_mode::$4 +(byte~) gfx_mode::$40 +(byte~) gfx_mode::$41 +(byte~) gfx_mode::$42 +(byte~) gfx_mode::$43 +(byte~) gfx_mode::$44 +(dword~) gfx_mode::$45 +(word~) gfx_mode::$46 +(byte~) gfx_mode::$47 +(word~) gfx_mode::$48 +(byte~) gfx_mode::$49 +(byte~) gfx_mode::$5 +(word~) gfx_mode::$50 +(byte~) gfx_mode::$51 +(byte~) gfx_mode::$52 +(byte~) gfx_mode::$53 +(byte~) gfx_mode::$54 +(byte~) gfx_mode::$55 +(byte~) gfx_mode::$56 +(byte~) gfx_mode::$57 +(byte~) gfx_mode::$58 +(byte~) gfx_mode::$59 +(boolean~) gfx_mode::$6 +(byte~) gfx_mode::$60 +(byte~) gfx_mode::$61 +(byte~) gfx_mode::$62 +(byte~) gfx_mode::$63 +(boolean~) gfx_mode::$64 +(boolean~) gfx_mode::$7 +(byte~) gfx_mode::$8 +(boolean~) gfx_mode::$9 +(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#0 +(byte) gfx_mode::dtv_control#1 +(byte) gfx_mode::dtv_control#10 +(byte) gfx_mode::dtv_control#11 +(byte) gfx_mode::dtv_control#12 +(byte) gfx_mode::dtv_control#13 +(byte) gfx_mode::dtv_control#14 +(byte) gfx_mode::dtv_control#15 +(byte) gfx_mode::dtv_control#16 +(byte) gfx_mode::dtv_control#17 +(byte) gfx_mode::dtv_control#18 +(byte) gfx_mode::dtv_control#2 +(byte) gfx_mode::dtv_control#3 +(byte) gfx_mode::dtv_control#4 +(byte) gfx_mode::dtv_control#5 +(byte) gfx_mode::dtv_control#6 +(byte) gfx_mode::dtv_control#7 +(byte) gfx_mode::dtv_control#8 +(byte) gfx_mode::dtv_control#9 +(byte) gfx_mode::i +(byte) gfx_mode::i#0 +(byte) gfx_mode::i#1 +(byte) gfx_mode::i#2 +(dword) gfx_mode::plane_a +(dword) gfx_mode::plane_a#0 +(byte) gfx_mode::plane_a_offs +(byte) gfx_mode::plane_a_offs#0 +(dword) gfx_mode::plane_b +(dword) gfx_mode::plane_b#0 +(byte) gfx_mode::plane_b_offs +(byte) gfx_mode::plane_b_offs#0 +(byte) gfx_mode::vic_control +(byte) gfx_mode::vic_control#0 +(byte) gfx_mode::vic_control#1 +(byte) gfx_mode::vic_control#2 +(byte) gfx_mode::vic_control#3 +(byte) gfx_mode::vic_control#4 +(byte) gfx_mode::vic_control#5 +(byte) gfx_mode::vic_control#6 +(byte) gfx_mode::vic_control2 +(byte) gfx_mode::vic_control2#0 +(byte) gfx_mode::vic_control2#1 +(byte) gfx_mode::vic_control2#2 +(byte) gfx_mode::vic_control2#3 (byte()) keyboard_event_get() (boolean~) keyboard_event_get::$0 (boolean~) keyboard_event_get::$1 @@ -5064,7 +6662,6 @@ SYMBOL TABLE SSA (byte) keyboard_events_size#0 (byte) keyboard_events_size#1 (byte) keyboard_events_size#10 -(byte) keyboard_events_size#100 (byte) keyboard_events_size#11 (byte) keyboard_events_size#12 (byte) keyboard_events_size#13 @@ -5154,14 +6751,8 @@ SYMBOL TABLE SSA (byte) keyboard_events_size#9 (byte) keyboard_events_size#90 (byte) keyboard_events_size#91 -(byte) keyboard_events_size#92 -(byte) keyboard_events_size#93 -(byte) keyboard_events_size#94 -(byte) keyboard_events_size#95 -(byte) keyboard_events_size#96 -(byte) keyboard_events_size#97 -(byte) keyboard_events_size#98 -(byte) keyboard_events_size#99 +(void()) keyboard_init() +(label) keyboard_init::@return (byte[8]) keyboard_matrix_col_bitmask (byte[8]) keyboard_matrix_col_bitmask#0 (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) @@ -5252,75 +6843,30 @@ SYMBOL TABLE SSA (byte) keyboard_modifiers#70 (byte) keyboard_modifiers#71 (byte) keyboard_modifiers#72 -(byte) keyboard_modifiers#73 -(byte) keyboard_modifiers#74 -(byte) keyboard_modifiers#75 -(byte) keyboard_modifiers#76 -(byte) keyboard_modifiers#77 -(byte) keyboard_modifiers#78 -(byte) keyboard_modifiers#79 (byte) keyboard_modifiers#8 -(byte) keyboard_modifiers#80 -(byte) keyboard_modifiers#81 (byte) keyboard_modifiers#9 (byte[8]) keyboard_scan_values (byte[8]) keyboard_scan_values#0 (void()) main() +(byte/word/signed word/dword/signed dword~) main::$3 +(byte/word/signed word/dword/signed dword~) main::$4 +(boolean~) main::$5 +(boolean~) main::$7 (label) main::@1 +(label) main::@19 (label) main::@2 +(label) main::@20 +(label) main::@21 +(label) main::@22 +(label) main::@23 +(label) main::@24 +(label) main::@4 +(label) main::@5 +(label) main::@6 (label) main::@7 +(label) main::@8 +(label) main::@9 (label) main::@return -(void()) menu() -(dword~) menu::$0 -(dword~) menu::$1 -(word/signed dword/dword~) menu::$10 -(byte~) menu::$11 -(byte/word/dword~) menu::$12 -(byte~) menu::$13 -(byte/word/dword~) menu::$14 -(word~) menu::$15 -(word~) menu::$16 -(word/signed dword/dword~) menu::$17 -(word~) menu::$18 -(word~) menu::$19 -(byte~) menu::$2 -(word/signed dword/dword~) menu::$20 -(word/dword~) menu::$21 -(byte~) menu::$22 -(boolean~) menu::$23 -(dword~) menu::$3 -(boolean~) menu::$32 -(word~) menu::$4 -(byte~) menu::$5 -(dword~) menu::$6 -(word~) menu::$7 -(byte~) menu::$8 -(word~) menu::$9 -(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::@22 -(label) menu::@23 -(label) menu::@3 -(label) menu::@5 -(label) menu::@6 -(label) menu::@7 -(label) menu::@8 -(label) menu::@return -(byte*) menu::CHARSET -(byte*) menu::CHARSET#0 -(byte*) menu::SCREEN -(byte*) menu::SCREEN#0 -(byte) menu::i -(byte) menu::i#0 -(byte) menu::i#1 -(byte) menu::i#2 (byte*) print_char_cursor (byte*) print_char_cursor#0 (byte*) print_char_cursor#1 @@ -5379,23 +6925,9 @@ SYMBOL TABLE SSA (byte*) print_char_cursor#58 (byte*) print_char_cursor#59 (byte*) print_char_cursor#6 -(byte*) print_char_cursor#60 -(byte*) print_char_cursor#61 -(byte*) print_char_cursor#62 -(byte*) print_char_cursor#63 (byte*) print_char_cursor#7 (byte*) print_char_cursor#8 (byte*) print_char_cursor#9 -(void()) print_cls() -(byte*~) print_cls::$0 -(boolean~) print_cls::$1 -(label) print_cls::@1 -(label) print_cls::@2 -(label) print_cls::@return -(byte*) print_cls::sc -(byte*) print_cls::sc#0 -(byte*) print_cls::sc#1 -(byte*) print_cls::sc#2 (byte[]) print_hextab (byte[]) print_hextab#0 (byte*) print_line_cursor @@ -5456,10 +6988,6 @@ SYMBOL TABLE SSA (byte*) print_line_cursor#58 (byte*) print_line_cursor#59 (byte*) print_line_cursor#6 -(byte*) print_line_cursor#60 -(byte*) print_line_cursor#61 -(byte*) print_line_cursor#62 -(byte*) print_line_cursor#63 (byte*) print_line_cursor#7 (byte*) print_line_cursor#8 (byte*) print_line_cursor#9 @@ -5506,8 +7034,6 @@ SYMBOL TABLE SSA (byte*) print_screen#39 (byte*) print_screen#4 (byte*) print_screen#40 -(byte*) print_screen#41 -(byte*) print_screen#42 (byte*) print_screen#5 (byte*) print_screen#6 (byte*) print_screen#7 @@ -5550,40 +7076,52 @@ SYMBOL TABLE SSA (byte*) print_str_lines::str#9 OPTIMIZING CONTROL FLOW GRAPH +Culled Empty Block (label) gfx_init::@1 +Culled Empty Block (label) gfx_init_plane_8bppchunky::@9 +Succesful SSA optimization Pass2CullEmptyBlocks Inversing boolean not (boolean~) print_str_lines::$2 ← (byte) print_str_lines::ch#0 == (byte) '@' from (boolean~) print_str_lines::$1 ← (byte) print_str_lines::ch#0 != (byte) '@' Inversing boolean not (boolean~) keyboard_event_scan::$2 ← (byte) keyboard_event_scan::row_scan#0 == *((byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#3) from (boolean~) keyboard_event_scan::$1 ← (byte) keyboard_event_scan::row_scan#0 != *((byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#3) Inversing boolean not (boolean~) keyboard_event_scan::$6 ← (byte~) keyboard_event_scan::$4 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) keyboard_event_scan::$5 ← (byte~) keyboard_event_scan::$4 != (byte/signed byte/word/signed word/dword/signed dword) 0 -Inversing boolean not (boolean~) keyboard_event_scan::$8 ← (byte) keyboard_events_size#14 == (byte/signed byte/word/signed word/dword/signed dword) 8 from (boolean~) keyboard_event_scan::$7 ← (byte) keyboard_events_size#14 != (byte/signed byte/word/signed word/dword/signed dword) 8 +Inversing boolean not (boolean~) keyboard_event_scan::$8 ← (byte) keyboard_events_size#12 == (byte/signed byte/word/signed word/dword/signed dword) 8 from (boolean~) keyboard_event_scan::$7 ← (byte) keyboard_events_size#12 != (byte/signed byte/word/signed word/dword/signed dword) 8 Inversing boolean not (boolean~) keyboard_event_scan::$11 ← (byte) keyboard_event_scan::event_type#0 != (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) keyboard_event_scan::$10 ← (byte) keyboard_event_scan::event_type#0 == (byte/signed byte/word/signed word/dword/signed dword) 0 Inversing boolean not (boolean~) keyboard_event_scan::$18 ← (byte~) keyboard_event_scan::$16 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) keyboard_event_scan::$17 ← (byte~) keyboard_event_scan::$16 != (byte/signed byte/word/signed word/dword/signed dword) 0 Inversing boolean not (boolean~) keyboard_event_scan::$22 ← (byte~) keyboard_event_scan::$20 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) keyboard_event_scan::$21 ← (byte~) keyboard_event_scan::$20 != (byte/signed byte/word/signed word/dword/signed dword) 0 Inversing boolean not (boolean~) keyboard_event_scan::$26 ← (byte~) keyboard_event_scan::$24 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) keyboard_event_scan::$25 ← (byte~) keyboard_event_scan::$24 != (byte/signed byte/word/signed word/dword/signed dword) 0 Inversing boolean not (boolean~) keyboard_event_scan::$30 ← (byte~) keyboard_event_scan::$28 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) keyboard_event_scan::$29 ← (byte~) keyboard_event_scan::$28 != (byte/signed byte/word/signed word/dword/signed dword) 0 -Inversing boolean not (boolean~) keyboard_event_get::$1 ← (byte) keyboard_events_size#18 != (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) keyboard_event_get::$0 ← (byte) keyboard_events_size#18 == (byte/signed byte/word/signed word/dword/signed dword) 0 -Inversing boolean not (boolean~) form_control::$2 ← (signed byte) form_cursor_count#5 >= (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) form_control::$1 ← (signed byte) form_cursor_count#5 < (byte/signed byte/word/signed word/dword/signed dword) 0 -Inversing boolean not (boolean~) form_control::$5 ← (signed byte) form_cursor_count#15 >= (signed word/signed byte/signed dword~) form_control::$3 from (boolean~) form_control::$4 ← (signed byte) form_cursor_count#15 < (signed word/signed byte/signed dword~) form_control::$3 +Inversing boolean not (boolean~) keyboard_event_get::$1 ← (byte) keyboard_events_size#16 != (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) keyboard_event_get::$0 ← (byte) keyboard_events_size#16 == (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_mode::$1 ← *((byte*) form_ctrl_line#0) == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) gfx_mode::$0 ← *((byte*) form_ctrl_line#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_mode::$4 ← *((byte*) form_ctrl_borof#0) == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) gfx_mode::$3 ← *((byte*) form_ctrl_borof#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_mode::$7 ← *((byte*) form_ctrl_hicol#0) == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) gfx_mode::$6 ← *((byte*) form_ctrl_hicol#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_mode::$10 ← *((byte*) form_ctrl_overs#0) == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) gfx_mode::$9 ← *((byte*) form_ctrl_overs#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_mode::$13 ← *((byte*) form_ctrl_colof#0) == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) gfx_mode::$12 ← *((byte*) form_ctrl_colof#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_mode::$16 ← *((byte*) form_ctrl_chunk#0) == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) gfx_mode::$15 ← *((byte*) form_ctrl_chunk#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_mode::$21 ← *((byte*) form_ctrl_ecm#0) == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) gfx_mode::$20 ← *((byte*) form_ctrl_ecm#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_mode::$24 ← *((byte*) form_ctrl_bmm#0) == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) gfx_mode::$23 ← *((byte*) form_ctrl_bmm#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_mode::$27 ← *((byte*) form_ctrl_mcm#0) == (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) gfx_mode::$26 ← *((byte*) form_ctrl_mcm#0) != (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) gfx_init_plane_8bppchunky::$4 ← (byte*) gfx_init_plane_8bppchunky::gfxb#3 != (word/dword/signed dword) 32768 from (boolean~) gfx_init_plane_8bppchunky::$3 ← (byte*) gfx_init_plane_8bppchunky::gfxb#3 == (word/dword/signed dword) 32768 +Inversing boolean not (boolean~) form_control::$2 ← (signed byte) form_cursor_count#3 >= (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) form_control::$1 ← (signed byte) form_cursor_count#3 < (byte/signed byte/word/signed word/dword/signed dword) 0 +Inversing boolean not (boolean~) form_control::$5 ← (signed byte) form_cursor_count#11 >= (signed word/signed byte/signed dword~) form_control::$3 from (boolean~) form_control::$4 ← (signed byte) form_cursor_count#11 < (signed word/signed byte/signed dword~) form_control::$3 Inversing boolean not (boolean~) form_control::$11 ← (byte) form_control::key_event#0 != (byte) KEY_CRSR_DOWN#0 from (boolean~) form_control::$10 ← (byte) form_control::key_event#0 == (byte) KEY_CRSR_DOWN#0 Inversing boolean not (boolean~) form_control::$23 ← (byte) form_control::key_event#1 != (byte) KEY_CRSR_RIGHT#0 from (boolean~) form_control::$22 ← (byte) form_control::key_event#1 == (byte) KEY_CRSR_RIGHT#0 Inversing boolean not (boolean~) form_control::$15 ← (byte~) form_control::$13 != (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) form_control::$14 ← (byte~) form_control::$13 == (byte/signed byte/word/signed word/dword/signed dword) 0 -Inversing boolean not (boolean~) form_control::$19 ← (byte) form_field_idx#5 != (byte/word/signed word/dword/signed dword) 255 from (boolean~) form_control::$18 ← (byte) form_field_idx#5 == (byte/word/signed word/dword/signed dword) 255 -Inversing boolean not (boolean~) form_control::$17 ← (byte) form_field_idx#6 != (byte) form_fields_cnt#2 from (boolean~) form_control::$16 ← (byte) form_field_idx#6 == (byte) form_fields_cnt#2 +Inversing boolean not (boolean~) form_control::$19 ← (byte) form_field_idx#3 != (byte/word/signed word/dword/signed dword) 255 from (boolean~) form_control::$18 ← (byte) form_field_idx#3 == (byte/word/signed word/dword/signed dword) 255 +Inversing boolean not (boolean~) form_control::$17 ← (byte) form_field_idx#4 != (byte) form_fields_cnt#2 from (boolean~) form_control::$16 ← (byte) form_field_idx#4 == (byte) form_fields_cnt#2 Inversing boolean not (boolean~) form_control::$26 ← (byte~) form_control::$24 != (byte/signed byte/word/signed word/dword/signed dword) 0 from (boolean~) form_control::$25 ← (byte~) form_control::$24 == (byte/signed byte/word/signed word/dword/signed dword) 0 -Inversing boolean not (boolean~) form_control::$30 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#19) != (byte/word/signed word/dword/signed dword) 255 from (boolean~) form_control::$29 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#19) == (byte/word/signed word/dword/signed dword) 255 -Inversing boolean not (boolean~) form_control::$28 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#20) <= *((byte[]) form_fields_max#0 + (byte) form_field_idx#20) from (boolean~) form_control::$27 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#20) > *((byte[]) form_fields_max#0 + (byte) form_field_idx#20) +Inversing boolean not (boolean~) form_control::$30 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#15) != (byte/word/signed word/dword/signed dword) 255 from (boolean~) form_control::$29 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#15) == (byte/word/signed word/dword/signed dword) 255 +Inversing boolean not (boolean~) form_control::$28 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#16) <= *((byte[]) form_fields_max#0 + (byte) form_field_idx#16) from (boolean~) form_control::$27 ← *((byte[]) form_fields_val#0 + (byte) form_field_idx#16) > *((byte[]) form_fields_max#0 + (byte) form_field_idx#16) Succesful SSA optimization Pass2UnaryNotSimplification +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#0 Not aliassing across scopes: print_str_lines::str#5 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#46 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#44 print_line_cursor#12 -Not aliassing across scopes: print_line_cursor#19 print_line_cursor#4 -Not aliassing across scopes: print_char_cursor#21 print_char_cursor#5 -Not aliassing across scopes: print_line_cursor#38 print_line_cursor#36 -Not aliassing across scopes: print_char_cursor#40 print_char_cursor#38 -Not aliassing across scopes: print_screen#9 print_screen#5 -Not aliassing across scopes: print_cls::sc#0 print_screen#9 -Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#1 +Not aliassing across scopes: print_char_cursor#39 print_char_cursor#10 +Not aliassing across scopes: print_line_cursor#37 print_line_cursor#9 +Not aliassing across scopes: print_line_cursor#15 print_line_cursor#4 +Not aliassing across scopes: print_char_cursor#17 print_char_cursor#5 +Not aliassing across scopes: print_line_cursor#31 print_line_cursor#29 +Not aliassing across scopes: print_char_cursor#33 print_char_cursor#31 +Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#0 Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 -Not aliassing across scopes: keyboard_events_size#81 keyboard_events_size#38 +Not aliassing across scopes: keyboard_events_size#76 keyboard_events_size#32 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_event_scan::row#2 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#1 Not aliassing across scopes: keyboard_event_scan::$0 keyboard_matrix_read::return#4 @@ -5600,105 +7138,92 @@ Not aliassing across scopes: keyboard_event_pressed::keycode#3 KEY_COMMODORE#0 Not aliassing across scopes: keyboard_event_pressed::return#3 keyboard_event_pressed::return#5 Not aliassing across scopes: keyboard_event_scan::$28 keyboard_event_pressed::return#9 Not aliassing across scopes: keyboard_event_pressed::keycode#4 keyboard_event_pressed::keycode#2 -Not aliassing across scopes: keyboard_events_size#18 keyboard_events_size#10 -Not aliassing across scopes: print_screen#25 print_screen#24 -Not aliassing across scopes: print_line_cursor#46 print_line_cursor#43 -Not aliassing across scopes: print_char_cursor#49 print_char_cursor#45 -Not aliassing across scopes: form_cursor_count#26 form_cursor_count#25 -Not aliassing across scopes: keyboard_events_size#46 keyboard_events_size#42 -Not aliassing across scopes: keyboard_modifiers#47 keyboard_modifiers#43 -Not aliassing across scopes: form_field_idx#36 form_field_idx#35 -Not aliassing across scopes: form_fields_cnt#36 form_fields_cnt#38 -Not aliassing across scopes: print_screen#13 print_screen#7 -Not aliassing across scopes: print_line_cursor#26 print_line_cursor#17 -Not aliassing across scopes: print_char_cursor#27 print_char_cursor#18 -Not aliassing across scopes: form_cursor_count#10 form_cursor_count#3 -Not aliassing across scopes: keyboard_events_size#21 keyboard_events_size#9 -Not aliassing across scopes: keyboard_modifiers#19 keyboard_modifiers#10 -Not aliassing across scopes: form_field_idx#11 form_field_idx#3 -Not aliassing across scopes: print_screen#31 print_screen#19 -Not aliassing across scopes: print_line_cursor#53 print_line_cursor#39 -Not aliassing across scopes: print_char_cursor#54 print_char_cursor#41 -Not aliassing across scopes: form_cursor_count#53 form_cursor_count#18 -Not aliassing across scopes: keyboard_events_size#100 keyboard_events_size#34 -Not aliassing across scopes: keyboard_modifiers#81 keyboard_modifiers#33 -Not aliassing across scopes: form_field_idx#61 form_field_idx#25 -Not aliassing across scopes: form_fields_cnt#30 form_fields_cnt#32 -Not aliassing across scopes: print_set_screen::screen#0 COLS#0 -Not aliassing across scopes: print_screen#15 print_screen#2 -Not aliassing across scopes: print_line_cursor#28 print_line_cursor#8 -Not aliassing across scopes: print_char_cursor#29 print_char_cursor#9 -Not aliassing across scopes: print_line_cursor#29 print_line_cursor#6 -Not aliassing across scopes: print_char_cursor#30 print_char_cursor#7 -Not aliassing across scopes: print_str_lines::str#1 MENU_COLS#0 -Not aliassing across scopes: print_char_cursor#31 print_char_cursor#3 -Not aliassing across scopes: print_line_cursor#30 print_line_cursor#2 -Not aliassing across scopes: print_set_screen::screen#1 menu::SCREEN#0 -Not aliassing across scopes: print_screen#16 print_screen#2 -Not aliassing across scopes: print_line_cursor#31 print_line_cursor#8 -Not aliassing across scopes: print_char_cursor#32 print_char_cursor#9 -Not aliassing across scopes: print_line_cursor#32 print_line_cursor#6 -Not aliassing across scopes: print_char_cursor#33 print_char_cursor#7 -Not aliassing across scopes: print_str_lines::str#2 MENU_TEXT#0 -Not aliassing across scopes: print_char_cursor#34 print_char_cursor#3 -Not aliassing across scopes: print_line_cursor#33 print_line_cursor#2 -Not aliassing across scopes: form_set_screen::screen#0 menu::SCREEN#0 -Not aliassing across scopes: form_cursor_count#12 form_cursor_count#8 -Not aliassing across scopes: keyboard_events_size#23 keyboard_events_size#12 -Not aliassing across scopes: keyboard_modifiers#21 keyboard_modifiers#12 -Not aliassing across scopes: form_field_idx#13 form_field_idx#9 +Not aliassing across scopes: keyboard_events_size#16 keyboard_events_size#8 +Not aliassing across scopes: print_screen#26 print_screen#21 +Not aliassing across scopes: print_line_cursor#45 print_line_cursor#36 +Not aliassing across scopes: print_char_cursor#46 print_char_cursor#38 +Not aliassing across scopes: form_cursor_count#38 form_cursor_count#19 +Not aliassing across scopes: keyboard_events_size#79 keyboard_events_size#36 +Not aliassing across scopes: keyboard_modifiers#68 keyboard_modifiers#37 +Not aliassing across scopes: form_field_idx#44 form_field_idx#29 +Not aliassing across scopes: form_fields_cnt#27 form_fields_cnt#30 +Not aliassing across scopes: print_screen#10 print_screen#7 +Not aliassing across scopes: print_line_cursor#21 print_line_cursor#13 +Not aliassing across scopes: print_char_cursor#22 print_char_cursor#14 +Not aliassing across scopes: form_cursor_count#8 form_cursor_count#6 +Not aliassing across scopes: keyboard_events_size#19 keyboard_events_size#10 +Not aliassing across scopes: keyboard_modifiers#17 keyboard_modifiers#10 +Not aliassing across scopes: form_field_idx#9 form_field_idx#7 +Not aliassing across scopes: gfx_mode::vic_control2#0 VIC_CSEL#0 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#0 gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::gfxbCpuBank#4 +Not aliassing across scopes: print_screen#18 print_screen#16 +Not aliassing across scopes: print_line_cursor#34 print_line_cursor#32 +Not aliassing across scopes: print_char_cursor#36 print_char_cursor#34 +Not aliassing across scopes: form_fields_cnt#21 form_fields_cnt#23 +Not aliassing across scopes: print_screen#12 print_screen#2 +Not aliassing across scopes: print_line_cursor#23 print_line_cursor#6 +Not aliassing across scopes: print_char_cursor#24 print_char_cursor#7 +Not aliassing across scopes: print_str_lines::str#1 FORM_COLS#0 +Not aliassing across scopes: print_char_cursor#25 print_char_cursor#3 +Not aliassing across scopes: print_line_cursor#24 print_line_cursor#2 +Not aliassing across scopes: print_screen#13 print_screen#2 +Not aliassing across scopes: print_line_cursor#25 print_line_cursor#6 +Not aliassing across scopes: print_char_cursor#26 print_char_cursor#7 +Not aliassing across scopes: print_str_lines::str#2 FORM_TEXT#0 +Not aliassing across scopes: print_char_cursor#27 print_char_cursor#3 +Not aliassing across scopes: print_line_cursor#26 print_line_cursor#2 Not aliassing across scopes: form_set_screen::screen#1 form_set_screen::screen#0 Not aliassing across scopes: form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 Not aliassing across scopes: form_fields_cnt#7 form_fields_cnt#9 Not aliassing across scopes: form_field_ptr::field_idx#0 form_render_values::idx#2 Not aliassing across scopes: form_field_ptr::return#2 form_field_ptr::return#1 Not aliassing across scopes: form_render_values::$0 form_field_ptr::return#5 -Not aliassing across scopes: form_field_idx#15 form_field_idx#27 -Not aliassing across scopes: form_cursor_count#22 form_cursor_count#20 -Not aliassing across scopes: keyboard_events_size#85 keyboard_events_size#36 -Not aliassing across scopes: keyboard_modifiers#74 keyboard_modifiers#35 +Not aliassing across scopes: form_field_idx#11 form_field_idx#21 +Not aliassing across scopes: form_cursor_count#16 form_cursor_count#14 +Not aliassing across scopes: keyboard_events_size#81 keyboard_events_size#30 +Not aliassing across scopes: keyboard_modifiers#70 keyboard_modifiers#29 Not aliassing across scopes: form_fields_cnt#22 form_fields_cnt#24 -Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#15 +Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#11 Not aliassing across scopes: form_field_ptr::return#3 form_field_ptr::return#1 Not aliassing across scopes: form_control::$0 form_field_ptr::return#6 -Not aliassing across scopes: form_cursor_count#6 FORM_CURSOR_BLINK#0 -Not aliassing across scopes: keyboard_events_size#25 keyboard_events_size#3 -Not aliassing across scopes: keyboard_modifiers#23 keyboard_modifiers#6 +Not aliassing across scopes: form_cursor_count#4 FORM_CURSOR_BLINK#0 +Not aliassing across scopes: keyboard_events_size#21 keyboard_events_size#3 +Not aliassing across scopes: keyboard_modifiers#19 keyboard_modifiers#6 Not aliassing across scopes: keyboard_event_get::return#3 keyboard_event_get::return#2 -Not aliassing across scopes: keyboard_events_size#26 keyboard_events_size#5 +Not aliassing across scopes: keyboard_events_size#22 keyboard_events_size#5 Not aliassing across scopes: form_control::$9 keyboard_event_get::return#5 -Not aliassing across scopes: print_screen#18 print_screen#4 -Not aliassing across scopes: print_line_cursor#35 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#36 print_char_cursor#11 -Not aliassing across scopes: form_cursor_count#17 form_cursor_count#1 -Not aliassing across scopes: keyboard_events_size#28 keyboard_events_size#7 -Not aliassing across scopes: keyboard_modifiers#27 keyboard_modifiers#8 -Not aliassing across scopes: form_field_idx#24 form_field_idx#1 -Alias (byte*) print_screen#0 = (byte*) print_line_cursor#0 (byte*) print_char_cursor#0 (byte*) print_screen#42 (byte*) print_line_cursor#63 (byte*) print_char_cursor#63 (byte*) print_screen#38 (byte*) print_line_cursor#60 (byte*) print_char_cursor#60 (byte*) print_screen#35 (byte*) print_line_cursor#58 (byte*) print_char_cursor#58 (byte*) print_screen#34 (byte*) print_line_cursor#56 (byte*) print_char_cursor#57 (byte*) print_screen#30 (byte*) print_line_cursor#50 (byte*) print_char_cursor#53 (byte*) print_screen#24 (byte*) print_line_cursor#43 (byte*) print_char_cursor#45 +Not aliassing across scopes: print_screen#15 print_screen#4 +Not aliassing across scopes: print_line_cursor#28 print_line_cursor#8 +Not aliassing across scopes: print_char_cursor#29 print_char_cursor#9 +Not aliassing across scopes: form_cursor_count#13 form_cursor_count#1 +Not aliassing across scopes: keyboard_events_size#24 keyboard_events_size#7 +Not aliassing across scopes: keyboard_modifiers#23 keyboard_modifiers#8 +Not aliassing across scopes: form_field_idx#20 form_field_idx#1 +Alias (byte*) print_screen#0 = (byte*) print_line_cursor#0 (byte*) print_char_cursor#0 (byte*) print_screen#34 (byte*) print_line_cursor#53 (byte*) print_char_cursor#53 (byte*) print_screen#32 (byte*) print_line_cursor#51 (byte*) print_char_cursor#51 (byte*) print_screen#31 (byte*) print_line_cursor#50 (byte*) print_char_cursor#50 (byte*) print_screen#29 (byte*) print_line_cursor#47 (byte*) print_char_cursor#48 (byte*) print_screen#25 (byte*) print_line_cursor#42 (byte*) print_char_cursor#45 (byte*) print_screen#21 (byte*) print_line_cursor#36 (byte*) print_char_cursor#38 Alias (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#7 -Alias (byte*) print_char_cursor#22 = (byte*) print_char_cursor#47 (byte*) print_char_cursor#39 (byte*) print_char_cursor#3 -Alias (byte*) print_line_cursor#2 = (byte*) print_line_cursor#57 (byte*) print_line_cursor#37 (byte*) print_line_cursor#20 +Alias (byte*) print_char_cursor#18 = (byte*) print_char_cursor#40 (byte*) print_char_cursor#32 (byte*) print_char_cursor#3 +Alias (byte*) print_line_cursor#16 = (byte*) print_line_cursor#48 (byte*) print_line_cursor#30 (byte*) print_line_cursor#2 Alias (byte) print_str_lines::ch#0 = (byte) print_str_lines::ch#2 -Alias (byte*) print_char_cursor#20 = (byte*) print_char_cursor#37 +Alias (byte*) print_char_cursor#16 = (byte*) print_char_cursor#30 Alias (byte*) print_str_lines::str#0 = (byte*) print_str_lines::str#9 -Alias (byte*) print_line_cursor#51 = (byte*) print_line_cursor#52 -Alias (byte*) print_line_cursor#36 = (byte*) print_line_cursor#45 -Alias (byte*) print_char_cursor#38 = (byte*) print_char_cursor#48 +Alias (byte*) print_line_cursor#43 = (byte*) print_line_cursor#44 +Alias (byte*) print_line_cursor#29 = (byte*) print_line_cursor#38 +Alias (byte*) print_char_cursor#31 = (byte*) print_char_cursor#41 Alias (byte*) print_str_lines::str#10 = (byte*) print_str_lines::str#8 (byte*) print_str_lines::str#6 -Alias (byte*) print_line_cursor#1 = (byte*) print_line_cursor#19 -Alias (byte*) print_char_cursor#2 = (byte*) print_char_cursor#21 -Alias (byte*) print_line_cursor#22 = (byte*) print_line_cursor#3 (byte*~) print_ln::$0 (byte*) print_char_cursor#4 (byte*) print_line_cursor#23 (byte*) print_char_cursor#24 (byte*) print_line_cursor#4 (byte*) print_char_cursor#5 -Alias (byte*) print_line_cursor#24 = (byte*) print_screen#11 (byte*) print_screen#10 (byte*) print_line_cursor#5 (byte*) print_char_cursor#6 (byte*) print_char_cursor#25 (byte*) print_line_cursor#6 (byte*) print_char_cursor#7 -Alias (byte*) print_screen#1 = (byte*) print_line_cursor#7 (byte*) print_char_cursor#8 (byte*) print_screen#12 (byte*) print_line_cursor#25 (byte*) print_char_cursor#26 (byte*) print_screen#2 (byte*) print_line_cursor#8 (byte*) print_char_cursor#9 +Alias (byte*) print_line_cursor#1 = (byte*) print_line_cursor#15 +Alias (byte*) print_char_cursor#17 = (byte*) print_char_cursor#2 +Alias (byte*) print_line_cursor#18 = (byte*) print_line_cursor#3 (byte*~) print_ln::$0 (byte*) print_char_cursor#4 (byte*) print_line_cursor#19 (byte*) print_char_cursor#20 (byte*) print_line_cursor#4 (byte*) print_char_cursor#5 +Alias (byte*) print_screen#1 = (byte*) print_line_cursor#5 (byte*) print_char_cursor#6 (byte*) print_screen#9 (byte*) print_line_cursor#20 (byte*) print_char_cursor#21 (byte*) print_screen#2 (byte*) print_line_cursor#6 (byte*) print_char_cursor#7 Alias (byte) keyboard_matrix_read::return#0 = (byte) keyboard_matrix_read::row_pressed_bits#0 (byte~) keyboard_matrix_read::$0 (byte) keyboard_matrix_read::return#3 (byte) keyboard_matrix_read::return#1 Alias (byte) KEY_MODIFIER_SHIFT#0 = (byte~) $0 Alias (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#4 Alias (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#3 (byte) keyboard_event_scan::row#9 (byte) keyboard_event_scan::row#7 Alias (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#7 (byte) keyboard_event_scan::keycode#3 (byte) keyboard_event_scan::keycode#12 -Alias (byte) keyboard_events_size#43 = (byte) keyboard_events_size#61 (byte) keyboard_events_size#73 (byte) keyboard_events_size#87 +Alias (byte) keyboard_events_size#37 = (byte) keyboard_events_size#55 (byte) keyboard_events_size#67 (byte) keyboard_events_size#83 Alias (byte) keyboard_event_scan::row_scan#0 = (byte~) keyboard_event_scan::$0 (byte) keyboard_event_scan::row_scan#4 Alias (byte) keyboard_event_scan::keycode#1 = (byte/signed word/word/dword/signed dword~) keyboard_event_scan::$14 -Alias (byte) keyboard_events_size#14 = (byte) keyboard_events_size#29 (byte) keyboard_events_size#62 (byte) keyboard_events_size#30 (byte) keyboard_events_size#15 (byte) keyboard_events_size#16 +Alias (byte) keyboard_events_size#12 = (byte) keyboard_events_size#25 (byte) keyboard_events_size#56 (byte) keyboard_events_size#26 (byte) keyboard_events_size#13 (byte) keyboard_events_size#14 Alias (byte) keyboard_event_scan::row_scan#1 = (byte) keyboard_event_scan::row_scan#6 (byte) keyboard_event_scan::row_scan#8 (byte) keyboard_event_scan::row_scan#2 (byte) keyboard_event_scan::row_scan#9 (byte) keyboard_event_scan::row_scan#7 Alias (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#8 (byte) keyboard_event_scan::col#6 (byte) keyboard_event_scan::col#4 (byte) keyboard_event_scan::col#7 (byte) keyboard_event_scan::col#5 Alias (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#13 (byte) keyboard_event_scan::keycode#8 (byte) keyboard_event_scan::keycode#9 (byte) keyboard_event_scan::keycode#5 (byte) keyboard_event_scan::keycode#6 @@ -5707,91 +7232,149 @@ Alias (byte) keyboard_event_scan::event_type#0 = (byte~) keyboard_event_scan::$9 Alias (byte) keyboard_event_scan::row_scan#3 = (byte) keyboard_event_scan::row_scan#5 Alias (byte) keyboard_event_scan::row#5 = (byte) keyboard_event_scan::row#8 Alias (byte) keyboard_event_scan::keycode#15 = (byte) keyboard_event_scan::keycode#2 -Alias (byte) keyboard_events_size#44 = (byte) keyboard_events_size#86 -Alias (byte) keyboard_events_size#82 = (byte) keyboard_events_size#96 (byte) keyboard_events_size#94 (byte) keyboard_events_size#93 +Alias (byte) keyboard_events_size#38 = (byte) keyboard_events_size#82 +Alias (byte) keyboard_events_size#77 = (byte) keyboard_events_size#91 (byte) keyboard_events_size#90 (byte) keyboard_events_size#89 Alias (byte) keyboard_event_pressed::return#0 = (byte) keyboard_event_pressed::return#6 -Alias (byte) keyboard_modifiers#1 = (byte) keyboard_modifiers#28 (byte) keyboard_modifiers#14 +Alias (byte) keyboard_modifiers#1 = (byte) keyboard_modifiers#24 (byte) keyboard_modifiers#12 Alias (byte) keyboard_event_pressed::return#1 = (byte) keyboard_event_pressed::return#7 -Alias (byte) keyboard_modifiers#15 = (byte) keyboard_modifiers#29 (byte) keyboard_modifiers#44 -Alias (byte) keyboard_events_size#88 = (byte) keyboard_events_size#89 (byte) keyboard_events_size#91 +Alias (byte) keyboard_modifiers#13 = (byte) keyboard_modifiers#25 (byte) keyboard_modifiers#38 +Alias (byte) keyboard_events_size#84 = (byte) keyboard_events_size#85 (byte) keyboard_events_size#88 Alias (byte) keyboard_modifiers#2 = (byte~) keyboard_event_scan::$19 Alias (byte) keyboard_event_pressed::return#2 = (byte) keyboard_event_pressed::return#8 -Alias (byte) keyboard_modifiers#16 = (byte) keyboard_modifiers#30 (byte) keyboard_modifiers#45 -Alias (byte) keyboard_events_size#74 = (byte) keyboard_events_size#75 (byte) keyboard_events_size#83 +Alias (byte) keyboard_modifiers#14 = (byte) keyboard_modifiers#26 (byte) keyboard_modifiers#39 +Alias (byte) keyboard_events_size#68 = (byte) keyboard_events_size#69 (byte) keyboard_events_size#78 Alias (byte) keyboard_modifiers#3 = (byte~) keyboard_event_scan::$23 Alias (byte) keyboard_event_pressed::return#3 = (byte) keyboard_event_pressed::return#9 -Alias (byte) keyboard_modifiers#17 = (byte) keyboard_modifiers#31 (byte) keyboard_modifiers#46 (byte) keyboard_modifiers#32 -Alias (byte) keyboard_events_size#31 = (byte) keyboard_events_size#45 (byte) keyboard_events_size#63 (byte) keyboard_events_size#32 +Alias (byte) keyboard_modifiers#15 = (byte) keyboard_modifiers#27 (byte) keyboard_modifiers#40 (byte) keyboard_modifiers#28 +Alias (byte) keyboard_events_size#27 = (byte) keyboard_events_size#39 (byte) keyboard_events_size#57 (byte) keyboard_events_size#28 Alias (byte) keyboard_modifiers#4 = (byte~) keyboard_event_scan::$27 Alias (byte) keyboard_modifiers#5 = (byte~) keyboard_event_scan::$31 -Alias (byte) keyboard_events_size#17 = (byte) keyboard_events_size#3 -Alias (byte) keyboard_modifiers#18 = (byte) keyboard_modifiers#6 +Alias (byte) keyboard_events_size#15 = (byte) keyboard_events_size#3 +Alias (byte) keyboard_modifiers#16 = (byte) keyboard_modifiers#6 Alias (byte) keyboard_event_pressed::return#10 = (byte) keyboard_event_pressed::return#4 (byte~) keyboard_event_pressed::$2 (byte) keyboard_event_pressed::return#5 -Alias (byte) keyboard_events_size#18 = (byte) keyboard_events_size#19 (byte) keyboard_events_size#33 +Alias (byte) keyboard_events_size#16 = (byte) keyboard_events_size#17 (byte) keyboard_events_size#29 Alias (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#4 -Alias (byte) keyboard_events_size#20 = (byte) keyboard_events_size#5 -Alias (byte*) print_screen#14 = (byte*) print_screen#19 (byte*) print_screen#20 (byte*) print_screen#4 -Alias (byte*) print_line_cursor#10 = (byte*) print_line_cursor#39 (byte*) print_line_cursor#40 (byte*) print_line_cursor#27 -Alias (byte*) print_char_cursor#11 = (byte*) print_char_cursor#41 (byte*) print_char_cursor#42 (byte*) print_char_cursor#28 -Alias (signed byte) form_cursor_count#1 = (signed byte) form_cursor_count#18 (signed byte) form_cursor_count#19 (signed byte) form_cursor_count#11 -Alias (byte) keyboard_events_size#22 = (byte) keyboard_events_size#34 (byte) keyboard_events_size#35 (byte) keyboard_events_size#7 -Alias (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#33 (byte) keyboard_modifiers#34 (byte) keyboard_modifiers#8 -Alias (byte) form_field_idx#1 = (byte) form_field_idx#25 (byte) form_field_idx#26 (byte) form_field_idx#12 -Alias (byte) form_fields_cnt#32 = (byte) form_fields_cnt#35 (byte) form_fields_cnt#37 -Alias (byte*) print_screen#13 = (byte*) print_screen#3 -Alias (byte*) print_line_cursor#26 = (byte*) print_line_cursor#9 -Alias (byte*) print_char_cursor#10 = (byte*) print_char_cursor#27 -Alias (signed byte) form_cursor_count#0 = (signed byte) form_cursor_count#10 -Alias (byte) keyboard_events_size#21 = (byte) keyboard_events_size#6 -Alias (byte) keyboard_modifiers#19 = (byte) keyboard_modifiers#7 -Alias (byte) form_field_idx#0 = (byte) form_field_idx#11 -Alias (byte) keyboard_events_size#0 = (byte) keyboard_events_size#67 (byte) keyboard_events_size#60 (byte) keyboard_events_size#42 -Alias (byte) keyboard_modifiers#0 = (byte) keyboard_modifiers#64 (byte) keyboard_modifiers#60 (byte) keyboard_modifiers#43 -Alias (byte[]) MENU_COLS#0 = (string~) $9 -Alias (byte[]) MENU_TEXT#0 = (string~) $18 -Alias (byte*) print_screen#21 = (byte*) print_screen#26 -Alias (byte*) print_line_cursor#41 = (byte*) print_line_cursor#47 -Alias (byte*) print_char_cursor#43 = (byte*) print_char_cursor#50 -Alias (signed byte) form_cursor_count#27 = (signed byte) form_cursor_count#51 (signed byte) form_cursor_count#52 (signed byte) form_cursor_count#50 (signed byte) form_cursor_count#49 (signed byte) form_cursor_count#48 (signed byte) form_cursor_count#45 (signed byte) form_cursor_count#43 (signed byte) form_cursor_count#40 (signed byte) form_cursor_count#34 -Alias (byte) keyboard_events_size#47 = (byte) keyboard_events_size#98 (byte) keyboard_events_size#99 (byte) keyboard_events_size#97 (byte) keyboard_events_size#95 (byte) keyboard_events_size#92 (byte) keyboard_events_size#90 (byte) keyboard_events_size#84 (byte) keyboard_events_size#76 (byte) keyboard_events_size#64 -Alias (byte) keyboard_modifiers#48 = (byte) keyboard_modifiers#79 (byte) keyboard_modifiers#80 (byte) keyboard_modifiers#78 (byte) keyboard_modifiers#77 (byte) keyboard_modifiers#76 (byte) keyboard_modifiers#75 (byte) keyboard_modifiers#73 (byte) keyboard_modifiers#70 (byte) keyboard_modifiers#61 -Alias (byte) form_field_idx#37 = (byte) form_field_idx#59 (byte) form_field_idx#60 (byte) form_field_idx#58 (byte) form_field_idx#57 (byte) form_field_idx#54 (byte) form_field_idx#52 (byte) form_field_idx#49 (byte) form_field_idx#47 (byte) form_field_idx#43 -Alias (byte) form_fields_cnt#11 = (byte) form_fields_cnt#25 (byte) form_fields_cnt#27 (byte) form_fields_cnt#23 (byte) form_fields_cnt#21 (byte) form_fields_cnt#18 (byte) form_fields_cnt#16 (byte) form_fields_cnt#13 (byte) form_fields_cnt#9 (byte) form_fields_cnt#33 -Alias (byte*) print_screen#15 = (byte*) print_screen#5 (byte*) print_screen#27 (byte*) print_screen#22 -Alias (byte*) print_line_cursor#11 = (byte*) print_line_cursor#28 -Alias (byte*) print_char_cursor#12 = (byte*) print_char_cursor#29 -Alias (byte*) print_line_cursor#12 = (byte*) print_line_cursor#29 -Alias (byte*) print_char_cursor#13 = (byte*) print_char_cursor#30 -Alias (byte*) print_char_cursor#14 = (byte*) print_char_cursor#31 -Alias (byte*) print_line_cursor#13 = (byte*) print_line_cursor#30 -Alias (byte*) print_screen#16 = (byte*) print_screen#6 (byte*) print_screen#39 (byte*) print_screen#36 (byte*) print_screen#32 (byte*) print_screen#28 -Alias (byte*) print_line_cursor#14 = (byte*) print_line_cursor#31 -Alias (byte*) print_char_cursor#15 = (byte*) print_char_cursor#32 -Alias (byte*) print_line_cursor#15 = (byte*) print_line_cursor#32 -Alias (byte*) print_char_cursor#16 = (byte*) print_char_cursor#33 -Alias (byte*) print_char_cursor#17 = (byte*) print_char_cursor#34 (byte*) print_char_cursor#55 (byte*) print_char_cursor#51 -Alias (byte*) print_line_cursor#16 = (byte*) print_line_cursor#33 (byte*) print_line_cursor#54 (byte*) print_line_cursor#48 -Alias (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#35 (signed byte) form_cursor_count#21 (signed byte) form_cursor_count#3 -Alias (byte) keyboard_events_size#24 = (byte) keyboard_events_size#65 (byte) keyboard_events_size#37 (byte) keyboard_events_size#9 -Alias (byte) keyboard_modifiers#10 = (byte) keyboard_modifiers#62 (byte) keyboard_modifiers#36 (byte) keyboard_modifiers#22 -Alias (byte) form_field_idx#14 = (byte) form_field_idx#44 (byte) form_field_idx#28 (byte) form_field_idx#3 -Alias (byte*) print_screen#17 = (byte*) print_screen#40 (byte*) print_screen#23 (byte*) print_screen#7 -Alias (byte*) print_line_cursor#17 = (byte*) print_line_cursor#61 (byte*) print_line_cursor#42 (byte*) print_line_cursor#34 -Alias (byte*) print_char_cursor#18 = (byte*) print_char_cursor#61 (byte*) print_char_cursor#44 (byte*) print_char_cursor#35 -Alias (byte) form_fields_cnt#28 = (byte) form_fields_cnt#31 -Alias (signed byte) form_cursor_count#20 = (signed byte) form_cursor_count#36 (signed byte) form_cursor_count#28 -Alias (byte) keyboard_events_size#36 = (byte) keyboard_events_size#66 (byte) keyboard_events_size#48 -Alias (byte) keyboard_modifiers#35 = (byte) keyboard_modifiers#63 (byte) keyboard_modifiers#49 -Alias (byte) form_field_idx#27 = (byte) form_field_idx#45 (byte) form_field_idx#38 -Alias (byte*) print_screen#29 = (byte*) print_screen#41 (byte*) print_screen#37 (byte*) print_screen#33 -Alias (byte*) print_line_cursor#49 = (byte*) print_line_cursor#62 (byte*) print_line_cursor#59 (byte*) print_line_cursor#55 -Alias (byte*) print_char_cursor#52 = (byte*) print_char_cursor#62 (byte*) print_char_cursor#59 (byte*) print_char_cursor#56 -Alias (byte) form_fields_cnt#24 = (byte) form_fields_cnt#29 (byte) form_fields_cnt#26 (byte) form_fields_cnt#34 -Alias (signed byte) form_cursor_count#12 = (signed byte) form_cursor_count#2 -Alias (byte) keyboard_events_size#23 = (byte) keyboard_events_size#8 -Alias (byte) keyboard_modifiers#21 = (byte) keyboard_modifiers#9 -Alias (byte) form_field_idx#13 = (byte) form_field_idx#2 -Alias (signed byte) form_cursor_count#25 = (signed byte) form_cursor_count#4 (signed word/signed byte/signed dword~) $19 +Alias (byte) keyboard_events_size#18 = (byte) keyboard_events_size#5 +Alias (byte*) print_screen#16 = (byte*) print_screen#22 (byte*) print_screen#26 +Alias (byte*) print_line_cursor#32 = (byte*) print_line_cursor#39 (byte*) print_line_cursor#45 +Alias (byte*) print_char_cursor#34 = (byte*) print_char_cursor#42 (byte*) print_char_cursor#46 +Alias (signed byte) form_cursor_count#20 = (signed byte) form_cursor_count#34 (signed byte) form_cursor_count#38 (signed byte) form_cursor_count#28 +Alias (byte) keyboard_events_size#40 = (byte) keyboard_events_size#70 (byte) keyboard_events_size#79 (byte) keyboard_events_size#58 +Alias (byte) keyboard_modifiers#41 = (byte) keyboard_modifiers#64 (byte) keyboard_modifiers#68 (byte) keyboard_modifiers#55 +Alias (byte) form_field_idx#30 = (byte) form_field_idx#41 (byte) form_field_idx#44 (byte) form_field_idx#37 +Alias (byte) form_fields_cnt#23 = (byte) form_fields_cnt#25 (byte) form_fields_cnt#27 (byte) form_fields_cnt#37 +Alias (byte*) print_screen#10 = (byte*) print_screen#3 +Alias (byte*) print_line_cursor#21 = (byte*) print_line_cursor#7 +Alias (byte*) print_char_cursor#22 = (byte*) print_char_cursor#8 +Alias (signed byte) form_cursor_count#1 = (signed byte) form_cursor_count#41 (signed byte) form_cursor_count#15 (signed byte) form_cursor_count#9 +Alias (byte) keyboard_events_size#20 = (byte) keyboard_events_size#86 (byte) keyboard_events_size#31 (byte) keyboard_events_size#7 +Alias (byte) keyboard_modifiers#18 = (byte) keyboard_modifiers#71 (byte) keyboard_modifiers#30 (byte) keyboard_modifiers#8 +Alias (byte) form_field_idx#1 = (byte) form_field_idx#48 (byte) form_field_idx#22 (byte) form_field_idx#10 +Alias (byte*) print_screen#11 = (byte*) print_screen#39 (byte*) print_screen#17 (byte*) print_screen#4 +Alias (byte*) print_line_cursor#22 = (byte*) print_line_cursor#58 (byte*) print_line_cursor#33 (byte*) print_line_cursor#8 +Alias (byte*) print_char_cursor#23 = (byte*) print_char_cursor#58 (byte*) print_char_cursor#35 (byte*) print_char_cursor#9 +Alias (byte) form_fields_cnt#34 = (byte) form_fields_cnt#36 +Alias (signed byte) form_cursor_count#29 = (signed byte) form_cursor_count#42 (signed byte) form_cursor_count#39 (signed byte) form_cursor_count#35 +Alias (byte) keyboard_events_size#59 = (byte) keyboard_events_size#87 (byte) keyboard_events_size#80 (byte) keyboard_events_size#71 +Alias (byte) keyboard_modifiers#56 = (byte) keyboard_modifiers#72 (byte) keyboard_modifiers#69 (byte) keyboard_modifiers#65 +Alias (byte) form_field_idx#38 = (byte) form_field_idx#49 (byte) form_field_idx#45 (byte) form_field_idx#42 +Alias (byte*) print_screen#35 = (byte*) print_screen#40 (byte*) print_screen#38 (byte*) print_screen#37 +Alias (byte*) print_line_cursor#54 = (byte*) print_line_cursor#59 (byte*) print_line_cursor#57 (byte*) print_line_cursor#56 +Alias (byte*) print_char_cursor#54 = (byte*) print_char_cursor#59 (byte*) print_char_cursor#57 (byte*) print_char_cursor#56 +Alias (byte) form_fields_cnt#28 = (byte) form_fields_cnt#35 (byte) form_fields_cnt#32 (byte) form_fields_cnt#31 +Alias (signed byte) form_cursor_count#14 = (signed byte) form_cursor_count#30 (signed byte) form_cursor_count#22 +Alias (byte) keyboard_events_size#30 = (byte) keyboard_events_size#60 (byte) keyboard_events_size#42 +Alias (byte) keyboard_modifiers#29 = (byte) keyboard_modifiers#57 (byte) keyboard_modifiers#43 +Alias (byte) form_field_idx#21 = (byte) form_field_idx#39 (byte) form_field_idx#32 +Alias (byte*) print_screen#23 = (byte*) print_screen#36 (byte*) print_screen#33 (byte*) print_screen#30 (byte*) print_screen#27 +Alias (byte*) print_line_cursor#40 = (byte*) print_line_cursor#55 (byte*) print_line_cursor#52 (byte*) print_line_cursor#49 (byte*) print_line_cursor#46 +Alias (byte*) print_char_cursor#43 = (byte*) print_char_cursor#55 (byte*) print_char_cursor#52 (byte*) print_char_cursor#49 (byte*) print_char_cursor#47 +Alias (byte) form_fields_cnt#24 = (byte) form_fields_cnt#29 (byte) form_fields_cnt#26 (byte) form_fields_cnt#39 (byte) form_fields_cnt#38 +Alias (signed byte) form_cursor_count#0 = (signed byte) form_cursor_count#8 (signed byte) form_cursor_count#21 +Alias (byte) keyboard_events_size#19 = (byte) keyboard_events_size#6 (byte) keyboard_events_size#41 +Alias (byte) keyboard_modifiers#17 = (byte) keyboard_modifiers#7 (byte) keyboard_modifiers#42 +Alias (byte) form_field_idx#0 = (byte) form_field_idx#9 (byte) form_field_idx#31 +Alias (byte) keyboard_events_size#0 = (byte) keyboard_events_size#61 (byte) keyboard_events_size#54 (byte) keyboard_events_size#36 +Alias (byte) keyboard_modifiers#0 = (byte) keyboard_modifiers#58 (byte) keyboard_modifiers#54 (byte) keyboard_modifiers#37 +Alias (word) FORM_OFFSET#0 = (word/signed word/dword/signed dword~) $1 +Alias (byte[]) FORM_COLS#0 = (string~) $10 +Alias (byte[]) FORM_TEXT#0 = (string~) $19 +Alias (byte*) form_ctrl_bmm#0 = (byte*~) $21 +Alias (byte*) form_ctrl_mcm#0 = (byte*~) $22 +Alias (byte*) form_ctrl_ecm#0 = (byte*~) $23 +Alias (byte*) form_ctrl_hicol#0 = (byte*~) $24 +Alias (byte*) form_ctrl_line#0 = (byte*~) $25 +Alias (byte*) form_ctrl_colof#0 = (byte*~) $26 +Alias (byte*) form_ctrl_chunk#0 = (byte*~) $27 +Alias (byte*) form_ctrl_borof#0 = (byte*~) $28 +Alias (byte*) form_ctrl_overs#0 = (byte*~) $29 +Alias (byte*) form_a_start_hi#0 = (byte*~) $31 +Alias (byte*) form_a_start_lo#0 = (byte*~) $32 +Alias (byte*) form_a_step_hi#0 = (byte*~) $33 +Alias (byte*) form_a_step_lo#0 = (byte*~) $34 +Alias (byte*) form_a_mod_hi#0 = (byte*~) $35 +Alias (byte*) form_a_mod_lo#0 = (byte*~) $36 +Alias (byte*) form_b_start_hi#0 = (byte*~) $38 +Alias (byte*) form_b_start_lo#0 = (byte*~) $39 +Alias (byte*) form_b_step_hi#0 = (byte*~) $40 +Alias (byte*) form_b_step_lo#0 = (byte*~) $41 +Alias (byte*) form_b_mod_hi#0 = (byte*~) $42 +Alias (byte*) form_b_mod_lo#0 = (byte*~) $43 +Alias (byte*) form_vic_bg0_hi#0 = (byte*~) $47 +Alias (byte*) form_vic_bg0_lo#0 = (byte*~) $48 +Alias (byte*) form_vic_bg1_hi#0 = (byte*~) $49 +Alias (byte*) form_vic_bg1_lo#0 = (byte*~) $50 +Alias (byte*) form_vic_bg2_hi#0 = (byte*~) $51 +Alias (byte*) form_vic_bg2_lo#0 = (byte*~) $52 +Alias (byte*) form_vic_bg3_hi#0 = (byte*~) $53 +Alias (byte*) form_vic_bg3_lo#0 = (byte*~) $54 +Alias (byte) gfx_mode::dtv_control#0 = (byte) gfx_mode::dtv_control#7 +Alias (byte) gfx_mode::dtv_control#1 = (byte~) gfx_mode::$2 +Alias (byte) gfx_mode::dtv_control#14 = (byte) gfx_mode::dtv_control#8 +Alias (byte) gfx_mode::dtv_control#2 = (byte~) gfx_mode::$5 +Alias (byte) gfx_mode::dtv_control#15 = (byte) gfx_mode::dtv_control#9 +Alias (byte) gfx_mode::dtv_control#3 = (byte~) gfx_mode::$8 +Alias (byte) gfx_mode::dtv_control#10 = (byte) gfx_mode::dtv_control#16 +Alias (byte) gfx_mode::dtv_control#4 = (byte~) gfx_mode::$11 +Alias (byte) gfx_mode::dtv_control#11 = (byte) gfx_mode::dtv_control#17 +Alias (byte) gfx_mode::dtv_control#5 = (byte~) gfx_mode::$14 +Alias (byte) gfx_mode::vic_control#0 = (byte/word/dword~) gfx_mode::$19 (byte) gfx_mode::vic_control#3 +Alias (byte) gfx_mode::dtv_control#13 = (byte) gfx_mode::dtv_control#18 +Alias (byte) gfx_mode::dtv_control#6 = (byte~) gfx_mode::$17 +Alias (byte) gfx_mode::vic_control#1 = (byte~) gfx_mode::$22 +Alias (byte) gfx_mode::vic_control#5 = (byte) gfx_mode::vic_control#6 +Alias (byte) gfx_mode::vic_control#2 = (byte~) gfx_mode::$25 +Alias (byte) gfx_mode::plane_a_offs#0 = (byte~) gfx_mode::$30 +Alias (dword) gfx_mode::plane_a#0 = (dword~) gfx_mode::$32 +Alias (byte) gfx_mode::plane_b_offs#0 = (byte~) gfx_mode::$44 +Alias (dword) gfx_mode::plane_b#0 = (dword~) gfx_mode::$45 +Alias (byte) gfx_mode::vic_control2#0 = (byte) gfx_mode::vic_control2#3 +Alias (byte) gfx_mode::vic_control2#1 = (byte~) gfx_mode::$28 +Alias (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 = (byte~) gfx_init_plane_8bppchunky::$1 (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#3 +Alias (byte) gfx_init_plane_8bppchunky::c#0 = (byte~) gfx_init_plane_8bppchunky::$7 +Alias (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#6 (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#5 +Alias (word) gfx_init_plane_8bppchunky::x#3 = (word) gfx_init_plane_8bppchunky::x#5 (word) gfx_init_plane_8bppchunky::x#4 +Alias (byte) gfx_init_plane_8bppchunky::y#4 = (byte) gfx_init_plane_8bppchunky::y#7 (byte) gfx_init_plane_8bppchunky::y#5 +Alias (byte) gfx_init_plane_8bppchunky::y#2 = (byte) gfx_init_plane_8bppchunky::y#3 +Alias (byte*) gfx_init_plane_8bppchunky::gfxb#1 = (byte*) gfx_init_plane_8bppchunky::gfxb#6 +Alias (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#9 +Alias (byte) dtvSetCpuBankSegment1::cpuBankIdx#2 = (byte~) gfx_init_plane_8bppchunky::$11 +Alias (byte*) print_set_screen::screen#0 = (byte*~) form_init::$0 +Alias (byte) form_fields_cnt#11 = (byte) form_fields_cnt#18 (byte) form_fields_cnt#21 (byte) form_fields_cnt#16 (byte) form_fields_cnt#13 (byte) form_fields_cnt#9 +Alias (byte*) print_screen#12 = (byte*) print_screen#5 (byte*) print_screen#19 +Alias (byte*) print_line_cursor#23 = (byte*) print_line_cursor#9 +Alias (byte*) print_char_cursor#10 = (byte*) print_char_cursor#24 +Alias (byte*) print_char_cursor#11 = (byte*) print_char_cursor#25 +Alias (byte*) print_line_cursor#10 = (byte*) print_line_cursor#24 +Alias (byte*) print_set_screen::screen#1 = (byte*~) form_init::$3 +Alias (byte*) print_screen#13 = (byte*) print_screen#6 (byte*) print_screen#28 (byte*) print_screen#24 (byte*) print_screen#20 (byte*) print_screen#14 (byte*) print_screen#7 +Alias (byte*) print_line_cursor#11 = (byte*) print_line_cursor#25 +Alias (byte*) print_char_cursor#12 = (byte*) print_char_cursor#26 +Alias (byte*) print_char_cursor#13 = (byte*) print_char_cursor#27 (byte*) print_char_cursor#44 (byte*) print_char_cursor#37 (byte*) print_char_cursor#28 (byte*) print_char_cursor#14 +Alias (byte*) print_line_cursor#12 = (byte*) print_line_cursor#26 (byte*) print_line_cursor#41 (byte*) print_line_cursor#35 (byte*) print_line_cursor#27 (byte*) print_line_cursor#13 +Alias (byte*) form_set_screen::screen#0 = (byte*~) form_init::$6 +Alias (byte) form_fields_cnt#0 = (byte) form_fields_cnt#33 (byte) form_fields_cnt#30 +Alias (signed byte) form_cursor_count#19 = (signed byte) form_cursor_count#2 (signed word/signed byte/signed dword~) $55 Alias (byte*) form_set_screen::line#0 = (byte*) form_set_screen::screen#1 Alias (byte*) form_set_screen::line#1 = (byte*~) form_set_screen::$2 Alias (byte*) form_field_ptr::line#0 = (byte*~) form_field_ptr::$0 @@ -5801,58 +7384,56 @@ Alias (byte) form_render_values::idx#2 = (byte) form_render_values::idx#3 Alias (byte) form_fields_cnt#1 = (byte) form_fields_cnt#4 Alias (byte*) form_render_values::field#0 = (byte*~) form_render_values::$0 Alias (byte*) form_field_ptr::return#3 = (byte*) form_field_ptr::return#6 -Alias (signed byte) form_cursor_count#14 = (signed byte) form_cursor_count#22 -Alias (byte) keyboard_events_size#77 = (byte) keyboard_events_size#78 (byte) keyboard_events_size#85 -Alias (byte) keyboard_modifiers#71 = (byte) keyboard_modifiers#72 (byte) keyboard_modifiers#74 -Alias (byte) form_field_idx#15 = (byte) form_field_idx#56 (byte) form_field_idx#55 +Alias (signed byte) form_cursor_count#10 = (signed byte) form_cursor_count#16 +Alias (byte) keyboard_events_size#72 = (byte) keyboard_events_size#73 (byte) keyboard_events_size#81 +Alias (byte) keyboard_modifiers#66 = (byte) keyboard_modifiers#67 (byte) keyboard_modifiers#70 +Alias (byte) form_field_idx#11 = (byte) form_field_idx#52 (byte) form_field_idx#51 Alias (byte) form_fields_cnt#19 = (byte) form_fields_cnt#20 (byte) form_fields_cnt#22 Alias (byte*) form_control::field#0 = (byte*~) form_control::$0 (byte*) form_control::field#11 Alias (byte*) form_control::field#1 = (byte*) form_control::field#5 (byte*) form_control::field#2 -Alias (byte) keyboard_events_size#49 = (byte) keyboard_events_size#50 (byte) keyboard_events_size#68 -Alias (byte) keyboard_modifiers#50 = (byte) keyboard_modifiers#51 (byte) keyboard_modifiers#65 -Alias (byte) form_field_idx#50 = (byte) form_field_idx#51 (byte) form_field_idx#53 +Alias (byte) keyboard_events_size#43 = (byte) keyboard_events_size#44 (byte) keyboard_events_size#62 +Alias (byte) keyboard_modifiers#44 = (byte) keyboard_modifiers#45 (byte) keyboard_modifiers#59 +Alias (byte) form_field_idx#46 = (byte) form_field_idx#47 (byte) form_field_idx#50 Alias (byte) form_fields_cnt#14 = (byte) form_fields_cnt#15 (byte) form_fields_cnt#17 -Alias (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#47 (signed byte) form_cursor_count#46 +Alias (signed byte) form_cursor_count#11 = (signed byte) form_cursor_count#44 (signed byte) form_cursor_count#43 Alias (byte*) form_control::field#10 = (byte*) form_control::field#12 (byte*) form_control::field#15 (byte*) form_control::field#6 (byte*) form_control::field#17 (byte*) form_control::field#3 (byte*) form_control::field#16 (byte*) form_control::field#14 (byte*) form_control::field#13 (byte*) form_control::field#7 (byte*) form_control::field#9 (byte*) form_control::field#8 -Alias (byte) form_field_idx#16 = (byte) form_field_idx#46 (byte) form_field_idx#48 (byte) form_field_idx#39 (byte) form_field_idx#42 (byte) form_field_idx#29 (byte) form_field_idx#17 (byte) form_field_idx#31 (byte) form_field_idx#32 (byte) form_field_idx#19 (byte) form_field_idx#20 (byte) form_field_idx#33 (byte) form_field_idx#21 (byte) form_field_idx#34 (byte) form_field_idx#23 +Alias (byte) form_field_idx#12 = (byte) form_field_idx#40 (byte) form_field_idx#43 (byte) form_field_idx#33 (byte) form_field_idx#36 (byte) form_field_idx#23 (byte) form_field_idx#13 (byte) form_field_idx#25 (byte) form_field_idx#26 (byte) form_field_idx#15 (byte) form_field_idx#16 (byte) form_field_idx#27 (byte) form_field_idx#17 (byte) form_field_idx#28 (byte) form_field_idx#19 Alias (byte) form_fields_cnt#10 = (byte) form_fields_cnt#12 (byte) form_fields_cnt#8 (byte) form_fields_cnt#5 (byte) form_fields_cnt#6 (byte) form_fields_cnt#2 (byte) form_fields_cnt#3 -Alias (signed byte) form_cursor_count#24 = (signed byte) form_cursor_count#41 (signed byte) form_cursor_count#44 (signed byte) form_cursor_count#37 (signed byte) form_cursor_count#29 (signed byte) form_cursor_count#42 (signed byte) form_cursor_count#39 (signed byte) form_cursor_count#38 (signed byte) form_cursor_count#30 (signed byte) form_cursor_count#32 (signed byte) form_cursor_count#31 (signed byte) form_cursor_count#33 -Alias (byte) keyboard_events_size#10 = (byte) keyboard_events_size#25 -Alias (byte) keyboard_modifiers#11 = (byte) keyboard_modifiers#23 (byte) keyboard_modifiers#38 (byte) keyboard_modifiers#42 (byte) keyboard_modifiers#24 (byte) keyboard_modifiers#67 (byte) keyboard_modifiers#66 (byte) keyboard_modifiers#54 (byte) keyboard_modifiers#52 (byte) keyboard_modifiers#55 (byte) keyboard_modifiers#53 (byte) keyboard_modifiers#41 (byte) keyboard_modifiers#26 (byte) keyboard_modifiers#69 (byte) keyboard_modifiers#68 (byte) keyboard_modifiers#56 (byte) keyboard_modifiers#58 (byte) keyboard_modifiers#57 (byte) keyboard_modifiers#59 +Alias (signed byte) form_cursor_count#18 = (signed byte) form_cursor_count#36 (signed byte) form_cursor_count#40 (signed byte) form_cursor_count#31 (signed byte) form_cursor_count#23 (signed byte) form_cursor_count#37 (signed byte) form_cursor_count#33 (signed byte) form_cursor_count#32 (signed byte) form_cursor_count#24 (signed byte) form_cursor_count#26 (signed byte) form_cursor_count#25 (signed byte) form_cursor_count#27 +Alias (byte) keyboard_events_size#21 = (byte) keyboard_events_size#8 +Alias (byte) keyboard_modifiers#19 = (byte) keyboard_modifiers#9 (byte) keyboard_modifiers#32 (byte) keyboard_modifiers#36 (byte) keyboard_modifiers#20 (byte) keyboard_modifiers#61 (byte) keyboard_modifiers#60 (byte) keyboard_modifiers#48 (byte) keyboard_modifiers#46 (byte) keyboard_modifiers#49 (byte) keyboard_modifiers#47 (byte) keyboard_modifiers#35 (byte) keyboard_modifiers#22 (byte) keyboard_modifiers#63 (byte) keyboard_modifiers#62 (byte) keyboard_modifiers#50 (byte) keyboard_modifiers#52 (byte) keyboard_modifiers#51 (byte) keyboard_modifiers#53 Alias (byte) keyboard_event_get::return#3 = (byte) keyboard_event_get::return#5 -Alias (byte) keyboard_events_size#11 = (byte) keyboard_events_size#26 (byte) keyboard_events_size#55 (byte) keyboard_events_size#79 (byte) keyboard_events_size#70 (byte) keyboard_events_size#69 (byte) keyboard_events_size#53 (byte) keyboard_events_size#51 (byte) keyboard_events_size#54 (byte) keyboard_events_size#52 (byte) keyboard_events_size#41 (byte) keyboard_events_size#80 (byte) keyboard_events_size#72 (byte) keyboard_events_size#71 (byte) keyboard_events_size#56 (byte) keyboard_events_size#58 (byte) keyboard_events_size#57 (byte) keyboard_events_size#59 +Alias (byte) keyboard_events_size#22 = (byte) keyboard_events_size#9 (byte) keyboard_events_size#49 (byte) keyboard_events_size#74 (byte) keyboard_events_size#64 (byte) keyboard_events_size#63 (byte) keyboard_events_size#47 (byte) keyboard_events_size#45 (byte) keyboard_events_size#48 (byte) keyboard_events_size#46 (byte) keyboard_events_size#35 (byte) keyboard_events_size#75 (byte) keyboard_events_size#66 (byte) keyboard_events_size#65 (byte) keyboard_events_size#50 (byte) keyboard_events_size#52 (byte) keyboard_events_size#51 (byte) keyboard_events_size#53 Alias (byte) form_control::key_event#0 = (byte~) form_control::$9 (byte) form_control::key_event#1 -Alias (byte) form_field_idx#40 = (byte) form_field_idx#6 -Alias (signed byte) form_cursor_count#7 = (signed word/signed byte/signed dword~) form_control::$21 -Alias (byte) form_field_idx#41 = (byte) form_field_idx#5 -Alias (byte) form_field_idx#8 = (byte/signed word/word/dword/signed dword~) form_control::$20 -Alias (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#8 -Alias (byte) keyboard_events_size#12 = (byte) keyboard_events_size#27 -Alias (byte) keyboard_modifiers#12 = (byte) keyboard_modifiers#25 -Alias (byte) form_field_idx#18 = (byte) form_field_idx#9 -Alias (byte) form_field_idx#35 = (byte) form_field_idx#4 -Alias (byte) form_fields_cnt#0 = (byte) form_fields_cnt#38 -Alias (byte*) print_screen#18 = (byte*) print_screen#8 -Alias (byte*) print_line_cursor#18 = (byte*) print_line_cursor#35 -Alias (byte*) print_char_cursor#19 = (byte*) print_char_cursor#36 -Alias (signed byte) form_cursor_count#17 = (signed byte) form_cursor_count#9 -Alias (byte) keyboard_events_size#13 = (byte) keyboard_events_size#28 -Alias (byte) keyboard_modifiers#13 = (byte) keyboard_modifiers#27 -Alias (byte) form_field_idx#10 = (byte) form_field_idx#24 +Alias (byte) form_field_idx#34 = (byte) form_field_idx#4 +Alias (signed byte) form_cursor_count#5 = (signed word/signed byte/signed dword~) form_control::$21 +Alias (byte) form_field_idx#3 = (byte) form_field_idx#35 +Alias (byte) form_field_idx#6 = (byte/signed word/word/dword/signed dword~) form_control::$20 +Alias (signed byte) form_cursor_count#12 = (signed byte) form_cursor_count#6 +Alias (byte) keyboard_events_size#10 = (byte) keyboard_events_size#23 +Alias (byte) keyboard_modifiers#10 = (byte) keyboard_modifiers#21 +Alias (byte) form_field_idx#14 = (byte) form_field_idx#7 +Alias (byte) form_field_idx#2 = (byte) form_field_idx#29 +Alias (byte*) print_screen#15 = (byte*) print_screen#8 +Alias (byte*) print_line_cursor#14 = (byte*) print_line_cursor#28 +Alias (byte*) print_char_cursor#15 = (byte*) print_char_cursor#29 +Alias (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#7 +Alias (byte) keyboard_events_size#11 = (byte) keyboard_events_size#24 +Alias (byte) keyboard_modifiers#11 = (byte) keyboard_modifiers#23 +Alias (byte) form_field_idx#20 = (byte) form_field_idx#8 Succesful SSA optimization Pass2AliasElimination +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#0 Not aliassing across scopes: print_str_lines::str#5 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#46 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#44 print_line_cursor#12 -Not aliassing across scopes: print_line_cursor#1 print_line_cursor#22 -Not aliassing across scopes: print_char_cursor#2 print_line_cursor#22 -Not aliassing across scopes: print_line_cursor#38 print_line_cursor#36 -Not aliassing across scopes: print_char_cursor#40 print_char_cursor#38 -Not aliassing across scopes: print_screen#9 print_screen#15 -Not aliassing across scopes: print_cls::sc#0 print_screen#9 -Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#1 +Not aliassing across scopes: print_char_cursor#39 print_char_cursor#10 +Not aliassing across scopes: print_line_cursor#37 print_line_cursor#23 +Not aliassing across scopes: print_line_cursor#1 print_line_cursor#18 +Not aliassing across scopes: print_char_cursor#17 print_line_cursor#18 +Not aliassing across scopes: print_line_cursor#31 print_line_cursor#29 +Not aliassing across scopes: print_char_cursor#33 print_char_cursor#31 +Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#0 Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 -Not aliassing across scopes: keyboard_events_size#81 keyboard_events_size#38 +Not aliassing across scopes: keyboard_events_size#76 keyboard_events_size#32 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_event_scan::row#2 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_event_scan::row_scan#0 keyboard_matrix_read::return#2 @@ -5869,110 +7450,99 @@ Not aliassing across scopes: keyboard_event_pressed::keycode#3 KEY_COMMODORE#0 Not aliassing across scopes: keyboard_event_pressed::return#3 keyboard_event_pressed::return#10 Not aliassing across scopes: keyboard_event_scan::$28 keyboard_event_pressed::return#3 Not aliassing across scopes: keyboard_event_pressed::keycode#4 keyboard_event_pressed::keycode#2 -Not aliassing across scopes: keyboard_events_size#18 keyboard_events_size#10 -Not aliassing across scopes: print_screen#25 print_screen#0 -Not aliassing across scopes: print_line_cursor#46 print_screen#0 -Not aliassing across scopes: print_char_cursor#49 print_screen#0 -Not aliassing across scopes: form_cursor_count#26 form_cursor_count#25 -Not aliassing across scopes: keyboard_events_size#46 keyboard_events_size#0 -Not aliassing across scopes: keyboard_modifiers#47 keyboard_modifiers#0 -Not aliassing across scopes: form_field_idx#36 form_field_idx#35 -Not aliassing across scopes: form_fields_cnt#36 form_fields_cnt#0 -Not aliassing across scopes: print_screen#13 print_screen#17 -Not aliassing across scopes: print_line_cursor#26 print_line_cursor#17 -Not aliassing across scopes: print_char_cursor#10 print_char_cursor#18 -Not aliassing across scopes: form_cursor_count#0 form_cursor_count#13 -Not aliassing across scopes: keyboard_events_size#21 keyboard_events_size#24 -Not aliassing across scopes: keyboard_modifiers#19 keyboard_modifiers#10 +Not aliassing across scopes: keyboard_events_size#16 keyboard_events_size#21 +Not aliassing across scopes: print_screen#16 print_screen#0 +Not aliassing across scopes: print_line_cursor#32 print_screen#0 +Not aliassing across scopes: print_char_cursor#34 print_screen#0 +Not aliassing across scopes: form_cursor_count#20 form_cursor_count#19 +Not aliassing across scopes: keyboard_events_size#40 keyboard_events_size#0 +Not aliassing across scopes: keyboard_modifiers#41 keyboard_modifiers#0 +Not aliassing across scopes: form_field_idx#30 form_field_idx#2 +Not aliassing across scopes: form_fields_cnt#23 form_fields_cnt#0 +Not aliassing across scopes: print_screen#10 print_screen#13 +Not aliassing across scopes: print_line_cursor#21 print_line_cursor#12 +Not aliassing across scopes: print_char_cursor#22 print_char_cursor#13 +Not aliassing across scopes: form_cursor_count#0 form_cursor_count#12 +Not aliassing across scopes: keyboard_events_size#19 keyboard_events_size#10 +Not aliassing across scopes: keyboard_modifiers#17 keyboard_modifiers#10 Not aliassing across scopes: form_field_idx#0 form_field_idx#14 -Not aliassing across scopes: print_screen#31 print_screen#14 -Not aliassing across scopes: print_line_cursor#53 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#54 print_char_cursor#11 -Not aliassing across scopes: form_cursor_count#53 form_cursor_count#1 -Not aliassing across scopes: keyboard_events_size#100 keyboard_events_size#22 -Not aliassing across scopes: keyboard_modifiers#81 keyboard_modifiers#20 -Not aliassing across scopes: form_field_idx#61 form_field_idx#1 -Not aliassing across scopes: form_fields_cnt#30 form_fields_cnt#32 -Not aliassing across scopes: print_set_screen::screen#0 COLS#0 -Not aliassing across scopes: print_screen#15 print_screen#1 +Not aliassing across scopes: gfx_mode::vic_control2#0 VIC_CSEL#0 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#0 gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::gfxbCpuBank#4 +Not aliassing across scopes: print_screen#18 print_screen#16 +Not aliassing across scopes: print_line_cursor#34 print_line_cursor#32 +Not aliassing across scopes: print_char_cursor#36 print_char_cursor#34 +Not aliassing across scopes: form_fields_cnt#11 form_fields_cnt#23 +Not aliassing across scopes: print_screen#12 print_screen#1 +Not aliassing across scopes: print_line_cursor#23 print_screen#1 +Not aliassing across scopes: print_char_cursor#10 print_screen#1 +Not aliassing across scopes: print_str_lines::str#1 FORM_COLS#0 +Not aliassing across scopes: print_char_cursor#11 print_char_cursor#18 +Not aliassing across scopes: print_line_cursor#10 print_line_cursor#16 +Not aliassing across scopes: print_screen#13 print_screen#1 Not aliassing across scopes: print_line_cursor#11 print_screen#1 Not aliassing across scopes: print_char_cursor#12 print_screen#1 -Not aliassing across scopes: print_line_cursor#12 print_line_cursor#24 -Not aliassing across scopes: print_char_cursor#13 print_line_cursor#24 -Not aliassing across scopes: print_str_lines::str#1 MENU_COLS#0 -Not aliassing across scopes: print_char_cursor#14 print_char_cursor#22 -Not aliassing across scopes: print_line_cursor#13 print_line_cursor#2 -Not aliassing across scopes: print_set_screen::screen#1 menu::SCREEN#0 -Not aliassing across scopes: print_screen#16 print_screen#1 -Not aliassing across scopes: print_line_cursor#14 print_screen#1 -Not aliassing across scopes: print_char_cursor#15 print_screen#1 -Not aliassing across scopes: print_line_cursor#15 print_line_cursor#24 -Not aliassing across scopes: print_char_cursor#16 print_line_cursor#24 -Not aliassing across scopes: print_str_lines::str#2 MENU_TEXT#0 -Not aliassing across scopes: print_char_cursor#17 print_char_cursor#22 -Not aliassing across scopes: print_line_cursor#16 print_line_cursor#2 -Not aliassing across scopes: form_set_screen::screen#0 menu::SCREEN#0 -Not aliassing across scopes: form_cursor_count#12 form_cursor_count#16 -Not aliassing across scopes: keyboard_events_size#23 keyboard_events_size#12 -Not aliassing across scopes: keyboard_modifiers#21 keyboard_modifiers#12 -Not aliassing across scopes: form_field_idx#13 form_field_idx#18 +Not aliassing across scopes: print_str_lines::str#2 FORM_TEXT#0 +Not aliassing across scopes: print_char_cursor#13 print_char_cursor#18 +Not aliassing across scopes: print_line_cursor#12 print_line_cursor#16 Not aliassing across scopes: form_set_screen::line#0 form_set_screen::screen#0 Not aliassing across scopes: form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 Not aliassing across scopes: form_fields_cnt#7 form_fields_cnt#11 Not aliassing across scopes: form_field_ptr::field_idx#0 form_render_values::idx#2 Not aliassing across scopes: form_field_ptr::return#2 form_field_ptr::return#0 Not aliassing across scopes: form_render_values::field#0 form_field_ptr::return#2 -Not aliassing across scopes: form_field_idx#15 form_field_idx#27 -Not aliassing across scopes: form_cursor_count#14 form_cursor_count#20 -Not aliassing across scopes: keyboard_events_size#77 keyboard_events_size#36 -Not aliassing across scopes: keyboard_modifiers#71 keyboard_modifiers#35 +Not aliassing across scopes: form_field_idx#11 form_field_idx#21 +Not aliassing across scopes: form_cursor_count#10 form_cursor_count#14 +Not aliassing across scopes: keyboard_events_size#72 keyboard_events_size#30 +Not aliassing across scopes: keyboard_modifiers#66 keyboard_modifiers#29 Not aliassing across scopes: form_fields_cnt#19 form_fields_cnt#24 -Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#15 +Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#11 Not aliassing across scopes: form_field_ptr::return#3 form_field_ptr::return#0 Not aliassing across scopes: form_control::field#0 form_field_ptr::return#3 -Not aliassing across scopes: form_cursor_count#6 FORM_CURSOR_BLINK#0 -Not aliassing across scopes: keyboard_events_size#10 keyboard_events_size#17 -Not aliassing across scopes: keyboard_modifiers#11 keyboard_modifiers#18 +Not aliassing across scopes: form_cursor_count#4 FORM_CURSOR_BLINK#0 +Not aliassing across scopes: keyboard_events_size#21 keyboard_events_size#15 +Not aliassing across scopes: keyboard_modifiers#19 keyboard_modifiers#16 Not aliassing across scopes: keyboard_event_get::return#3 keyboard_event_get::return#2 -Not aliassing across scopes: keyboard_events_size#11 keyboard_events_size#20 +Not aliassing across scopes: keyboard_events_size#22 keyboard_events_size#18 Not aliassing across scopes: form_control::key_event#0 keyboard_event_get::return#3 -Not aliassing across scopes: print_screen#18 print_screen#14 -Not aliassing across scopes: print_line_cursor#18 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#19 print_char_cursor#11 -Not aliassing across scopes: form_cursor_count#17 form_cursor_count#1 -Not aliassing across scopes: keyboard_events_size#13 keyboard_events_size#22 -Not aliassing across scopes: keyboard_modifiers#13 keyboard_modifiers#20 -Not aliassing across scopes: form_field_idx#10 form_field_idx#1 +Not aliassing across scopes: print_screen#15 print_screen#11 +Not aliassing across scopes: print_line_cursor#14 print_line_cursor#22 +Not aliassing across scopes: print_char_cursor#15 print_char_cursor#23 +Not aliassing across scopes: form_cursor_count#13 form_cursor_count#1 +Not aliassing across scopes: keyboard_events_size#11 keyboard_events_size#20 +Not aliassing across scopes: keyboard_modifiers#11 keyboard_modifiers#18 +Not aliassing across scopes: form_field_idx#20 form_field_idx#1 Alias (byte) print_str_lines::ch#0 = (byte) print_str_lines::ch#1 Alias (byte*) print_str_lines::str#0 = (byte*) print_str_lines::str#10 -Alias (byte*) print_line_cursor#36 = (byte*) print_line_cursor#51 +Alias (byte*) print_line_cursor#29 = (byte*) print_line_cursor#43 Alias (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#4 Alias (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#3 Alias (byte) keyboard_event_scan::row_scan#1 = (byte) keyboard_event_scan::row_scan#3 Alias (byte) keyboard_event_scan::row#10 = (byte) keyboard_event_scan::row#5 -Alias (byte) keyboard_events_size#17 = (byte) keyboard_events_size#88 (byte) keyboard_events_size#82 (byte) keyboard_events_size#74 (byte) keyboard_events_size#31 +Alias (byte) keyboard_events_size#15 = (byte) keyboard_events_size#84 (byte) keyboard_events_size#77 (byte) keyboard_events_size#68 (byte) keyboard_events_size#27 +Alias (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#3 +Alias (byte) gfx_init_plane_8bppchunky::y#2 = (byte) gfx_init_plane_8bppchunky::y#4 Alias (byte*) form_control::field#0 = (byte*) form_control::field#1 (byte*) form_control::field#10 (byte*) form_control::field#4 -Alias (byte) keyboard_events_size#38 = (byte) keyboard_events_size#49 (byte) keyboard_events_size#77 -Alias (byte) keyboard_modifiers#37 = (byte) keyboard_modifiers#50 (byte) keyboard_modifiers#71 -Alias (byte) form_field_idx#15 = (byte) form_field_idx#50 (byte) form_field_idx#16 (byte) form_field_idx#22 +Alias (byte) keyboard_events_size#32 = (byte) keyboard_events_size#43 (byte) keyboard_events_size#72 +Alias (byte) keyboard_modifiers#31 = (byte) keyboard_modifiers#44 (byte) keyboard_modifiers#66 +Alias (byte) form_field_idx#11 = (byte) form_field_idx#46 (byte) form_field_idx#12 (byte) form_field_idx#18 Alias (byte) form_fields_cnt#10 = (byte) form_fields_cnt#14 (byte) form_fields_cnt#19 -Alias (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#24 (signed byte) form_cursor_count#23 -Alias (byte) keyboard_events_size#11 = (byte) keyboard_events_size#40 (byte) keyboard_events_size#39 -Alias (byte) keyboard_modifiers#11 = (byte) keyboard_modifiers#40 (byte) keyboard_modifiers#39 +Alias (signed byte) form_cursor_count#11 = (signed byte) form_cursor_count#18 (signed byte) form_cursor_count#17 +Alias (byte) keyboard_events_size#22 = (byte) keyboard_events_size#34 (byte) keyboard_events_size#33 +Alias (byte) keyboard_modifiers#19 = (byte) keyboard_modifiers#34 (byte) keyboard_modifiers#33 Succesful SSA optimization Pass2AliasElimination +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#0 Not aliassing across scopes: print_str_lines::str#5 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#46 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#44 print_line_cursor#12 -Not aliassing across scopes: print_line_cursor#1 print_line_cursor#22 -Not aliassing across scopes: print_char_cursor#2 print_line_cursor#22 -Not aliassing across scopes: print_line_cursor#38 print_line_cursor#36 -Not aliassing across scopes: print_char_cursor#40 print_char_cursor#38 -Not aliassing across scopes: print_screen#9 print_screen#15 -Not aliassing across scopes: print_cls::sc#0 print_screen#9 -Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#1 +Not aliassing across scopes: print_char_cursor#39 print_char_cursor#10 +Not aliassing across scopes: print_line_cursor#37 print_line_cursor#23 +Not aliassing across scopes: print_line_cursor#1 print_line_cursor#18 +Not aliassing across scopes: print_char_cursor#17 print_line_cursor#18 +Not aliassing across scopes: print_line_cursor#31 print_line_cursor#29 +Not aliassing across scopes: print_char_cursor#33 print_char_cursor#31 +Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#0 Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 -Not aliassing across scopes: keyboard_events_size#81 keyboard_events_size#38 +Not aliassing across scopes: keyboard_events_size#76 keyboard_events_size#32 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_event_scan::row#2 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_event_scan::row_scan#0 keyboard_matrix_read::return#2 @@ -5989,96 +7559,83 @@ Not aliassing across scopes: keyboard_event_pressed::keycode#3 KEY_COMMODORE#0 Not aliassing across scopes: keyboard_event_pressed::return#3 keyboard_event_pressed::return#10 Not aliassing across scopes: keyboard_event_scan::$28 keyboard_event_pressed::return#3 Not aliassing across scopes: keyboard_event_pressed::keycode#4 keyboard_event_pressed::keycode#2 -Not aliassing across scopes: keyboard_events_size#18 keyboard_events_size#10 -Not aliassing across scopes: print_screen#25 print_screen#0 -Not aliassing across scopes: print_line_cursor#46 print_screen#0 -Not aliassing across scopes: print_char_cursor#49 print_screen#0 -Not aliassing across scopes: form_cursor_count#26 form_cursor_count#25 -Not aliassing across scopes: keyboard_events_size#46 keyboard_events_size#0 -Not aliassing across scopes: keyboard_modifiers#47 keyboard_modifiers#0 -Not aliassing across scopes: form_field_idx#36 form_field_idx#35 -Not aliassing across scopes: form_fields_cnt#36 form_fields_cnt#0 -Not aliassing across scopes: print_screen#13 print_screen#17 -Not aliassing across scopes: print_line_cursor#26 print_line_cursor#17 -Not aliassing across scopes: print_char_cursor#10 print_char_cursor#18 -Not aliassing across scopes: form_cursor_count#0 form_cursor_count#13 -Not aliassing across scopes: keyboard_events_size#21 keyboard_events_size#24 -Not aliassing across scopes: keyboard_modifiers#19 keyboard_modifiers#10 +Not aliassing across scopes: keyboard_events_size#16 keyboard_events_size#21 +Not aliassing across scopes: print_screen#16 print_screen#0 +Not aliassing across scopes: print_line_cursor#32 print_screen#0 +Not aliassing across scopes: print_char_cursor#34 print_screen#0 +Not aliassing across scopes: form_cursor_count#20 form_cursor_count#19 +Not aliassing across scopes: keyboard_events_size#40 keyboard_events_size#0 +Not aliassing across scopes: keyboard_modifiers#41 keyboard_modifiers#0 +Not aliassing across scopes: form_field_idx#30 form_field_idx#2 +Not aliassing across scopes: form_fields_cnt#23 form_fields_cnt#0 +Not aliassing across scopes: print_screen#10 print_screen#13 +Not aliassing across scopes: print_line_cursor#21 print_line_cursor#12 +Not aliassing across scopes: print_char_cursor#22 print_char_cursor#13 +Not aliassing across scopes: form_cursor_count#0 form_cursor_count#12 +Not aliassing across scopes: keyboard_events_size#19 keyboard_events_size#10 +Not aliassing across scopes: keyboard_modifiers#17 keyboard_modifiers#10 Not aliassing across scopes: form_field_idx#0 form_field_idx#14 -Not aliassing across scopes: print_screen#31 print_screen#14 -Not aliassing across scopes: print_line_cursor#53 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#54 print_char_cursor#11 -Not aliassing across scopes: form_cursor_count#53 form_cursor_count#1 -Not aliassing across scopes: keyboard_events_size#100 keyboard_events_size#22 -Not aliassing across scopes: keyboard_modifiers#81 keyboard_modifiers#20 -Not aliassing across scopes: form_field_idx#61 form_field_idx#1 -Not aliassing across scopes: form_fields_cnt#30 form_fields_cnt#32 -Not aliassing across scopes: print_set_screen::screen#0 COLS#0 -Not aliassing across scopes: print_screen#15 print_screen#1 +Not aliassing across scopes: gfx_mode::vic_control2#0 VIC_CSEL#0 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#0 gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::gfxbCpuBank#4 +Not aliassing across scopes: print_screen#18 print_screen#16 +Not aliassing across scopes: print_line_cursor#34 print_line_cursor#32 +Not aliassing across scopes: print_char_cursor#36 print_char_cursor#34 +Not aliassing across scopes: form_fields_cnt#11 form_fields_cnt#23 +Not aliassing across scopes: print_screen#12 print_screen#1 +Not aliassing across scopes: print_line_cursor#23 print_screen#1 +Not aliassing across scopes: print_char_cursor#10 print_screen#1 +Not aliassing across scopes: print_str_lines::str#1 FORM_COLS#0 +Not aliassing across scopes: print_char_cursor#11 print_char_cursor#18 +Not aliassing across scopes: print_line_cursor#10 print_line_cursor#16 +Not aliassing across scopes: print_screen#13 print_screen#1 Not aliassing across scopes: print_line_cursor#11 print_screen#1 Not aliassing across scopes: print_char_cursor#12 print_screen#1 -Not aliassing across scopes: print_line_cursor#12 print_line_cursor#24 -Not aliassing across scopes: print_char_cursor#13 print_line_cursor#24 -Not aliassing across scopes: print_str_lines::str#1 MENU_COLS#0 -Not aliassing across scopes: print_char_cursor#14 print_char_cursor#22 -Not aliassing across scopes: print_line_cursor#13 print_line_cursor#2 -Not aliassing across scopes: print_set_screen::screen#1 menu::SCREEN#0 -Not aliassing across scopes: print_screen#16 print_screen#1 -Not aliassing across scopes: print_line_cursor#14 print_screen#1 -Not aliassing across scopes: print_char_cursor#15 print_screen#1 -Not aliassing across scopes: print_line_cursor#15 print_line_cursor#24 -Not aliassing across scopes: print_char_cursor#16 print_line_cursor#24 -Not aliassing across scopes: print_str_lines::str#2 MENU_TEXT#0 -Not aliassing across scopes: print_char_cursor#17 print_char_cursor#22 -Not aliassing across scopes: print_line_cursor#16 print_line_cursor#2 -Not aliassing across scopes: form_set_screen::screen#0 menu::SCREEN#0 -Not aliassing across scopes: form_cursor_count#12 form_cursor_count#16 -Not aliassing across scopes: keyboard_events_size#23 keyboard_events_size#12 -Not aliassing across scopes: keyboard_modifiers#21 keyboard_modifiers#12 -Not aliassing across scopes: form_field_idx#13 form_field_idx#18 +Not aliassing across scopes: print_str_lines::str#2 FORM_TEXT#0 +Not aliassing across scopes: print_char_cursor#13 print_char_cursor#18 +Not aliassing across scopes: print_line_cursor#12 print_line_cursor#16 Not aliassing across scopes: form_set_screen::line#0 form_set_screen::screen#0 Not aliassing across scopes: form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 Not aliassing across scopes: form_fields_cnt#7 form_fields_cnt#11 Not aliassing across scopes: form_field_ptr::field_idx#0 form_render_values::idx#2 Not aliassing across scopes: form_field_ptr::return#2 form_field_ptr::return#0 Not aliassing across scopes: form_render_values::field#0 form_field_ptr::return#2 -Not aliassing across scopes: form_field_idx#15 form_field_idx#27 -Not aliassing across scopes: form_cursor_count#14 form_cursor_count#20 -Not aliassing across scopes: keyboard_events_size#38 keyboard_events_size#36 -Not aliassing across scopes: keyboard_modifiers#37 keyboard_modifiers#35 +Not aliassing across scopes: form_field_idx#11 form_field_idx#21 +Not aliassing across scopes: form_cursor_count#10 form_cursor_count#14 +Not aliassing across scopes: keyboard_events_size#32 keyboard_events_size#30 +Not aliassing across scopes: keyboard_modifiers#31 keyboard_modifiers#29 Not aliassing across scopes: form_fields_cnt#10 form_fields_cnt#24 -Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#15 +Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#11 Not aliassing across scopes: form_field_ptr::return#3 form_field_ptr::return#0 Not aliassing across scopes: form_control::field#0 form_field_ptr::return#3 -Not aliassing across scopes: form_cursor_count#6 FORM_CURSOR_BLINK#0 -Not aliassing across scopes: keyboard_events_size#10 keyboard_events_size#17 -Not aliassing across scopes: keyboard_modifiers#11 keyboard_modifiers#18 +Not aliassing across scopes: form_cursor_count#4 FORM_CURSOR_BLINK#0 +Not aliassing across scopes: keyboard_events_size#21 keyboard_events_size#15 +Not aliassing across scopes: keyboard_modifiers#19 keyboard_modifiers#16 Not aliassing across scopes: keyboard_event_get::return#3 keyboard_event_get::return#2 -Not aliassing across scopes: keyboard_events_size#11 keyboard_events_size#20 +Not aliassing across scopes: keyboard_events_size#22 keyboard_events_size#18 Not aliassing across scopes: form_control::key_event#0 keyboard_event_get::return#3 -Not aliassing across scopes: print_screen#18 print_screen#14 -Not aliassing across scopes: print_line_cursor#18 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#19 print_char_cursor#11 -Not aliassing across scopes: form_cursor_count#17 form_cursor_count#1 -Not aliassing across scopes: keyboard_events_size#13 keyboard_events_size#22 -Not aliassing across scopes: keyboard_modifiers#13 keyboard_modifiers#20 -Not aliassing across scopes: form_field_idx#10 form_field_idx#1 -Alias (byte) keyboard_events_size#11 = (byte) keyboard_events_size#12 -Alias (byte) keyboard_modifiers#11 = (byte) keyboard_modifiers#12 +Not aliassing across scopes: print_screen#15 print_screen#11 +Not aliassing across scopes: print_line_cursor#14 print_line_cursor#22 +Not aliassing across scopes: print_char_cursor#15 print_char_cursor#23 +Not aliassing across scopes: form_cursor_count#13 form_cursor_count#1 +Not aliassing across scopes: keyboard_events_size#11 keyboard_events_size#20 +Not aliassing across scopes: keyboard_modifiers#11 keyboard_modifiers#18 +Not aliassing across scopes: form_field_idx#20 form_field_idx#1 +Alias (byte) keyboard_events_size#10 = (byte) keyboard_events_size#22 +Alias (byte) keyboard_modifiers#10 = (byte) keyboard_modifiers#19 Succesful SSA optimization Pass2AliasElimination +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#0 Not aliassing across scopes: print_str_lines::str#5 print_str_lines::str#1 -Not aliassing across scopes: print_char_cursor#46 print_char_cursor#13 -Not aliassing across scopes: print_line_cursor#44 print_line_cursor#12 -Not aliassing across scopes: print_line_cursor#1 print_line_cursor#22 -Not aliassing across scopes: print_char_cursor#2 print_line_cursor#22 -Not aliassing across scopes: print_line_cursor#38 print_line_cursor#36 -Not aliassing across scopes: print_char_cursor#40 print_char_cursor#38 -Not aliassing across scopes: print_screen#9 print_screen#15 -Not aliassing across scopes: print_cls::sc#0 print_screen#9 -Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#1 +Not aliassing across scopes: print_char_cursor#39 print_char_cursor#10 +Not aliassing across scopes: print_line_cursor#37 print_line_cursor#23 +Not aliassing across scopes: print_line_cursor#1 print_line_cursor#18 +Not aliassing across scopes: print_char_cursor#17 print_line_cursor#18 +Not aliassing across scopes: print_line_cursor#31 print_line_cursor#29 +Not aliassing across scopes: print_char_cursor#33 print_char_cursor#31 +Not aliassing across scopes: print_set_screen::screen#2 print_set_screen::screen#0 Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 Not aliassing across scopes: keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0 -Not aliassing across scopes: keyboard_events_size#81 keyboard_events_size#38 +Not aliassing across scopes: keyboard_events_size#76 keyboard_events_size#32 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_event_scan::row#2 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_event_scan::row_scan#0 keyboard_matrix_read::return#2 @@ -6095,254 +7652,268 @@ Not aliassing across scopes: keyboard_event_pressed::keycode#3 KEY_COMMODORE#0 Not aliassing across scopes: keyboard_event_pressed::return#3 keyboard_event_pressed::return#10 Not aliassing across scopes: keyboard_event_scan::$28 keyboard_event_pressed::return#3 Not aliassing across scopes: keyboard_event_pressed::keycode#4 keyboard_event_pressed::keycode#2 -Not aliassing across scopes: keyboard_events_size#18 keyboard_events_size#10 -Not aliassing across scopes: print_screen#25 print_screen#0 -Not aliassing across scopes: print_line_cursor#46 print_screen#0 -Not aliassing across scopes: print_char_cursor#49 print_screen#0 -Not aliassing across scopes: form_cursor_count#26 form_cursor_count#25 -Not aliassing across scopes: keyboard_events_size#46 keyboard_events_size#0 -Not aliassing across scopes: keyboard_modifiers#47 keyboard_modifiers#0 -Not aliassing across scopes: form_field_idx#36 form_field_idx#35 -Not aliassing across scopes: form_fields_cnt#36 form_fields_cnt#0 -Not aliassing across scopes: print_screen#13 print_screen#17 -Not aliassing across scopes: print_line_cursor#26 print_line_cursor#17 -Not aliassing across scopes: print_char_cursor#10 print_char_cursor#18 -Not aliassing across scopes: form_cursor_count#0 form_cursor_count#13 -Not aliassing across scopes: keyboard_events_size#21 keyboard_events_size#24 -Not aliassing across scopes: keyboard_modifiers#19 keyboard_modifiers#10 +Not aliassing across scopes: keyboard_events_size#16 keyboard_events_size#21 +Not aliassing across scopes: print_screen#16 print_screen#0 +Not aliassing across scopes: print_line_cursor#32 print_screen#0 +Not aliassing across scopes: print_char_cursor#34 print_screen#0 +Not aliassing across scopes: form_cursor_count#20 form_cursor_count#19 +Not aliassing across scopes: keyboard_events_size#40 keyboard_events_size#0 +Not aliassing across scopes: keyboard_modifiers#41 keyboard_modifiers#0 +Not aliassing across scopes: form_field_idx#30 form_field_idx#2 +Not aliassing across scopes: form_fields_cnt#23 form_fields_cnt#0 +Not aliassing across scopes: print_screen#10 print_screen#13 +Not aliassing across scopes: print_line_cursor#21 print_line_cursor#12 +Not aliassing across scopes: print_char_cursor#22 print_char_cursor#13 +Not aliassing across scopes: form_cursor_count#0 form_cursor_count#12 +Not aliassing across scopes: keyboard_events_size#19 keyboard_events_size#10 +Not aliassing across scopes: keyboard_modifiers#17 keyboard_modifiers#10 Not aliassing across scopes: form_field_idx#0 form_field_idx#14 -Not aliassing across scopes: print_screen#31 print_screen#14 -Not aliassing across scopes: print_line_cursor#53 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#54 print_char_cursor#11 -Not aliassing across scopes: form_cursor_count#53 form_cursor_count#1 -Not aliassing across scopes: keyboard_events_size#100 keyboard_events_size#22 -Not aliassing across scopes: keyboard_modifiers#81 keyboard_modifiers#20 -Not aliassing across scopes: form_field_idx#61 form_field_idx#1 -Not aliassing across scopes: form_fields_cnt#30 form_fields_cnt#32 -Not aliassing across scopes: print_set_screen::screen#0 COLS#0 -Not aliassing across scopes: print_screen#15 print_screen#1 +Not aliassing across scopes: gfx_mode::vic_control2#0 VIC_CSEL#0 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#0 gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::gfxbCpuBank#4 +Not aliassing across scopes: print_screen#18 print_screen#16 +Not aliassing across scopes: print_line_cursor#34 print_line_cursor#32 +Not aliassing across scopes: print_char_cursor#36 print_char_cursor#34 +Not aliassing across scopes: form_fields_cnt#11 form_fields_cnt#23 +Not aliassing across scopes: print_screen#12 print_screen#1 +Not aliassing across scopes: print_line_cursor#23 print_screen#1 +Not aliassing across scopes: print_char_cursor#10 print_screen#1 +Not aliassing across scopes: print_str_lines::str#1 FORM_COLS#0 +Not aliassing across scopes: print_char_cursor#11 print_char_cursor#18 +Not aliassing across scopes: print_line_cursor#10 print_line_cursor#16 +Not aliassing across scopes: print_screen#13 print_screen#1 Not aliassing across scopes: print_line_cursor#11 print_screen#1 Not aliassing across scopes: print_char_cursor#12 print_screen#1 -Not aliassing across scopes: print_line_cursor#12 print_line_cursor#24 -Not aliassing across scopes: print_char_cursor#13 print_line_cursor#24 -Not aliassing across scopes: print_str_lines::str#1 MENU_COLS#0 -Not aliassing across scopes: print_char_cursor#14 print_char_cursor#22 -Not aliassing across scopes: print_line_cursor#13 print_line_cursor#2 -Not aliassing across scopes: print_set_screen::screen#1 menu::SCREEN#0 -Not aliassing across scopes: print_screen#16 print_screen#1 -Not aliassing across scopes: print_line_cursor#14 print_screen#1 -Not aliassing across scopes: print_char_cursor#15 print_screen#1 -Not aliassing across scopes: print_line_cursor#15 print_line_cursor#24 -Not aliassing across scopes: print_char_cursor#16 print_line_cursor#24 -Not aliassing across scopes: print_str_lines::str#2 MENU_TEXT#0 -Not aliassing across scopes: print_char_cursor#17 print_char_cursor#22 -Not aliassing across scopes: print_line_cursor#16 print_line_cursor#2 -Not aliassing across scopes: form_set_screen::screen#0 menu::SCREEN#0 -Not aliassing across scopes: form_cursor_count#12 form_cursor_count#16 -Not aliassing across scopes: keyboard_events_size#23 keyboard_events_size#11 -Not aliassing across scopes: keyboard_modifiers#21 keyboard_modifiers#11 -Not aliassing across scopes: form_field_idx#13 form_field_idx#18 +Not aliassing across scopes: print_str_lines::str#2 FORM_TEXT#0 +Not aliassing across scopes: print_char_cursor#13 print_char_cursor#18 +Not aliassing across scopes: print_line_cursor#12 print_line_cursor#16 Not aliassing across scopes: form_set_screen::line#0 form_set_screen::screen#0 Not aliassing across scopes: form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 Not aliassing across scopes: form_fields_cnt#7 form_fields_cnt#11 Not aliassing across scopes: form_field_ptr::field_idx#0 form_render_values::idx#2 Not aliassing across scopes: form_field_ptr::return#2 form_field_ptr::return#0 Not aliassing across scopes: form_render_values::field#0 form_field_ptr::return#2 -Not aliassing across scopes: form_field_idx#15 form_field_idx#27 -Not aliassing across scopes: form_cursor_count#14 form_cursor_count#20 -Not aliassing across scopes: keyboard_events_size#38 keyboard_events_size#36 -Not aliassing across scopes: keyboard_modifiers#37 keyboard_modifiers#35 +Not aliassing across scopes: form_field_idx#11 form_field_idx#21 +Not aliassing across scopes: form_cursor_count#10 form_cursor_count#14 +Not aliassing across scopes: keyboard_events_size#32 keyboard_events_size#30 +Not aliassing across scopes: keyboard_modifiers#31 keyboard_modifiers#29 Not aliassing across scopes: form_fields_cnt#10 form_fields_cnt#24 -Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#15 +Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#11 Not aliassing across scopes: form_field_ptr::return#3 form_field_ptr::return#0 Not aliassing across scopes: form_control::field#0 form_field_ptr::return#3 -Not aliassing across scopes: form_cursor_count#6 FORM_CURSOR_BLINK#0 -Not aliassing across scopes: keyboard_events_size#10 keyboard_events_size#17 -Not aliassing across scopes: keyboard_modifiers#11 keyboard_modifiers#18 +Not aliassing across scopes: form_cursor_count#4 FORM_CURSOR_BLINK#0 +Not aliassing across scopes: keyboard_events_size#21 keyboard_events_size#15 +Not aliassing across scopes: keyboard_modifiers#10 keyboard_modifiers#16 Not aliassing across scopes: keyboard_event_get::return#3 keyboard_event_get::return#2 -Not aliassing across scopes: keyboard_events_size#11 keyboard_events_size#20 +Not aliassing across scopes: keyboard_events_size#10 keyboard_events_size#18 Not aliassing across scopes: form_control::key_event#0 keyboard_event_get::return#3 -Not aliassing across scopes: print_screen#18 print_screen#14 -Not aliassing across scopes: print_line_cursor#18 print_line_cursor#10 -Not aliassing across scopes: print_char_cursor#19 print_char_cursor#11 -Not aliassing across scopes: form_cursor_count#17 form_cursor_count#1 -Not aliassing across scopes: keyboard_events_size#13 keyboard_events_size#22 -Not aliassing across scopes: keyboard_modifiers#13 keyboard_modifiers#20 -Not aliassing across scopes: form_field_idx#10 form_field_idx#1 -Self Phi Eliminated (byte*) print_line_cursor#36 -Self Phi Eliminated (byte*) print_char_cursor#23 -Self Phi Eliminated (byte*) print_line_cursor#24 +Not aliassing across scopes: print_screen#15 print_screen#11 +Not aliassing across scopes: print_line_cursor#14 print_line_cursor#22 +Not aliassing across scopes: print_char_cursor#15 print_char_cursor#23 +Not aliassing across scopes: form_cursor_count#13 form_cursor_count#1 +Not aliassing across scopes: keyboard_events_size#11 keyboard_events_size#20 +Not aliassing across scopes: keyboard_modifiers#11 keyboard_modifiers#18 +Not aliassing across scopes: form_field_idx#20 form_field_idx#1 +Self Phi Eliminated (byte*) print_line_cursor#29 +Self Phi Eliminated (byte*) print_char_cursor#19 Self Phi Eliminated (byte) keyboard_event_scan::row_scan#1 Self Phi Eliminated (byte) keyboard_event_scan::row#10 -Self Phi Eliminated (byte) form_fields_cnt#32 -Self Phi Eliminated (byte*) print_screen#21 -Self Phi Eliminated (byte*) print_line_cursor#41 +Self Phi Eliminated (signed byte) form_cursor_count#29 +Self Phi Eliminated (byte) keyboard_events_size#59 +Self Phi Eliminated (byte) keyboard_modifiers#56 +Self Phi Eliminated (byte) form_field_idx#38 +Self Phi Eliminated (byte*) print_screen#35 +Self Phi Eliminated (byte*) print_line_cursor#54 +Self Phi Eliminated (byte*) print_char_cursor#54 +Self Phi Eliminated (byte) form_fields_cnt#28 +Self Phi Eliminated (signed byte) form_cursor_count#14 +Self Phi Eliminated (byte) keyboard_events_size#30 +Self Phi Eliminated (byte) keyboard_modifiers#29 +Self Phi Eliminated (byte) form_field_idx#21 +Self Phi Eliminated (byte*) print_screen#23 +Self Phi Eliminated (byte*) print_line_cursor#40 Self Phi Eliminated (byte*) print_char_cursor#43 -Self Phi Eliminated (signed byte) form_cursor_count#27 -Self Phi Eliminated (byte) keyboard_events_size#47 -Self Phi Eliminated (byte) keyboard_modifiers#48 -Self Phi Eliminated (byte) form_field_idx#37 -Self Phi Eliminated (byte) form_fields_cnt#11 -Self Phi Eliminated (signed byte) form_cursor_count#20 -Self Phi Eliminated (byte) keyboard_events_size#36 -Self Phi Eliminated (byte) keyboard_modifiers#35 -Self Phi Eliminated (byte) form_field_idx#27 -Self Phi Eliminated (byte*) print_screen#29 -Self Phi Eliminated (byte*) print_line_cursor#49 -Self Phi Eliminated (byte*) print_char_cursor#52 Self Phi Eliminated (byte) form_fields_cnt#24 +Self Phi Eliminated (byte) gfx_init_plane_8bppchunky::y#2 Self Phi Eliminated (byte) form_fields_cnt#1 Succesful SSA optimization Pass2SelfPhiElimination -Redundant Phi (byte*) print_line_cursor#36 (byte*) print_line_cursor#2 -Redundant Phi (byte*) print_line_cursor#1 (byte*) print_line_cursor#22 -Redundant Phi (byte*) print_char_cursor#2 (byte*) print_line_cursor#22 -Redundant Phi (byte*) print_line_cursor#38 (byte*) print_line_cursor#36 -Redundant Phi (byte*) print_char_cursor#40 (byte*) print_char_cursor#38 -Redundant Phi (byte*) print_char_cursor#23 (byte*) print_char_cursor#40 -Redundant Phi (byte*) print_line_cursor#24 (byte*) print_screen#9 +Redundant Phi (byte*) print_line_cursor#29 (byte*) print_line_cursor#16 +Redundant Phi (byte*) print_line_cursor#1 (byte*) print_line_cursor#18 +Redundant Phi (byte*) print_char_cursor#17 (byte*) print_line_cursor#18 +Redundant Phi (byte*) print_line_cursor#31 (byte*) print_line_cursor#29 +Redundant Phi (byte*) print_char_cursor#33 (byte*) print_char_cursor#31 +Redundant Phi (byte*) print_char_cursor#19 (byte*) print_char_cursor#33 Redundant Phi (byte) keyboard_matrix_read::rowid#1 (byte) keyboard_matrix_read::rowid#0 -Redundant Phi (byte) keyboard_events_size#81 (byte) keyboard_events_size#38 +Redundant Phi (byte) keyboard_events_size#76 (byte) keyboard_events_size#32 Redundant Phi (byte) keyboard_event_scan::row_scan#1 (byte) keyboard_event_scan::row_scan#0 Redundant Phi (byte) keyboard_event_scan::row#10 (byte) keyboard_event_scan::row#2 -Redundant Phi (byte) keyboard_events_size#18 (byte) keyboard_events_size#10 -Redundant Phi (byte*) print_screen#25 (byte*) print_screen#0 -Redundant Phi (byte*) print_line_cursor#46 (byte*) print_screen#0 -Redundant Phi (byte*) print_char_cursor#49 (byte*) print_screen#0 -Redundant Phi (signed byte) form_cursor_count#26 (signed byte) form_cursor_count#25 -Redundant Phi (byte) keyboard_events_size#46 (byte) keyboard_events_size#0 -Redundant Phi (byte) keyboard_modifiers#47 (byte) keyboard_modifiers#0 -Redundant Phi (byte) form_field_idx#36 (byte) form_field_idx#35 -Redundant Phi (byte) form_fields_cnt#36 (byte) form_fields_cnt#0 -Redundant Phi (byte) form_fields_cnt#32 (byte) form_fields_cnt#36 -Redundant Phi (byte*) print_screen#13 (byte*) print_screen#17 -Redundant Phi (byte*) print_line_cursor#26 (byte*) print_line_cursor#17 -Redundant Phi (byte*) print_char_cursor#10 (byte*) print_char_cursor#18 -Redundant Phi (signed byte) form_cursor_count#0 (signed byte) form_cursor_count#13 -Redundant Phi (byte) keyboard_events_size#21 (byte) keyboard_events_size#24 -Redundant Phi (byte) keyboard_modifiers#19 (byte) keyboard_modifiers#10 -Redundant Phi (byte) form_field_idx#0 (byte) form_field_idx#14 -Redundant Phi (byte*) print_screen#31 (byte*) print_screen#14 -Redundant Phi (byte*) print_line_cursor#53 (byte*) print_line_cursor#10 -Redundant Phi (byte*) print_char_cursor#54 (byte*) print_char_cursor#11 -Redundant Phi (signed byte) form_cursor_count#53 (signed byte) form_cursor_count#1 -Redundant Phi (byte) keyboard_events_size#100 (byte) keyboard_events_size#22 -Redundant Phi (byte) keyboard_modifiers#81 (byte) keyboard_modifiers#20 -Redundant Phi (byte) form_field_idx#61 (byte) form_field_idx#1 -Redundant Phi (byte) form_fields_cnt#30 (byte) form_fields_cnt#32 -Redundant Phi (byte*) print_screen#21 (byte*) print_screen#31 -Redundant Phi (byte*) print_line_cursor#41 (byte*) print_line_cursor#53 +Redundant Phi (byte) keyboard_events_size#16 (byte) keyboard_events_size#21 +Redundant Phi (byte*) print_screen#16 (byte*) print_screen#0 +Redundant Phi (byte*) print_line_cursor#32 (byte*) print_screen#0 +Redundant Phi (byte*) print_char_cursor#34 (byte*) print_screen#0 +Redundant Phi (signed byte) form_cursor_count#20 (signed byte) form_cursor_count#19 +Redundant Phi (byte) keyboard_events_size#40 (byte) keyboard_events_size#0 +Redundant Phi (byte) keyboard_modifiers#41 (byte) keyboard_modifiers#0 +Redundant Phi (byte) form_field_idx#30 (byte) form_field_idx#2 +Redundant Phi (byte) form_fields_cnt#23 (byte) form_fields_cnt#0 +Redundant Phi (byte*) print_screen#10 (byte*) print_screen#13 +Redundant Phi (byte*) print_line_cursor#21 (byte*) print_line_cursor#12 +Redundant Phi (byte*) print_char_cursor#22 (byte*) print_char_cursor#13 +Redundant Phi (signed byte) form_cursor_count#29 (signed byte) form_cursor_count#1 +Redundant Phi (byte) keyboard_events_size#59 (byte) keyboard_events_size#20 +Redundant Phi (byte) keyboard_modifiers#56 (byte) keyboard_modifiers#18 +Redundant Phi (byte) form_field_idx#38 (byte) form_field_idx#1 +Redundant Phi (byte*) print_screen#35 (byte*) print_screen#11 +Redundant Phi (byte*) print_line_cursor#54 (byte*) print_line_cursor#22 +Redundant Phi (byte*) print_char_cursor#54 (byte*) print_char_cursor#23 +Redundant Phi (byte) form_fields_cnt#28 (byte) form_fields_cnt#34 +Redundant Phi (signed byte) form_cursor_count#14 (signed byte) form_cursor_count#29 +Redundant Phi (byte) keyboard_events_size#30 (byte) keyboard_events_size#59 +Redundant Phi (byte) keyboard_modifiers#29 (byte) keyboard_modifiers#56 +Redundant Phi (byte) form_field_idx#21 (byte) form_field_idx#38 +Redundant Phi (byte*) print_screen#23 (byte*) print_screen#35 +Redundant Phi (byte*) print_line_cursor#40 (byte*) print_line_cursor#54 Redundant Phi (byte*) print_char_cursor#43 (byte*) print_char_cursor#54 -Redundant Phi (signed byte) form_cursor_count#27 (signed byte) form_cursor_count#53 -Redundant Phi (byte) keyboard_events_size#47 (byte) keyboard_events_size#100 -Redundant Phi (byte) keyboard_modifiers#48 (byte) keyboard_modifiers#81 -Redundant Phi (byte) form_field_idx#37 (byte) form_field_idx#61 -Redundant Phi (byte) form_fields_cnt#11 (byte) form_fields_cnt#30 -Redundant Phi (byte*) print_screen#15 (byte*) print_screen#1 +Redundant Phi (byte) form_fields_cnt#24 (byte) form_fields_cnt#28 +Redundant Phi (signed byte) form_cursor_count#0 (signed byte) form_cursor_count#12 +Redundant Phi (byte) keyboard_events_size#19 (byte) keyboard_events_size#10 +Redundant Phi (byte) keyboard_modifiers#17 (byte) keyboard_modifiers#10 +Redundant Phi (byte) form_field_idx#0 (byte) form_field_idx#14 +Redundant Phi (byte) gfx_init_plane_8bppchunky::y#2 (byte) gfx_init_plane_8bppchunky::y#6 +Redundant Phi (byte*) print_screen#18 (byte*) print_screen#16 +Redundant Phi (byte*) print_line_cursor#34 (byte*) print_line_cursor#32 +Redundant Phi (byte*) print_char_cursor#36 (byte*) print_char_cursor#34 +Redundant Phi (byte) form_fields_cnt#11 (byte) form_fields_cnt#23 +Redundant Phi (byte*) print_screen#12 (byte*) print_screen#1 +Redundant Phi (byte*) print_line_cursor#23 (byte*) print_screen#1 +Redundant Phi (byte*) print_char_cursor#10 (byte*) print_screen#1 +Redundant Phi (byte*) print_char_cursor#11 (byte*) print_char_cursor#18 +Redundant Phi (byte*) print_line_cursor#10 (byte*) print_line_cursor#16 +Redundant Phi (byte*) print_screen#13 (byte*) print_screen#1 Redundant Phi (byte*) print_line_cursor#11 (byte*) print_screen#1 Redundant Phi (byte*) print_char_cursor#12 (byte*) print_screen#1 -Redundant Phi (byte*) print_line_cursor#12 (byte*) print_line_cursor#24 -Redundant Phi (byte*) print_char_cursor#13 (byte*) print_line_cursor#24 -Redundant Phi (byte*) print_char_cursor#14 (byte*) print_char_cursor#22 -Redundant Phi (byte*) print_line_cursor#13 (byte*) print_line_cursor#2 -Redundant Phi (byte*) print_screen#16 (byte*) print_screen#1 -Redundant Phi (byte*) print_line_cursor#14 (byte*) print_screen#1 -Redundant Phi (byte*) print_char_cursor#15 (byte*) print_screen#1 -Redundant Phi (byte*) print_line_cursor#15 (byte*) print_line_cursor#24 -Redundant Phi (byte*) print_char_cursor#16 (byte*) print_line_cursor#24 -Redundant Phi (byte*) print_char_cursor#17 (byte*) print_char_cursor#22 -Redundant Phi (byte*) print_line_cursor#16 (byte*) print_line_cursor#2 -Redundant Phi (signed byte) form_cursor_count#20 (signed byte) form_cursor_count#13 -Redundant Phi (byte) keyboard_events_size#36 (byte) keyboard_events_size#24 -Redundant Phi (byte) keyboard_modifiers#35 (byte) keyboard_modifiers#10 -Redundant Phi (byte) form_field_idx#27 (byte) form_field_idx#14 -Redundant Phi (byte*) print_screen#29 (byte*) print_screen#17 -Redundant Phi (byte*) print_line_cursor#49 (byte*) print_line_cursor#17 -Redundant Phi (byte*) print_char_cursor#52 (byte*) print_char_cursor#18 -Redundant Phi (byte) form_fields_cnt#24 (byte) form_fields_cnt#28 -Redundant Phi (signed byte) form_cursor_count#12 (signed byte) form_cursor_count#16 -Redundant Phi (byte) keyboard_events_size#23 (byte) keyboard_events_size#11 -Redundant Phi (byte) keyboard_modifiers#21 (byte) keyboard_modifiers#11 -Redundant Phi (byte) form_field_idx#13 (byte) form_field_idx#18 +Redundant Phi (byte*) print_char_cursor#13 (byte*) print_char_cursor#18 +Redundant Phi (byte*) print_line_cursor#12 (byte*) print_line_cursor#16 Redundant Phi (byte*) form_set_screen::line#0 (byte*) form_set_screen::screen#0 Redundant Phi (byte) form_fields_cnt#7 (byte) form_fields_cnt#11 Redundant Phi (byte) form_fields_cnt#1 (byte) form_fields_cnt#7 -Redundant Phi (byte) form_field_idx#15 (byte) form_field_idx#27 -Redundant Phi (signed byte) form_cursor_count#14 (signed byte) form_cursor_count#20 -Redundant Phi (byte) keyboard_events_size#38 (byte) keyboard_events_size#36 -Redundant Phi (byte) keyboard_modifiers#37 (byte) keyboard_modifiers#35 +Redundant Phi (byte) form_field_idx#11 (byte) form_field_idx#21 +Redundant Phi (signed byte) form_cursor_count#10 (signed byte) form_cursor_count#14 +Redundant Phi (byte) keyboard_events_size#32 (byte) keyboard_events_size#30 +Redundant Phi (byte) keyboard_modifiers#31 (byte) keyboard_modifiers#29 Redundant Phi (byte) form_fields_cnt#10 (byte) form_fields_cnt#24 -Redundant Phi (byte) keyboard_events_size#10 (byte) keyboard_events_size#17 -Redundant Phi (byte) keyboard_modifiers#11 (byte) keyboard_modifiers#18 +Redundant Phi (byte) keyboard_events_size#21 (byte) keyboard_events_size#15 +Redundant Phi (byte) keyboard_modifiers#10 (byte) keyboard_modifiers#16 +Redundant Phi (byte) keyboard_events_size#10 (byte) keyboard_events_size#18 +Redundant Phi (byte*) print_screen#15 (byte*) print_screen#11 +Redundant Phi (byte*) print_line_cursor#14 (byte*) print_line_cursor#22 +Redundant Phi (byte*) print_char_cursor#15 (byte*) print_char_cursor#23 +Redundant Phi (signed byte) form_cursor_count#13 (signed byte) form_cursor_count#1 Redundant Phi (byte) keyboard_events_size#11 (byte) keyboard_events_size#20 -Redundant Phi (byte*) print_screen#18 (byte*) print_screen#14 -Redundant Phi (byte*) print_line_cursor#18 (byte*) print_line_cursor#10 -Redundant Phi (byte*) print_char_cursor#19 (byte*) print_char_cursor#11 -Redundant Phi (signed byte) form_cursor_count#17 (signed byte) form_cursor_count#1 -Redundant Phi (byte) keyboard_events_size#13 (byte) keyboard_events_size#22 -Redundant Phi (byte) keyboard_modifiers#13 (byte) keyboard_modifiers#20 -Redundant Phi (byte) form_field_idx#10 (byte) form_field_idx#1 +Redundant Phi (byte) keyboard_modifiers#11 (byte) keyboard_modifiers#18 +Redundant Phi (byte) form_field_idx#20 (byte) form_field_idx#1 Succesful SSA optimization Pass2RedundantPhiElimination -Redundant Phi (byte*) print_char_cursor#46 (byte*) print_screen#9 -Redundant Phi (byte*) print_line_cursor#44 (byte*) print_screen#9 -Redundant Phi (byte*) print_screen#9 (byte*) print_screen#1 +Redundant Phi (byte*) print_char_cursor#39 (byte*) print_screen#1 +Redundant Phi (byte*) print_line_cursor#37 (byte*) print_screen#1 Redundant Phi (byte) keyboard_event_scan::row#6 (byte) keyboard_event_scan::row#2 Succesful SSA optimization Pass2RedundantPhiElimination Simple Condition (boolean~) print_str_lines::$0 if(*((byte*) print_str_lines::str#3)!=(byte) '@') goto print_str_lines::@2 Simple Condition (boolean~) print_str_lines::$2 if((byte) print_str_lines::ch#0==(byte) '@') goto print_str_lines::@5 Simple Condition (boolean~) print_str_lines::$3 if((byte) print_str_lines::ch#0!=(byte) '@') goto print_str_lines::@4 -Simple Condition (boolean~) print_ln::$1 if((byte*) print_line_cursor#22<(byte*) print_char_cursor#38) goto print_ln::@1 -Simple Condition (boolean~) print_cls::$1 if((byte*) print_cls::sc#1!=(byte*~) print_cls::$0) goto print_cls::@1 +Simple Condition (boolean~) print_ln::$1 if((byte*) print_line_cursor#18<(byte*) print_char_cursor#31) goto print_ln::@1 Simple Condition (boolean~) keyboard_event_scan::$2 if((byte) keyboard_event_scan::row_scan#0==*((byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@2 Simple Condition (boolean~) keyboard_event_scan::$6 if((byte~) keyboard_event_scan::$4==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@4 Simple Condition (boolean~) keyboard_event_scan::$13 if((byte) keyboard_event_scan::col#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@3 -Simple Condition (boolean~) keyboard_event_scan::$8 if((byte) keyboard_events_size#14==(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@5 +Simple Condition (boolean~) keyboard_event_scan::$8 if((byte) keyboard_events_size#12==(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@5 Simple Condition (boolean~) keyboard_event_scan::$11 if((byte) keyboard_event_scan::event_type#0!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@6 Simple Condition (boolean~) keyboard_event_scan::$15 if((byte) keyboard_event_scan::row#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@1 Simple Condition (boolean~) keyboard_event_scan::$18 if((byte~) keyboard_event_scan::$16==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@9 Simple Condition (boolean~) keyboard_event_scan::$22 if((byte~) keyboard_event_scan::$20==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@10 Simple Condition (boolean~) keyboard_event_scan::$26 if((byte~) keyboard_event_scan::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@11 Simple Condition (boolean~) keyboard_event_scan::$30 if((byte~) keyboard_event_scan::$28==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@12 -Simple Condition (boolean~) keyboard_event_get::$1 if((byte) keyboard_events_size#17!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_get::@1 -Simple Condition (boolean~) menu::$23 if((byte) menu::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto menu::@1 -Simple Condition (boolean~) menu::$32 if(*((byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@6 +Simple Condition (boolean~) keyboard_event_get::$1 if((byte) keyboard_events_size#15!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_get::@1 +Simple Condition (boolean~) main::$5 if(*((byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword~) main::$4) goto main::@5 +Simple Condition (boolean~) main::$7 if(*((byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto main::@8 +Simple Condition (boolean~) gfx_mode::$1 if(*((byte*) form_ctrl_line#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@1 +Simple Condition (boolean~) gfx_mode::$4 if(*((byte*) form_ctrl_borof#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@2 +Simple Condition (boolean~) gfx_mode::$7 if(*((byte*) form_ctrl_hicol#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@3 +Simple Condition (boolean~) gfx_mode::$10 if(*((byte*) form_ctrl_overs#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@4 +Simple Condition (boolean~) gfx_mode::$13 if(*((byte*) form_ctrl_colof#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@5 +Simple Condition (boolean~) gfx_mode::$16 if(*((byte*) form_ctrl_chunk#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@6 +Simple Condition (boolean~) gfx_mode::$21 if(*((byte*) form_ctrl_ecm#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@7 +Simple Condition (boolean~) gfx_mode::$24 if(*((byte*) form_ctrl_bmm#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@8 +Simple Condition (boolean~) gfx_mode::$27 if(*((byte*) form_ctrl_mcm#0)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto gfx_mode::@9 +Simple Condition (boolean~) gfx_mode::$64 if((byte) gfx_mode::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto gfx_mode::@10 +Simple Condition (boolean~) gfx_init_plane_8bppchunky::$4 if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word/dword/signed dword) 32768) goto gfx_init_plane_8bppchunky::@3 +Simple Condition (boolean~) gfx_init_plane_8bppchunky::$8 if((word) gfx_init_plane_8bppchunky::x#1!=(word/signed word/dword/signed dword) 320) goto gfx_init_plane_8bppchunky::@2 +Simple Condition (boolean~) gfx_init_plane_8bppchunky::$9 if((byte) gfx_init_plane_8bppchunky::y#1!=(byte/word/signed word/dword/signed dword) 200) goto gfx_init_plane_8bppchunky::@1 +Simple Condition (boolean~) form_mode::$23 if((byte) form_mode::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 16) goto form_mode::@1 Simple Condition (boolean~) form_set_screen::$3 if((byte) form_set_screen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 25) goto form_set_screen::@1 Simple Condition (boolean~) form_render_values::$1 if((byte) form_render_values::idx#1<(byte) form_fields_cnt#0) goto form_render_values::@1 -Simple Condition (boolean~) form_control::$2 if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@1 -Simple Condition (boolean~) form_control::$5 if((signed byte) form_cursor_count#15>=(signed word/signed byte/signed dword~) form_control::$3) goto form_control::@2 +Simple Condition (boolean~) form_control::$2 if((signed byte) form_cursor_count#3>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@1 +Simple Condition (boolean~) form_control::$5 if((signed byte) form_cursor_count#11>=(signed word/signed byte/signed dword~) form_control::$3) goto form_control::@2 Simple Condition (boolean~) form_control::$11 if((byte) form_control::key_event#0!=(byte) KEY_CRSR_DOWN#0) goto form_control::@4 Simple Condition (boolean~) form_control::$23 if((byte) form_control::key_event#0!=(byte) KEY_CRSR_RIGHT#0) goto form_control::@9 Simple Condition (boolean~) form_control::$15 if((byte~) form_control::$13!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@5 -Simple Condition (boolean~) form_control::$19 if((byte) form_field_idx#41!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@8 -Simple Condition (boolean~) form_control::$17 if((byte) form_field_idx#40!=(byte) form_fields_cnt#28) goto form_control::@6 +Simple Condition (boolean~) form_control::$19 if((byte) form_field_idx#3!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@8 +Simple Condition (boolean~) form_control::$17 if((byte) form_field_idx#34!=(byte) form_fields_cnt#34) goto form_control::@6 Simple Condition (boolean~) form_control::$26 if((byte~) form_control::$24!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@10 -Simple Condition (boolean~) form_control::$30 if(*((byte[]) form_fields_val#0 + (byte) form_field_idx#14)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@13 -Simple Condition (boolean~) form_control::$28 if(*((byte[]) form_fields_val#0 + (byte) form_field_idx#14)<=*((byte[]) form_fields_max#0 + (byte) form_field_idx#14)) goto form_control::@11 +Simple Condition (boolean~) form_control::$30 if(*((byte[]) form_fields_val#0 + (byte) form_field_idx#1)!=(byte/word/signed word/dword/signed dword) 255) goto form_control::@13 +Simple Condition (boolean~) form_control::$28 if(*((byte[]) form_fields_val#0 + (byte) form_field_idx#1)<=*((byte[]) form_fields_max#0 + (byte) form_field_idx#1)) goto form_control::@11 Succesful SSA optimization Pass2ConditionalJumpSimplification Constant (const byte*) RASTER#0 = ((byte*))53266 Constant (const byte*) BORDERCOL#0 = ((byte*))53280 Constant (const byte*) BGCOL#0 = ((byte*))53281 +Constant (const byte*) BGCOL1#0 = ((byte*))53281 +Constant (const byte*) BGCOL2#0 = ((byte*))53282 +Constant (const byte*) BGCOL3#0 = ((byte*))53283 +Constant (const byte*) BGCOL4#0 = ((byte*))53284 Constant (const byte*) VIC_CONTROL#0 = ((byte*))53265 +Constant (const byte) VIC_ECM#0 = 64 +Constant (const byte) VIC_BMM#0 = 32 Constant (const byte) VIC_DEN#0 = 16 Constant (const byte) VIC_RSEL#0 = 8 Constant (const byte*) VIC_CONTROL2#0 = ((byte*))53270 +Constant (const byte) VIC_MCM#0 = 16 Constant (const byte) VIC_CSEL#0 = 8 Constant (const byte*) VIC_MEMORY#0 = ((byte*))53272 Constant (const byte*) COLS#0 = ((byte*))55296 Constant (const byte*) CIA1_PORT_A#0 = ((byte*))56320 Constant (const byte*) CIA1_PORT_B#0 = ((byte*))56321 +Constant (const byte*) CIA1_PORT_A_DDR#0 = ((byte*))56322 +Constant (const byte*) CIA1_PORT_B_DDR#0 = ((byte*))56323 Constant (const byte*) CIA2_PORT_A#0 = ((byte*))56576 Constant (const byte*) CIA2_PORT_A_DDR#0 = ((byte*))56578 Constant (const byte*) DTV_FEATURE#0 = ((byte*))53311 Constant (const byte) DTV_FEATURE_ENABLE#0 = 1 Constant (const byte*) DTV_CONTROL#0 = ((byte*))53308 +Constant (const byte) DTV_LINEAR#0 = 1 +Constant (const byte) DTV_BORDER_OFF#0 = 2 +Constant (const byte) DTV_HIGHCOLOR#0 = 4 +Constant (const byte) DTV_OVERSCAN#0 = 8 +Constant (const byte) DTV_COLORRAM_OFF#0 = 16 +Constant (const byte) DTV_CHUNKY#0 = 64 Constant (const byte*) DTV_PALETTE#0 = ((byte*))53760 Constant (const byte[16]) DTV_PALETTE_DEFAULT#0 = { 0, 15, 54, 190, 88, 219, 134, 255, 41, 38, 59, 5, 7, 223, 154, 10 } +Constant (const byte*) DTV_PLANEA_START_LO#0 = ((byte*))53306 +Constant (const byte*) DTV_PLANEA_START_MI#0 = ((byte*))53307 +Constant (const byte*) DTV_PLANEA_START_HI#0 = ((byte*))53317 +Constant (const byte*) DTV_PLANEA_STEP#0 = ((byte*))53318 +Constant (const byte*) DTV_PLANEA_MODULO_LO#0 = ((byte*))53304 +Constant (const byte*) DTV_PLANEA_MODULO_HI#0 = ((byte*))53305 +Constant (const byte*) DTV_PLANEB_START_LO#0 = ((byte*))53321 +Constant (const byte*) DTV_PLANEB_START_MI#0 = ((byte*))53322 +Constant (const byte*) DTV_PLANEB_START_HI#0 = ((byte*))53323 +Constant (const byte*) DTV_PLANEB_STEP#0 = ((byte*))53324 +Constant (const byte*) DTV_PLANEB_MODULO_LO#0 = ((byte*))53319 +Constant (const byte*) DTV_PLANEB_MODULO_HI#0 = ((byte*))53320 Constant (const byte*) DTV_COLOR_BANK_LO#0 = ((byte*))53302 Constant (const byte*) DTV_COLOR_BANK_HI#0 = ((byte*))53303 Constant (const dword) DTV_COLOR_BANK_DEFAULT#0 = 120832 Constant (const byte*) DTV_GRAPHICS_VIC_BANK#0 = ((byte*))53309 +Constant (const byte*) dtvSetCpuBankSegment1::cpuBank#0 = ((byte*))255 Constant (const byte*) print_screen#0 = ((byte*))1024 -Constant (const string) print_hextab#0 = $20 +Constant (const string) print_hextab#0 = $56 Constant (const byte) KEY_CRSR_RIGHT#0 = 2 Constant (const byte) KEY_CRSR_DOWN#0 = 7 Constant (const byte) KEY_LSHIFT#0 = 15 @@ -6364,23 +7935,33 @@ Constant (const byte) keyboard_event_scan::row#0 = 0 Constant (const byte) keyboard_event_scan::col#0 = 0 Constant (const byte) keyboard_modifiers#1 = 0 Constant (const byte) keyboard_event_get::return#1 = 255 -Constant (const string) $1 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Constant (const string) $10 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @" -Constant (const byte*) menu::SCREEN#0 = ((byte*))32768 -Constant (const byte*) menu::CHARSET#0 = ((byte*))38912 -Constant (const byte) menu::i#0 = 0 -Constant (const byte[25]) form_line_lo#0 = { fill( 25, 0) } -Constant (const byte[25]) form_line_hi#0 = { fill( 25, 0) } -Constant (const byte) form_field_idx#35 = 0 +Constant (const byte/word/signed word/dword/signed dword) main::$3 = 8*16 +Constant (const dword) PLANE_8BPP_CHUNKY#0 = 131072 +Constant (const byte*) FORM_SCREEN#0 = ((byte*))32768 +Constant (const byte*) FORM_CHARSET#0 = ((byte*))38912 +Constant (const word) FORM_OFFSET#0 = 16*40 +Constant (const string) $2 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $11 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @" Constant (const byte) form_fields_cnt#0 = 35 Constant (const byte[]) form_fields_x#0 = { 22, 7, 7, 7, 7, 7, 7, 7, 17, 17, 17, 16, 17, 16, 17, 16, 17, 27, 26, 27, 26, 27, 26, 27, 38, 38, 38, 37, 38, 37, 38, 37, 38, 37, 38 } Constant (const byte[]) form_fields_y#0 = { 0, 2, 3, 4, 5, 6, 7, 8, 7, 8, 2, 3, 3, 4, 4, 5, 5, 2, 3, 3, 4, 4, 5, 5, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8 } -Constant (const byte[]) form_fields_max#0 = { 13, 1, 1, 1, 1, 1, 2, 1, 1, 1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 } +Constant (const byte[]) form_fields_max#0 = { 13, 1, 1, 1, 1, 1, 1, 1, 1, 1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 } Constant (const byte[]) form_fields_val#0 = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +Constant (const byte) gfx_mode::dtv_control#0 = 0 +Constant (const byte) gfx_mode::i#0 = 0 +Constant (const byte*) gfx_init_plane_8bppchunky::gfxb#0 = ((byte*))16384 +Constant (const byte) gfx_init_plane_8bppchunky::y#0 = 0 +Constant (const word) gfx_init_plane_8bppchunky::x#0 = 0 +Constant (const byte*) gfx_init_plane_8bppchunky::gfxb#2 = ((byte*))16384 +Constant (const byte/signed byte/word/signed word/dword/signed dword) gfx_init_plane_8bppchunky::$10 = 16384/16384 +Constant (const byte) form_mode::i#0 = 0 +Constant (const byte[25]) form_line_lo#0 = { fill( 25, 0) } +Constant (const byte[25]) form_line_hi#0 = { fill( 25, 0) } +Constant (const byte) form_field_idx#2 = 0 Constant (const signed byte) FORM_CURSOR_BLINK#0 = 40 Constant (const byte) form_set_screen::y#0 = 0 Constant (const byte) form_render_values::idx#0 = 0 -Constant (const byte) form_field_idx#7 = 0 +Constant (const byte) form_field_idx#5 = 0 Succesful SSA optimization Pass2ConstantIdentification Constant (const byte) KEY_MODIFIER_SHIFT#0 = KEY_MODIFIER_LSHIFT#0|KEY_MODIFIER_RSHIFT#0 Constant (const byte) keyboard_event_pressed::keycode#0 = KEY_LSHIFT#0 @@ -6388,108 +7969,150 @@ Constant (const byte) keyboard_event_pressed::keycode#1 = KEY_RSHIFT#0 Constant (const byte) keyboard_modifiers#2 = keyboard_modifiers#1|KEY_MODIFIER_LSHIFT#0 Constant (const byte) keyboard_event_pressed::keycode#2 = KEY_CTRL#0 Constant (const byte) keyboard_event_pressed::keycode#3 = KEY_COMMODORE#0 -Constant (const string) $2 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Constant (const string) $11 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @" -Constant (const dword) menu::$0 = ((dword))menu::CHARSET#0 -Constant (const dword) menu::$3 = DTV_COLOR_BANK_DEFAULT#0/1024 -Constant (const dword) menu::$6 = DTV_COLOR_BANK_DEFAULT#0/1024 -Constant (const word) menu::$9 = ((word))menu::CHARSET#0 -Constant (const byte) menu::$13 = VIC_DEN#0|VIC_RSEL#0 -Constant (const word) menu::$15 = ((word))menu::SCREEN#0 -Constant (const word) menu::$18 = ((word))menu::CHARSET#0 -Constant (const byte*) print_set_screen::screen#0 = COLS#0 -Constant (const byte*) print_set_screen::screen#1 = menu::SCREEN#0 -Constant (const byte*) form_set_screen::screen#0 = menu::SCREEN#0 -Constant (const signed byte) form_cursor_count#25 = FORM_CURSOR_BLINK#0/2 +Constant (const byte/word/signed word/dword/signed dword) main::$4 = 48+main::$3 +Constant (const string) $3 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $12 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @" +Constant (const byte*) form_ctrl_bmm#0 = form_fields_val#0+1 +Constant (const byte*) form_ctrl_mcm#0 = form_fields_val#0+2 +Constant (const byte*) form_ctrl_ecm#0 = form_fields_val#0+3 +Constant (const byte*) form_ctrl_hicol#0 = form_fields_val#0+4 +Constant (const byte*) form_ctrl_line#0 = form_fields_val#0+5 +Constant (const byte*) form_ctrl_colof#0 = form_fields_val#0+6 +Constant (const byte*) form_ctrl_chunk#0 = form_fields_val#0+7 +Constant (const byte*) form_ctrl_borof#0 = form_fields_val#0+8 +Constant (const byte*) form_ctrl_overs#0 = form_fields_val#0+9 +Constant (const byte*) form_a_start_hi#0 = form_fields_val#0+11 +Constant (const byte*) form_a_start_lo#0 = form_fields_val#0+12 +Constant (const byte*) form_a_step_hi#0 = form_fields_val#0+13 +Constant (const byte*) form_a_step_lo#0 = form_fields_val#0+14 +Constant (const byte*) form_a_mod_hi#0 = form_fields_val#0+15 +Constant (const byte*) form_a_mod_lo#0 = form_fields_val#0+16 +Constant (const byte*) form_b_start_hi#0 = form_fields_val#0+18 +Constant (const byte*) form_b_start_lo#0 = form_fields_val#0+19 +Constant (const byte*) form_b_step_hi#0 = form_fields_val#0+20 +Constant (const byte*) form_b_step_lo#0 = form_fields_val#0+21 +Constant (const byte*) form_b_mod_hi#0 = form_fields_val#0+22 +Constant (const byte*) form_b_mod_lo#0 = form_fields_val#0+23 +Constant (const byte*) form_vic_bg0_hi#0 = form_fields_val#0+27 +Constant (const byte*) form_vic_bg0_lo#0 = form_fields_val#0+28 +Constant (const byte*) form_vic_bg1_hi#0 = form_fields_val#0+29 +Constant (const byte*) form_vic_bg1_lo#0 = form_fields_val#0+30 +Constant (const byte*) form_vic_bg2_hi#0 = form_fields_val#0+31 +Constant (const byte*) form_vic_bg2_lo#0 = form_fields_val#0+32 +Constant (const byte*) form_vic_bg3_hi#0 = form_fields_val#0+33 +Constant (const byte*) form_vic_bg3_lo#0 = form_fields_val#0+34 +Constant (const byte) gfx_mode::dtv_control#1 = gfx_mode::dtv_control#0|DTV_LINEAR#0 +Constant (const byte) gfx_mode::$18 = VIC_DEN#0|VIC_RSEL#0 +Constant (const byte) gfx_mode::vic_control2#0 = VIC_CSEL#0 +Constant (const dword) gfx_mode::$31 = ((dword))FORM_SCREEN#0 +Constant (const dword) gfx_init_plane_8bppchunky::$0 = PLANE_8BPP_CHUNKY#0/16384 +Constant (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 = ((byte))gfx_init_plane_8bppchunky::$10 +Constant (const byte*) print_set_screen::screen#0 = COLS#0+FORM_OFFSET#0 +Constant (const byte*) print_set_screen::screen#1 = FORM_SCREEN#0+FORM_OFFSET#0 +Constant (const byte*) form_set_screen::screen#0 = FORM_SCREEN#0+FORM_OFFSET#0 +Constant (const dword) form_mode::$0 = ((dword))FORM_CHARSET#0 +Constant (const dword) form_mode::$3 = DTV_COLOR_BANK_DEFAULT#0/1024 +Constant (const dword) form_mode::$6 = DTV_COLOR_BANK_DEFAULT#0/1024 +Constant (const word) form_mode::$9 = ((word))FORM_CHARSET#0 +Constant (const byte) form_mode::$13 = VIC_DEN#0|VIC_RSEL#0 +Constant (const word) form_mode::$15 = ((word))FORM_SCREEN#0 +Constant (const word) form_mode::$18 = ((word))FORM_CHARSET#0 +Constant (const signed byte) form_cursor_count#19 = FORM_CURSOR_BLINK#0/2 Constant (const signed word/signed byte/signed dword) form_control::$3 = FORM_CURSOR_BLINK#0/2 -Constant (const signed byte) form_cursor_count#6 = FORM_CURSOR_BLINK#0 -Constant (const signed byte) form_cursor_count#7 = FORM_CURSOR_BLINK#0/2 +Constant (const signed byte) form_cursor_count#4 = FORM_CURSOR_BLINK#0 +Constant (const signed byte) form_cursor_count#5 = FORM_CURSOR_BLINK#0/2 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $3 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Constant (const string) $12 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @" -Constant (const dword) menu::$1 = menu::$0/65536 -Constant (const word) menu::$4 = ((word))menu::$3 -Constant (const word) menu::$7 = ((word))menu::$6 -Constant (const word/signed dword/dword) menu::$10 = menu::$9/16384 -Constant (const byte/word/dword) menu::$14 = menu::$13|3 -Constant (const word) menu::$16 = menu::$15&16383 -Constant (const word) menu::$19 = menu::$18&16383 +Constant (const string) $4 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $13 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @" +Constant (const byte) gfx_mode::vic_control#0 = gfx_mode::$18|3 +Constant (const byte) gfx_mode::vic_control2#1 = gfx_mode::vic_control2#0|VIC_MCM#0 +Constant (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 = ((byte))gfx_init_plane_8bppchunky::$0 +Constant (const dword) form_mode::$1 = form_mode::$0/65536 +Constant (const word) form_mode::$4 = ((word))form_mode::$3 +Constant (const word) form_mode::$7 = ((word))form_mode::$6 +Constant (const word/signed dword/dword) form_mode::$10 = form_mode::$9/16384 +Constant (const byte/word/dword) form_mode::$14 = form_mode::$13|3 +Constant (const word) form_mode::$16 = form_mode::$15&16383 +Constant (const word) form_mode::$19 = form_mode::$18&16383 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $4 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Constant (const string) $13 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @" -Constant (const byte) menu::$2 = ((byte))menu::$1 -Constant (const byte) menu::$5 = menu::$7 -Constant (const byte) menu::$11 = ((byte))menu::$10 -Constant (const word/signed dword/dword) menu::$17 = menu::$16/64 -Constant (const word/signed dword/dword) menu::$20 = menu::$19/1024 +Constant (const string) $5 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $14 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @" +Constant (const byte) gfx_mode::vic_control#1 = gfx_mode::vic_control#0|VIC_ECM#0 +Constant (const byte) dtvSetCpuBankSegment1::cpuBankIdx#0 = gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Constant (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 = ++gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Constant (const byte) form_mode::$2 = ((byte))form_mode::$1 +Constant (const byte) form_mode::$5 = form_mode::$7 +Constant (const byte) form_mode::$11 = ((byte))form_mode::$10 +Constant (const word/signed dword/dword) form_mode::$17 = form_mode::$16/64 +Constant (const word/signed dword/dword) form_mode::$20 = form_mode::$19/1024 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $5 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" -Constant (const string) $14 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @" -Constant (const byte/word/dword) menu::$12 = 3^menu::$11 -Constant (const word/dword) menu::$21 = menu::$17|menu::$20 +Constant (const string) $6 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @" +Constant (const string) $15 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @" +Constant (const byte/word/dword) form_mode::$12 = 3^form_mode::$11 +Constant (const word/dword) form_mode::$21 = form_mode::$17|form_mode::$20 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $6 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @" -Constant (const string) $15 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @" -Constant (const byte) menu::$22 = ((byte))menu::$21 +Constant (const string) $7 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @" +Constant (const string) $16 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @" +Constant (const byte) form_mode::$22 = ((byte))form_mode::$21 Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $7 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @" -Constant (const string) $16 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @" +Constant (const string) $8 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @" +Constant (const string) $17 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @" Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) $8 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @" -Constant (const string) $17 = " 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 @" +Constant (const string) $9 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @" +Constant (const string) $18 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @"+" chunk 0 overs 0 bgcol3 00 @" Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) MENU_COLS#0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @"+"@" -Constant (const string) MENU_TEXT#0 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @"+" chunk 0 overs 0 bgcol3 00 @"+"@" +Constant (const string) FORM_COLS#0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn mmmmmmmm mmmmmmmm ooooooooo @"+" nnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @"+" nnnnnnn nnnnnnnn ooooooooo @"+"@" +Constant (const string) FORM_TEXT#0 = " DTV GfxExplorer MODE 0 8bpp pixel cell @"+" CONTROL PLANE A PLANE B VIC II @"+" bmm 0 patt p0 patt p0 screen s0 @"+" mcm 0 start 00 start 00 gfx g0 @"+" ecm 0 step 00 step 00 colors c0 @"+" hicol 0 mod 00 mod 00 bgcol0 00 @"+" line 0 bgcol1 00 @"+" colof 0 borof 0 bgcol2 00 @"+" chunk 0 overs 0 bgcol3 00 @"+"@" Succesful SSA optimization Pass2ConstantIdentification -Constant (const string) print_str_lines::str#1 = MENU_COLS#0 -Constant (const string) print_str_lines::str#2 = MENU_TEXT#0 +Constant (const string) print_str_lines::str#1 = FORM_COLS#0 +Constant (const string) print_str_lines::str#2 = FORM_TEXT#0 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::keycode#11 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#14 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#14 +Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#12 +Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#12 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 +Multiple usages for variable. Not optimizing sub-constant (byte) gfx_mode::i#2 Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 Fixing inline constructor with form_field_ptr::$2 ← *(form_line_hi#0 + form_field_ptr::y#0) w= *(form_line_lo#0 + form_field_ptr::y#0) Succesful SSA optimization Pass2FixInlineConstructors -Eliminating unused variable - keeping the phi block (byte*) print_screen#14 -Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#10 -Eliminating unused variable - keeping the phi block (byte*) print_char_cursor#11 -Eliminating unused constant (const string) $21 -Eliminating unused constant (const string) $22 -Eliminating unused constant (const string) $23 -Eliminating unused constant (const string) $24 -Eliminating unused constant (const string) $25 -Eliminating unused constant (const string) $26 -Eliminating unused constant (const string) $27 -Eliminating unused constant (const string) $28 -Eliminating unused constant (const string) $29 -Eliminating unused constant (const string) $30 -Eliminating unused constant (const string) $31 -Eliminating unused constant (const string) $32 -Eliminating unused constant (const string) $33 -Eliminating unused constant (const string) $34 -Eliminating unused constant (const string) $35 -Eliminating unused constant (const string) $36 -Eliminating unused constant (const string) $37 -Eliminating unused constant (const string) $38 -Eliminating unused constant (const string) $39 -Eliminating unused constant (const string) $40 -Eliminating unused constant (const string) $1 -Eliminating unused constant (const string) $10 +Eliminating unused variable - keeping the phi block (byte*) print_screen#11 +Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#22 +Eliminating unused variable - keeping the phi block (byte*) print_char_cursor#23 +Eliminating unused variable - keeping the phi block (byte) keyboard_modifiers#18 +Eliminating unused constant (const string) $57 +Eliminating unused constant (const string) $58 +Eliminating unused constant (const string) $59 +Eliminating unused constant (const string) $60 +Eliminating unused constant (const string) $61 +Eliminating unused constant (const string) $62 +Eliminating unused constant (const string) $63 +Eliminating unused constant (const string) $64 +Eliminating unused constant (const string) $65 +Eliminating unused constant (const string) $66 +Eliminating unused constant (const string) $67 +Eliminating unused constant (const string) $68 +Eliminating unused constant (const string) $69 +Eliminating unused constant (const string) $70 +Eliminating unused constant (const string) $71 +Eliminating unused constant (const string) $72 +Eliminating unused constant (const string) $73 +Eliminating unused constant (const string) $74 +Eliminating unused constant (const string) $75 +Eliminating unused constant (const string) $76 +Eliminating unused constant (const byte*) print_screen#0 Eliminating unused constant (const string) $2 Eliminating unused constant (const string) $11 Eliminating unused constant (const string) $3 @@ -6504,11 +8127,10 @@ Eliminating unused constant (const string) $7 Eliminating unused constant (const string) $16 Eliminating unused constant (const string) $8 Eliminating unused constant (const string) $17 +Eliminating unused constant (const string) $9 +Eliminating unused constant (const string) $18 Succesful SSA optimization PassNEliminateUnusedVars -Eliminating unused variable - keeping the phi block (byte*) print_screen#17 -Eliminating unused variable - keeping the phi block (byte*) print_line_cursor#17 -Eliminating unused variable - keeping the phi block (byte*) print_char_cursor#18 -Eliminating unused constant (const byte*) print_screen#0 +Eliminating unused constant (const byte) keyboard_modifiers#0 Succesful SSA optimization PassNEliminateUnusedVars Eliminating Noop Cast (byte*) form_field_ptr::line#0 ← ((byte*)) (word~) form_field_ptr::$2 Succesful SSA optimization Pass2NopCastElimination @@ -6517,7 +8139,6 @@ Culled Empty Block (label) print_str_lines::@2 Culled Empty Block (label) print_str_lines::@11 Culled Empty Block (label) print_ln::@2 Culled Empty Block (label) @11 -Culled Empty Block (label) print_cls::@2 Culled Empty Block (label) @15 Culled Empty Block (label) @19 Culled Empty Block (label) keyboard_event_scan::@13 @@ -6525,13 +8146,19 @@ Culled Empty Block (label) keyboard_event_scan::@5 Not culling empty block because it shares successor with its predecessor. (label) keyboard_event_scan::@21 Culled Empty Block (label) keyboard_event_scan::@12 Culled Empty Block (label) keyboard_event_get::@3 -Culled Empty Block (label) main::@7 +Culled Empty Block (label) main::@21 +Culled Empty Block (label) main::@2 +Culled Empty Block (label) main::@5 +Culled Empty Block (label) main::@22 +Culled Empty Block (label) main::@8 +Culled Empty Block (label) main::@24 Culled Empty Block (label) @23 -Culled Empty Block (label) menu::@22 -Culled Empty Block (label) menu::@3 -Culled Empty Block (label) menu::@6 -Culled Empty Block (label) menu::@23 -Culled Empty Block (label) @24 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@11 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@17 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@19 +Culled Empty Block (label) gfx_init_plane_8bppchunky::@7 +Culled Empty Block (label) form_init::@6 +Culled Empty Block (label) @28 Not culling empty block because it shares successor with its predecessor. (label) form_control::@14 Culled Empty Block (label) form_control::@6 Not culling empty block because it shares successor with its predecessor. (label) form_control::@19 @@ -6539,17 +8166,19 @@ Culled Empty Block (label) form_control::@8 Culled Empty Block (label) form_control::@9 Culled Empty Block (label) form_control::@11 Culled Empty Block (label) form_control::@13 -Culled Empty Block (label) @29 +Culled Empty Block (label) @33 Succesful SSA optimization Pass2CullEmptyBlocks Not culling empty block because it shares successor with its predecessor. (label) keyboard_event_scan::@21 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@11 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@17 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@19 Not culling empty block because it shares successor with its predecessor. (label) form_control::@14 Not culling empty block because it shares successor with its predecessor. (label) form_control::@19 -Not aliassing across scopes: print_char_cursor#22 print_screen#1 -Not aliassing across scopes: print_line_cursor#2 print_screen#1 -Not aliassing across scopes: print_line_cursor#21 print_line_cursor#2 -Not aliassing across scopes: print_cls::sc#0 print_screen#1 +Not aliassing across scopes: print_char_cursor#18 print_screen#1 +Not aliassing across scopes: print_line_cursor#16 print_screen#1 +Not aliassing across scopes: print_line_cursor#17 print_line_cursor#16 Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 -Not aliassing across scopes: keyboard_events_size#43 keyboard_events_size#24 +Not aliassing across scopes: keyboard_events_size#37 keyboard_events_size#20 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_event_scan::row#2 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_event_scan::row_scan#0 keyboard_matrix_read::return#2 @@ -6561,54 +8190,53 @@ Not aliassing across scopes: keyboard_event_pressed::return#2 keyboard_event_pre Not aliassing across scopes: keyboard_event_scan::$24 keyboard_event_pressed::return#2 Not aliassing across scopes: keyboard_event_pressed::return#3 keyboard_event_pressed::return#10 Not aliassing across scopes: keyboard_event_scan::$28 keyboard_event_pressed::return#3 -Not aliassing across scopes: form_cursor_count#13 form_cursor_count#1 -Not aliassing across scopes: keyboard_events_size#24 keyboard_events_size#22 -Not aliassing across scopes: keyboard_modifiers#10 keyboard_modifiers#20 -Not aliassing across scopes: form_field_idx#14 form_field_idx#1 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::gfxbCpuBank#4 Not aliassing across scopes: form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 Not aliassing across scopes: form_field_ptr::field_idx#0 form_render_values::idx#2 Not aliassing across scopes: form_field_ptr::return#2 form_field_ptr::return#0 Not aliassing across scopes: form_render_values::field#0 form_field_ptr::return#2 -Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#14 +Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#1 Not aliassing across scopes: form_field_ptr::return#3 form_field_ptr::return#0 Not aliassing across scopes: form_control::field#0 form_field_ptr::return#3 Not aliassing across scopes: keyboard_event_get::return#3 keyboard_event_get::return#2 Not aliassing across scopes: form_control::key_event#0 keyboard_event_get::return#3 -Not aliassing across scopes: form_field_idx#18 form_field_idx#14 -Self Phi Eliminated (byte) form_fields_cnt#28 +Not aliassing across scopes: form_field_idx#14 form_field_idx#1 +Self Phi Eliminated (byte) form_fields_cnt#34 Succesful SSA optimization Pass2SelfPhiElimination -Redundant Phi (byte) form_fields_cnt#28 (const byte) form_fields_cnt#0 +Redundant Phi (byte) form_fields_cnt#34 (const byte) form_fields_cnt#0 Succesful SSA optimization Pass2RedundantPhiElimination -Constant (const byte) form_field_idx#8 = form_fields_cnt#0-1 +Constant (const byte) form_field_idx#6 = form_fields_cnt#0-1 Succesful SSA optimization Pass2ConstantIdentification -Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::keycode#11 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#14 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#14 +Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#12 +Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#12 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 +Multiple usages for variable. Not optimizing sub-constant (byte) gfx_mode::i#2 Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 Not culling empty block because it shares successor with its predecessor. (label) keyboard_event_scan::@21 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@11 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@17 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@19 Not culling empty block because it shares successor with its predecessor. (label) form_control::@14 Not culling empty block because it shares successor with its predecessor. (label) form_control::@19 Not culling empty block because it shares successor with its predecessor. (label) form_control::@21 -Not aliassing across scopes: print_char_cursor#22 print_screen#1 -Not aliassing across scopes: print_line_cursor#2 print_screen#1 -Not aliassing across scopes: print_line_cursor#21 print_line_cursor#2 -Not aliassing across scopes: print_cls::sc#0 print_screen#1 +Not aliassing across scopes: print_char_cursor#18 print_screen#1 +Not aliassing across scopes: print_line_cursor#16 print_screen#1 +Not aliassing across scopes: print_line_cursor#17 print_line_cursor#16 Not aliassing across scopes: print_screen#1 print_set_screen::screen#2 -Not aliassing across scopes: keyboard_events_size#43 keyboard_events_size#24 +Not aliassing across scopes: keyboard_events_size#37 keyboard_events_size#20 Not aliassing across scopes: keyboard_matrix_read::rowid#0 keyboard_event_scan::row#2 Not aliassing across scopes: keyboard_matrix_read::return#2 keyboard_matrix_read::return#0 Not aliassing across scopes: keyboard_event_scan::row_scan#0 keyboard_matrix_read::return#2 @@ -6620,39 +8248,41 @@ Not aliassing across scopes: keyboard_event_pressed::return#2 keyboard_event_pre Not aliassing across scopes: keyboard_event_scan::$24 keyboard_event_pressed::return#2 Not aliassing across scopes: keyboard_event_pressed::return#3 keyboard_event_pressed::return#10 Not aliassing across scopes: keyboard_event_scan::$28 keyboard_event_pressed::return#3 -Not aliassing across scopes: form_cursor_count#13 form_cursor_count#1 -Not aliassing across scopes: keyboard_events_size#24 keyboard_events_size#22 -Not aliassing across scopes: keyboard_modifiers#10 keyboard_modifiers#20 -Not aliassing across scopes: form_field_idx#14 form_field_idx#1 +Not aliassing across scopes: dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::gfxbCpuBank#4 Not aliassing across scopes: form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 Not aliassing across scopes: form_field_ptr::field_idx#0 form_render_values::idx#2 Not aliassing across scopes: form_field_ptr::return#2 form_field_ptr::return#0 Not aliassing across scopes: form_render_values::field#0 form_field_ptr::return#2 -Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#14 +Not aliassing across scopes: form_field_ptr::field_idx#1 form_field_idx#1 Not aliassing across scopes: form_field_ptr::return#3 form_field_ptr::return#0 Not aliassing across scopes: form_control::field#0 form_field_ptr::return#3 Not aliassing across scopes: keyboard_event_get::return#3 keyboard_event_get::return#2 Not aliassing across scopes: form_control::key_event#0 keyboard_event_get::return#3 -Not aliassing across scopes: form_field_idx#18 form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte*) print_screen#1 +Not aliassing across scopes: form_field_idx#14 form_field_idx#1 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::keycode#11 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#14 -Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#14 +Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#12 +Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_events_size#12 Multiple usages for variable. Not optimizing sub-constant (byte) keyboard_event_scan::row#2 +Multiple usages for variable. Not optimizing sub-constant (byte) gfx_mode::i#2 Multiple usages for variable. Not optimizing sub-constant (byte*) form_set_screen::line#2 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 -Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#14 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 +Multiple usages for variable. Not optimizing sub-constant (byte) form_field_idx#1 OPTIMIZING CONTROL FLOW GRAPH +Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 +Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#2 +Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#0 +Inlining constant with var siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#0 +Inlining constant with different constant siblings (const byte) dtvSetCpuBankSegment1::cpuBankIdx#0 Inlining constant with var siblings (const string) print_str_lines::str#1 Inlining constant with var siblings (const string) print_str_lines::str#1 Inlining constant with var siblings (const string) print_str_lines::str#1 @@ -6662,7 +8292,9 @@ Inlining constant with var siblings (const string) print_str_lines::str#2 Inlining constant with var siblings (const string) print_str_lines::str#2 Inlining constant with var siblings (const string) print_str_lines::str#2 Inlining constant with var siblings (const byte*) print_set_screen::screen#0 +Inlining constant with different constant siblings (const byte*) print_set_screen::screen#0 Inlining constant with var siblings (const byte*) print_set_screen::screen#1 +Inlining constant with different constant siblings (const byte*) print_set_screen::screen#1 Inlining constant with var siblings (const byte) keyboard_event_scan::keycode#0 Inlining constant with var siblings (const byte) keyboard_event_scan::keycode#0 Inlining constant with var siblings (const byte) keyboard_event_scan::keycode#0 @@ -6679,8 +8311,67 @@ Inlining constant with var siblings (const byte) keyboard_event_pressed::keycode Inlining constant with var siblings (const byte) keyboard_event_get::return#1 Inlining constant with var siblings (const byte) keyboard_event_get::return#1 Inlining constant with var siblings (const byte) keyboard_event_get::return#1 -Inlining constant with var siblings (const byte) menu::i#0 -Inlining constant with var siblings (const byte) menu::i#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with different constant siblings (const byte) gfx_mode::dtv_control#0 +Inlining constant with var siblings (const byte) gfx_mode::i#0 +Inlining constant with var siblings (const byte) gfx_mode::i#0 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with different constant siblings (const byte) gfx_mode::dtv_control#1 +Inlining constant with var siblings (const byte) gfx_mode::vic_control2#0 +Inlining constant with different constant siblings (const byte) gfx_mode::vic_control2#0 +Inlining constant with var siblings (const byte) gfx_mode::vic_control#0 +Inlining constant with var siblings (const byte) gfx_mode::vic_control#0 +Inlining constant with var siblings (const byte) gfx_mode::vic_control#0 +Inlining constant with different constant siblings (const byte) gfx_mode::vic_control#0 +Inlining constant with var siblings (const byte) gfx_mode::vic_control2#1 +Inlining constant with var siblings (const byte) gfx_mode::vic_control#1 +Inlining constant with var siblings (const byte) gfx_mode::vic_control#1 +Inlining constant with var siblings (const byte) gfx_mode::vic_control#1 +Inlining constant with different constant siblings (const byte) gfx_mode::vic_control#1 +Inlining constant with var siblings (const byte*) gfx_init_plane_8bppchunky::gfxb#0 +Inlining constant with var siblings (const byte*) gfx_init_plane_8bppchunky::gfxb#0 +Inlining constant with var siblings (const byte*) gfx_init_plane_8bppchunky::gfxb#0 +Inlining constant with var siblings (const byte*) gfx_init_plane_8bppchunky::gfxb#0 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::y#0 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::y#0 +Inlining constant with var siblings (const word) gfx_init_plane_8bppchunky::x#0 +Inlining constant with var siblings (const word) gfx_init_plane_8bppchunky::x#0 +Inlining constant with var siblings (const byte*) gfx_init_plane_8bppchunky::gfxb#2 +Inlining constant with var siblings (const byte*) gfx_init_plane_8bppchunky::gfxb#2 +Inlining constant with var siblings (const byte*) gfx_init_plane_8bppchunky::gfxb#2 +Inlining constant with var siblings (const byte*) gfx_init_plane_8bppchunky::gfxb#2 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Inlining constant with different constant siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#0 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 +Inlining constant with var siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 +Inlining constant with different constant siblings (const byte) gfx_init_plane_8bppchunky::gfxbCpuBank#1 +Inlining constant with var siblings (const byte) form_mode::i#0 +Inlining constant with var siblings (const byte) form_mode::i#0 Inlining constant with var siblings (const byte) form_set_screen::y#0 Inlining constant with var siblings (const byte) form_set_screen::y#0 Inlining constant with var siblings (const byte) form_render_values::idx#0 @@ -6694,19 +8385,6 @@ Inlining constant with var siblings (const byte) keyboard_events_size#0 Inlining constant with var siblings (const byte) keyboard_events_size#0 Inlining constant with var siblings (const byte) keyboard_events_size#0 Inlining constant with var siblings (const byte) keyboard_events_size#0 -Inlining constant with var siblings (const byte) keyboard_events_size#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#0 -Inlining constant with different constant siblings (const byte) keyboard_modifiers#0 -Inlining constant with var siblings (const byte) keyboard_modifiers#1 -Inlining constant with var siblings (const byte) keyboard_modifiers#1 Inlining constant with var siblings (const byte) keyboard_modifiers#1 Inlining constant with var siblings (const byte) keyboard_modifiers#1 Inlining constant with var siblings (const byte) keyboard_modifiers#1 @@ -6715,22 +8393,18 @@ Inlining constant with var siblings (const byte) keyboard_modifiers#1 Inlining constant with var siblings (const byte) keyboard_modifiers#1 Inlining constant with var siblings (const byte) keyboard_modifiers#1 Inlining constant with different constant siblings (const byte) keyboard_modifiers#1 -Inlining constant with var siblings (const byte) form_field_idx#35 -Inlining constant with var siblings (const byte) form_field_idx#35 -Inlining constant with var siblings (const byte) form_field_idx#35 -Inlining constant with var siblings (const byte) form_field_idx#35 -Inlining constant with var siblings (const byte) form_field_idx#35 -Inlining constant with var siblings (const byte) form_field_idx#35 -Inlining constant with different constant siblings (const byte) form_field_idx#35 -Inlining constant with var siblings (const byte) form_field_idx#7 -Inlining constant with var siblings (const byte) form_field_idx#7 -Inlining constant with var siblings (const byte) form_field_idx#7 -Inlining constant with var siblings (const byte) form_field_idx#7 -Inlining constant with var siblings (const byte) form_field_idx#7 -Inlining constant with var siblings (const byte) form_field_idx#7 -Inlining constant with different constant siblings (const byte) form_field_idx#7 -Inlining constant with var siblings (const byte) keyboard_modifiers#2 -Inlining constant with var siblings (const byte) keyboard_modifiers#2 +Inlining constant with var siblings (const byte) form_field_idx#2 +Inlining constant with var siblings (const byte) form_field_idx#2 +Inlining constant with var siblings (const byte) form_field_idx#2 +Inlining constant with var siblings (const byte) form_field_idx#2 +Inlining constant with var siblings (const byte) form_field_idx#2 +Inlining constant with different constant siblings (const byte) form_field_idx#2 +Inlining constant with var siblings (const byte) form_field_idx#5 +Inlining constant with var siblings (const byte) form_field_idx#5 +Inlining constant with var siblings (const byte) form_field_idx#5 +Inlining constant with var siblings (const byte) form_field_idx#5 +Inlining constant with var siblings (const byte) form_field_idx#5 +Inlining constant with different constant siblings (const byte) form_field_idx#5 Inlining constant with var siblings (const byte) keyboard_modifiers#2 Inlining constant with var siblings (const byte) keyboard_modifiers#2 Inlining constant with var siblings (const byte) keyboard_modifiers#2 @@ -6739,92 +8413,112 @@ Inlining constant with var siblings (const byte) keyboard_modifiers#2 Inlining constant with var siblings (const byte) keyboard_modifiers#2 Inlining constant with var siblings (const byte) keyboard_modifiers#2 Inlining constant with different constant siblings (const byte) keyboard_modifiers#2 -Inlining constant with different constant siblings (const byte) keyboard_modifiers#2 -Inlining constant with var siblings (const signed byte) form_cursor_count#25 -Inlining constant with var siblings (const signed byte) form_cursor_count#25 -Inlining constant with var siblings (const signed byte) form_cursor_count#25 -Inlining constant with var siblings (const signed byte) form_cursor_count#25 -Inlining constant with var siblings (const signed byte) form_cursor_count#25 -Inlining constant with different constant siblings (const signed byte) form_cursor_count#25 -Inlining constant with var siblings (const signed byte) form_cursor_count#6 -Inlining constant with var siblings (const signed byte) form_cursor_count#6 -Inlining constant with var siblings (const signed byte) form_cursor_count#6 -Inlining constant with var siblings (const signed byte) form_cursor_count#6 -Inlining constant with var siblings (const signed byte) form_cursor_count#6 -Inlining constant with different constant siblings (const signed byte) form_cursor_count#6 -Inlining constant with different constant siblings (const signed byte) form_cursor_count#6 -Inlining constant with var siblings (const signed byte) form_cursor_count#7 -Inlining constant with var siblings (const signed byte) form_cursor_count#7 -Inlining constant with var siblings (const signed byte) form_cursor_count#7 -Inlining constant with var siblings (const signed byte) form_cursor_count#7 -Inlining constant with var siblings (const signed byte) form_cursor_count#7 -Inlining constant with different constant siblings (const signed byte) form_cursor_count#7 -Inlining constant with var siblings (const byte) form_field_idx#8 -Inlining constant with var siblings (const byte) form_field_idx#8 -Inlining constant with var siblings (const byte) form_field_idx#8 -Inlining constant with var siblings (const byte) form_field_idx#8 -Inlining constant with var siblings (const byte) form_field_idx#8 -Inlining constant with var siblings (const byte) form_field_idx#8 -Inlining constant with different constant siblings (const byte) form_field_idx#8 -Inlining constant with different constant siblings (const byte) form_field_idx#8 -Constant inlined form_field_idx#35 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined keyboard_modifiers#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Inlining constant with var siblings (const signed byte) form_cursor_count#19 +Inlining constant with var siblings (const signed byte) form_cursor_count#19 +Inlining constant with var siblings (const signed byte) form_cursor_count#19 +Inlining constant with var siblings (const signed byte) form_cursor_count#19 +Inlining constant with different constant siblings (const signed byte) form_cursor_count#19 +Inlining constant with var siblings (const signed byte) form_cursor_count#4 +Inlining constant with var siblings (const signed byte) form_cursor_count#4 +Inlining constant with var siblings (const signed byte) form_cursor_count#4 +Inlining constant with var siblings (const signed byte) form_cursor_count#4 +Inlining constant with different constant siblings (const signed byte) form_cursor_count#4 +Inlining constant with different constant siblings (const signed byte) form_cursor_count#4 +Inlining constant with var siblings (const signed byte) form_cursor_count#5 +Inlining constant with var siblings (const signed byte) form_cursor_count#5 +Inlining constant with var siblings (const signed byte) form_cursor_count#5 +Inlining constant with var siblings (const signed byte) form_cursor_count#5 +Inlining constant with different constant siblings (const signed byte) form_cursor_count#5 +Inlining constant with var siblings (const byte) form_field_idx#6 +Inlining constant with var siblings (const byte) form_field_idx#6 +Inlining constant with var siblings (const byte) form_field_idx#6 +Inlining constant with var siblings (const byte) form_field_idx#6 +Inlining constant with var siblings (const byte) form_field_idx#6 +Inlining constant with different constant siblings (const byte) form_field_idx#6 +Inlining constant with different constant siblings (const byte) form_field_idx#6 +Constant inlined dtvSetCpuBankSegment1::cpuBankIdx#0 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 +Constant inlined gfx_mode::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined dtvSetCpuBankSegment1::cpuBankIdx#2 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 Constant inlined keyboard_modifiers#2 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) KEY_MODIFIER_LSHIFT#0 Constant inlined keyboard_modifiers#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined form_field_idx#8 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 -Constant inlined form_field_idx#7 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined menu::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined form_field_idx#6 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 +Constant inlined form_field_idx#5 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined gfx_init_plane_8bppchunky::gfxb#0 = ((byte*))(word/signed word/dword/signed dword) 16384 +Constant inlined gfx_init_plane_8bppchunky::gfxb#2 = ((byte*))(word/signed word/dword/signed dword) 16384 +Constant inlined form_field_idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined gfx_init_plane_8bppchunky::x#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined gfx_mode::dtv_control#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined gfx_mode::vic_control#1 = (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 +Constant inlined gfx_mode::dtv_control#1 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) DTV_LINEAR#0 +Constant inlined gfx_mode::vic_control#0 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 +Constant inlined form_mode::i#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 Constant inlined keyboard_event_scan::keycode#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined print_str_lines::str#2 = (const string) MENU_TEXT#0 -Constant inlined print_str_lines::str#1 = (const string) MENU_COLS#0 -Constant inlined form_cursor_count#25 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 -Constant inlined menu::$9 = ((word))(const byte*) menu::CHARSET#0 +Constant inlined print_str_lines::str#2 = (const string) FORM_TEXT#0 +Constant inlined print_str_lines::str#1 = (const string) FORM_COLS#0 +Constant inlined gfx_init_plane_8bppchunky::gfxbCpuBank#0 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 +Constant inlined gfx_init_plane_8bppchunky::gfxbCpuBank#1 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 +Constant inlined form_mode::$10 = ((word))(const byte*) FORM_CHARSET#0/(word/signed word/dword/signed dword) 16384 +Constant inlined form_mode::$12 = (byte/signed byte/word/signed word/dword/signed dword) 3^((byte))((word))(const byte*) FORM_CHARSET#0/(word/signed word/dword/signed dword) 16384 +Constant inlined form_mode::$11 = ((byte))((word))(const byte*) FORM_CHARSET#0/(word/signed word/dword/signed dword) 16384 Constant inlined form_control::$3 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 -Constant inlined menu::$7 = ((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 -Constant inlined menu::$8 = >((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 +Constant inlined $56 = (const string) print_hextab#0 Constant inlined keyboard_event_scan::col#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined menu::$5 = <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 -Constant inlined menu::$6 = (const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 Constant inlined keyboard_event_scan::row#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined form_mode::$18 = ((word))(const byte*) FORM_CHARSET#0 +Constant inlined form_mode::$17 = ((word))(const byte*) FORM_SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64 +Constant inlined form_mode::$0 = ((dword))(const byte*) FORM_CHARSET#0 +Constant inlined form_mode::$1 = ((dword))(const byte*) FORM_CHARSET#0/(dword/signed dword) 65536 +Constant inlined form_mode::$19 = ((word))(const byte*) FORM_CHARSET#0&(word/signed word/dword/signed dword) 16383 +Constant inlined gfx_mode::$18 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0 +Constant inlined form_mode::$14 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 +Constant inlined form_mode::$2 = ((byte))((dword))(const byte*) FORM_CHARSET#0/(dword/signed dword) 65536 +Constant inlined form_mode::$3 = (const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 +Constant inlined form_mode::$13 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0 Constant inlined form_set_screen::y#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined form_set_screen::screen#0 = (const byte*) menu::SCREEN#0 -Constant inlined menu::$16 = ((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383 -Constant inlined menu::$17 = ((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64 -Constant inlined menu::$14 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 -Constant inlined menu::$15 = ((word))(const byte*) menu::SCREEN#0 -Constant inlined menu::$18 = ((word))(const byte*) menu::CHARSET#0 -Constant inlined print_set_screen::screen#0 = (const byte*) COLS#0 -Constant inlined menu::$19 = ((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383 -Constant inlined print_set_screen::screen#1 = (const byte*) menu::SCREEN#0 -Constant inlined menu::$3 = (const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 -Constant inlined menu::$4 = ((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 -Constant inlined menu::$1 = ((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 -Constant inlined menu::$2 = ((byte))((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 -Constant inlined menu::$12 = (byte/signed byte/word/signed word/dword/signed dword) 3^((byte))((word))(const byte*) menu::CHARSET#0/(word/signed word/dword/signed dword) 16384 -Constant inlined menu::$0 = ((dword))(const byte*) menu::CHARSET#0 -Constant inlined menu::$13 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0 -Constant inlined menu::$10 = ((word))(const byte*) menu::CHARSET#0/(word/signed word/dword/signed dword) 16384 -Constant inlined menu::$11 = ((byte))((word))(const byte*) menu::CHARSET#0/(word/signed word/dword/signed dword) 16384 +Constant inlined form_mode::$4 = ((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 +Constant inlined form_mode::$16 = ((word))(const byte*) FORM_SCREEN#0&(word/signed word/dword/signed dword) 16383 +Constant inlined form_mode::$15 = ((word))(const byte*) FORM_SCREEN#0 +Constant inlined form_mode::$5 = <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 +Constant inlined form_mode::$6 = (const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 +Constant inlined form_cursor_count#19 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 +Constant inlined form_mode::$7 = ((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 +Constant inlined form_mode::$8 = >((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 +Constant inlined form_mode::$9 = ((word))(const byte*) FORM_CHARSET#0 +Constant inlined print_set_screen::screen#0 = (const byte*) COLS#0+(const word) FORM_OFFSET#0 +Constant inlined print_set_screen::screen#1 = (const byte*) FORM_SCREEN#0+(const word) FORM_OFFSET#0 +Constant inlined gfx_init_plane_8bppchunky::y#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 +Constant inlined form_mode::$21 = ((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 Constant inlined form_render_values::idx#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined $20 = (const string) print_hextab#0 +Constant inlined form_mode::$20 = ((word))(const byte*) FORM_CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 +Constant inlined form_mode::$22 = ((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 +Constant inlined gfx_init_plane_8bppchunky::$0 = (const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 Constant inlined keyboard_event_pressed::keycode#3 = (const byte) KEY_COMMODORE#0 Constant inlined keyboard_event_pressed::keycode#2 = (const byte) KEY_CTRL#0 Constant inlined keyboard_event_pressed::keycode#1 = (const byte) KEY_RSHIFT#0 Constant inlined keyboard_event_pressed::keycode#0 = (const byte) KEY_LSHIFT#0 -Constant inlined menu::$20 = ((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 +Constant inlined gfx_mode::vic_control2#1 = (const byte) VIC_CSEL#0|(const byte) VIC_MCM#0 +Constant inlined gfx_mode::vic_control2#0 = (const byte) VIC_CSEL#0 +Constant inlined gfx_mode::$31 = ((dword))(const byte*) FORM_SCREEN#0 +Constant inlined gfx_init_plane_8bppchunky::$10 = (word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 +Constant inlined main::$3 = (byte/signed byte/word/signed word/dword/signed dword) 8*(byte/signed byte/word/signed word/dword/signed dword) 16 +Constant inlined form_cursor_count#4 = (const signed byte) FORM_CURSOR_BLINK#0 Constant inlined keyboard_event_get::return#1 = (byte/word/signed word/dword/signed dword) 255 -Constant inlined form_cursor_count#6 = (const signed byte) FORM_CURSOR_BLINK#0 +Constant inlined main::$4 = (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 +Constant inlined form_cursor_count#5 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 Constant inlined keyboard_events_size#0 = (byte/signed byte/word/signed word/dword/signed dword) 0 -Constant inlined form_cursor_count#7 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 -Constant inlined menu::$21 = ((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 -Constant inlined menu::$22 = ((byte))((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 Succesful SSA optimization Pass2ConstantInlining -Block Sequence Planned @begin @28 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@8 menu::@15 menu::@16 menu::@17 menu::@18 menu::@19 menu::@20 menu::@21 menu::@2 menu::@return menu::@5 menu::@7 form_control form_control::@28 form_control::@14 form_control::@1 form_control::@15 form_control::@3 form_control::@29 form_control::@30 form_control::@17 form_control::@18 form_control::@19 form_control::@7 form_control::@return form_control::@5 form_control::@21 form_control::@4 form_control::@23 form_control::@24 form_control::@25 form_control::@12 form_control::@10 form_control::@27 form_control::@2 keyboard_event_get keyboard_event_get::@return keyboard_event_get::@1 keyboard_event_scan keyboard_event_scan::@1 keyboard_event_scan::@25 keyboard_event_scan::@3 keyboard_event_scan::@14 keyboard_event_scan::@15 keyboard_event_scan::@16 keyboard_event_scan::@4 keyboard_event_scan::@18 keyboard_event_scan::@8 keyboard_event_scan::@20 keyboard_event_scan::@26 keyboard_event_scan::@21 keyboard_event_scan::@9 keyboard_event_scan::@27 keyboard_event_scan::@22 keyboard_event_scan::@10 keyboard_event_scan::@28 keyboard_event_scan::@23 keyboard_event_scan::@11 keyboard_event_scan::@29 keyboard_event_scan::@24 keyboard_event_scan::@return keyboard_event_scan::@6 keyboard_event_scan::@2 keyboard_event_pressed keyboard_event_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_set_screen form_set_screen::@1 form_set_screen::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return -Added new block during phi lifting menu::@24(between menu::@1 and menu::@1) -Added new block during phi lifting form_control::@31(between form_control::@28 and form_control::@1) -Added new block during phi lifting form_control::@32(between form_control::@18 and form_control::@7) -Added new block during phi lifting form_control::@33(between form_control::@5 and form_control::@7) -Added new block during phi lifting form_control::@34(between form_control::@4 and form_control::@return) +Block Sequence Planned @begin @32 @end main main::@19 main::@20 main::@1 main::@return main::@4 main::@6 main::@7 main::@9 main::@23 gfx_mode gfx_mode::@11 gfx_mode::@1 gfx_mode::@12 gfx_mode::@2 gfx_mode::@13 gfx_mode::@3 gfx_mode::@14 gfx_mode::@4 gfx_mode::@15 gfx_mode::@5 gfx_mode::@16 gfx_mode::@6 gfx_mode::@17 gfx_mode::@7 gfx_mode::@18 gfx_mode::@8 gfx_mode::@19 gfx_mode::@9 gfx_mode::@10 gfx_mode::@return form_control form_control::@29 form_control::@14 form_control::@1 form_control::@15 form_control::@3 form_control::@30 form_control::@31 form_control::@17 form_control::@18 form_control::@19 form_control::@7 form_control::@return form_control::@5 form_control::@21 form_control::@4 form_control::@23 form_control::@24 form_control::@25 form_control::@12 form_control::@10 form_control::@27 form_control::@2 keyboard_event_get keyboard_event_get::@return keyboard_event_get::@1 keyboard_event_scan keyboard_event_scan::@1 keyboard_event_scan::@25 keyboard_event_scan::@3 keyboard_event_scan::@14 keyboard_event_scan::@15 keyboard_event_scan::@16 keyboard_event_scan::@4 keyboard_event_scan::@18 keyboard_event_scan::@8 keyboard_event_scan::@20 keyboard_event_scan::@26 keyboard_event_scan::@21 keyboard_event_scan::@9 keyboard_event_scan::@27 keyboard_event_scan::@22 keyboard_event_scan::@10 keyboard_event_scan::@28 keyboard_event_scan::@23 keyboard_event_scan::@11 keyboard_event_scan::@29 keyboard_event_scan::@24 keyboard_event_scan::@return keyboard_event_scan::@6 keyboard_event_scan::@2 keyboard_event_pressed keyboard_event_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_mode form_mode::@1 form_mode::@2 form_mode::@return form_init form_init::@1 form_init::@2 form_init::@3 form_init::@4 form_init::@5 form_init::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_set_screen form_set_screen::@1 form_set_screen::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_set_screen print_set_screen::@return gfx_init gfx_init::@return gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@6 gfx_init_plane_8bppchunky::@return dtvSetCpuBankSegment1 dtvSetCpuBankSegment1::@return keyboard_init keyboard_init::@return +Added new block during phi lifting gfx_mode::@21(between gfx_mode::@1 and gfx_mode::@2) +Added new block during phi lifting gfx_mode::@22(between gfx_mode::@2 and gfx_mode::@3) +Added new block during phi lifting gfx_mode::@23(between gfx_mode::@3 and gfx_mode::@4) +Added new block during phi lifting gfx_mode::@24(between gfx_mode::@4 and gfx_mode::@5) +Added new block during phi lifting gfx_mode::@25(between gfx_mode::@5 and gfx_mode::@6) +Added new block during phi lifting gfx_mode::@26(between gfx_mode::@7 and gfx_mode::@8) +Added new block during phi lifting gfx_mode::@27(between gfx_mode::@10 and gfx_mode::@10) +Added new block during phi lifting form_control::@32(between form_control::@29 and form_control::@1) +Added new block during phi lifting form_control::@33(between form_control::@18 and form_control::@7) +Added new block during phi lifting form_control::@34(between form_control::@5 and form_control::@7) +Added new block during phi lifting form_control::@35(between form_control::@4 and form_control::@return) Added new block during phi lifting keyboard_event_get::@7(between keyboard_event_get and keyboard_event_get::@return) Fixing phi predecessor for keyboard_event_get::return#2 to new block ( keyboard_event_get -> keyboard_event_get::@7 ) during phi lifting. Added new block during phi lifting keyboard_event_scan::@30(between keyboard_event_scan::@8 and keyboard_event_scan::@1) @@ -6836,44 +8530,57 @@ Added new block during phi lifting keyboard_event_scan::@34(between keyboard_eve Added new block during phi lifting keyboard_event_scan::@35(between keyboard_event_scan::@27 and keyboard_event_scan::@10) Added new block during phi lifting keyboard_event_scan::@36(between keyboard_event_scan::@28 and keyboard_event_scan::@11) Added new block during phi lifting keyboard_event_scan::@37(between keyboard_event_scan::@29 and keyboard_event_scan::@return) +Added new block during phi lifting form_mode::@3(between form_mode::@1 and form_mode::@1) Added new block during phi lifting form_render_values::@4(between form_render_values::@3 and form_render_values::@1) Added new block during phi lifting form_set_screen::@3(between form_set_screen::@1 and form_set_screen::@1) Added new block during phi lifting print_str_lines::@12(between print_str_lines::@1 and print_str_lines::@4) Added new block during phi lifting print_str_lines::@13(between print_str_lines::@5 and print_str_lines::@4) Added new block during phi lifting print_str_lines::@14(between print_str_lines::@4 and print_str_lines::@5) Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1) -Added new block during phi lifting print_cls::@3(between print_cls::@1 and print_cls::@1) -Block Sequence Planned @begin @28 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@8 menu::@15 menu::@16 menu::@17 menu::@18 menu::@19 menu::@20 menu::@21 menu::@2 menu::@return menu::@5 menu::@7 menu::@24 form_control form_control::@28 form_control::@14 form_control::@1 form_control::@15 form_control::@3 form_control::@29 form_control::@30 form_control::@17 form_control::@18 form_control::@19 form_control::@7 form_control::@return form_control::@32 form_control::@5 form_control::@21 form_control::@33 form_control::@4 form_control::@23 form_control::@24 form_control::@25 form_control::@12 form_control::@10 form_control::@27 form_control::@34 form_control::@2 form_control::@31 keyboard_event_get keyboard_event_get::@7 keyboard_event_get::@return keyboard_event_get::@1 keyboard_event_scan keyboard_event_scan::@1 keyboard_event_scan::@25 keyboard_event_scan::@32 keyboard_event_scan::@3 keyboard_event_scan::@14 keyboard_event_scan::@15 keyboard_event_scan::@16 keyboard_event_scan::@4 keyboard_event_scan::@18 keyboard_event_scan::@8 keyboard_event_scan::@20 keyboard_event_scan::@26 keyboard_event_scan::@21 keyboard_event_scan::@9 keyboard_event_scan::@27 keyboard_event_scan::@22 keyboard_event_scan::@10 keyboard_event_scan::@28 keyboard_event_scan::@23 keyboard_event_scan::@11 keyboard_event_scan::@29 keyboard_event_scan::@24 keyboard_event_scan::@return keyboard_event_scan::@37 keyboard_event_scan::@36 keyboard_event_scan::@35 keyboard_event_scan::@30 keyboard_event_scan::@31 keyboard_event_scan::@6 keyboard_event_scan::@34 keyboard_event_scan::@33 keyboard_event_scan::@2 keyboard_event_pressed keyboard_event_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_render_values::@4 form_set_screen form_set_screen::@1 form_set_screen::@return form_set_screen::@3 print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@12 print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_str_lines::@13 print_str_lines::@14 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_cls print_cls::@1 print_cls::@return print_cls::@3 print_set_screen print_set_screen::@return +Added new block during phi lifting gfx_init_plane_8bppchunky::@10(between gfx_init_plane_8bppchunky::@5 and gfx_init_plane_8bppchunky::@1) +Added new block during phi lifting gfx_init_plane_8bppchunky::@11(between gfx_init_plane_8bppchunky::@3 and gfx_init_plane_8bppchunky::@2) +Added new block during phi lifting gfx_init_plane_8bppchunky::@12(between gfx_init_plane_8bppchunky::@2 and gfx_init_plane_8bppchunky::@3) +Block Sequence Planned @begin @32 @end main main::@19 main::@20 main::@1 main::@return main::@4 main::@6 main::@7 main::@9 main::@23 gfx_mode gfx_mode::@11 gfx_mode::@1 gfx_mode::@12 gfx_mode::@2 gfx_mode::@13 gfx_mode::@3 gfx_mode::@14 gfx_mode::@4 gfx_mode::@15 gfx_mode::@5 gfx_mode::@16 gfx_mode::@6 gfx_mode::@17 gfx_mode::@7 gfx_mode::@18 gfx_mode::@8 gfx_mode::@19 gfx_mode::@9 gfx_mode::@10 gfx_mode::@return gfx_mode::@27 gfx_mode::@26 gfx_mode::@25 gfx_mode::@24 gfx_mode::@23 gfx_mode::@22 gfx_mode::@21 form_control form_control::@29 form_control::@14 form_control::@1 form_control::@15 form_control::@3 form_control::@30 form_control::@31 form_control::@17 form_control::@18 form_control::@19 form_control::@7 form_control::@return form_control::@33 form_control::@5 form_control::@21 form_control::@34 form_control::@4 form_control::@23 form_control::@24 form_control::@25 form_control::@12 form_control::@10 form_control::@27 form_control::@35 form_control::@2 form_control::@32 keyboard_event_get keyboard_event_get::@7 keyboard_event_get::@return keyboard_event_get::@1 keyboard_event_scan keyboard_event_scan::@1 keyboard_event_scan::@25 keyboard_event_scan::@32 keyboard_event_scan::@3 keyboard_event_scan::@14 keyboard_event_scan::@15 keyboard_event_scan::@16 keyboard_event_scan::@4 keyboard_event_scan::@18 keyboard_event_scan::@8 keyboard_event_scan::@20 keyboard_event_scan::@26 keyboard_event_scan::@21 keyboard_event_scan::@9 keyboard_event_scan::@27 keyboard_event_scan::@22 keyboard_event_scan::@10 keyboard_event_scan::@28 keyboard_event_scan::@23 keyboard_event_scan::@11 keyboard_event_scan::@29 keyboard_event_scan::@24 keyboard_event_scan::@return keyboard_event_scan::@37 keyboard_event_scan::@36 keyboard_event_scan::@35 keyboard_event_scan::@30 keyboard_event_scan::@31 keyboard_event_scan::@6 keyboard_event_scan::@34 keyboard_event_scan::@33 keyboard_event_scan::@2 keyboard_event_pressed keyboard_event_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_mode form_mode::@1 form_mode::@2 form_mode::@return form_mode::@3 form_init form_init::@1 form_init::@2 form_init::@3 form_init::@4 form_init::@5 form_init::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_render_values::@4 form_set_screen form_set_screen::@1 form_set_screen::@return form_set_screen::@3 print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@12 print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_str_lines::@13 print_str_lines::@14 print_ln print_ln::@1 print_ln::@return print_ln::@3 print_set_screen print_set_screen::@return gfx_init gfx_init::@return gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@6 gfx_init_plane_8bppchunky::@return gfx_init_plane_8bppchunky::@10 gfx_init_plane_8bppchunky::@11 gfx_init_plane_8bppchunky::@12 dtvSetCpuBankSegment1 dtvSetCpuBankSegment1::@return keyboard_init keyboard_init::@return Adding NOP phi() at start of @begin -Adding NOP phi() at start of @28 +Adding NOP phi() at start of @32 Adding NOP phi() at start of @end -Adding NOP phi() at start of main::@2 -Adding NOP phi() at start of menu::@15 -Adding NOP phi() at start of menu::@16 -Adding NOP phi() at start of menu::@17 -Adding NOP phi() at start of menu::@18 -Adding NOP phi() at start of menu::@19 -Adding NOP phi() at start of menu::@20 -Adding NOP phi() at start of menu::@21 -Adding NOP phi() at start of menu::@7 +Adding NOP phi() at start of main::@19 +Adding NOP phi() at start of main::@20 +Adding NOP phi() at start of main::@6 +Adding NOP phi() at start of main::@9 +Adding NOP phi() at start of main::@23 +Adding NOP phi() at start of gfx_mode::@11 +Adding NOP phi() at start of gfx_mode::@17 +Adding NOP phi() at start of gfx_mode::@19 Adding NOP phi() at start of form_control::@14 Adding NOP phi() at start of form_control::@3 -Adding NOP phi() at start of form_control::@29 +Adding NOP phi() at start of form_control::@30 Adding NOP phi() at start of form_control::@19 Adding NOP phi() at start of form_control::@21 Adding NOP phi() at start of keyboard_event_scan::@20 Adding NOP phi() at start of keyboard_event_scan::@21 +Adding NOP phi() at start of form_init +Adding NOP phi() at start of form_init::@1 +Adding NOP phi() at start of form_init::@2 +Adding NOP phi() at start of form_init::@3 +Adding NOP phi() at start of form_init::@4 +Adding NOP phi() at start of form_init::@5 Adding NOP phi() at start of form_render_values Adding NOP phi() at start of form_set_screen Adding NOP phi() at start of print_str_lines::@9 +Adding NOP phi() at start of gfx_init +Adding NOP phi() at start of gfx_init_plane_8bppchunky +Adding NOP phi() at start of gfx_init_plane_8bppchunky::@6 CALL GRAPH Calls in [] to main:2 -Calls in [main] to menu:10 -Calls in [menu] to print_set_screen:30 print_cls:32 print_str_lines:34 print_set_screen:36 print_cls:38 print_str_lines:40 form_set_screen:42 form_render_values:44 form_control:54 -Calls in [form_control] to form_field_ptr:62 keyboard_event_scan:73 keyboard_event_get:75 -Calls in [keyboard_event_scan] to keyboard_matrix_read:123 keyboard_event_pressed:151 keyboard_event_pressed:157 keyboard_event_pressed:164 keyboard_event_pressed:171 -Calls in [form_render_values] to form_field_ptr:215 -Calls in [print_str_lines] to print_ln:254 +Calls in [main] to keyboard_init:6 gfx_init:8 form_init:10 form_mode:16 form_control:19 gfx_mode:21 +Calls in [form_control] to form_field_ptr:125 keyboard_event_scan:136 keyboard_event_get:138 +Calls in [keyboard_event_scan] to keyboard_matrix_read:186 keyboard_event_pressed:214 keyboard_event_pressed:220 keyboard_event_pressed:227 keyboard_event_pressed:234 +Calls in [form_init] to print_set_screen:292 print_str_lines:294 print_set_screen:296 print_str_lines:298 form_set_screen:300 form_render_values:302 +Calls in [form_render_values] to form_field_ptr:308 +Calls in [print_str_lines] to print_ln:347 +Calls in [gfx_init] to gfx_init_plane_8bppchunky:364 +Calls in [gfx_init_plane_8bppchunky] to dtvSetCpuBankSegment1:367 dtvSetCpuBankSegment1:375 dtvSetCpuBankSegment1:388 Propagating live ranges... Propagating live ranges... @@ -6899,98 +8606,108 @@ Propagating live ranges... Propagating live ranges... Propagating live ranges... Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Created 43 initial phi equivalence classes -Coalesced [11] form_cursor_count#54 ← form_cursor_count#13 -Coalesced [12] keyboard_events_size#101 ← keyboard_events_size#24 -Coalesced [13] keyboard_modifiers#82 ← keyboard_modifiers#10 -Coalesced [14] form_field_idx#62 ← form_field_idx#14 -Coalesced (already) [45] form_cursor_count#55 ← form_cursor_count#1 -Coalesced (already) [46] keyboard_events_size#102 ← keyboard_events_size#22 -Coalesced (already) [47] keyboard_modifiers#83 ← keyboard_modifiers#20 -Coalesced (already) [48] form_field_idx#63 ← form_field_idx#1 -Coalesced [55] form_cursor_count#56 ← form_cursor_count#16 -Coalesced [56] keyboard_events_size#103 ← keyboard_events_size#20 -Coalesced [57] keyboard_modifiers#84 ← keyboard_modifiers#18 -Coalesced [58] form_field_idx#64 ← form_field_idx#18 -Coalesced [59] menu::i#3 ← menu::i#1 -Coalesced [61] form_field_ptr::field_idx#3 ← form_field_ptr::field_idx#1 -Coalesced [87] form_field_idx#68 ← form_field_idx#30 -Coalesced [90] form_field_idx#65 ← form_field_idx#40 -Coalesced [94] form_field_idx#66 ← form_field_idx#41 -Coalesced [102] form_cursor_count#58 ← form_cursor_count#15 -Coalesced (already) [103] form_field_idx#67 ← form_field_idx#14 -Coalesced (already) [107] form_cursor_count#59 ← form_cursor_count#15 -Coalesced (already) [108] form_field_idx#69 ← form_field_idx#14 -Coalesced [111] form_cursor_count#57 ← form_cursor_count#5 -Coalesced [113] keyboard_events_size#105 ← keyboard_events_size#17 -Coalesced [118] keyboard_event_get::return#6 ← keyboard_event_get::return#0 -Coalesced [119] keyboard_events_size#104 ← keyboard_events_size#4 -Coalesced [120] keyboard_events_size#106 ← keyboard_events_size#24 -Coalesced [127] keyboard_event_scan::keycode#17 ← keyboard_event_scan::keycode#11 -Coalesced [128] keyboard_events_size#108 ← keyboard_events_size#43 -Coalesced [139] keyboard_events_size#110 ← keyboard_events_size#2 -Coalesced [145] keyboard_event_scan::keycode#19 ← keyboard_event_scan::keycode#15 -Coalesced [146] keyboard_events_size#114 ← keyboard_events_size#44 -Coalesced [162] keyboard_modifiers#85 ← keyboard_modifiers#3 -Coalesced [169] keyboard_modifiers#87 ← keyboard_modifiers#4 -Coalesced [176] keyboard_modifiers#90 ← keyboard_modifiers#5 -Coalesced [179] keyboard_modifiers#89 ← keyboard_modifiers#17 -Coalesced [180] keyboard_modifiers#88 ← keyboard_modifiers#16 -Coalesced [181] keyboard_modifiers#86 ← keyboard_modifiers#15 -Coalesced [182] keyboard_event_scan::row#15 ← keyboard_event_scan::row#1 -Coalesced [183] keyboard_event_scan::keycode#16 ← keyboard_event_scan::keycode#14 -Coalesced (already) [184] keyboard_events_size#107 ← keyboard_events_size#17 -Coalesced [185] keyboard_event_scan::col#9 ← keyboard_event_scan::col#1 -Coalesced (already) [186] keyboard_event_scan::keycode#18 ← keyboard_event_scan::keycode#15 -Coalesced (already) [187] keyboard_events_size#109 ← keyboard_events_size#44 -Coalesced [190] keyboard_events_size#113 ← keyboard_events_size#1 -Coalesced (already) [191] keyboard_events_size#112 ← keyboard_events_size#14 -Coalesced (already) [192] keyboard_events_size#111 ← keyboard_events_size#14 -Coalesced [194] keyboard_event_scan::keycode#20 ← keyboard_event_scan::keycode#1 -Coalesced (already) [195] keyboard_events_size#115 ← keyboard_events_size#43 -Coalesced [214] form_field_ptr::field_idx#4 ← form_field_ptr::field_idx#0 -Coalesced [222] form_render_values::idx#4 ← form_render_values::idx#1 -Coalesced [233] form_set_screen::line#3 ← form_set_screen::line#1 -Coalesced [234] form_set_screen::y#3 ← form_set_screen::y#1 -Coalesced [236] print_str_lines::str#11 ← print_str_lines::str#5 -Not coalescing [237] print_char_cursor#64 ← print_screen#1 -Coalesced [238] print_line_cursor#64 ← print_screen#1 -Coalesced [242] print_str_lines::str#13 ← print_str_lines::str#3 -Coalesced [243] print_char_cursor#66 ← print_char_cursor#22 -Coalesced [250] print_char_cursor#69 ← print_char_cursor#1 -Coalesced [255] print_str_lines::str#12 ← print_str_lines::str#0 -Not coalescing [256] print_char_cursor#65 ← print_line_cursor#22 -Coalesced [257] print_line_cursor#65 ← print_line_cursor#22 -Coalesced (already) [258] print_str_lines::str#14 ← print_str_lines::str#0 -Coalesced [259] print_char_cursor#67 ← print_char_cursor#38 -Coalesced (already) [260] print_char_cursor#68 ← print_char_cursor#20 -Coalesced [261] print_line_cursor#66 ← print_line_cursor#2 -Coalesced (already) [266] print_line_cursor#67 ← print_line_cursor#22 -Coalesced [268] print_cls::sc#3 ← print_cls::sc#0 -Coalesced [275] print_cls::sc#4 ← print_cls::sc#1 -Coalesced [277] print_screen#1 ← print_set_screen::screen#2 -Coalesced down to 18 phi equivalence classes -Culled Empty Block (label) menu::@24 +Created 56 initial phi equivalence classes +Coalesced [22] form_cursor_count#45 ← form_cursor_count#12 +Coalesced [23] keyboard_events_size#92 ← keyboard_events_size#18 +Coalesced [24] form_field_idx#53 ← form_field_idx#14 +Coalesced [30] gfx_mode::dtv_control#20 ← gfx_mode::dtv_control#2 +Coalesced [34] gfx_mode::dtv_control#21 ← gfx_mode::dtv_control#3 +Coalesced [38] gfx_mode::dtv_control#23 ← gfx_mode::dtv_control#4 +Coalesced [42] gfx_mode::dtv_control#25 ← gfx_mode::dtv_control#5 +Coalesced [46] gfx_mode::dtv_control#27 ← gfx_mode::dtv_control#6 +Coalesced [54] gfx_mode::vic_control#7 ← gfx_mode::vic_control#2 +Coalesced [116] gfx_mode::i#3 ← gfx_mode::i#1 +Coalesced [117] gfx_mode::vic_control#8 ← gfx_mode::vic_control#5 +Coalesced [118] gfx_mode::dtv_control#28 ← gfx_mode::dtv_control#13 +Coalesced [119] gfx_mode::dtv_control#26 ← gfx_mode::dtv_control#11 +Coalesced [120] gfx_mode::dtv_control#24 ← gfx_mode::dtv_control#10 +Coalesced [121] gfx_mode::dtv_control#22 ← gfx_mode::dtv_control#15 +Coalesced [122] gfx_mode::dtv_control#19 ← gfx_mode::dtv_control#14 +Coalesced [124] form_field_ptr::field_idx#3 ← form_field_ptr::field_idx#1 +Coalesced [150] form_field_idx#57 ← form_field_idx#24 +Coalesced [153] form_field_idx#54 ← form_field_idx#34 +Coalesced [157] form_field_idx#55 ← form_field_idx#3 +Coalesced [165] form_cursor_count#47 ← form_cursor_count#11 +Coalesced (already) [166] form_field_idx#56 ← form_field_idx#1 +Coalesced (already) [170] form_cursor_count#48 ← form_cursor_count#11 +Coalesced (already) [171] form_field_idx#58 ← form_field_idx#1 +Coalesced [174] form_cursor_count#46 ← form_cursor_count#3 +Coalesced [176] keyboard_events_size#94 ← keyboard_events_size#15 +Coalesced [181] keyboard_event_get::return#6 ← keyboard_event_get::return#0 +Coalesced [182] keyboard_events_size#93 ← keyboard_events_size#4 +Coalesced [183] keyboard_events_size#95 ← keyboard_events_size#20 +Coalesced [190] keyboard_event_scan::keycode#17 ← keyboard_event_scan::keycode#11 +Coalesced [191] keyboard_events_size#97 ← keyboard_events_size#37 +Coalesced [202] keyboard_events_size#99 ← keyboard_events_size#2 +Coalesced [208] keyboard_event_scan::keycode#19 ← keyboard_event_scan::keycode#15 +Coalesced [209] keyboard_events_size#103 ← keyboard_events_size#38 +Coalesced [225] keyboard_modifiers#73 ← keyboard_modifiers#3 +Coalesced [232] keyboard_modifiers#75 ← keyboard_modifiers#4 +Coalesced [239] keyboard_modifiers#78 ← keyboard_modifiers#5 +Coalesced [242] keyboard_modifiers#77 ← keyboard_modifiers#15 +Coalesced [243] keyboard_modifiers#76 ← keyboard_modifiers#14 +Coalesced [244] keyboard_modifiers#74 ← keyboard_modifiers#13 +Coalesced [245] keyboard_event_scan::row#15 ← keyboard_event_scan::row#1 +Coalesced [246] keyboard_event_scan::keycode#16 ← keyboard_event_scan::keycode#14 +Coalesced (already) [247] keyboard_events_size#96 ← keyboard_events_size#15 +Coalesced [248] keyboard_event_scan::col#9 ← keyboard_event_scan::col#1 +Coalesced (already) [249] keyboard_event_scan::keycode#18 ← keyboard_event_scan::keycode#15 +Coalesced (already) [250] keyboard_events_size#98 ← keyboard_events_size#38 +Coalesced [253] keyboard_events_size#102 ← keyboard_events_size#1 +Coalesced (already) [254] keyboard_events_size#101 ← keyboard_events_size#12 +Coalesced (already) [255] keyboard_events_size#100 ← keyboard_events_size#12 +Coalesced [257] keyboard_event_scan::keycode#20 ← keyboard_event_scan::keycode#1 +Coalesced (already) [258] keyboard_events_size#104 ← keyboard_events_size#37 +Coalesced [290] form_mode::i#3 ← form_mode::i#1 +Coalesced [307] form_field_ptr::field_idx#4 ← form_field_ptr::field_idx#0 +Coalesced [315] form_render_values::idx#4 ← form_render_values::idx#1 +Coalesced [326] form_set_screen::line#3 ← form_set_screen::line#1 +Coalesced [327] form_set_screen::y#3 ← form_set_screen::y#1 +Coalesced [329] print_str_lines::str#11 ← print_str_lines::str#5 +Not coalescing [330] print_char_cursor#60 ← print_screen#1 +Coalesced [331] print_line_cursor#60 ← print_screen#1 +Coalesced [335] print_str_lines::str#13 ← print_str_lines::str#3 +Coalesced [336] print_char_cursor#62 ← print_char_cursor#18 +Coalesced [343] print_char_cursor#65 ← print_char_cursor#1 +Coalesced [348] print_str_lines::str#12 ← print_str_lines::str#0 +Not coalescing [349] print_char_cursor#61 ← print_line_cursor#18 +Coalesced [350] print_line_cursor#61 ← print_line_cursor#18 +Coalesced (already) [351] print_str_lines::str#14 ← print_str_lines::str#0 +Coalesced [352] print_char_cursor#63 ← print_char_cursor#31 +Coalesced (already) [353] print_char_cursor#64 ← print_char_cursor#16 +Coalesced [354] print_line_cursor#62 ← print_line_cursor#16 +Coalesced (already) [359] print_line_cursor#63 ← print_line_cursor#18 +Coalesced [361] print_screen#1 ← print_set_screen::screen#2 +Coalesced [369] gfx_init_plane_8bppchunky::gfxb#8 ← gfx_init_plane_8bppchunky::gfxb#5 +Coalesced [370] gfx_init_plane_8bppchunky::gfxbCpuBank#11 ← gfx_init_plane_8bppchunky::gfxbCpuBank#7 +Coalesced [374] dtvSetCpuBankSegment1::cpuBankIdx#4 ← dtvSetCpuBankSegment1::cpuBankIdx#1 +Coalesced [377] gfx_init_plane_8bppchunky::gfxbCpuBank#14 ← gfx_init_plane_8bppchunky::gfxbCpuBank#2 +Coalesced [390] gfx_init_plane_8bppchunky::gfxb#7 ← gfx_init_plane_8bppchunky::gfxb#1 +Coalesced [391] gfx_init_plane_8bppchunky::y#8 ← gfx_init_plane_8bppchunky::y#1 +Coalesced [392] gfx_init_plane_8bppchunky::gfxbCpuBank#10 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 +Coalesced (already) [393] gfx_init_plane_8bppchunky::gfxb#9 ← gfx_init_plane_8bppchunky::gfxb#1 +Coalesced [394] gfx_init_plane_8bppchunky::x#6 ← gfx_init_plane_8bppchunky::x#1 +Coalesced (already) [395] gfx_init_plane_8bppchunky::gfxbCpuBank#12 ← gfx_init_plane_8bppchunky::gfxbCpuBank#8 +Coalesced [396] gfx_init_plane_8bppchunky::gfxb#10 ← gfx_init_plane_8bppchunky::gfxb#3 +Coalesced (already) [397] gfx_init_plane_8bppchunky::gfxbCpuBank#13 ← gfx_init_plane_8bppchunky::gfxbCpuBank#4 +Coalesced down to 26 phi equivalence classes +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@11 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@17 +Not culling empty block because it shares successor with its predecessor. (label) gfx_mode::@19 +Culled Empty Block (label) gfx_mode::@27 +Culled Empty Block (label) gfx_mode::@26 +Culled Empty Block (label) gfx_mode::@25 +Culled Empty Block (label) gfx_mode::@24 +Culled Empty Block (label) gfx_mode::@23 +Culled Empty Block (label) gfx_mode::@22 +Culled Empty Block (label) gfx_mode::@21 Culled Empty Block (label) form_control::@14 Culled Empty Block (label) form_control::@19 -Not culling empty block because it shares successor with its predecessor. (label) form_control::@32 -Culled Empty Block (label) form_control::@21 Not culling empty block because it shares successor with its predecessor. (label) form_control::@33 -Culled Empty Block (label) form_control::@34 -Not culling empty block because it shares successor with its predecessor. (label) form_control::@31 +Culled Empty Block (label) form_control::@21 +Not culling empty block because it shares successor with its predecessor. (label) form_control::@34 +Culled Empty Block (label) form_control::@35 +Not culling empty block because it shares successor with its predecessor. (label) form_control::@32 Culled Empty Block (label) keyboard_event_get::@7 Culled Empty Block (label) keyboard_event_scan::@32 Not culling empty block because it shares successor with its predecessor. (label) keyboard_event_scan::@21 @@ -7001,48 +8718,49 @@ Culled Empty Block (label) keyboard_event_scan::@30 Culled Empty Block (label) keyboard_event_scan::@31 Culled Empty Block (label) keyboard_event_scan::@34 Culled Empty Block (label) keyboard_event_scan::@33 +Culled Empty Block (label) form_mode::@3 Culled Empty Block (label) form_render_values::@4 Culled Empty Block (label) form_set_screen::@3 Culled Empty Block (label) print_str_lines::@12 Culled Empty Block (label) print_str_lines::@13 Culled Empty Block (label) print_str_lines::@14 Culled Empty Block (label) print_ln::@3 -Culled Empty Block (label) print_cls::@3 -Block Sequence Planned @begin @28 @end main main::@1 main::@return main::@2 menu menu::@1 menu::@8 menu::@15 menu::@16 menu::@17 menu::@18 menu::@19 menu::@20 menu::@21 menu::@2 menu::@return menu::@5 menu::@7 form_control form_control::@28 form_control::@1 form_control::@15 form_control::@3 form_control::@29 form_control::@30 form_control::@17 form_control::@18 form_control::@7 form_control::@return form_control::@32 form_control::@5 form_control::@33 form_control::@4 form_control::@23 form_control::@24 form_control::@25 form_control::@12 form_control::@10 form_control::@27 form_control::@2 form_control::@31 keyboard_event_get keyboard_event_get::@return keyboard_event_get::@1 keyboard_event_scan keyboard_event_scan::@1 keyboard_event_scan::@25 keyboard_event_scan::@3 keyboard_event_scan::@14 keyboard_event_scan::@15 keyboard_event_scan::@16 keyboard_event_scan::@4 keyboard_event_scan::@18 keyboard_event_scan::@8 keyboard_event_scan::@20 keyboard_event_scan::@26 keyboard_event_scan::@21 keyboard_event_scan::@9 keyboard_event_scan::@27 keyboard_event_scan::@22 keyboard_event_scan::@10 keyboard_event_scan::@28 keyboard_event_scan::@23 keyboard_event_scan::@11 keyboard_event_scan::@29 keyboard_event_scan::@24 keyboard_event_scan::@return keyboard_event_scan::@6 keyboard_event_scan::@2 keyboard_event_pressed keyboard_event_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_set_screen form_set_screen::@1 form_set_screen::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_cls print_cls::@1 print_cls::@return print_set_screen print_set_screen::@return +Culled Empty Block (label) gfx_init_plane_8bppchunky::@10 +Culled Empty Block (label) gfx_init_plane_8bppchunky::@11 +Culled Empty Block (label) gfx_init_plane_8bppchunky::@12 +Block Sequence Planned @begin @32 @end main main::@19 main::@20 main::@1 main::@return main::@4 main::@6 main::@7 main::@9 main::@23 gfx_mode gfx_mode::@11 gfx_mode::@1 gfx_mode::@12 gfx_mode::@2 gfx_mode::@13 gfx_mode::@3 gfx_mode::@14 gfx_mode::@4 gfx_mode::@15 gfx_mode::@5 gfx_mode::@16 gfx_mode::@6 gfx_mode::@17 gfx_mode::@7 gfx_mode::@18 gfx_mode::@8 gfx_mode::@19 gfx_mode::@9 gfx_mode::@10 gfx_mode::@return form_control form_control::@29 form_control::@1 form_control::@15 form_control::@3 form_control::@30 form_control::@31 form_control::@17 form_control::@18 form_control::@7 form_control::@return form_control::@33 form_control::@5 form_control::@34 form_control::@4 form_control::@23 form_control::@24 form_control::@25 form_control::@12 form_control::@10 form_control::@27 form_control::@2 form_control::@32 keyboard_event_get keyboard_event_get::@return keyboard_event_get::@1 keyboard_event_scan keyboard_event_scan::@1 keyboard_event_scan::@25 keyboard_event_scan::@3 keyboard_event_scan::@14 keyboard_event_scan::@15 keyboard_event_scan::@16 keyboard_event_scan::@4 keyboard_event_scan::@18 keyboard_event_scan::@8 keyboard_event_scan::@20 keyboard_event_scan::@26 keyboard_event_scan::@21 keyboard_event_scan::@9 keyboard_event_scan::@27 keyboard_event_scan::@22 keyboard_event_scan::@10 keyboard_event_scan::@28 keyboard_event_scan::@23 keyboard_event_scan::@11 keyboard_event_scan::@29 keyboard_event_scan::@24 keyboard_event_scan::@return keyboard_event_scan::@6 keyboard_event_scan::@2 keyboard_event_pressed keyboard_event_pressed::@return keyboard_matrix_read keyboard_matrix_read::@return form_field_ptr form_field_ptr::@return form_mode form_mode::@1 form_mode::@2 form_mode::@return form_init form_init::@1 form_init::@2 form_init::@3 form_init::@4 form_init::@5 form_init::@return form_render_values form_render_values::@1 form_render_values::@3 form_render_values::@return form_set_screen form_set_screen::@1 form_set_screen::@return print_str_lines print_str_lines::@1 print_str_lines::@return print_str_lines::@4 print_str_lines::@8 print_str_lines::@5 print_str_lines::@9 print_ln print_ln::@1 print_ln::@return print_set_screen print_set_screen::@return gfx_init gfx_init::@return gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@6 gfx_init_plane_8bppchunky::@return dtvSetCpuBankSegment1 dtvSetCpuBankSegment1::@return keyboard_init keyboard_init::@return Adding NOP phi() at start of @begin -Adding NOP phi() at start of @28 +Adding NOP phi() at start of @32 Adding NOP phi() at start of @end -Adding NOP phi() at start of main::@2 -Adding NOP phi() at start of menu::@15 -Adding NOP phi() at start of menu::@16 -Adding NOP phi() at start of menu::@17 -Adding NOP phi() at start of menu::@18 -Adding NOP phi() at start of menu::@19 -Adding NOP phi() at start of menu::@20 -Adding NOP phi() at start of menu::@21 -Adding NOP phi() at start of menu::@7 +Adding NOP phi() at start of main::@19 +Adding NOP phi() at start of main::@20 +Adding NOP phi() at start of main::@6 +Adding NOP phi() at start of main::@9 +Adding NOP phi() at start of main::@23 +Adding NOP phi() at start of gfx_mode::@11 +Adding NOP phi() at start of gfx_mode::@17 +Adding NOP phi() at start of gfx_mode::@19 Adding NOP phi() at start of form_control::@3 -Adding NOP phi() at start of form_control::@29 -Adding NOP phi() at start of form_control::@32 +Adding NOP phi() at start of form_control::@30 Adding NOP phi() at start of form_control::@33 -Adding NOP phi() at start of form_control::@31 +Adding NOP phi() at start of form_control::@34 +Adding NOP phi() at start of form_control::@32 Adding NOP phi() at start of keyboard_event_scan Adding NOP phi() at start of keyboard_event_scan::@20 Adding NOP phi() at start of keyboard_event_scan::@21 +Adding NOP phi() at start of form_init +Adding NOP phi() at start of form_init::@1 +Adding NOP phi() at start of form_init::@2 +Adding NOP phi() at start of form_init::@3 +Adding NOP phi() at start of form_init::@4 +Adding NOP phi() at start of form_init::@5 Adding NOP phi() at start of form_render_values Adding NOP phi() at start of form_set_screen Adding NOP phi() at start of print_str_lines::@9 Adding NOP phi() at start of print_ln -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... -Propagating live ranges... +Adding NOP phi() at start of gfx_init +Adding NOP phi() at start of gfx_init_plane_8bppchunky +Adding NOP phi() at start of gfx_init_plane_8bppchunky::@6 Propagating live ranges... Propagating live ranges... Propagating live ranges... @@ -7071,586 +8789,820 @@ Propagating live ranges... FINAL CONTROL FLOW GRAPH @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 DOMINATORS @begin dominated by @begin -@28 dominated by @28 @begin -@end dominated by @end @28 @begin -main dominated by @28 main @begin -main::@1 dominated by main::@1 @28 main @begin -main::@return dominated by main::@1 main::@return @28 main @begin -main::@2 dominated by main::@1 main::@2 @28 main @begin -menu dominated by main::@1 main::@2 menu @28 main @begin -menu::@1 dominated by main::@1 main::@2 menu @28 main @begin menu::@1 -menu::@8 dominated by main::@1 main::@2 menu @28 main @begin menu::@8 menu::@1 -menu::@15 dominated by main::@1 main::@2 menu @28 main @begin menu::@8 menu::@1 menu::@15 -menu::@16 dominated by main::@1 main::@2 menu @28 main @begin menu::@8 menu::@1 menu::@16 menu::@15 -menu::@17 dominated by main::@1 main::@2 menu @28 main @begin menu::@8 menu::@1 menu::@17 menu::@16 menu::@15 -menu::@18 dominated by main::@1 main::@2 menu @28 main @begin menu::@8 menu::@1 menu::@18 menu::@17 menu::@16 menu::@15 -menu::@19 dominated by main::@1 main::@2 menu @28 main @begin menu::@8 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -menu::@20 dominated by main::@1 main::@2 menu @28 main @begin menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -menu::@21 dominated by main::@1 main::@2 menu @28 main menu::@21 @begin menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -menu::@2 dominated by main::@1 main::@2 menu @28 main menu::@21 @begin menu::@8 menu::@20 menu::@1 menu::@2 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -menu::@return dominated by main::@1 main::@2 menu @28 main menu::@21 @begin menu::@return menu::@8 menu::@20 menu::@1 menu::@2 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -menu::@5 dominated by main::@1 main::@2 menu @28 main menu::@21 @begin menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -menu::@7 dominated by main::@1 main::@2 menu @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -form_control dominated by main::@1 main::@2 menu @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@28 dominated by main::@1 main::@2 menu form_control::@28 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@1 dominated by main::@1 main::@2 form_control::@1 menu form_control::@28 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@15 dominated by main::@1 main::@2 form_control::@15 form_control::@1 menu form_control::@28 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@3 dominated by main::@1 main::@2 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@29 dominated by main::@1 main::@2 form_control::@1 form_control::@3 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@30 dominated by main::@1 main::@2 form_control::@1 form_control::@3 form_control::@30 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@17 dominated by main::@1 main::@2 form_control::@17 form_control::@1 form_control::@3 form_control::@30 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@18 dominated by main::@1 main::@2 form_control::@17 form_control::@18 form_control::@1 form_control::@3 form_control::@30 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@7 dominated by main::@1 main::@2 form_control::@17 form_control::@1 form_control::@3 form_control::@30 form_control::@7 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@return dominated by main::@1 main::@2 form_control::@1 form_control::@3 form_control::@30 menu form_control::@return form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@32 dominated by main::@1 main::@2 form_control::@17 form_control::@18 form_control::@1 form_control::@3 form_control::@30 menu form_control::@32 form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@5 dominated by main::@1 main::@2 form_control::@17 form_control::@1 form_control::@5 form_control::@3 form_control::@30 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@33 dominated by main::@1 main::@2 form_control::@17 form_control::@1 form_control::@5 form_control::@3 form_control::@30 menu form_control::@33 form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@4 dominated by main::@1 main::@2 form_control::@1 form_control::@4 form_control::@3 form_control::@30 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@23 dominated by main::@1 main::@2 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@24 dominated by main::@1 main::@2 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 menu form_control::@24 form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@25 dominated by main::@1 main::@2 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 menu form_control::@24 form_control::@25 form_control::@28 form_control::@29 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@12 dominated by main::@1 main::@2 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin form_control::@12 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@10 dominated by main::@1 main::@2 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 menu form_control::@28 form_control::@29 @28 main menu::@21 @begin form_control::@10 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@27 dominated by main::@1 main::@2 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 menu form_control::@27 form_control::@28 form_control::@29 @28 main menu::@21 @begin form_control::@10 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@2 dominated by main::@1 main::@2 form_control::@1 form_control::@2 menu form_control::@28 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_control::@31 dominated by main::@1 main::@2 menu form_control::@31 form_control::@28 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_get dominated by main::@1 main::@2 form_control::@1 form_control::@3 menu form_control::@28 form_control::@29 @28 main keyboard_event_get menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_get::@return dominated by main::@1 main::@2 form_control::@1 form_control::@3 menu form_control::@28 form_control::@29 keyboard_event_get::@return @28 main keyboard_event_get menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_get::@1 dominated by main::@1 main::@2 form_control::@1 form_control::@3 menu form_control::@28 form_control::@29 keyboard_event_get::@1 @28 main keyboard_event_get menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan dominated by keyboard_event_scan main::@1 main::@2 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@1 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@25 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@3 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@14 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 menu::@8 menu::@5 menu::@20 keyboard_event_scan::@14 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@15 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 menu::@8 menu::@5 menu::@20 keyboard_event_scan::@14 menu::@1 menu::@2 keyboard_event_scan::@15 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@16 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 menu::@8 menu::@5 menu::@20 keyboard_event_scan::@14 menu::@1 keyboard_event_scan::@16 menu::@2 keyboard_event_scan::@15 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@4 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@3 keyboard_event_scan::@4 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@18 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@3 keyboard_event_scan::@4 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 keyboard_event_scan::@18 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@8 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@20 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@26 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 keyboard_event_scan::@26 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@21 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 keyboard_event_scan::@26 keyboard_event_scan::@21 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@9 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 keyboard_event_scan::@26 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@27 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@22 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@22 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@10 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 keyboard_event_scan::@10 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@28 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 keyboard_event_scan::@10 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@23 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@23 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 keyboard_event_scan::@10 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@11 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 keyboard_event_scan::@10 keyboard_event_scan::@11 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@29 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@29 keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 keyboard_event_scan::@10 keyboard_event_scan::@11 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@24 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@29 keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@24 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 keyboard_event_scan::@10 keyboard_event_scan::@11 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@return dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 keyboard_event_scan::@return @28 main menu::@21 @begin keyboard_event_scan::@29 keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 keyboard_event_scan::@10 keyboard_event_scan::@11 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@6 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@6 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 menu::@8 menu::@5 menu::@20 keyboard_event_scan::@14 menu::@1 menu::@2 keyboard_event_scan::@15 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_scan::@2 dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@2 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_scan::@25 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_pressed dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_pressed keyboard_event_scan::@25 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_event_pressed::@return dominated by keyboard_event_scan keyboard_event_pressed::@return main::@1 main::@2 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_event_pressed keyboard_event_scan::@25 keyboard_event_scan::@20 menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_matrix_read dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_matrix_read menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -keyboard_matrix_read::@return dominated by keyboard_event_scan main::@1 main::@2 keyboard_event_scan::@1 form_control::@1 form_control::@3 menu form_control::@28 @28 main menu::@21 @begin keyboard_matrix_read menu::@7 menu::@8 menu::@5 menu::@20 menu::@1 menu::@2 keyboard_matrix_read::@return menu::@19 form_control menu::@18 menu::@17 menu::@16 menu::@15 -form_field_ptr dominated by main::@1 main::@2 form_field_ptr menu @28 main menu::@21 @begin menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -form_field_ptr::@return dominated by main::@1 form_field_ptr::@return main::@2 form_field_ptr menu @28 main menu::@21 @begin menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -form_render_values dominated by main::@1 main::@2 menu @28 main menu::@21 @begin form_render_values menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -form_render_values::@1 dominated by form_render_values::@1 main::@1 main::@2 menu @28 main menu::@21 @begin form_render_values menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -form_render_values::@3 dominated by form_render_values::@3 form_render_values::@1 main::@1 main::@2 menu @28 main menu::@21 @begin form_render_values menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -form_render_values::@return dominated by form_render_values::@3 form_render_values::@1 main::@1 main::@2 form_render_values::@return menu @28 main menu::@21 @begin form_render_values menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -form_set_screen dominated by main::@1 main::@2 menu @28 form_set_screen main @begin menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -form_set_screen::@1 dominated by main::@1 main::@2 form_set_screen::@1 menu @28 form_set_screen main @begin menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -form_set_screen::@return dominated by main::@1 main::@2 form_set_screen::@1 menu @28 form_set_screen main form_set_screen::@return @begin menu::@8 menu::@20 menu::@1 menu::@19 menu::@18 menu::@17 menu::@16 menu::@15 -print_str_lines dominated by main::@1 main::@2 print_str_lines menu @28 main @begin menu::@8 menu::@1 menu::@16 menu::@15 -print_str_lines::@1 dominated by main::@1 main::@2 print_str_lines menu @28 main @begin menu::@8 menu::@1 print_str_lines::@1 menu::@16 menu::@15 -print_str_lines::@return dominated by main::@1 main::@2 print_str_lines menu @28 main @begin print_str_lines::@return menu::@8 menu::@1 print_str_lines::@1 menu::@16 menu::@15 -print_str_lines::@4 dominated by main::@1 main::@2 print_str_lines menu @28 main @begin menu::@8 menu::@1 print_str_lines::@1 print_str_lines::@4 menu::@16 menu::@15 -print_str_lines::@8 dominated by main::@1 main::@2 print_str_lines menu @28 main @begin menu::@8 menu::@1 print_str_lines::@1 print_str_lines::@4 print_str_lines::@8 menu::@16 menu::@15 -print_str_lines::@5 dominated by main::@1 main::@2 print_str_lines menu @28 main @begin menu::@8 menu::@1 print_str_lines::@1 print_str_lines::@4 print_str_lines::@5 menu::@16 menu::@15 -print_str_lines::@9 dominated by main::@1 main::@2 print_str_lines menu @28 main @begin menu::@8 print_str_lines::@9 menu::@1 print_str_lines::@1 print_str_lines::@4 print_str_lines::@5 menu::@16 menu::@15 -print_ln dominated by main::@1 main::@2 print_str_lines print_ln menu @28 main @begin menu::@8 print_str_lines::@9 menu::@1 print_str_lines::@1 print_str_lines::@4 print_str_lines::@5 menu::@16 menu::@15 -print_ln::@1 dominated by main::@1 main::@2 print_str_lines print_ln menu print_ln::@1 @28 main @begin menu::@8 print_str_lines::@9 menu::@1 print_str_lines::@1 print_str_lines::@4 print_str_lines::@5 menu::@16 menu::@15 -print_ln::@return dominated by print_ln::@return main::@1 main::@2 print_str_lines print_ln menu print_ln::@1 @28 main @begin menu::@8 print_str_lines::@9 menu::@1 print_str_lines::@1 print_str_lines::@4 print_str_lines::@5 menu::@16 menu::@15 -print_cls dominated by main::@1 main::@2 menu print_cls @28 main @begin menu::@8 menu::@1 menu::@15 -print_cls::@1 dominated by main::@1 main::@2 menu print_cls @28 main @begin menu::@8 menu::@1 print_cls::@1 menu::@15 -print_cls::@return dominated by main::@1 main::@2 menu print_cls @28 main @begin print_cls::@return menu::@8 menu::@1 print_cls::@1 menu::@15 -print_set_screen dominated by main::@1 main::@2 print_set_screen menu @28 main @begin menu::@8 menu::@1 -print_set_screen::@return dominated by main::@1 main::@2 print_set_screen menu @28 main @begin menu::@8 menu::@1 print_set_screen::@return +@32 dominated by @32 @begin +@end dominated by @end @32 @begin +main dominated by main @32 @begin +main::@19 dominated by main @32 @begin main::@19 +main::@20 dominated by main @32 @begin main::@20 main::@19 +main::@1 dominated by main::@1 main @32 @begin main::@20 main::@19 +main::@return dominated by main::@1 main::@return main @32 @begin main::@20 main::@19 +main::@4 dominated by main::@1 main::@4 main @32 @begin main::@20 main::@19 +main::@6 dominated by main::@1 main::@6 main::@4 main @32 @begin main::@20 main::@19 +main::@7 dominated by main::@7 main::@1 main::@6 main::@4 main @32 @begin main::@20 main::@19 +main::@9 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 main @32 @begin main::@20 main::@19 +main::@23 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@11 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@11 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@1 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@1 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@12 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@1 gfx_mode::@12 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@2 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@2 gfx_mode::@1 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@13 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@2 gfx_mode::@1 gfx_mode::@13 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@3 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@3 gfx_mode::@2 gfx_mode::@1 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@14 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@3 gfx_mode::@2 gfx_mode::@1 gfx_mode::@14 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@4 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@2 gfx_mode::@1 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@15 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@2 gfx_mode::@1 gfx_mode::@15 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@5 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@16 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 gfx_mode::@16 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@6 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@6 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@17 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@6 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 gfx_mode::@17 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@7 dominated by main::@9 main::@7 gfx_mode::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@6 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@18 dominated by main::@9 main::@7 gfx_mode::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@6 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 gfx_mode::@18 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@8 dominated by main::@9 main::@7 gfx_mode::@8 gfx_mode::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@6 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@19 dominated by main::@9 main::@7 gfx_mode::@8 gfx_mode::@7 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@6 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 gfx_mode::@19 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@9 dominated by main::@9 main::@7 gfx_mode::@8 gfx_mode::@7 gfx_mode::@9 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@6 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@10 dominated by main::@9 main::@7 gfx_mode::@8 gfx_mode::@7 gfx_mode::@9 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@6 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 gfx_mode::@10 main @32 @begin main::@20 main::@23 main::@19 +gfx_mode::@return dominated by main::@9 main::@7 gfx_mode::@8 gfx_mode::@7 gfx_mode::@9 main::@1 main::@6 main::@4 gfx_mode gfx_mode::@4 gfx_mode::@3 gfx_mode::@6 gfx_mode::@5 gfx_mode::@2 gfx_mode::@1 gfx_mode::@10 gfx_mode::@return main @32 @begin main::@20 main::@23 main::@19 +form_control dominated by main::@9 main::@7 main::@1 main::@6 main::@4 main @32 @begin main::@20 main::@19 form_control +form_control::@29 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@1 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@15 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@15 form_control::@1 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@3 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@30 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@3 form_control::@30 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@31 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@3 form_control::@30 form_control::@31 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@17 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@17 form_control::@1 form_control::@3 form_control::@30 form_control::@31 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@18 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@17 form_control::@18 form_control::@1 form_control::@3 form_control::@30 form_control::@31 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@7 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@17 form_control::@1 form_control::@3 form_control::@30 form_control::@7 form_control::@31 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@return dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@3 form_control::@30 form_control::@31 form_control::@return form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@33 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@17 form_control::@18 form_control::@1 form_control::@3 form_control::@30 form_control::@31 form_control::@33 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@5 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@17 form_control::@1 form_control::@5 form_control::@3 form_control::@30 form_control::@31 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@34 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@17 form_control::@1 form_control::@5 form_control::@3 form_control::@30 form_control::@31 form_control::@34 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@4 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@4 form_control::@3 form_control::@30 form_control::@31 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@23 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 form_control::@31 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@24 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 form_control::@31 form_control::@24 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@25 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 form_control::@31 form_control::@24 form_control::@25 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@12 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 form_control::@31 form_control::@29 main @32 @begin form_control::@12 main::@20 main::@19 form_control +form_control::@10 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 form_control::@31 form_control::@29 main @32 @begin form_control::@10 main::@20 main::@19 form_control +form_control::@27 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@23 form_control::@1 form_control::@4 form_control::@3 form_control::@30 form_control::@31 form_control::@27 form_control::@29 main @32 @begin form_control::@10 main::@20 main::@19 form_control +form_control::@2 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@2 form_control::@29 main @32 @begin main::@20 main::@19 form_control +form_control::@32 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@32 form_control::@29 main @32 @begin main::@20 main::@19 form_control +keyboard_event_get dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@3 form_control::@30 form_control::@29 main keyboard_event_get @32 @begin main::@20 main::@19 form_control +keyboard_event_get::@return dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@3 form_control::@30 form_control::@29 keyboard_event_get::@return main keyboard_event_get @32 @begin main::@20 main::@19 form_control +keyboard_event_get::@1 dominated by main::@9 main::@7 main::@1 main::@6 main::@4 form_control::@1 form_control::@3 form_control::@30 form_control::@29 keyboard_event_get::@1 main keyboard_event_get @32 @begin main::@20 main::@19 form_control +keyboard_event_scan dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 main::@19 form_control +keyboard_event_scan::@1 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 main::@19 form_control +keyboard_event_scan::@25 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 main::@19 form_control +keyboard_event_scan::@3 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 main::@19 form_control +keyboard_event_scan::@14 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@14 main::@19 form_control +keyboard_event_scan::@15 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@14 keyboard_event_scan::@15 main::@19 form_control +keyboard_event_scan::@16 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@15 main::@19 form_control +keyboard_event_scan::@4 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@3 keyboard_event_scan::@4 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 main::@19 form_control +keyboard_event_scan::@18 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@3 keyboard_event_scan::@4 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@18 main::@19 form_control +keyboard_event_scan::@8 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 main::@19 form_control +keyboard_event_scan::@20 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@20 main::@19 form_control +keyboard_event_scan::@26 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@26 keyboard_event_scan::@20 main::@19 form_control +keyboard_event_scan::@21 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@26 keyboard_event_scan::@21 keyboard_event_scan::@20 main::@19 form_control +keyboard_event_scan::@9 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@26 keyboard_event_scan::@20 main::@19 form_control +keyboard_event_scan::@27 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 main::@19 form_control +keyboard_event_scan::@22 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@22 main::@19 form_control +keyboard_event_scan::@10 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@10 main::@19 form_control +keyboard_event_scan::@28 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@10 main::@19 form_control +keyboard_event_scan::@23 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@23 keyboard_event_scan::@10 main::@19 form_control +keyboard_event_scan::@11 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@10 main::@19 keyboard_event_scan::@11 form_control +keyboard_event_scan::@29 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@29 keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@10 main::@19 keyboard_event_scan::@11 form_control +keyboard_event_scan::@24 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@29 keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@24 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@10 main::@19 keyboard_event_scan::@11 form_control +keyboard_event_scan::@return dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@9 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 keyboard_event_scan::@return main @32 @begin main::@20 keyboard_event_scan::@29 keyboard_event_scan::@28 keyboard_event_scan::@25 keyboard_event_scan::@27 keyboard_event_scan::@26 keyboard_event_scan::@20 keyboard_event_scan::@10 main::@19 keyboard_event_scan::@11 form_control +keyboard_event_scan::@6 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@6 keyboard_event_scan::@3 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 keyboard_event_scan::@14 keyboard_event_scan::@15 main::@19 form_control +keyboard_event_scan::@2 dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@2 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_event_scan::@25 main::@19 form_control +keyboard_event_pressed dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin keyboard_event_pressed main::@20 keyboard_event_scan::@25 keyboard_event_scan::@20 main::@19 form_control +keyboard_event_pressed::@return dominated by main::@9 main::@7 keyboard_event_scan keyboard_event_pressed::@return main::@1 main::@6 main::@4 keyboard_event_scan::@8 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin keyboard_event_pressed main::@20 keyboard_event_scan::@25 keyboard_event_scan::@20 main::@19 form_control +keyboard_matrix_read dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_matrix_read main::@19 form_control +keyboard_matrix_read::@return dominated by main::@9 main::@7 keyboard_event_scan main::@1 main::@6 main::@4 keyboard_event_scan::@1 form_control::@1 form_control::@3 form_control::@29 main @32 @begin main::@20 keyboard_matrix_read main::@19 keyboard_matrix_read::@return form_control +form_field_ptr dominated by form_field_ptr main @32 @begin main::@20 main::@19 +form_field_ptr::@return dominated by form_field_ptr::@return form_field_ptr main @32 @begin main::@20 main::@19 +form_mode dominated by main::@1 main::@6 main::@4 main @32 @begin main::@20 form_mode main::@19 +form_mode::@1 dominated by main::@1 main::@6 main::@4 main @32 @begin form_mode::@1 main::@20 form_mode main::@19 +form_mode::@2 dominated by main::@1 main::@6 main::@4 main @32 @begin form_mode::@1 form_mode::@2 main::@20 form_mode main::@19 +form_mode::@return dominated by main::@1 main::@6 main::@4 form_mode::@return main @32 @begin form_mode::@1 form_mode::@2 main::@20 form_mode main::@19 +form_init dominated by form_init main @32 @begin main::@20 main::@19 +form_init::@1 dominated by form_init main @32 @begin main::@20 main::@19 form_init::@1 +form_init::@2 dominated by form_init main @32 @begin main::@20 main::@19 form_init::@1 form_init::@2 +form_init::@3 dominated by form_init main @32 @begin main::@20 main::@19 form_init::@1 form_init::@2 form_init::@3 +form_init::@4 dominated by form_init main @32 @begin main::@20 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +form_init::@5 dominated by form_init main @32 @begin main::@20 form_init::@5 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +form_init::@return dominated by form_init::@return form_init main @32 @begin main::@20 form_init::@5 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +form_render_values dominated by form_init main @32 @begin main::@20 form_render_values form_init::@5 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +form_render_values::@1 dominated by form_render_values::@1 form_init main @32 @begin main::@20 form_render_values form_init::@5 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +form_render_values::@3 dominated by form_render_values::@3 form_render_values::@1 form_init main @32 @begin main::@20 form_render_values form_init::@5 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +form_render_values::@return dominated by form_render_values::@3 form_render_values::@1 form_render_values::@return form_init main @32 @begin main::@20 form_render_values form_init::@5 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +form_set_screen dominated by form_init form_set_screen main @32 @begin main::@20 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +form_set_screen::@1 dominated by form_set_screen::@1 form_init form_set_screen main @32 @begin main::@20 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +form_set_screen::@return dominated by form_set_screen::@1 form_init form_set_screen main form_set_screen::@return @32 @begin main::@20 main::@19 form_init::@1 form_init::@2 form_init::@3 form_init::@4 +print_str_lines dominated by print_str_lines form_init main @32 @begin main::@20 main::@19 form_init::@1 +print_str_lines::@1 dominated by print_str_lines form_init main @32 @begin main::@20 print_str_lines::@1 main::@19 form_init::@1 +print_str_lines::@return dominated by print_str_lines form_init main @32 @begin print_str_lines::@return main::@20 print_str_lines::@1 main::@19 form_init::@1 +print_str_lines::@4 dominated by print_str_lines form_init main @32 @begin main::@20 print_str_lines::@1 main::@19 print_str_lines::@4 form_init::@1 +print_str_lines::@8 dominated by print_str_lines form_init main @32 @begin main::@20 print_str_lines::@1 main::@19 print_str_lines::@4 form_init::@1 print_str_lines::@8 +print_str_lines::@5 dominated by print_str_lines form_init main @32 @begin main::@20 print_str_lines::@1 main::@19 print_str_lines::@4 form_init::@1 print_str_lines::@5 +print_str_lines::@9 dominated by print_str_lines form_init main @32 @begin main::@20 print_str_lines::@9 print_str_lines::@1 main::@19 print_str_lines::@4 form_init::@1 print_str_lines::@5 +print_ln dominated by print_str_lines print_ln form_init main @32 @begin main::@20 print_str_lines::@9 print_str_lines::@1 main::@19 print_str_lines::@4 form_init::@1 print_str_lines::@5 +print_ln::@1 dominated by print_str_lines print_ln form_init print_ln::@1 main @32 @begin main::@20 print_str_lines::@9 print_str_lines::@1 main::@19 print_str_lines::@4 form_init::@1 print_str_lines::@5 +print_ln::@return dominated by print_ln::@return print_str_lines print_ln form_init print_ln::@1 main @32 @begin main::@20 print_str_lines::@9 print_str_lines::@1 main::@19 print_str_lines::@4 form_init::@1 print_str_lines::@5 +print_set_screen dominated by print_set_screen form_init main @32 @begin main::@20 main::@19 +print_set_screen::@return dominated by print_set_screen form_init main @32 @begin main::@20 main::@19 print_set_screen::@return +gfx_init dominated by main gfx_init @32 @begin main::@19 +gfx_init::@return dominated by main gfx_init @32 @begin main::@19 gfx_init::@return +gfx_init_plane_8bppchunky dominated by main gfx_init @32 @begin main::@19 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky::@1 dominated by main gfx_init @32 @begin gfx_init_plane_8bppchunky::@1 main::@19 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky::@2 dominated by main gfx_init @32 @begin gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@1 main::@19 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky::@4 dominated by main gfx_init @32 @begin gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@1 main::@19 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky::@8 dominated by main gfx_init @32 @begin gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@8 main::@19 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky::@3 dominated by main gfx_init @32 @begin gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@1 main::@19 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky::@5 dominated by main gfx_init @32 @begin gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@1 main::@19 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky::@6 dominated by main gfx_init @32 @begin gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@6 main::@19 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky::@return dominated by gfx_init_plane_8bppchunky::@return main gfx_init @32 @begin gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@6 main::@19 gfx_init_plane_8bppchunky +dtvSetCpuBankSegment1 dominated by dtvSetCpuBankSegment1 main gfx_init @32 @begin main::@19 gfx_init_plane_8bppchunky +dtvSetCpuBankSegment1::@return dominated by dtvSetCpuBankSegment1::@return dtvSetCpuBankSegment1 main gfx_init @32 @begin main::@19 gfx_init_plane_8bppchunky +keyboard_init dominated by main @32 @begin keyboard_init +keyboard_init::@return dominated by main @32 @begin keyboard_init keyboard_init::@return NATURAL LOOPS -Found back edge: Loop head: main::@1 tails: main::@2 blocks: null -Found back edge: Loop head: menu::@1 tails: menu::@1 blocks: null -Found back edge: Loop head: menu::@5 tails: menu::@5 blocks: null -Found back edge: Loop head: menu::@2 tails: menu::@7 blocks: null +Found back edge: Loop head: main::@4 tails: main::@4 blocks: null +Found back edge: Loop head: main::@7 tails: main::@7 blocks: null +Found back edge: Loop head: main::@1 tails: main::@23 blocks: null +Found back edge: Loop head: gfx_mode::@10 tails: gfx_mode::@10 blocks: null Found back edge: Loop head: keyboard_event_scan::@3 tails: keyboard_event_scan::@4 blocks: null Found back edge: Loop head: keyboard_event_scan::@1 tails: keyboard_event_scan::@8 blocks: null +Found back edge: Loop head: form_mode::@1 tails: form_mode::@1 blocks: null Found back edge: Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: null Found back edge: Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: null Found back edge: Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: null Found back edge: Loop head: print_str_lines::@1 tails: print_str_lines::@9 blocks: null Found back edge: Loop head: print_ln::@1 tails: print_ln::@1 blocks: null -Found back edge: Loop head: print_cls::@1 tails: print_cls::@1 blocks: null -Populated: Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 -Populated: Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 -Populated: Loop head: menu::@5 tails: menu::@5 blocks: menu::@5 -Populated: Loop head: menu::@2 tails: menu::@7 blocks: menu::@7 menu::@5 menu::@2 +Found back edge: Loop head: gfx_init_plane_8bppchunky::@2 tails: gfx_init_plane_8bppchunky::@3 blocks: null +Found back edge: Loop head: gfx_init_plane_8bppchunky::@1 tails: gfx_init_plane_8bppchunky::@5 blocks: null +Populated: Loop head: main::@4 tails: main::@4 blocks: main::@4 +Populated: Loop head: main::@7 tails: main::@7 blocks: main::@7 +Populated: Loop head: main::@1 tails: main::@23 blocks: main::@23 main::@9 main::@7 main::@6 main::@4 main::@1 +Populated: Loop head: gfx_mode::@10 tails: gfx_mode::@10 blocks: gfx_mode::@10 Populated: Loop head: keyboard_event_scan::@3 tails: keyboard_event_scan::@4 blocks: keyboard_event_scan::@4 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@15 Populated: Loop head: keyboard_event_scan::@1 tails: keyboard_event_scan::@8 blocks: keyboard_event_scan::@8 keyboard_event_scan::@18 keyboard_event_scan::@2 keyboard_event_scan::@4 keyboard_event_scan::@25 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@1 keyboard_event_scan::@15 +Populated: Loop head: form_mode::@1 tails: form_mode::@1 blocks: form_mode::@1 Populated: Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: form_render_values::@3 form_render_values::@1 Populated: Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: form_set_screen::@1 Populated: Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 Populated: Loop head: print_str_lines::@1 tails: print_str_lines::@9 blocks: print_str_lines::@9 print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 print_str_lines::@1 Populated: Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 -Populated: Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 -Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 -Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 -Loop head: menu::@5 tails: menu::@5 blocks: menu::@5 -Loop head: menu::@2 tails: menu::@7 blocks: menu::@7 menu::@5 menu::@2 +Populated: Loop head: gfx_init_plane_8bppchunky::@2 tails: gfx_init_plane_8bppchunky::@3 blocks: gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@4 +Populated: Loop head: gfx_init_plane_8bppchunky::@1 tails: gfx_init_plane_8bppchunky::@5 blocks: gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@4 +Loop head: main::@4 tails: main::@4 blocks: main::@4 +Loop head: main::@7 tails: main::@7 blocks: main::@7 +Loop head: main::@1 tails: main::@23 blocks: main::@23 main::@9 main::@7 main::@6 main::@4 main::@1 +Loop head: gfx_mode::@10 tails: gfx_mode::@10 blocks: gfx_mode::@10 Loop head: keyboard_event_scan::@3 tails: keyboard_event_scan::@4 blocks: keyboard_event_scan::@4 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@15 Loop head: keyboard_event_scan::@1 tails: keyboard_event_scan::@8 blocks: keyboard_event_scan::@8 keyboard_event_scan::@18 keyboard_event_scan::@2 keyboard_event_scan::@4 keyboard_event_scan::@25 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@1 keyboard_event_scan::@15 +Loop head: form_mode::@1 tails: form_mode::@1 blocks: form_mode::@1 Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: form_render_values::@3 form_render_values::@1 Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: form_set_screen::@1 Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 Loop head: print_str_lines::@1 tails: print_str_lines::@9 blocks: print_str_lines::@9 print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 print_str_lines::@1 Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 -Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 +Loop head: gfx_init_plane_8bppchunky::@2 tails: gfx_init_plane_8bppchunky::@3 blocks: gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@4 +Loop head: gfx_init_plane_8bppchunky::@1 tails: gfx_init_plane_8bppchunky::@5 blocks: gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@4 NATURAL LOOPS WITH DEPTH Found 0 loops in scope [] -Found 1 loops in scope [main] - Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 -Found 3 loops in scope [menu] - Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 - Loop head: menu::@5 tails: menu::@5 blocks: menu::@5 - Loop head: menu::@2 tails: menu::@7 blocks: menu::@7 menu::@5 menu::@2 +Found 3 loops in scope [main] + Loop head: main::@4 tails: main::@4 blocks: main::@4 + Loop head: main::@7 tails: main::@7 blocks: main::@7 + Loop head: main::@1 tails: main::@23 blocks: main::@23 main::@9 main::@7 main::@6 main::@4 main::@1 +Found 0 loops in scope [keyboard_init] +Found 0 loops in scope [gfx_init] +Found 0 loops in scope [form_init] +Found 1 loops in scope [form_mode] + Loop head: form_mode::@1 tails: form_mode::@1 blocks: form_mode::@1 +Found 0 loops in scope [form_control] +Found 1 loops in scope [gfx_mode] + Loop head: gfx_mode::@10 tails: gfx_mode::@10 blocks: gfx_mode::@10 +Found 2 loops in scope [gfx_init_plane_8bppchunky] + Loop head: gfx_init_plane_8bppchunky::@2 tails: gfx_init_plane_8bppchunky::@3 blocks: gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@4 + Loop head: gfx_init_plane_8bppchunky::@1 tails: gfx_init_plane_8bppchunky::@5 blocks: gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@4 Found 0 loops in scope [print_set_screen] -Found 1 loops in scope [print_cls] - Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 Found 2 loops in scope [print_str_lines] Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 Loop head: print_str_lines::@1 tails: print_str_lines::@9 blocks: print_str_lines::@9 print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 print_str_lines::@1 @@ -7658,38 +9610,49 @@ Found 1 loops in scope [form_set_screen] Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: form_set_screen::@1 Found 1 loops in scope [form_render_values] Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: form_render_values::@3 form_render_values::@1 -Found 0 loops in scope [form_control] -Found 1 loops in scope [print_ln] - Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 Found 0 loops in scope [form_field_ptr] Found 2 loops in scope [keyboard_event_scan] Loop head: keyboard_event_scan::@3 tails: keyboard_event_scan::@4 blocks: keyboard_event_scan::@4 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@15 Loop head: keyboard_event_scan::@1 tails: keyboard_event_scan::@8 blocks: keyboard_event_scan::@8 keyboard_event_scan::@18 keyboard_event_scan::@2 keyboard_event_scan::@4 keyboard_event_scan::@25 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@1 keyboard_event_scan::@15 Found 0 loops in scope [keyboard_event_get] +Found 0 loops in scope [dtvSetCpuBankSegment1] +Found 1 loops in scope [print_ln] + Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 Found 0 loops in scope [keyboard_matrix_read] Found 0 loops in scope [keyboard_event_pressed] -Loop head: main::@1 tails: main::@2 blocks: main::@2 main::@1 depth: 1 -Loop head: menu::@1 tails: menu::@1 blocks: menu::@1 depth: 2 -Loop head: menu::@5 tails: menu::@5 blocks: menu::@5 depth: 3 -Loop head: menu::@2 tails: menu::@7 blocks: menu::@7 menu::@5 menu::@2 depth: 2 -Loop head: keyboard_event_scan::@3 tails: keyboard_event_scan::@4 blocks: keyboard_event_scan::@4 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@15 depth: 4 -Loop head: keyboard_event_scan::@1 tails: keyboard_event_scan::@8 blocks: keyboard_event_scan::@8 keyboard_event_scan::@18 keyboard_event_scan::@2 keyboard_event_scan::@4 keyboard_event_scan::@25 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@1 keyboard_event_scan::@15 depth: 3 -Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: form_render_values::@3 form_render_values::@1 depth: 2 -Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: form_set_screen::@1 depth: 2 -Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 depth: 3 -Loop head: print_str_lines::@1 tails: print_str_lines::@9 blocks: print_str_lines::@9 print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 print_str_lines::@1 depth: 2 -Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 depth: 3 -Loop head: print_cls::@1 tails: print_cls::@1 blocks: print_cls::@1 depth: 2 +Loop head: main::@4 tails: main::@4 blocks: main::@4 depth: 2 +Loop head: main::@7 tails: main::@7 blocks: main::@7 depth: 2 +Loop head: main::@1 tails: main::@23 blocks: main::@23 main::@9 main::@7 main::@6 main::@4 main::@1 depth: 1 +Loop head: gfx_mode::@10 tails: gfx_mode::@10 blocks: gfx_mode::@10 depth: 2 +Loop head: keyboard_event_scan::@3 tails: keyboard_event_scan::@4 blocks: keyboard_event_scan::@4 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@15 depth: 3 +Loop head: keyboard_event_scan::@1 tails: keyboard_event_scan::@8 blocks: keyboard_event_scan::@8 keyboard_event_scan::@18 keyboard_event_scan::@2 keyboard_event_scan::@4 keyboard_event_scan::@25 keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 keyboard_event_scan::@1 keyboard_event_scan::@15 depth: 2 +Loop head: form_mode::@1 tails: form_mode::@1 blocks: form_mode::@1 depth: 2 +Loop head: form_render_values::@1 tails: form_render_values::@3 blocks: form_render_values::@3 form_render_values::@1 depth: 1 +Loop head: form_set_screen::@1 tails: form_set_screen::@1 blocks: form_set_screen::@1 depth: 1 +Loop head: print_str_lines::@4 tails: print_str_lines::@5 blocks: print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 depth: 2 +Loop head: print_str_lines::@1 tails: print_str_lines::@9 blocks: print_str_lines::@9 print_str_lines::@5 print_str_lines::@4 print_str_lines::@8 print_str_lines::@1 depth: 1 +Loop head: print_ln::@1 tails: print_ln::@1 blocks: print_ln::@1 depth: 2 +Loop head: gfx_init_plane_8bppchunky::@2 tails: gfx_init_plane_8bppchunky::@3 blocks: gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@4 depth: 2 +Loop head: gfx_init_plane_8bppchunky::@1 tails: gfx_init_plane_8bppchunky::@5 blocks: gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@3 gfx_init_plane_8bppchunky::@2 gfx_init_plane_8bppchunky::@8 gfx_init_plane_8bppchunky::@1 gfx_init_plane_8bppchunky::@4 depth: 1 VARIABLE REGISTER WEIGHTS (byte*) BGCOL +(byte*) BGCOL1 +(byte*) BGCOL2 +(byte*) BGCOL3 +(byte*) BGCOL4 (byte*) BORDERCOL (byte*) CIA1_PORT_A +(byte*) CIA1_PORT_A_DDR (byte*) CIA1_PORT_B +(byte*) CIA1_PORT_B_DDR (byte*) CIA2_PORT_A (byte*) CIA2_PORT_A_DDR (byte*) COLS +(byte) DTV_BORDER_OFF +(byte) DTV_CHUNKY +(byte) DTV_COLORRAM_OFF (dword) DTV_COLOR_BANK_DEFAULT (byte*) DTV_COLOR_BANK_HI (byte*) DTV_COLOR_BANK_LO @@ -7697,9 +9660,29 @@ VARIABLE REGISTER WEIGHTS (byte*) DTV_FEATURE (byte) DTV_FEATURE_ENABLE (byte*) DTV_GRAPHICS_VIC_BANK +(byte) DTV_HIGHCOLOR +(byte) DTV_LINEAR +(byte) DTV_OVERSCAN (byte*) DTV_PALETTE (byte[16]) DTV_PALETTE_DEFAULT +(byte*) DTV_PLANEA_MODULO_HI +(byte*) DTV_PLANEA_MODULO_LO +(byte*) DTV_PLANEA_START_HI +(byte*) DTV_PLANEA_START_LO +(byte*) DTV_PLANEA_START_MI +(byte*) DTV_PLANEA_STEP +(byte*) DTV_PLANEB_MODULO_HI +(byte*) DTV_PLANEB_MODULO_LO +(byte*) DTV_PLANEB_START_HI +(byte*) DTV_PLANEB_START_LO +(byte*) DTV_PLANEB_START_MI +(byte*) DTV_PLANEB_STEP +(byte*) FORM_CHARSET +(byte[]) FORM_COLS (signed byte) FORM_CURSOR_BLINK +(word) FORM_OFFSET +(byte*) FORM_SCREEN +(byte[]) FORM_TEXT (byte) KEY_COMMODORE (byte) KEY_CRSR_DOWN (byte) KEY_CRSR_RIGHT @@ -7711,15 +9694,34 @@ VARIABLE REGISTER WEIGHTS (byte) KEY_MODIFIER_RSHIFT (byte) KEY_MODIFIER_SHIFT (byte) KEY_RSHIFT -(byte[]) MENU_COLS -(byte[]) MENU_TEXT +(dword) PLANE_8BPP_CHUNKY (byte*) RASTER +(byte) VIC_BMM (byte*) VIC_CONTROL (byte*) VIC_CONTROL2 (byte) VIC_CSEL (byte) VIC_DEN +(byte) VIC_ECM +(byte) VIC_MCM (byte*) VIC_MEMORY (byte) VIC_RSEL +(void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) +(byte*) dtvSetCpuBankSegment1::cpuBank +(byte) dtvSetCpuBankSegment1::cpuBankIdx +(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 202.0 +(byte) dtvSetCpuBankSegment1::cpuBankIdx#3 103.0 +(byte*) form_a_mod_hi +(byte*) form_a_mod_lo +(byte*) form_a_start_hi +(byte*) form_a_start_lo +(byte*) form_a_step_hi +(byte*) form_a_step_lo +(byte*) form_b_mod_hi +(byte*) form_b_mod_lo +(byte*) form_b_start_hi +(byte*) form_b_start_lo +(byte*) form_b_step_hi +(byte*) form_b_step_lo (void()) form_control() (byte~) form_control::$12 4.0 (byte~) form_control::$13 4.0 @@ -7730,30 +9732,37 @@ VARIABLE REGISTER WEIGHTS (byte*) form_control::field#0 0.5925925925925926 (byte) form_control::key_event (byte) form_control::key_event#0 3.0 +(byte*) form_ctrl_bmm +(byte*) form_ctrl_borof +(byte*) form_ctrl_chunk +(byte*) form_ctrl_colof +(byte*) form_ctrl_ecm +(byte*) form_ctrl_hicol +(byte*) form_ctrl_line +(byte*) form_ctrl_mcm +(byte*) form_ctrl_overs (signed byte) form_cursor_count -(signed byte) form_cursor_count#1 0.3939393939393939 -(signed byte) form_cursor_count#13 11.6 -(signed byte) form_cursor_count#15 0.34782608695652173 -(signed byte) form_cursor_count#16 34.99999999999999 -(signed byte) form_cursor_count#5 2.0 +(signed byte) form_cursor_count#1 1.1818181818181819 +(signed byte) form_cursor_count#11 0.34782608695652173 +(signed byte) form_cursor_count#12 3.0 +(signed byte) form_cursor_count#3 2.0 (byte) form_field_idx -(byte) form_field_idx#1 0.3939393939393939 -(byte) form_field_idx#14 3.6499999999999972 -(byte) form_field_idx#18 35.66666666666666 -(byte) form_field_idx#30 6.0 -(byte) form_field_idx#40 2.0 -(byte) form_field_idx#41 2.0 +(byte) form_field_idx#1 1.0487804878048785 +(byte) form_field_idx#14 3.4 +(byte) form_field_idx#24 6.0 +(byte) form_field_idx#3 2.0 +(byte) form_field_idx#34 2.0 (byte*()) form_field_ptr((byte) form_field_ptr::field_idx) (word~) form_field_ptr::$2 1.0 (byte*) form_field_ptr::field (byte) form_field_ptr::field_idx -(byte) form_field_ptr::field_idx#0 202.0 +(byte) form_field_ptr::field_idx#0 22.0 (byte) form_field_ptr::field_idx#1 4.0 -(byte) form_field_ptr::field_idx#2 35.66666666666666 +(byte) form_field_ptr::field_idx#2 5.666666666666667 (byte*) form_field_ptr::line (byte*) form_field_ptr::return -(byte*) form_field_ptr::return#0 26.25 -(byte*) form_field_ptr::return#2 202.0 +(byte*) form_field_ptr::return#0 3.75 +(byte*) form_field_ptr::return#2 22.0 (byte*) form_field_ptr::return#3 4.0 (byte) form_field_ptr::x (byte) form_field_ptr::x#0 4.0 @@ -7764,24 +9773,118 @@ VARIABLE REGISTER WEIGHTS (byte[]) form_fields_val (byte[]) form_fields_x (byte[]) form_fields_y +(void()) form_init() (byte[25]) form_line_hi (byte[25]) form_line_lo +(void()) form_mode() +(byte) form_mode::i +(byte) form_mode::i#1 151.5 +(byte) form_mode::i#2 202.0 (void()) form_render_values() (byte*) form_render_values::field -(byte*) form_render_values::field#0 202.0 +(byte*) form_render_values::field#0 22.0 (byte) form_render_values::idx -(byte) form_render_values::idx#1 151.5 -(byte) form_render_values::idx#2 67.33333333333333 +(byte) form_render_values::idx#1 16.5 +(byte) form_render_values::idx#2 7.333333333333333 (void()) form_set_screen((byte*) form_set_screen::screen) -(byte~) form_set_screen::$0 202.0 -(byte~) form_set_screen::$1 202.0 +(byte~) form_set_screen::$0 22.0 +(byte~) form_set_screen::$1 22.0 (byte*) form_set_screen::line -(byte*) form_set_screen::line#1 67.33333333333333 -(byte*) form_set_screen::line#2 80.8 +(byte*) form_set_screen::line#1 7.333333333333333 +(byte*) form_set_screen::line#2 8.8 (byte*) form_set_screen::screen (byte) form_set_screen::y -(byte) form_set_screen::y#1 151.5 -(byte) form_set_screen::y#2 67.33333333333333 +(byte) form_set_screen::y#1 16.5 +(byte) form_set_screen::y#2 7.333333333333333 +(byte*) form_vic_bg0_hi +(byte*) form_vic_bg0_lo +(byte*) form_vic_bg1_hi +(byte*) form_vic_bg1_lo +(byte*) form_vic_bg2_hi +(byte*) form_vic_bg2_lo +(byte*) form_vic_bg3_hi +(byte*) form_vic_bg3_lo +(void()) gfx_init() +(void()) gfx_init_plane_8bppchunky() +(word~) gfx_init_plane_8bppchunky::$6 202.0 +(byte) gfx_init_plane_8bppchunky::c +(byte) gfx_init_plane_8bppchunky::c#0 202.0 +(byte*) gfx_init_plane_8bppchunky::gfxb +(byte*) gfx_init_plane_8bppchunky::gfxb#1 42.599999999999994 +(byte*) gfx_init_plane_8bppchunky::gfxb#3 157.0 +(byte*) gfx_init_plane_8bppchunky::gfxb#4 75.75 +(byte*) gfx_init_plane_8bppchunky::gfxb#5 22.0 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 202.0 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 103.75 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 22.0 +(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 34.888888888888886 +(word) gfx_init_plane_8bppchunky::x +(word) gfx_init_plane_8bppchunky::x#1 151.5 +(word) gfx_init_plane_8bppchunky::x#2 30.299999999999997 +(byte) gfx_init_plane_8bppchunky::y +(byte) gfx_init_plane_8bppchunky::y#1 16.5 +(byte) gfx_init_plane_8bppchunky::y#6 9.461538461538462 +(void()) gfx_mode() +(byte~) gfx_mode::$29 4.0 +(word~) gfx_mode::$33 4.0 +(byte~) gfx_mode::$34 4.0 +(word~) gfx_mode::$35 4.0 +(byte~) gfx_mode::$36 4.0 +(word~) gfx_mode::$37 4.0 +(byte~) gfx_mode::$38 4.0 +(byte~) gfx_mode::$39 4.0 +(byte~) gfx_mode::$40 4.0 +(byte~) gfx_mode::$41 4.0 +(byte~) gfx_mode::$42 4.0 +(byte~) gfx_mode::$43 4.0 +(word~) gfx_mode::$46 4.0 +(byte~) gfx_mode::$47 4.0 +(word~) gfx_mode::$48 4.0 +(byte~) gfx_mode::$49 4.0 +(word~) gfx_mode::$50 4.0 +(byte~) gfx_mode::$51 4.0 +(byte~) gfx_mode::$52 4.0 +(byte~) gfx_mode::$53 4.0 +(byte~) gfx_mode::$54 4.0 +(byte~) gfx_mode::$55 4.0 +(byte~) gfx_mode::$56 4.0 +(byte~) gfx_mode::$57 4.0 +(byte~) gfx_mode::$58 4.0 +(byte~) gfx_mode::$59 4.0 +(byte~) gfx_mode::$60 4.0 +(byte~) gfx_mode::$61 4.0 +(byte~) gfx_mode::$62 4.0 +(byte~) gfx_mode::$63 4.0 +(byte) gfx_mode::dtv_control +(byte) gfx_mode::dtv_control#10 4.0 +(byte) gfx_mode::dtv_control#11 4.0 +(byte) gfx_mode::dtv_control#12 6.0 +(byte) gfx_mode::dtv_control#13 4.0 +(byte) gfx_mode::dtv_control#14 2.0 +(byte) gfx_mode::dtv_control#15 4.0 +(byte) gfx_mode::dtv_control#2 4.0 +(byte) gfx_mode::dtv_control#3 4.0 +(byte) gfx_mode::dtv_control#4 4.0 +(byte) gfx_mode::dtv_control#5 4.0 +(byte) gfx_mode::dtv_control#6 4.0 +(byte) gfx_mode::i +(byte) gfx_mode::i#1 151.5 +(byte) gfx_mode::i#2 202.0 +(dword) gfx_mode::plane_a +(dword) gfx_mode::plane_a#0 1.1428571428571428 +(byte) gfx_mode::plane_a_offs +(byte) gfx_mode::plane_a_offs#0 4.0 +(dword) gfx_mode::plane_b +(dword) gfx_mode::plane_b#0 1.1428571428571428 +(byte) gfx_mode::plane_b_offs +(byte) gfx_mode::plane_b_offs#0 4.0 +(byte) gfx_mode::vic_control +(byte) gfx_mode::vic_control#2 4.0 +(byte) gfx_mode::vic_control#4 6.0 +(byte) gfx_mode::vic_control#5 2.0 +(byte) gfx_mode::vic_control2 +(byte) gfx_mode::vic_control2#2 2.0 (byte()) keyboard_event_get() (byte) keyboard_event_get::return (byte) keyboard_event_get::return#0 4.0 @@ -7801,119 +9904,147 @@ VARIABLE REGISTER WEIGHTS (byte) keyboard_event_pressed::row_bits (byte) keyboard_event_pressed::row_bits#0 2.0 (void()) keyboard_event_scan() -(byte/word/dword~) keyboard_event_scan::$12 20002.0 +(byte/word/dword~) keyboard_event_scan::$12 2002.0 (byte~) keyboard_event_scan::$16 4.0 (byte~) keyboard_event_scan::$20 4.0 (byte~) keyboard_event_scan::$24 4.0 (byte~) keyboard_event_scan::$28 4.0 -(byte~) keyboard_event_scan::$3 20002.0 -(byte~) keyboard_event_scan::$4 20002.0 +(byte~) keyboard_event_scan::$3 2002.0 +(byte~) keyboard_event_scan::$4 2002.0 (byte) keyboard_event_scan::col -(byte) keyboard_event_scan::col#1 15001.5 -(byte) keyboard_event_scan::col#2 2857.4285714285716 +(byte) keyboard_event_scan::col#1 1501.5 +(byte) keyboard_event_scan::col#2 286.0 (byte) keyboard_event_scan::event_type -(byte) keyboard_event_scan::event_type#0 20002.0 +(byte) keyboard_event_scan::event_type#0 2002.0 (byte) keyboard_event_scan::keycode -(byte) keyboard_event_scan::keycode#1 2002.0 -(byte) keyboard_event_scan::keycode#10 3154.230769230769 -(byte) keyboard_event_scan::keycode#11 500.5 -(byte) keyboard_event_scan::keycode#14 1001.0 -(byte) keyboard_event_scan::keycode#15 5250.75 +(byte) keyboard_event_scan::keycode#1 202.0 +(byte) keyboard_event_scan::keycode#10 315.7692307692308 +(byte) keyboard_event_scan::keycode#11 50.5 +(byte) keyboard_event_scan::keycode#14 101.0 +(byte) keyboard_event_scan::keycode#15 525.75 (byte) keyboard_event_scan::row -(byte) keyboard_event_scan::row#1 1501.5 -(byte) keyboard_event_scan::row#2 600.24 +(byte) keyboard_event_scan::row#1 151.5 +(byte) keyboard_event_scan::row#2 60.239999999999995 (byte) keyboard_event_scan::row_scan -(byte) keyboard_event_scan::row_scan#0 1278.0555555555554 +(byte) keyboard_event_scan::row_scan#0 128.05555555555557 (byte[8]) keyboard_events (byte) keyboard_events_size -(byte) keyboard_events_size#1 20002.0 -(byte) keyboard_events_size#14 8100.9000000000015 -(byte) keyboard_events_size#17 94.03125 -(byte) keyboard_events_size#2 20002.0 -(byte) keyboard_events_size#20 3.5000000000000004 -(byte) keyboard_events_size#22 0.3939393939393939 -(byte) keyboard_events_size#24 5.523809523809524 +(byte) keyboard_events_size#1 2002.0 +(byte) keyboard_events_size#12 810.9000000000001 +(byte) keyboard_events_size#15 9.65625 +(byte) keyboard_events_size#18 0.46875 +(byte) keyboard_events_size#2 2002.0 +(byte) keyboard_events_size#20 0.5909090909090909 +(byte) keyboard_events_size#37 43.57142857142858 +(byte) keyboard_events_size#38 1021.2 (byte) keyboard_events_size#4 3.0 -(byte) keyboard_events_size#43 429.2857142857143 -(byte) keyboard_events_size#44 10201.2 +(void()) keyboard_init() (byte[8]) keyboard_matrix_col_bitmask (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte) keyboard_matrix_read::return -(byte) keyboard_matrix_read::return#0 334.33333333333337 -(byte) keyboard_matrix_read::return#2 2002.0 +(byte) keyboard_matrix_read::return#0 34.33333333333333 +(byte) keyboard_matrix_read::return#2 202.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(byte) keyboard_matrix_read::rowid#0 1003.0 +(byte) keyboard_matrix_read::rowid#0 103.0 (byte[8]) keyboard_matrix_row_bitmask (byte) keyboard_modifiers -(byte) keyboard_modifiers#10 28.5 -(byte) keyboard_modifiers#15 0.8 -(byte) keyboard_modifiers#16 1.6 -(byte) keyboard_modifiers#17 1.6 -(byte) keyboard_modifiers#18 3.40625 -(byte) keyboard_modifiers#20 0.3939393939393939 +(byte) keyboard_modifiers#13 0.8 +(byte) keyboard_modifiers#14 1.6 +(byte) keyboard_modifiers#15 1.6 +(byte) keyboard_modifiers#16 0.7272727272727273 (byte) keyboard_modifiers#3 4.0 (byte) keyboard_modifiers#4 4.0 (byte) keyboard_modifiers#5 4.0 (byte[8]) keyboard_scan_values (void()) main() -(void()) menu() -(byte*) menu::CHARSET -(byte*) menu::SCREEN -(byte) menu::i -(byte) menu::i#1 151.5 -(byte) menu::i#2 202.0 (byte*) print_char_cursor -(byte*) print_char_cursor#1 2002.0 -(byte*) print_char_cursor#20 821.0 -(byte*) print_char_cursor#22 102.0 -(byte*) print_char_cursor#38 572.0 -(byte*~) print_char_cursor#64 4.0 -(byte*~) print_char_cursor#65 202.0 -(void()) print_cls() -(byte*~) print_cls::$0 202.0 -(byte*) print_cls::sc -(byte*) print_cls::sc#0 4.0 -(byte*) print_cls::sc#1 101.0 -(byte*) print_cls::sc#2 152.5 +(byte*) print_char_cursor#1 202.0 +(byte*) print_char_cursor#16 83.0 +(byte*) print_char_cursor#18 12.0 +(byte*) print_char_cursor#31 57.714285714285715 +(byte*~) print_char_cursor#60 4.0 +(byte*~) print_char_cursor#61 22.0 (byte[]) print_hextab (byte*) print_line_cursor -(byte*) print_line_cursor#2 8.749999999999998 -(byte*) print_line_cursor#21 2004.0 -(byte*) print_line_cursor#22 641.0 +(byte*) print_line_cursor#16 1.25 +(byte*) print_line_cursor#17 204.0 +(byte*) print_line_cursor#18 65.0 (void()) print_ln() (byte*) print_screen (void()) print_set_screen((byte*) print_set_screen::screen) (byte*) print_set_screen::screen -(byte*) print_set_screen::screen#2 5.631578947368421 +(byte*) print_set_screen::screen#2 0.5 (void()) print_str_lines((byte*) print_str_lines::str) (byte) print_str_lines::ch -(byte) print_str_lines::ch#0 667.3333333333334 +(byte) print_str_lines::ch#0 67.33333333333333 (byte*) print_str_lines::str -(byte*) print_str_lines::str#0 233.66666666666669 -(byte*) print_str_lines::str#3 152.5 -(byte*) print_str_lines::str#4 1552.0 +(byte*) print_str_lines::str#0 23.666666666666664 +(byte*) print_str_lines::str#3 17.5 +(byte*) print_str_lines::str#4 157.0 (byte*) print_str_lines::str#5 1.0 Initial phi equivalence classes -[ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -[ 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 ] -[ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#30 form_field_idx#40 form_field_idx#41 ] -[ menu::i#2 menu::i#1 ] +[ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +[ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] +[ 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 ] +[ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +[ gfx_mode::vic_control2#2 ] +[ gfx_mode::i#2 gfx_mode::i#1 ] [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] [ 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_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 ] +[ 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 ] +[ keyboard_modifiers#16 keyboard_modifiers#15 keyboard_modifiers#4 keyboard_modifiers#14 keyboard_modifiers#3 keyboard_modifiers#13 keyboard_modifiers#5 ] [ keyboard_event_pressed::keycode#4 ] [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] +[ form_mode::i#2 form_mode::i#1 ] [ form_render_values::idx#2 form_render_values::idx#1 ] [ form_set_screen::line#2 form_set_screen::line#1 ] [ form_set_screen::y#2 form_set_screen::y#1 ] [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] -[ print_char_cursor#20 print_char_cursor#22 print_char_cursor#64 print_char_cursor#65 print_char_cursor#38 print_char_cursor#1 ] -[ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] -[ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] +[ print_char_cursor#16 print_char_cursor#18 print_char_cursor#60 print_char_cursor#61 print_char_cursor#31 print_char_cursor#1 ] +[ print_line_cursor#17 print_line_cursor#16 print_set_screen::screen#2 print_line_cursor#18 ] +[ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +[ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] +[ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] +[ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] +[ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ] +Added variable gfx_mode::$29 to zero page equivalence class [ gfx_mode::$29 ] +Added variable gfx_mode::plane_a_offs#0 to zero page equivalence class [ gfx_mode::plane_a_offs#0 ] +Added variable gfx_mode::plane_a#0 to zero page equivalence class [ gfx_mode::plane_a#0 ] +Added variable gfx_mode::$33 to zero page equivalence class [ gfx_mode::$33 ] +Added variable gfx_mode::$34 to zero page equivalence class [ gfx_mode::$34 ] +Added variable gfx_mode::$35 to zero page equivalence class [ gfx_mode::$35 ] +Added variable gfx_mode::$36 to zero page equivalence class [ gfx_mode::$36 ] +Added variable gfx_mode::$37 to zero page equivalence class [ gfx_mode::$37 ] +Added variable gfx_mode::$38 to zero page equivalence class [ gfx_mode::$38 ] +Added variable gfx_mode::$39 to zero page equivalence class [ gfx_mode::$39 ] +Added variable gfx_mode::$40 to zero page equivalence class [ gfx_mode::$40 ] +Added variable gfx_mode::$41 to zero page equivalence class [ gfx_mode::$41 ] +Added variable gfx_mode::$42 to zero page equivalence class [ gfx_mode::$42 ] +Added variable gfx_mode::$43 to zero page equivalence class [ gfx_mode::$43 ] +Added variable gfx_mode::plane_b_offs#0 to zero page equivalence class [ gfx_mode::plane_b_offs#0 ] +Added variable gfx_mode::plane_b#0 to zero page equivalence class [ gfx_mode::plane_b#0 ] +Added variable gfx_mode::$46 to zero page equivalence class [ gfx_mode::$46 ] +Added variable gfx_mode::$47 to zero page equivalence class [ gfx_mode::$47 ] +Added variable gfx_mode::$48 to zero page equivalence class [ gfx_mode::$48 ] +Added variable gfx_mode::$49 to zero page equivalence class [ gfx_mode::$49 ] +Added variable gfx_mode::$50 to zero page equivalence class [ gfx_mode::$50 ] +Added variable gfx_mode::$51 to zero page equivalence class [ gfx_mode::$51 ] +Added variable gfx_mode::$52 to zero page equivalence class [ gfx_mode::$52 ] +Added variable gfx_mode::$53 to zero page equivalence class [ gfx_mode::$53 ] +Added variable gfx_mode::$54 to zero page equivalence class [ gfx_mode::$54 ] +Added variable gfx_mode::$55 to zero page equivalence class [ gfx_mode::$55 ] +Added variable gfx_mode::$56 to zero page equivalence class [ gfx_mode::$56 ] +Added variable gfx_mode::$57 to zero page equivalence class [ gfx_mode::$57 ] +Added variable gfx_mode::$58 to zero page equivalence class [ gfx_mode::$58 ] +Added variable gfx_mode::$59 to zero page equivalence class [ gfx_mode::$59 ] +Added variable gfx_mode::$60 to zero page equivalence class [ gfx_mode::$60 ] +Added variable gfx_mode::$61 to zero page equivalence class [ gfx_mode::$61 ] +Added variable gfx_mode::$62 to zero page equivalence class [ gfx_mode::$62 ] +Added variable gfx_mode::$63 to zero page equivalence class [ gfx_mode::$63 ] Added variable form_field_ptr::return#3 to zero page equivalence class [ form_field_ptr::return#3 ] Added variable form_control::field#0 to zero page equivalence class [ form_control::field#0 ] Added variable form_control::$6 to zero page equivalence class [ form_control::$6 ] @@ -7952,26 +10083,69 @@ Added variable form_render_values::field#0 to zero page equivalence class [ form Added variable form_set_screen::$0 to zero page equivalence class [ form_set_screen::$0 ] Added variable form_set_screen::$1 to zero page equivalence class [ form_set_screen::$1 ] Added variable print_str_lines::ch#0 to zero page equivalence class [ print_str_lines::ch#0 ] -Added variable print_cls::$0 to zero page equivalence class [ print_cls::$0 ] +Added variable gfx_init_plane_8bppchunky::$6 to zero page equivalence class [ gfx_init_plane_8bppchunky::$6 ] +Added variable gfx_init_plane_8bppchunky::c#0 to zero page equivalence class [ gfx_init_plane_8bppchunky::c#0 ] Complete equivalence classes -[ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -[ 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 ] -[ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#30 form_field_idx#40 form_field_idx#41 ] -[ menu::i#2 menu::i#1 ] +[ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +[ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] +[ 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 ] +[ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +[ gfx_mode::vic_control2#2 ] +[ gfx_mode::i#2 gfx_mode::i#1 ] [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] [ 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_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 ] +[ 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 ] +[ keyboard_modifiers#16 keyboard_modifiers#15 keyboard_modifiers#4 keyboard_modifiers#14 keyboard_modifiers#3 keyboard_modifiers#13 keyboard_modifiers#5 ] [ keyboard_event_pressed::keycode#4 ] [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] +[ form_mode::i#2 form_mode::i#1 ] [ form_render_values::idx#2 form_render_values::idx#1 ] [ form_set_screen::line#2 form_set_screen::line#1 ] [ form_set_screen::y#2 form_set_screen::y#1 ] [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] -[ print_char_cursor#20 print_char_cursor#22 print_char_cursor#64 print_char_cursor#65 print_char_cursor#38 print_char_cursor#1 ] -[ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] -[ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] +[ print_char_cursor#16 print_char_cursor#18 print_char_cursor#60 print_char_cursor#61 print_char_cursor#31 print_char_cursor#1 ] +[ print_line_cursor#17 print_line_cursor#16 print_set_screen::screen#2 print_line_cursor#18 ] +[ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +[ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] +[ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] +[ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] +[ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ] +[ gfx_mode::$29 ] +[ gfx_mode::plane_a_offs#0 ] +[ gfx_mode::plane_a#0 ] +[ gfx_mode::$33 ] +[ gfx_mode::$34 ] +[ gfx_mode::$35 ] +[ gfx_mode::$36 ] +[ gfx_mode::$37 ] +[ gfx_mode::$38 ] +[ gfx_mode::$39 ] +[ gfx_mode::$40 ] +[ gfx_mode::$41 ] +[ gfx_mode::$42 ] +[ gfx_mode::$43 ] +[ gfx_mode::plane_b_offs#0 ] +[ gfx_mode::plane_b#0 ] +[ gfx_mode::$46 ] +[ gfx_mode::$47 ] +[ gfx_mode::$48 ] +[ gfx_mode::$49 ] +[ gfx_mode::$50 ] +[ gfx_mode::$51 ] +[ gfx_mode::$52 ] +[ gfx_mode::$53 ] +[ gfx_mode::$54 ] +[ gfx_mode::$55 ] +[ gfx_mode::$56 ] +[ gfx_mode::$57 ] +[ gfx_mode::$58 ] +[ gfx_mode::$59 ] +[ gfx_mode::$60 ] +[ gfx_mode::$61 ] +[ gfx_mode::$62 ] +[ gfx_mode::$63 ] [ form_field_ptr::return#3 ] [ form_control::field#0 ] [ form_control::$6 ] @@ -8010,64 +10184,108 @@ Complete equivalence classes [ form_set_screen::$0 ] [ form_set_screen::$1 ] [ print_str_lines::ch#0 ] -[ print_cls::$0 ] -Allocated zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -Allocated zp ZP_BYTE:3 [ 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 ] -Allocated 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 ] -Allocated zp ZP_BYTE:5 [ menu::i#2 menu::i#1 ] -Allocated zp ZP_BYTE:6 [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] -Allocated zp ZP_BYTE:7 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Allocated zp ZP_BYTE:8 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] -Allocated zp ZP_BYTE:9 [ 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 ] -Allocated zp ZP_BYTE:10 [ 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 ] -Allocated zp ZP_BYTE:11 [ keyboard_event_pressed::keycode#4 ] -Allocated zp ZP_BYTE:12 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] -Allocated zp ZP_BYTE:13 [ form_render_values::idx#2 form_render_values::idx#1 ] -Allocated zp ZP_WORD:14 [ form_set_screen::line#2 form_set_screen::line#1 ] -Allocated zp ZP_BYTE:16 [ form_set_screen::y#2 form_set_screen::y#1 ] -Allocated zp ZP_WORD:17 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] -Allocated zp ZP_WORD:19 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#64 print_char_cursor#65 print_char_cursor#38 print_char_cursor#1 ] -Allocated zp ZP_WORD:21 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] -Allocated zp ZP_WORD:23 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] -Allocated zp ZP_WORD:25 [ form_field_ptr::return#3 ] -Allocated zp ZP_WORD:27 [ form_control::field#0 ] -Allocated zp ZP_BYTE:29 [ form_control::$6 ] -Allocated zp ZP_BYTE:30 [ keyboard_event_get::return#3 ] -Allocated zp ZP_BYTE:31 [ form_control::key_event#0 ] -Allocated zp ZP_BYTE:32 [ form_control::$12 ] -Allocated zp ZP_BYTE:33 [ form_control::$13 ] -Allocated zp ZP_BYTE:34 [ form_control::$24 ] -Allocated zp ZP_BYTE:35 [ form_control::$7 ] -Allocated zp ZP_BYTE:36 [ keyboard_matrix_read::rowid#0 ] -Allocated zp ZP_BYTE:37 [ keyboard_matrix_read::return#2 ] -Allocated zp ZP_BYTE:38 [ keyboard_event_scan::row_scan#0 ] -Allocated zp ZP_BYTE:39 [ keyboard_event_scan::$3 ] -Allocated zp ZP_BYTE:40 [ keyboard_event_scan::$4 ] -Allocated zp ZP_BYTE:41 [ keyboard_event_scan::event_type#0 ] -Allocated zp ZP_BYTE:42 [ keyboard_event_scan::$12 ] -Allocated zp ZP_BYTE:43 [ keyboard_event_pressed::return#0 ] -Allocated zp ZP_BYTE:44 [ keyboard_event_scan::$16 ] -Allocated zp ZP_BYTE:45 [ keyboard_event_pressed::return#1 ] -Allocated zp ZP_BYTE:46 [ keyboard_event_scan::$20 ] -Allocated zp ZP_BYTE:47 [ keyboard_event_pressed::return#2 ] -Allocated zp ZP_BYTE:48 [ keyboard_event_scan::$24 ] -Allocated zp ZP_BYTE:49 [ keyboard_event_pressed::return#3 ] -Allocated zp ZP_BYTE:50 [ keyboard_event_scan::$28 ] -Allocated zp ZP_BYTE:51 [ keyboard_event_pressed::$0 ] -Allocated zp ZP_BYTE:52 [ keyboard_event_pressed::row_bits#0 ] -Allocated zp ZP_BYTE:53 [ keyboard_event_pressed::$1 ] -Allocated zp ZP_BYTE:54 [ keyboard_event_pressed::return#10 ] -Allocated zp ZP_BYTE:55 [ keyboard_matrix_read::return#0 ] -Allocated zp ZP_BYTE:56 [ form_field_ptr::y#0 ] -Allocated zp ZP_WORD:57 [ form_field_ptr::$2 ] -Allocated zp ZP_BYTE:59 [ form_field_ptr::x#0 ] -Allocated zp ZP_WORD:60 [ form_field_ptr::return#0 ] -Allocated zp ZP_WORD:62 [ form_field_ptr::return#2 ] -Allocated zp ZP_WORD:64 [ form_render_values::field#0 ] -Allocated zp ZP_BYTE:66 [ form_set_screen::$0 ] -Allocated zp ZP_BYTE:67 [ form_set_screen::$1 ] -Allocated zp ZP_BYTE:68 [ print_str_lines::ch#0 ] -Allocated zp ZP_WORD:69 [ print_cls::$0 ] +[ gfx_init_plane_8bppchunky::$6 ] +[ gfx_init_plane_8bppchunky::c#0 ] +Allocated zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +Allocated zp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] +Allocated zp ZP_BYTE:4 [ 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 ] +Allocated zp ZP_BYTE:5 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +Allocated zp ZP_BYTE:6 [ gfx_mode::vic_control2#2 ] +Allocated zp ZP_BYTE:7 [ gfx_mode::i#2 gfx_mode::i#1 ] +Allocated zp ZP_BYTE:8 [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] +Allocated zp ZP_BYTE:9 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] +Allocated zp ZP_BYTE:10 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] +Allocated zp ZP_BYTE:11 [ 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 ] +Allocated zp ZP_BYTE:12 [ 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 ] +Allocated zp ZP_BYTE:13 [ keyboard_modifiers#16 keyboard_modifiers#15 keyboard_modifiers#4 keyboard_modifiers#14 keyboard_modifiers#3 keyboard_modifiers#13 keyboard_modifiers#5 ] +Allocated zp ZP_BYTE:14 [ keyboard_event_pressed::keycode#4 ] +Allocated zp ZP_BYTE:15 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] +Allocated zp ZP_BYTE:16 [ form_mode::i#2 form_mode::i#1 ] +Allocated zp ZP_BYTE:17 [ form_render_values::idx#2 form_render_values::idx#1 ] +Allocated zp ZP_WORD:18 [ form_set_screen::line#2 form_set_screen::line#1 ] +Allocated zp ZP_BYTE:20 [ form_set_screen::y#2 form_set_screen::y#1 ] +Allocated zp ZP_WORD:21 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] +Allocated zp ZP_WORD:23 [ print_char_cursor#16 print_char_cursor#18 print_char_cursor#60 print_char_cursor#61 print_char_cursor#31 print_char_cursor#1 ] +Allocated zp ZP_WORD:25 [ print_line_cursor#17 print_line_cursor#16 print_set_screen::screen#2 print_line_cursor#18 ] +Allocated zp ZP_BYTE:27 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Allocated zp ZP_WORD:28 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] +Allocated zp ZP_BYTE:30 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] +Allocated zp ZP_WORD:31 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] +Allocated zp ZP_BYTE:33 [ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ] +Allocated zp ZP_BYTE:34 [ gfx_mode::$29 ] +Allocated zp ZP_BYTE:35 [ gfx_mode::plane_a_offs#0 ] +Allocated zp ZP_DWORD:36 [ gfx_mode::plane_a#0 ] +Allocated zp ZP_WORD:40 [ gfx_mode::$33 ] +Allocated zp ZP_BYTE:42 [ gfx_mode::$34 ] +Allocated zp ZP_WORD:43 [ gfx_mode::$35 ] +Allocated zp ZP_BYTE:45 [ gfx_mode::$36 ] +Allocated zp ZP_WORD:46 [ gfx_mode::$37 ] +Allocated zp ZP_BYTE:48 [ gfx_mode::$38 ] +Allocated zp ZP_BYTE:49 [ gfx_mode::$39 ] +Allocated zp ZP_BYTE:50 [ gfx_mode::$40 ] +Allocated zp ZP_BYTE:51 [ gfx_mode::$41 ] +Allocated zp ZP_BYTE:52 [ gfx_mode::$42 ] +Allocated zp ZP_BYTE:53 [ gfx_mode::$43 ] +Allocated zp ZP_BYTE:54 [ gfx_mode::plane_b_offs#0 ] +Allocated zp ZP_DWORD:55 [ gfx_mode::plane_b#0 ] +Allocated zp ZP_WORD:59 [ gfx_mode::$46 ] +Allocated zp ZP_BYTE:61 [ gfx_mode::$47 ] +Allocated zp ZP_WORD:62 [ gfx_mode::$48 ] +Allocated zp ZP_BYTE:64 [ gfx_mode::$49 ] +Allocated zp ZP_WORD:65 [ gfx_mode::$50 ] +Allocated zp ZP_BYTE:67 [ gfx_mode::$51 ] +Allocated zp ZP_BYTE:68 [ gfx_mode::$52 ] +Allocated zp ZP_BYTE:69 [ gfx_mode::$53 ] +Allocated zp ZP_BYTE:70 [ gfx_mode::$54 ] +Allocated zp ZP_BYTE:71 [ gfx_mode::$55 ] +Allocated zp ZP_BYTE:72 [ gfx_mode::$56 ] +Allocated zp ZP_BYTE:73 [ gfx_mode::$57 ] +Allocated zp ZP_BYTE:74 [ gfx_mode::$58 ] +Allocated zp ZP_BYTE:75 [ gfx_mode::$59 ] +Allocated zp ZP_BYTE:76 [ gfx_mode::$60 ] +Allocated zp ZP_BYTE:77 [ gfx_mode::$61 ] +Allocated zp ZP_BYTE:78 [ gfx_mode::$62 ] +Allocated zp ZP_BYTE:79 [ gfx_mode::$63 ] +Allocated zp ZP_WORD:80 [ form_field_ptr::return#3 ] +Allocated zp ZP_WORD:82 [ form_control::field#0 ] +Allocated zp ZP_BYTE:84 [ form_control::$6 ] +Allocated zp ZP_BYTE:85 [ keyboard_event_get::return#3 ] +Allocated zp ZP_BYTE:86 [ form_control::key_event#0 ] +Allocated zp ZP_BYTE:87 [ form_control::$12 ] +Allocated zp ZP_BYTE:88 [ form_control::$13 ] +Allocated zp ZP_BYTE:89 [ form_control::$24 ] +Allocated zp ZP_BYTE:90 [ form_control::$7 ] +Allocated zp ZP_BYTE:91 [ keyboard_matrix_read::rowid#0 ] +Allocated zp ZP_BYTE:92 [ keyboard_matrix_read::return#2 ] +Allocated zp ZP_BYTE:93 [ keyboard_event_scan::row_scan#0 ] +Allocated zp ZP_BYTE:94 [ keyboard_event_scan::$3 ] +Allocated zp ZP_BYTE:95 [ keyboard_event_scan::$4 ] +Allocated zp ZP_BYTE:96 [ keyboard_event_scan::event_type#0 ] +Allocated zp ZP_BYTE:97 [ keyboard_event_scan::$12 ] +Allocated zp ZP_BYTE:98 [ keyboard_event_pressed::return#0 ] +Allocated zp ZP_BYTE:99 [ keyboard_event_scan::$16 ] +Allocated zp ZP_BYTE:100 [ keyboard_event_pressed::return#1 ] +Allocated zp ZP_BYTE:101 [ keyboard_event_scan::$20 ] +Allocated zp ZP_BYTE:102 [ keyboard_event_pressed::return#2 ] +Allocated zp ZP_BYTE:103 [ keyboard_event_scan::$24 ] +Allocated zp ZP_BYTE:104 [ keyboard_event_pressed::return#3 ] +Allocated zp ZP_BYTE:105 [ keyboard_event_scan::$28 ] +Allocated zp ZP_BYTE:106 [ keyboard_event_pressed::$0 ] +Allocated zp ZP_BYTE:107 [ keyboard_event_pressed::row_bits#0 ] +Allocated zp ZP_BYTE:108 [ keyboard_event_pressed::$1 ] +Allocated zp ZP_BYTE:109 [ keyboard_event_pressed::return#10 ] +Allocated zp ZP_BYTE:110 [ keyboard_matrix_read::return#0 ] +Allocated zp ZP_BYTE:111 [ form_field_ptr::y#0 ] +Allocated zp ZP_WORD:112 [ form_field_ptr::$2 ] +Allocated zp ZP_BYTE:114 [ form_field_ptr::x#0 ] +Allocated zp ZP_WORD:115 [ form_field_ptr::return#0 ] +Allocated zp ZP_WORD:117 [ form_field_ptr::return#2 ] +Allocated zp ZP_WORD:119 [ form_render_values::field#0 ] +Allocated zp ZP_BYTE:121 [ form_set_screen::$0 ] +Allocated zp ZP_BYTE:122 [ form_set_screen::$1 ] +Allocated zp ZP_BYTE:123 [ print_str_lines::ch#0 ] +Allocated zp ZP_WORD:124 [ gfx_init_plane_8bppchunky::$6 ] +Allocated zp ZP_BYTE:126 [ gfx_init_plane_8bppchunky::c#0 ] INITIAL ASM //SEG0 Basic Upstart @@ -8078,21 +10296,48 @@ INITIAL ASM .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 @@ -8107,26 +10352,59 @@ INITIAL ASM .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 print_char_cursor = $13 - .label print_line_cursor = $15 - .label keyboard_events_size = $a - .label keyboard_modifiers = 3 + .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 = $17 + .label keyboard_events_size = $c + .label keyboard_modifiers = $d .label form_cursor_count = 2 - .label form_field_idx = 4 + .label form_field_idx = 3 + .label print_line_cursor = $19 //SEG2 @begin bbegin: -//SEG3 [1] phi from @begin to @28 [phi:@begin->@28] -b28_from_bbegin: - jmp b28 -//SEG4 @28 -b28: +//SEG3 [1] phi from @begin to @32 [phi:@begin->@32] +b32_from_bbegin: + jmp b32 +//SEG4 @32 +b32: //SEG5 [2] call main param-assignment [ ] ( ) jsr main -//SEG6 [3] phi from @28 to @end [phi:@28->@end] -bend_from_b28: +//SEG6 [3] phi from @32 to @end [phi:@32->@end] +bend_from_b32: jmp bend //SEG7 @end bend: @@ -8137,268 +10415,620 @@ main: { //SEG10 [5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 lda #DTV_FEATURE_ENABLE sta DTV_FEATURE - //SEG11 [6] phi from main to main::@1 [phi:main->main::@1] - b1_from_main: - //SEG12 [6] phi (byte) form_field_idx#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 + //SEG11 [6] call keyboard_init param-assignment [ ] ( main:2 [ ] ) + jsr keyboard_init + //SEG12 [7] phi from main to main::@19 [phi:main->main::@19] + b19_from_main: + jmp b19 + //SEG13 main::@19 + b19: + //SEG14 [8] call gfx_init param-assignment [ ] ( main:2 [ ] ) + //SEG15 [296] phi from main::@19 to gfx_init [phi:main::@19->gfx_init] + gfx_init_from_b19: + jsr gfx_init + //SEG16 [9] phi from main::@19 to main::@20 [phi:main::@19->main::@20] + b20_from_b19: + jmp b20 + //SEG17 main::@20 + b20: + //SEG18 [10] call form_init param-assignment [ ] ( main:2 [ ] ) + //SEG19 [240] phi from main::@20 to form_init [phi:main::@20->form_init] + form_init_from_b20: + jsr form_init + //SEG20 [11] phi from main::@20 to main::@1 [phi:main::@20->main::@1] + b1_from_b20: + //SEG21 [11] phi (byte) form_field_idx#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@20->main::@1#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx - //SEG13 [6] phi (byte) keyboard_modifiers#20 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 - lda #0 - sta keyboard_modifiers - //SEG14 [6] phi (byte) keyboard_events_size#22 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#2] -- vbuz1=vbuc1 + //SEG22 [11] phi (byte) keyboard_events_size#20 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@20->main::@1#1] -- vbuz1=vbuc1 lda #0 sta keyboard_events_size - //SEG15 [6] phi (signed byte) form_cursor_count#1 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:main->main::@1#3] -- vbsz1=vbuc1 + //SEG23 [11] phi (signed byte) form_cursor_count#1 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:main::@20->main::@1#2] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count jmp b1 - //SEG16 main::@1 + //SEG24 main::@1 b1: - //SEG17 [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 ] ) -- true_then_la1 - jmp b2_from_b1 + //SEG25 [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 ] ) -- true_then_la1 + jmp b4 jmp breturn - //SEG18 main::@return + //SEG26 main::@return breturn: - //SEG19 [8] return [ ] ( main:2 [ ] ) + //SEG27 [13] return [ ] ( main:2 [ ] ) rts - //SEG20 [9] phi from main::@1 to main::@2 [phi:main::@1->main::@2] - b2_from_b1: - jmp b2 - //SEG21 main::@2 - b2: - //SEG22 [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 ] ) - jsr menu - //SEG23 [6] phi from main::@2 to main::@1 [phi:main::@2->main::@1] - b1_from_b2: - //SEG24 [6] phi (byte) form_field_idx#1 = (byte) form_field_idx#14 [phi:main::@2->main::@1#0] -- register_copy - //SEG25 [6] phi (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#10 [phi:main::@2->main::@1#1] -- register_copy - //SEG26 [6] phi (byte) keyboard_events_size#22 = (byte) keyboard_events_size#24 [phi:main::@2->main::@1#2] -- register_copy - //SEG27 [6] phi (signed byte) form_cursor_count#1 = (signed byte) form_cursor_count#13 [phi:main::@2->main::@1#3] -- register_copy - jmp b1 -} -//SEG28 menu -menu: { - .label SCREEN = $8000 - .label CHARSET = $9800 - .label i = 5 - //SEG29 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #($ffffffff&CHARSET)/$10000 - sta DTV_GRAPHICS_VIC_BANK - //SEG30 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #DTV_COLOR_BANK_DEFAULT/$400 - sta DTV_COLOR_BANK_LO - //SEG31 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta DTV_COLOR_BANK_HI - //SEG32 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta DTV_CONTROL - //SEG33 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #3 - sta CIA2_PORT_A_DDR - //SEG34 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #3^CHARSET/$4000 - sta CIA2_PORT_A - //SEG35 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #VIC_DEN|VIC_RSEL|3 - sta VIC_CONTROL - //SEG36 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #VIC_CSEL - sta VIC_CONTROL2 - //SEG37 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #(SCREEN&$3fff)/$40|(CHARSET&$3fff)/$400 - sta VIC_MEMORY - //SEG38 [20] phi from menu to menu::@1 [phi:menu->menu::@1] - b1_from_menu: - //SEG39 [20] phi (byte) menu::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:menu->menu::@1#0] -- vbuz1=vbuc1 - lda #0 - sta i - jmp b1 - //SEG40 [20] phi from menu::@1 to menu::@1 [phi:menu::@1->menu::@1] - b1_from_b1: - //SEG41 [20] phi (byte) menu::i#2 = (byte) menu::i#1 [phi:menu::@1->menu::@1#0] -- register_copy - jmp b1 - //SEG42 menu::@1 - b1: - //SEG43 [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 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 - ldy i - lda DTV_PALETTE_DEFAULT,y - sta DTV_PALETTE,y - //SEG44 [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 ] ) -- vbuz1=_inc_vbuz1 - inc i - //SEG45 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 - lda i - cmp #$10 - bne b1_from_b1 - jmp b8 - //SEG46 menu::@8 - b8: - //SEG47 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta BGCOL - //SEG48 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta BORDERCOL - //SEG49 [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 ] ) - //SEG50 [212] phi from menu::@8 to print_set_screen [phi:menu::@8->print_set_screen] - print_set_screen_from_b8: - //SEG51 [212] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:menu::@8->print_set_screen#0] -- pbuz1=pbuc1 - lda #COLS - sta print_set_screen.screen+1 - jsr print_set_screen - //SEG52 [27] phi from menu::@8 to menu::@15 [phi:menu::@8->menu::@15] - b15_from_b8: - jmp b15 - //SEG53 menu::@15 - b15: - //SEG54 [28] call print_cls param-assignment [ form_cursor_count#1 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 ] ) - jsr print_cls - //SEG55 [29] phi from menu::@15 to menu::@16 [phi:menu::@15->menu::@16] - b16_from_b15: - jmp b16 - //SEG56 menu::@16 - b16: - //SEG57 [30] call print_str_lines param-assignment [ form_cursor_count#1 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 ] ) - //SEG58 [184] phi from menu::@16 to print_str_lines [phi:menu::@16->print_str_lines] - print_str_lines_from_b16: - //SEG59 [184] phi (byte*) print_str_lines::str#5 = (const string) MENU_COLS#0 [phi:menu::@16->print_str_lines#0] -- pbuz1=pbuc1 - lda #MENU_COLS - sta print_str_lines.str+1 - jsr print_str_lines - //SEG60 [31] phi from menu::@16 to menu::@17 [phi:menu::@16->menu::@17] - b17_from_b16: - jmp b17 - //SEG61 menu::@17 - b17: - //SEG62 [32] call print_set_screen param-assignment [ form_cursor_count#1 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 ] ) - //SEG63 [212] phi from menu::@17 to print_set_screen [phi:menu::@17->print_set_screen] - print_set_screen_from_b17: - //SEG64 [212] phi (byte*) print_set_screen::screen#2 = (const byte*) menu::SCREEN#0 [phi:menu::@17->print_set_screen#0] -- pbuz1=pbuc1 - lda #SCREEN - sta print_set_screen.screen+1 - jsr print_set_screen - //SEG65 [33] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] - b18_from_b17: - jmp b18 - //SEG66 menu::@18 - b18: - //SEG67 [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 ] ) - jsr print_cls - //SEG68 [35] phi from menu::@18 to menu::@19 [phi:menu::@18->menu::@19] - b19_from_b18: - jmp b19 - //SEG69 menu::@19 - b19: - //SEG70 [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 ] ) - //SEG71 [184] phi from menu::@19 to print_str_lines [phi:menu::@19->print_str_lines] - print_str_lines_from_b19: - //SEG72 [184] phi (byte*) print_str_lines::str#5 = (const string) MENU_TEXT#0 [phi:menu::@19->print_str_lines#0] -- pbuz1=pbuc1 - lda #MENU_TEXT - sta print_str_lines.str+1 - jsr print_str_lines - //SEG73 [37] phi from menu::@19 to menu::@20 [phi:menu::@19->menu::@20] - b20_from_b19: - jmp b20 - //SEG74 menu::@20 - b20: - //SEG75 [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 ] ) - //SEG76 [174] phi from menu::@20 to form_set_screen [phi:menu::@20->form_set_screen] - form_set_screen_from_b20: - jsr form_set_screen - //SEG77 [39] phi from menu::@20 to menu::@21 [phi:menu::@20->menu::@21] - b21_from_b20: - jmp b21 - //SEG78 menu::@21 - b21: - //SEG79 [40] call form_render_values param-assignment [ form_cursor_count#1 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 ] ) - //SEG80 [164] phi from menu::@21 to form_render_values [phi:menu::@21->form_render_values] - form_render_values_from_b21: - jsr form_render_values - //SEG81 [41] phi from menu::@21 menu::@7 to menu::@2 [phi:menu::@21/menu::@7->menu::@2] - b2_from_b21: - b2_from_b7: - //SEG82 [41] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:menu::@21/menu::@7->menu::@2#0] -- register_copy - //SEG83 [41] phi (byte) keyboard_modifiers#10 = (byte) keyboard_modifiers#20 [phi:menu::@21/menu::@7->menu::@2#1] -- register_copy - //SEG84 [41] phi (byte) keyboard_events_size#24 = (byte) keyboard_events_size#22 [phi:menu::@21/menu::@7->menu::@2#2] -- register_copy - //SEG85 [41] phi (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#1 [phi:menu::@21/menu::@7->menu::@2#3] -- register_copy - jmp b2 - //SEG86 menu::@2 - b2: - //SEG87 [42] if(true) goto menu::@5 [ form_cursor_count#13 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 ] ) -- true_then_la1 - jmp b5 - jmp breturn - //SEG88 menu::@return - breturn: - //SEG89 [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 ] ) - rts - //SEG90 menu::@5 - b5: - //SEG91 [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 + //SEG28 main::@4 + b4: + //SEG29 [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 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 + lda RASTER + cmp #$30+8*$10 + bne b4 + //SEG30 [15] phi from main::@4 to main::@6 [phi:main::@4->main::@6] + b6_from_b4: + jmp b6 + //SEG31 main::@6 + b6: + //SEG32 [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 ] ) + jsr form_mode + jmp b7 + //SEG33 main::@7 + b7: + //SEG34 [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 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 lda RASTER cmp #$ff - bne b5 - //SEG92 [45] phi from menu::@5 to menu::@7 [phi:menu::@5->menu::@7] - b7_from_b5: - jmp b7 - //SEG93 menu::@7 - b7: - //SEG94 [46] call form_control param-assignment [ form_cursor_count#16 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 ] ) + bne b7 + //SEG35 [18] phi from main::@7 to main::@9 [phi:main::@7->main::@9] + b9_from_b7: + jmp b9 + //SEG36 main::@9 + b9: + //SEG37 [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 ] ) jsr form_control - jmp b2_from_b7 + //SEG38 [20] phi from main::@9 to main::@23 [phi:main::@9->main::@23] + b23_from_b9: + jmp b23 + //SEG39 main::@23 + b23: + //SEG40 [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 ] ) + jsr gfx_mode + //SEG41 [11] phi from main::@23 to main::@1 [phi:main::@23->main::@1] + b1_from_b23: + //SEG42 [11] phi (byte) form_field_idx#1 = (byte) form_field_idx#14 [phi:main::@23->main::@1#0] -- register_copy + //SEG43 [11] phi (byte) keyboard_events_size#20 = (byte) keyboard_events_size#18 [phi:main::@23->main::@1#1] -- register_copy + //SEG44 [11] phi (signed byte) form_cursor_count#1 = (signed byte) form_cursor_count#12 [phi:main::@23->main::@1#2] -- register_copy + jmp b1 } -//SEG95 form_control +//SEG45 gfx_mode +gfx_mode: { + .label _29 = $22 + .label _33 = $28 + .label _34 = $2a + .label _35 = $2b + .label _36 = $2d + .label _37 = $2e + .label _38 = $30 + .label _39 = $31 + .label _40 = $32 + .label _41 = $33 + .label _42 = $34 + .label _43 = $35 + .label _46 = $3b + .label _47 = $3d + .label _48 = $3e + .label _49 = $40 + .label _50 = $41 + .label _51 = $43 + .label _52 = $44 + .label _53 = $45 + .label _54 = $46 + .label _55 = $47 + .label _56 = $48 + .label _57 = $49 + .label _58 = $4a + .label _59 = $4b + .label _60 = $4c + .label _61 = $4d + .label _62 = $4e + .label _63 = $4f + .label dtv_control = 4 + .label vic_control = 5 + .label plane_a_offs = $23 + .label plane_a = $24 + .label plane_b_offs = $36 + .label plane_b = $37 + .label i = 7 + .label vic_control2 = 6 + //SEG46 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_line + cmp #0 + beq b1_from_gfx_mode + //SEG47 [23] phi from gfx_mode to gfx_mode::@11 [phi:gfx_mode->gfx_mode::@11] + b11_from_gfx_mode: + jmp b11 + //SEG48 gfx_mode::@11 + b11: + //SEG49 [24] phi from gfx_mode::@11 to gfx_mode::@1 [phi:gfx_mode::@11->gfx_mode::@1] + b1_from_b11: + //SEG50 [24] phi (byte) gfx_mode::dtv_control#14 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) DTV_LINEAR#0 [phi:gfx_mode::@11->gfx_mode::@1#0] -- vbuz1=vbuc1 + lda #0|DTV_LINEAR + sta dtv_control + jmp b1 + //SEG51 [24] phi from gfx_mode to gfx_mode::@1 [phi:gfx_mode->gfx_mode::@1] + b1_from_gfx_mode: + //SEG52 [24] phi (byte) gfx_mode::dtv_control#14 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_mode->gfx_mode::@1#0] -- vbuz1=vbuc1 + lda #0 + sta dtv_control + jmp b1 + //SEG53 gfx_mode::@1 + b1: + //SEG54 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_borof + cmp #0 + beq b2_from_b1 + jmp b12 + //SEG55 gfx_mode::@12 + b12: + //SEG56 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 + lda #DTV_BORDER_OFF + ora dtv_control + sta dtv_control + //SEG57 [27] phi from gfx_mode::@1 gfx_mode::@12 to gfx_mode::@2 [phi:gfx_mode::@1/gfx_mode::@12->gfx_mode::@2] + b2_from_b1: + b2_from_b12: + //SEG58 [27] phi (byte) gfx_mode::dtv_control#15 = (byte) gfx_mode::dtv_control#14 [phi:gfx_mode::@1/gfx_mode::@12->gfx_mode::@2#0] -- register_copy + jmp b2 + //SEG59 gfx_mode::@2 + b2: + //SEG60 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_hicol + cmp #0 + beq b3_from_b2 + jmp b13 + //SEG61 gfx_mode::@13 + b13: + //SEG62 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 + lda #DTV_HIGHCOLOR + ora dtv_control + sta dtv_control + //SEG63 [30] phi from gfx_mode::@13 gfx_mode::@2 to gfx_mode::@3 [phi:gfx_mode::@13/gfx_mode::@2->gfx_mode::@3] + b3_from_b13: + b3_from_b2: + //SEG64 [30] phi (byte) gfx_mode::dtv_control#10 = (byte) gfx_mode::dtv_control#3 [phi:gfx_mode::@13/gfx_mode::@2->gfx_mode::@3#0] -- register_copy + jmp b3 + //SEG65 gfx_mode::@3 + b3: + //SEG66 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_overs + cmp #0 + beq b4_from_b3 + jmp b14 + //SEG67 gfx_mode::@14 + b14: + //SEG68 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 + lda #DTV_OVERSCAN + ora dtv_control + sta dtv_control + //SEG69 [33] phi from gfx_mode::@14 gfx_mode::@3 to gfx_mode::@4 [phi:gfx_mode::@14/gfx_mode::@3->gfx_mode::@4] + b4_from_b14: + b4_from_b3: + //SEG70 [33] phi (byte) gfx_mode::dtv_control#11 = (byte) gfx_mode::dtv_control#4 [phi:gfx_mode::@14/gfx_mode::@3->gfx_mode::@4#0] -- register_copy + jmp b4 + //SEG71 gfx_mode::@4 + b4: + //SEG72 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_colof + cmp #0 + beq b5_from_b4 + jmp b15 + //SEG73 gfx_mode::@15 + b15: + //SEG74 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 + lda #DTV_COLORRAM_OFF + ora dtv_control + sta dtv_control + //SEG75 [36] phi from gfx_mode::@15 gfx_mode::@4 to gfx_mode::@5 [phi:gfx_mode::@15/gfx_mode::@4->gfx_mode::@5] + b5_from_b15: + b5_from_b4: + //SEG76 [36] phi (byte) gfx_mode::dtv_control#13 = (byte) gfx_mode::dtv_control#5 [phi:gfx_mode::@15/gfx_mode::@4->gfx_mode::@5#0] -- register_copy + jmp b5 + //SEG77 gfx_mode::@5 + b5: + //SEG78 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_chunk + cmp #0 + beq b6_from_b5 + jmp b16 + //SEG79 gfx_mode::@16 + b16: + //SEG80 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 + lda #DTV_CHUNKY + ora dtv_control + sta dtv_control + //SEG81 [39] phi from gfx_mode::@16 gfx_mode::@5 to gfx_mode::@6 [phi:gfx_mode::@16/gfx_mode::@5->gfx_mode::@6] + b6_from_b16: + b6_from_b5: + //SEG82 [39] phi (byte) gfx_mode::dtv_control#12 = (byte) gfx_mode::dtv_control#6 [phi:gfx_mode::@16/gfx_mode::@5->gfx_mode::@6#0] -- register_copy + jmp b6 + //SEG83 gfx_mode::@6 + b6: + //SEG84 [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 ] ) -- _deref_pbuc1=vbuz1 + lda dtv_control + sta DTV_CONTROL + //SEG85 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_ecm + cmp #0 + beq b7_from_b6 + //SEG86 [42] phi from gfx_mode::@6 to gfx_mode::@17 [phi:gfx_mode::@6->gfx_mode::@17] + b17_from_b6: + jmp b17 + //SEG87 gfx_mode::@17 + b17: + //SEG88 [43] phi from gfx_mode::@17 to gfx_mode::@7 [phi:gfx_mode::@17->gfx_mode::@7] + b7_from_b17: + //SEG89 [43] phi (byte) gfx_mode::vic_control#5 = (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 [phi:gfx_mode::@17->gfx_mode::@7#0] -- vbuz1=vbuc1 + lda #VIC_DEN|VIC_RSEL|3|VIC_ECM + sta vic_control + jmp b7 + //SEG90 [43] phi from gfx_mode::@6 to gfx_mode::@7 [phi:gfx_mode::@6->gfx_mode::@7] + b7_from_b6: + //SEG91 [43] phi (byte) gfx_mode::vic_control#5 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [phi:gfx_mode::@6->gfx_mode::@7#0] -- vbuz1=vbuc1 + lda #VIC_DEN|VIC_RSEL|3 + sta vic_control + jmp b7 + //SEG92 gfx_mode::@7 + b7: + //SEG93 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_bmm + cmp #0 + beq b8_from_b7 + jmp b18 + //SEG94 gfx_mode::@18 + b18: + //SEG95 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 + lda #VIC_BMM + ora vic_control + sta vic_control + //SEG96 [46] phi from gfx_mode::@18 gfx_mode::@7 to gfx_mode::@8 [phi:gfx_mode::@18/gfx_mode::@7->gfx_mode::@8] + b8_from_b18: + b8_from_b7: + //SEG97 [46] phi (byte) gfx_mode::vic_control#4 = (byte) gfx_mode::vic_control#2 [phi:gfx_mode::@18/gfx_mode::@7->gfx_mode::@8#0] -- register_copy + jmp b8 + //SEG98 gfx_mode::@8 + b8: + //SEG99 [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 ] ) -- _deref_pbuc1=vbuz1 + lda vic_control + sta VIC_CONTROL + //SEG100 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_mcm + cmp #0 + beq b9_from_b8 + //SEG101 [49] phi from gfx_mode::@8 to gfx_mode::@19 [phi:gfx_mode::@8->gfx_mode::@19] + b19_from_b8: + jmp b19 + //SEG102 gfx_mode::@19 + b19: + //SEG103 [50] phi from gfx_mode::@19 to gfx_mode::@9 [phi:gfx_mode::@19->gfx_mode::@9] + b9_from_b19: + //SEG104 [50] phi (byte) gfx_mode::vic_control2#2 = (const byte) VIC_CSEL#0|(const byte) VIC_MCM#0 [phi:gfx_mode::@19->gfx_mode::@9#0] -- vbuz1=vbuc1 + lda #VIC_CSEL|VIC_MCM + sta vic_control2 + jmp b9 + //SEG105 [50] phi from gfx_mode::@8 to gfx_mode::@9 [phi:gfx_mode::@8->gfx_mode::@9] + b9_from_b8: + //SEG106 [50] phi (byte) gfx_mode::vic_control2#2 = (const byte) VIC_CSEL#0 [phi:gfx_mode::@8->gfx_mode::@9#0] -- vbuz1=vbuc1 + lda #VIC_CSEL + sta vic_control2 + jmp b9 + //SEG107 gfx_mode::@9 + b9: + //SEG108 [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 ] ) -- _deref_pbuc1=vbuz1 + lda vic_control2 + sta VIC_CONTROL2 + //SEG109 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_a_start_hi + asl + asl + asl + asl + sta _29 + //SEG110 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_a_start_lo + ora _29 + sta plane_a_offs + //SEG111 [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 ] ) -- vduz1=vwuc1_plus_vbuz2 + lda plane_a_offs + 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 + //SEG112 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_a + sta _33 + lda plane_a+1 + sta _33+1 + //SEG113 [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 ] ) -- vbuz1=_lo_vwuz2 + lda _33 + sta _34 + //SEG114 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _34 + sta DTV_PLANEA_START_LO + //SEG115 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_a + sta _35 + lda plane_a+1 + sta _35+1 + //SEG116 [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 ] ) -- vbuz1=_hi_vwuz2 + lda _35+1 + sta _36 + //SEG117 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _36 + sta DTV_PLANEA_START_MI + //SEG118 [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 ] ) -- vwuz1=_hi_vduz2 + lda plane_a+2 + sta _37 + lda plane_a+3 + sta _37+1 + //SEG119 [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 ] ) -- vbuz1=_lo_vwuz2 + lda _37 + sta _38 + //SEG120 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _38 + sta DTV_PLANEA_START_HI + //SEG121 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_a_step_hi + asl + asl + asl + asl + sta _39 + //SEG122 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_a_step_lo + ora _39 + sta _40 + //SEG123 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _40 + sta DTV_PLANEA_STEP + //SEG124 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_a_mod_hi + asl + asl + asl + asl + sta _41 + //SEG125 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_a_mod_lo + ora _41 + sta _42 + //SEG126 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _42 + sta DTV_PLANEA_MODULO_LO + //SEG127 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_MODULO_HI + //SEG128 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_b_start_hi + asl + asl + asl + asl + sta _43 + //SEG129 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_b_start_lo + ora _43 + sta plane_b_offs + //SEG130 [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 ] ) -- vduz1=vduc1_plus_vbuz2 + lda plane_b_offs + clc + adc #PLANE_8BPP_CHUNKY + adc #0 + sta plane_b+1 + lda #>$10 + adc #0 + sta plane_b+2 + lda #>PLANE_8BPP_CHUNKY>>$10 + adc #0 + sta plane_b+3 + //SEG131 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_b + sta _46 + lda plane_b+1 + sta _46+1 + //SEG132 [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 ] ) -- vbuz1=_lo_vwuz2 + lda _46 + sta _47 + //SEG133 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _47 + sta DTV_PLANEB_START_LO + //SEG134 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_b + sta _48 + lda plane_b+1 + sta _48+1 + //SEG135 [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 ] ) -- vbuz1=_hi_vwuz2 + lda _48+1 + sta _49 + //SEG136 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _49 + sta DTV_PLANEB_START_MI + //SEG137 [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 ] ) -- vwuz1=_hi_vduz2 + lda plane_b+2 + sta _50 + lda plane_b+3 + sta _50+1 + //SEG138 [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 ] ) -- vbuz1=_lo_vwuz2 + lda _50 + sta _51 + //SEG139 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _51 + sta DTV_PLANEB_START_HI + //SEG140 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_b_step_hi + asl + asl + asl + asl + sta _52 + //SEG141 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_b_step_lo + ora _52 + sta _53 + //SEG142 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _53 + sta DTV_PLANEB_STEP + //SEG143 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_b_mod_hi + asl + asl + asl + asl + sta _54 + //SEG144 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_b_mod_lo + ora _54 + sta _55 + //SEG145 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _55 + sta DTV_PLANEB_MODULO_LO + //SEG146 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_MODULO_HI + //SEG147 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_vic_bg0_hi + asl + asl + asl + asl + sta _56 + //SEG148 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_vic_bg0_lo + ora _56 + sta _57 + //SEG149 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _57 + sta BGCOL1 + //SEG150 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_vic_bg1_hi + asl + asl + asl + asl + sta _58 + //SEG151 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_vic_bg1_lo + ora _58 + sta _59 + //SEG152 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _59 + sta BGCOL2 + //SEG153 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_vic_bg2_hi + asl + asl + asl + asl + sta _60 + //SEG154 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_vic_bg2_lo + ora _60 + sta _61 + //SEG155 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _61 + sta BGCOL3 + //SEG156 [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 ] ) -- vbuz1=_deref_pbuc1_rol_4 + lda form_vic_bg3_hi + asl + asl + asl + asl + sta _62 + //SEG157 [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 ] ) -- vbuz1=vbuz2_bor__deref_pbuc1 + lda form_vic_bg3_lo + ora _62 + sta _63 + //SEG158 [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 ] ) -- _deref_pbuc1=vbuz1 + lda _63 + sta BGCOL4 + //SEG159 [102] phi from gfx_mode::@9 to gfx_mode::@10 [phi:gfx_mode::@9->gfx_mode::@10] + b10_from_b9: + //SEG160 [102] phi (byte) gfx_mode::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_mode::@9->gfx_mode::@10#0] -- vbuz1=vbuc1 + lda #0 + sta i + jmp b10 + //SEG161 [102] phi from gfx_mode::@10 to gfx_mode::@10 [phi:gfx_mode::@10->gfx_mode::@10] + b10_from_b10: + //SEG162 [102] phi (byte) gfx_mode::i#2 = (byte) gfx_mode::i#1 [phi:gfx_mode::@10->gfx_mode::@10#0] -- register_copy + jmp b10 + //SEG163 gfx_mode::@10 + b10: + //SEG164 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz1 + ldy i + tya + sta DTV_PALETTE,y + //SEG165 [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 ] ) -- vbuz1=_inc_vbuz1 + inc i + //SEG166 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda i + cmp #$10 + bne b10_from_b10 + jmp breturn + //SEG167 gfx_mode::@return + breturn: + //SEG168 [106] return [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] ) + rts +} +//SEG169 form_control form_control: { - .label _6 = $1d - .label _7 = $23 - .label _12 = $20 - .label _13 = $21 - .label _24 = $22 - .label field = $1b - .label key_event = $1f - //SEG96 [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 ] ) -- vbuz1=vbuz2 + .label _6 = $54 + .label _7 = $5a + .label _12 = $57 + .label _13 = $58 + .label _24 = $59 + .label field = $52 + .label key_event = $56 + //SEG170 [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 ] ) -- vbuz1=vbuz2 lda form_field_idx sta form_field_ptr.field_idx - //SEG97 [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 ] ) - //SEG98 [158] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG171 [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 ] ) + //SEG172 [218] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - //SEG99 [158] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + //SEG173 [218] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG100 [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 ] ) -- pbuz1=pbuz2 + //SEG174 [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 ] ) -- pbuz1=pbuz2 lda form_field_ptr.return sta form_field_ptr.return_3 lda form_field_ptr.return+1 sta form_field_ptr.return_3+1 - jmp b28 - //SEG101 form_control::@28 - b28: - //SEG102 [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 ] ) -- pbuz1=pbuz2 + jmp b29 + //SEG175 form_control::@29 + b29: + //SEG176 [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 ] ) -- pbuz1=pbuz2 lda form_field_ptr.return_3 sta field lda form_field_ptr.return_3+1 sta field+1 - //SEG103 [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 ] ) -- vbsz1=_dec_vbsz1 + //SEG177 [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 ] ) -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG104 [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 ] ) -- vbsz1_ge_0_then_la1 + //SEG178 [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 ] ) -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 - bpl b31_from_b28 - //SEG105 [53] phi from form_control::@28 to form_control::@1 [phi:form_control::@28->form_control::@1] - b1_from_b28: - //SEG106 [53] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@28->form_control::@1#0] -- vbsz1=vbsc1 + bpl b32_from_b29 + //SEG179 [113] phi from form_control::@29 to form_control::@1 [phi:form_control::@29->form_control::@1] + b1_from_b29: + //SEG180 [113] phi (signed byte) form_cursor_count#11 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@29->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count jmp b1 - //SEG107 form_control::@1 + //SEG181 form_control::@1 b1: - //SEG108 [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ 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 ] ) -- vbsz1_ge_vbuc1_then_la1 + //SEG182 [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 ] ) -- vbsz1_ge_vbuc1_then_la1 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -8407,169 +11037,169 @@ form_control: { !: bpl b2 jmp b15 - //SEG109 form_control::@15 + //SEG183 form_control::@15 b15: - //SEG110 [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 ] ) -- vbuz1=_deref_pbuz2_bor_vbuc1 + //SEG184 [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 ] ) -- vbuz1=_deref_pbuz2_bor_vbuc1 lda #$80 ldy #0 ora (field),y sta _6 - //SEG111 [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 ] ) -- _deref_pbuz1=vbuz2 + //SEG185 [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 ] ) -- _deref_pbuz1=vbuz2 lda _6 ldy #0 sta (field),y - //SEG112 [57] phi from form_control::@15 form_control::@2 to form_control::@3 [phi:form_control::@15/form_control::@2->form_control::@3] + //SEG186 [117] phi from form_control::@15 form_control::@2 to form_control::@3 [phi:form_control::@15/form_control::@2->form_control::@3] b3_from_b15: b3_from_b2: jmp b3 - //SEG113 form_control::@3 + //SEG187 form_control::@3 b3: - //SEG114 [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 ] ) - //SEG115 [95] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + //SEG188 [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 ] ) + //SEG189 [155] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] keyboard_event_scan_from_b3: jsr keyboard_event_scan - //SEG116 [59] phi from form_control::@3 to form_control::@29 [phi:form_control::@3->form_control::@29] - b29_from_b3: - jmp b29 - //SEG117 form_control::@29 - b29: - //SEG118 [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 ] ) + //SEG190 [119] phi from form_control::@3 to form_control::@30 [phi:form_control::@3->form_control::@30] + b30_from_b3: + jmp b30 + //SEG191 form_control::@30 + b30: + //SEG192 [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 ] ) jsr keyboard_event_get - //SEG119 [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 ] ) -- vbuz1=vbuz2 + //SEG193 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_get.return sta keyboard_event_get.return_3 - jmp b30 - //SEG120 form_control::@30 - b30: - //SEG121 [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 ] ) -- vbuz1=vbuz2 + jmp b31 + //SEG194 form_control::@31 + b31: + //SEG195 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_get.return_3 sta key_event - //SEG122 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG196 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda key_event cmp #KEY_CRSR_DOWN bne b4 jmp b17 - //SEG123 form_control::@17 + //SEG197 form_control::@17 b17: - //SEG124 [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 ] ) -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG198 [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 ] ) -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$7f ldy #0 and (field),y sta _12 - //SEG125 [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 ] ) -- _deref_pbuz1=vbuz2 + //SEG199 [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 ] ) -- _deref_pbuz1=vbuz2 lda _12 ldy #0 sta (field),y - //SEG126 [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 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG200 [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 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers sta _13 - //SEG127 [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 ] ) -- vbuz1_neq_0_then_la1 + //SEG201 [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 ] ) -- vbuz1_neq_0_then_la1 lda _13 bne b5 jmp b18 - //SEG128 form_control::@18 + //SEG202 form_control::@18 b18: - //SEG129 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG203 [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 ] ) -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG130 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG204 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #form_fields_cnt - bne b32_from_b18 - //SEG131 [70] phi from form_control::@18 to form_control::@7 [phi:form_control::@18->form_control::@7] + bne b33_from_b18 + //SEG205 [130] phi from form_control::@18 to form_control::@7 [phi:form_control::@18->form_control::@7] b7_from_b18: - //SEG132 [70] phi (byte) form_field_idx#30 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@18->form_control::@7#0] -- vbuz1=vbuc1 + //SEG206 [130] phi (byte) form_field_idx#24 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@18->form_control::@7#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx jmp b7 - //SEG133 form_control::@7 + //SEG207 form_control::@7 b7: - //SEG134 [71] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] + //SEG208 [131] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] breturn_from_b7: - //SEG135 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#30 [phi:form_control::@7->form_control::@return#0] -- register_copy - //SEG136 [71] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@7->form_control::@return#1] -- vbsz1=vbuc1 + //SEG209 [131] phi (byte) form_field_idx#14 = (byte) form_field_idx#24 [phi:form_control::@7->form_control::@return#0] -- register_copy + //SEG210 [131] phi (signed byte) form_cursor_count#12 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@7->form_control::@return#1] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count jmp breturn - //SEG137 [71] phi from form_control::@12 form_control::@4 to form_control::@return [phi:form_control::@12/form_control::@4->form_control::@return] + //SEG211 [131] phi from form_control::@12 form_control::@4 to form_control::@return [phi:form_control::@12/form_control::@4->form_control::@return] breturn_from_b12: breturn_from_b4: - //SEG138 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#14 [phi:form_control::@12/form_control::@4->form_control::@return#0] -- register_copy - //SEG139 [71] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@12/form_control::@4->form_control::@return#1] -- register_copy + //SEG212 [131] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:form_control::@12/form_control::@4->form_control::@return#0] -- register_copy + //SEG213 [131] phi (signed byte) form_cursor_count#12 = (signed byte) form_cursor_count#11 [phi:form_control::@12/form_control::@4->form_control::@return#1] -- register_copy jmp breturn - //SEG140 form_control::@return + //SEG214 form_control::@return breturn: - //SEG141 [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 ] ) + //SEG215 [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 ] ) rts - //SEG142 [73] phi from form_control::@18 to form_control::@32 [phi:form_control::@18->form_control::@32] - b32_from_b18: - jmp b32 - //SEG143 form_control::@32 - b32: - //SEG144 [70] phi from form_control::@32 form_control::@33 to form_control::@7 [phi:form_control::@32/form_control::@33->form_control::@7] - b7_from_b32: + //SEG216 [133] phi from form_control::@18 to form_control::@33 [phi:form_control::@18->form_control::@33] + b33_from_b18: + jmp b33 + //SEG217 form_control::@33 + b33: + //SEG218 [130] phi from form_control::@33 form_control::@34 to form_control::@7 [phi:form_control::@33/form_control::@34->form_control::@7] b7_from_b33: - //SEG145 [70] phi (byte) form_field_idx#30 = (byte) form_field_idx#40 [phi:form_control::@32/form_control::@33->form_control::@7#0] -- register_copy + b7_from_b34: + //SEG219 [130] phi (byte) form_field_idx#24 = (byte) form_field_idx#34 [phi:form_control::@33/form_control::@34->form_control::@7#0] -- register_copy jmp b7 - //SEG146 form_control::@5 + //SEG220 form_control::@5 b5: - //SEG147 [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 ] ) -- vbuz1=_dec_vbuz1 + //SEG221 [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 ] ) -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG148 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG222 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #$ff - bne b33_from_b5 - //SEG149 [70] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] + bne b34_from_b5 + //SEG223 [130] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] b7_from_b5: - //SEG150 [70] phi (byte) form_field_idx#30 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@5->form_control::@7#0] -- vbuz1=vbuc1 + //SEG224 [130] phi (byte) form_field_idx#24 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@5->form_control::@7#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx jmp b7 - //SEG151 [76] phi from form_control::@5 to form_control::@33 [phi:form_control::@5->form_control::@33] - b33_from_b5: - jmp b33 - //SEG152 form_control::@33 - b33: - jmp b7_from_b33 - //SEG153 form_control::@4 + //SEG225 [136] phi from form_control::@5 to form_control::@34 [phi:form_control::@5->form_control::@34] + b34_from_b5: + jmp b34 + //SEG226 form_control::@34 + b34: + jmp b7_from_b34 + //SEG227 form_control::@4 b4: - //SEG154 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG228 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda key_event cmp #KEY_CRSR_RIGHT bne breturn_from_b4 jmp b23 - //SEG155 form_control::@23 + //SEG229 form_control::@23 b23: - //SEG156 [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 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG230 [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 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #KEY_MODIFIER_SHIFT and keyboard_modifiers sta _24 - //SEG157 [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 ] ) -- vbuz1_neq_0_then_la1 + //SEG231 [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 ] ) -- vbuz1_neq_0_then_la1 lda _24 bne b10 jmp b24 - //SEG158 form_control::@24 + //SEG232 form_control::@24 b24: - //SEG159 [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 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + //SEG233 [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 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx form_field_idx inc form_fields_val,x - //SEG160 [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 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //SEG234 [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 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b12 beq b12 jmp b25 - //SEG161 form_control::@25 + //SEG235 form_control::@25 b25: - //SEG162 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG236 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 ldy form_field_idx lda #0 sta form_fields_val,y jmp b12 - //SEG163 form_control::@12 + //SEG237 form_control::@12 b12: - //SEG164 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG238 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 ldy form_field_idx lda form_fields_val,y tay @@ -8577,472 +11207,472 @@ form_control: { ldy #0 sta (field),y jmp breturn_from_b12 - //SEG165 form_control::@10 + //SEG239 form_control::@10 b10: - //SEG166 [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 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + //SEG240 [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 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx form_field_idx lda form_fields_val,x sec sbc #1 ldx form_field_idx sta form_fields_val,x - //SEG167 [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 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG241 [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 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 ldy form_field_idx lda form_fields_val,y cmp #$ff bne b12 jmp b27 - //SEG168 form_control::@27 + //SEG242 form_control::@27 b27: - //SEG169 [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 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + //SEG243 [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 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy form_field_idx lda form_fields_max,y sta form_fields_val,y jmp b12 - //SEG170 form_control::@2 + //SEG244 form_control::@2 b2: - //SEG171 [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 ] ) -- vbuz1=_deref_pbuz2_band_vbuc1 + //SEG245 [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 ] ) -- vbuz1=_deref_pbuz2_band_vbuc1 lda #$7f ldy #0 and (field),y sta _7 - //SEG172 [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 ] ) -- _deref_pbuz1=vbuz2 + //SEG246 [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 ] ) -- _deref_pbuz1=vbuz2 lda _7 ldy #0 sta (field),y jmp b3_from_b2 - //SEG173 [89] phi from form_control::@28 to form_control::@31 [phi:form_control::@28->form_control::@31] - b31_from_b28: - jmp b31 - //SEG174 form_control::@31 - b31: - //SEG175 [53] phi from form_control::@31 to form_control::@1 [phi:form_control::@31->form_control::@1] - b1_from_b31: - //SEG176 [53] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@31->form_control::@1#0] -- register_copy + //SEG247 [149] phi from form_control::@29 to form_control::@32 [phi:form_control::@29->form_control::@32] + b32_from_b29: + jmp b32 + //SEG248 form_control::@32 + b32: + //SEG249 [113] phi from form_control::@32 to form_control::@1 [phi:form_control::@32->form_control::@1] + b1_from_b32: + //SEG250 [113] phi (signed byte) form_cursor_count#11 = (signed byte) form_cursor_count#3 [phi:form_control::@32->form_control::@1#0] -- register_copy jmp b1 } -//SEG177 keyboard_event_get +//SEG251 keyboard_event_get keyboard_event_get: { - .label return = 6 - .label return_3 = $1e - //SEG178 [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 ] ) -- vbuz1_neq_0_then_la1 + .label return = 8 + .label return_3 = $55 + //SEG252 [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 ] ) -- vbuz1_neq_0_then_la1 lda keyboard_events_size bne b1 - //SEG179 [91] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] + //SEG253 [151] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] breturn_from_keyboard_event_get: - //SEG180 [91] phi (byte) keyboard_events_size#20 = (byte) keyboard_events_size#17 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy - //SEG181 [91] phi (byte) keyboard_event_get::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuz1=vbuc1 + //SEG254 [151] phi (byte) keyboard_events_size#18 = (byte) keyboard_events_size#15 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy + //SEG255 [151] phi (byte) keyboard_event_get::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuz1=vbuc1 lda #$ff sta return jmp breturn - //SEG182 keyboard_event_get::@return + //SEG256 keyboard_event_get::@return breturn: - //SEG183 [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 ] ) + //SEG257 [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 ] ) rts - //SEG184 keyboard_event_get::@1 + //SEG258 keyboard_event_get::@1 b1: - //SEG185 [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 ] ) -- vbuz1=_dec_vbuz1 + //SEG259 [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 ] ) -- vbuz1=_dec_vbuz1 dec keyboard_events_size - //SEG186 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG260 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy keyboard_events_size lda keyboard_events,y sta return - //SEG187 [91] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] + //SEG261 [151] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] breturn_from_b1: - //SEG188 [91] phi (byte) keyboard_events_size#20 = (byte) keyboard_events_size#4 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy - //SEG189 [91] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#0 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy + //SEG262 [151] phi (byte) keyboard_events_size#18 = (byte) keyboard_events_size#4 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy + //SEG263 [151] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#0 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy jmp breturn } -//SEG190 keyboard_event_scan +//SEG264 keyboard_event_scan keyboard_event_scan: { - .label _3 = $27 - .label _4 = $28 - .label _12 = $2a - .label _16 = $2c - .label _20 = $2e - .label _24 = $30 - .label _28 = $32 - .label row_scan = $26 - .label keycode = 9 - .label col = 8 - .label event_type = $29 - .label row = 7 - //SEG191 [96] phi from keyboard_event_scan to keyboard_event_scan::@1 [phi:keyboard_event_scan->keyboard_event_scan::@1] + .label _3 = $5e + .label _4 = $5f + .label _12 = $61 + .label _16 = $63 + .label _20 = $65 + .label _24 = $67 + .label _28 = $69 + .label row_scan = $5d + .label keycode = $b + .label col = $a + .label event_type = $60 + .label row = 9 + //SEG265 [156] phi from keyboard_event_scan to keyboard_event_scan::@1 [phi:keyboard_event_scan->keyboard_event_scan::@1] b1_from_keyboard_event_scan: - //SEG192 [96] phi (byte) keyboard_events_size#43 = (byte) keyboard_events_size#24 [phi:keyboard_event_scan->keyboard_event_scan::@1#0] -- register_copy - //SEG193 [96] phi (byte) keyboard_event_scan::keycode#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#1] -- vbuz1=vbuc1 + //SEG266 [156] phi (byte) keyboard_events_size#37 = (byte) keyboard_events_size#20 [phi:keyboard_event_scan->keyboard_event_scan::@1#0] -- register_copy + //SEG267 [156] phi (byte) keyboard_event_scan::keycode#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#1] -- vbuz1=vbuc1 lda #0 sta keycode - //SEG194 [96] phi (byte) keyboard_event_scan::row#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#2] -- vbuz1=vbuc1 + //SEG268 [156] phi (byte) keyboard_event_scan::row#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#2] -- vbuz1=vbuc1 lda #0 sta row jmp b1 - //SEG195 [96] phi from keyboard_event_scan::@8 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1] + //SEG269 [156] phi from keyboard_event_scan::@8 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1] b1_from_b8: - //SEG196 [96] phi (byte) keyboard_events_size#43 = (byte) keyboard_events_size#17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#0] -- register_copy - //SEG197 [96] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#1] -- register_copy - //SEG198 [96] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#2] -- register_copy + //SEG270 [156] phi (byte) keyboard_events_size#37 = (byte) keyboard_events_size#15 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#0] -- register_copy + //SEG271 [156] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#1] -- register_copy + //SEG272 [156] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#2] -- register_copy jmp b1 - //SEG199 keyboard_event_scan::@1 + //SEG273 keyboard_event_scan::@1 b1: - //SEG200 [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 ] ) -- vbuz1=vbuz2 + //SEG274 [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 ] ) -- vbuz1=vbuz2 lda row sta keyboard_matrix_read.rowid - //SEG201 [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 ] ) + //SEG275 [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 ] ) jsr keyboard_matrix_read - //SEG202 [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 ] ) -- vbuz1=vbuz2 + //SEG276 [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 ] ) -- vbuz1=vbuz2 lda keyboard_matrix_read.return sta keyboard_matrix_read.return_2 jmp b25 - //SEG203 keyboard_event_scan::@25 + //SEG277 keyboard_event_scan::@25 b25: - //SEG204 [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 ] ) -- vbuz1=vbuz2 + //SEG278 [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 ] ) -- vbuz1=vbuz2 lda keyboard_matrix_read.return_2 sta row_scan - //SEG205 [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 ] ) -- vbuz1_eq_pbuc1_derefidx_vbuz2_then_la1 + //SEG279 [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 ] ) -- vbuz1_eq_pbuc1_derefidx_vbuz2_then_la1 ldy row lda keyboard_scan_values,y cmp row_scan beq b2 - //SEG206 [102] phi from keyboard_event_scan::@25 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3] + //SEG280 [162] phi from keyboard_event_scan::@25 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3] b3_from_b25: - //SEG207 [102] phi (byte) keyboard_events_size#14 = (byte) keyboard_events_size#43 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#0] -- register_copy - //SEG208 [102] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#1] -- register_copy - //SEG209 [102] phi (byte) keyboard_event_scan::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#2] -- vbuz1=vbuc1 + //SEG281 [162] phi (byte) keyboard_events_size#12 = (byte) keyboard_events_size#37 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#0] -- register_copy + //SEG282 [162] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#1] -- register_copy + //SEG283 [162] phi (byte) keyboard_event_scan::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#2] -- vbuz1=vbuc1 lda #0 sta col jmp b3 - //SEG210 [102] phi from keyboard_event_scan::@4 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3] + //SEG284 [162] phi from keyboard_event_scan::@4 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3] b3_from_b4: - //SEG211 [102] phi (byte) keyboard_events_size#14 = (byte) keyboard_events_size#44 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#0] -- register_copy - //SEG212 [102] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#1] -- register_copy - //SEG213 [102] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#2] -- register_copy + //SEG285 [162] phi (byte) keyboard_events_size#12 = (byte) keyboard_events_size#38 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#0] -- register_copy + //SEG286 [162] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#1] -- register_copy + //SEG287 [162] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#2] -- register_copy jmp b3 - //SEG214 keyboard_event_scan::@3 + //SEG288 keyboard_event_scan::@3 b3: - //SEG215 [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 ] ) -- vbuz1=vbuz2_bxor_pbuc1_derefidx_vbuz3 + //SEG289 [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 ] ) -- vbuz1=vbuz2_bxor_pbuc1_derefidx_vbuz3 lda row_scan ldy row eor keyboard_scan_values,y sta _3 - //SEG216 [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 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 + //SEG290 [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 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 lda _3 ldy col and keyboard_matrix_col_bitmask,y sta _4 - //SEG217 [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 ] ) -- vbuz1_eq_0_then_la1 + //SEG291 [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 ] ) -- vbuz1_eq_0_then_la1 lda _4 beq b4_from_b3 jmp b14 - //SEG218 keyboard_event_scan::@14 + //SEG292 keyboard_event_scan::@14 b14: - //SEG219 [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 ] ) -- vbuz1_eq_vbuc1_then_la1 + //SEG293 [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 ] ) -- vbuz1_eq_vbuc1_then_la1 lda keyboard_events_size cmp #8 beq b4_from_b14 jmp b15 - //SEG220 keyboard_event_scan::@15 + //SEG294 keyboard_event_scan::@15 b15: - //SEG221 [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 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 + //SEG295 [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 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 lda row_scan ldy col and keyboard_matrix_col_bitmask,y sta event_type - //SEG222 [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 ] ) -- vbuz1_neq_0_then_la1 + //SEG296 [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 ] ) -- vbuz1_neq_0_then_la1 lda event_type bne b6 jmp b16 - //SEG223 keyboard_event_scan::@16 + //SEG297 keyboard_event_scan::@16 b16: - //SEG224 [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 ] ) -- vbuz1=vbuz2_bor_vbuc1 + //SEG298 [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 ] ) -- vbuz1=vbuz2_bor_vbuc1 lda #$40 ora keycode sta _12 - //SEG225 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG299 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda _12 ldy keyboard_events_size sta keyboard_events,y - //SEG226 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG300 [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 ] ) -- vbuz1=_inc_vbuz1 inc keyboard_events_size - //SEG227 [112] phi from keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 to keyboard_event_scan::@4 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4] + //SEG301 [172] phi from keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 to keyboard_event_scan::@4 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4] b4_from_b14: b4_from_b16: b4_from_b3: b4_from_b6: - //SEG228 [112] phi (byte) keyboard_events_size#44 = (byte) keyboard_events_size#14 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4#0] -- register_copy + //SEG302 [172] phi (byte) keyboard_events_size#38 = (byte) keyboard_events_size#12 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4#0] -- register_copy jmp b4 - //SEG229 keyboard_event_scan::@4 + //SEG303 keyboard_event_scan::@4 b4: - //SEG230 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG304 [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 ] ) -- vbuz1=_inc_vbuz1 inc keycode - //SEG231 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG305 [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 ] ) -- vbuz1=_inc_vbuz1 inc col - //SEG232 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG306 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda col cmp #8 bne b3_from_b4 jmp b18 - //SEG233 keyboard_event_scan::@18 + //SEG307 keyboard_event_scan::@18 b18: - //SEG234 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG308 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda row_scan ldy row sta keyboard_scan_values,y - //SEG235 [117] phi from keyboard_event_scan::@18 keyboard_event_scan::@2 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8] + //SEG309 [177] phi from keyboard_event_scan::@18 keyboard_event_scan::@2 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8] b8_from_b18: b8_from_b2: - //SEG236 [117] phi (byte) keyboard_events_size#17 = (byte) keyboard_events_size#44 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#0] -- register_copy - //SEG237 [117] phi (byte) keyboard_event_scan::keycode#14 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#1] -- register_copy + //SEG310 [177] phi (byte) keyboard_events_size#15 = (byte) keyboard_events_size#38 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#0] -- register_copy + //SEG311 [177] phi (byte) keyboard_event_scan::keycode#14 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#1] -- register_copy jmp b8 - //SEG238 keyboard_event_scan::@8 + //SEG312 keyboard_event_scan::@8 b8: - //SEG239 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG313 [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 ] ) -- vbuz1=_inc_vbuz1 inc row - //SEG240 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG314 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda row cmp #8 bne b1_from_b8 - //SEG241 [120] phi from keyboard_event_scan::@8 to keyboard_event_scan::@20 [phi:keyboard_event_scan::@8->keyboard_event_scan::@20] + //SEG315 [180] phi from keyboard_event_scan::@8 to keyboard_event_scan::@20 [phi:keyboard_event_scan::@8->keyboard_event_scan::@20] b20_from_b8: jmp b20 - //SEG242 keyboard_event_scan::@20 + //SEG316 keyboard_event_scan::@20 b20: - //SEG243 [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 ] ) - //SEG244 [149] phi from keyboard_event_scan::@20 to keyboard_event_pressed [phi:keyboard_event_scan::@20->keyboard_event_pressed] + //SEG317 [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 ] ) + //SEG318 [209] phi from keyboard_event_scan::@20 to keyboard_event_pressed [phi:keyboard_event_scan::@20->keyboard_event_pressed] keyboard_event_pressed_from_b20: - //SEG245 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_LSHIFT#0 [phi:keyboard_event_scan::@20->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG319 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_LSHIFT#0 [phi:keyboard_event_scan::@20->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_LSHIFT sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG246 [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 ] ) -- vbuz1=vbuz2 + //SEG320 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_pressed.return_10 sta keyboard_event_pressed.return jmp b26 - //SEG247 keyboard_event_scan::@26 + //SEG321 keyboard_event_scan::@26 b26: - //SEG248 [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 ] ) -- vbuz1=vbuz2 + //SEG322 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_pressed.return sta _16 - //SEG249 [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 ] ) -- vbuz1_eq_0_then_la1 + //SEG323 [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 ] ) -- vbuz1_eq_0_then_la1 lda _16 beq b9_from_b26 - //SEG250 [125] phi from keyboard_event_scan::@26 to keyboard_event_scan::@21 [phi:keyboard_event_scan::@26->keyboard_event_scan::@21] + //SEG324 [185] phi from keyboard_event_scan::@26 to keyboard_event_scan::@21 [phi:keyboard_event_scan::@26->keyboard_event_scan::@21] b21_from_b26: jmp b21 - //SEG251 keyboard_event_scan::@21 + //SEG325 keyboard_event_scan::@21 b21: - //SEG252 [126] phi from keyboard_event_scan::@21 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9] + //SEG326 [186] phi from keyboard_event_scan::@21 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9] b9_from_b21: - //SEG253 [126] phi (byte) keyboard_modifiers#15 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) KEY_MODIFIER_LSHIFT#0 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9#0] -- vbuz1=vbuc1 + //SEG327 [186] phi (byte) keyboard_modifiers#13 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) KEY_MODIFIER_LSHIFT#0 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9#0] -- vbuz1=vbuc1 lda #0|KEY_MODIFIER_LSHIFT sta keyboard_modifiers jmp b9 - //SEG254 [126] phi from keyboard_event_scan::@26 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9] + //SEG328 [186] phi from keyboard_event_scan::@26 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9] b9_from_b26: - //SEG255 [126] phi (byte) keyboard_modifiers#15 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9#0] -- vbuz1=vbuc1 + //SEG329 [186] phi (byte) keyboard_modifiers#13 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9#0] -- vbuz1=vbuc1 lda #0 sta keyboard_modifiers jmp b9 - //SEG256 keyboard_event_scan::@9 + //SEG330 keyboard_event_scan::@9 b9: - //SEG257 [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 ] ) - //SEG258 [149] phi from keyboard_event_scan::@9 to keyboard_event_pressed [phi:keyboard_event_scan::@9->keyboard_event_pressed] + //SEG331 [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 ] ) + //SEG332 [209] phi from keyboard_event_scan::@9 to keyboard_event_pressed [phi:keyboard_event_scan::@9->keyboard_event_pressed] keyboard_event_pressed_from_b9: - //SEG259 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_RSHIFT#0 [phi:keyboard_event_scan::@9->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG333 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_RSHIFT#0 [phi:keyboard_event_scan::@9->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_RSHIFT sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG260 [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 ] ) -- vbuz1=vbuz2 + //SEG334 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_pressed.return_10 sta keyboard_event_pressed.return_1 jmp b27 - //SEG261 keyboard_event_scan::@27 + //SEG335 keyboard_event_scan::@27 b27: - //SEG262 [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 ] ) -- vbuz1=vbuz2 + //SEG336 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_pressed.return_1 sta _20 - //SEG263 [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 ] ) -- vbuz1_eq_0_then_la1 + //SEG337 [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 ] ) -- vbuz1_eq_0_then_la1 lda _20 beq b10_from_b27 jmp b22 - //SEG264 keyboard_event_scan::@22 + //SEG338 keyboard_event_scan::@22 b22: - //SEG265 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 + //SEG339 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 lda #KEY_MODIFIER_RSHIFT ora keyboard_modifiers sta keyboard_modifiers - //SEG266 [132] phi from keyboard_event_scan::@22 keyboard_event_scan::@27 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10] + //SEG340 [192] phi from keyboard_event_scan::@22 keyboard_event_scan::@27 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10] b10_from_b22: b10_from_b27: - //SEG267 [132] phi (byte) keyboard_modifiers#16 = (byte) keyboard_modifiers#3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10#0] -- register_copy + //SEG341 [192] phi (byte) keyboard_modifiers#14 = (byte) keyboard_modifiers#3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10#0] -- register_copy jmp b10 - //SEG268 keyboard_event_scan::@10 + //SEG342 keyboard_event_scan::@10 b10: - //SEG269 [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 ] ) - //SEG270 [149] phi from keyboard_event_scan::@10 to keyboard_event_pressed [phi:keyboard_event_scan::@10->keyboard_event_pressed] + //SEG343 [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 ] ) + //SEG344 [209] phi from keyboard_event_scan::@10 to keyboard_event_pressed [phi:keyboard_event_scan::@10->keyboard_event_pressed] keyboard_event_pressed_from_b10: - //SEG271 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_CTRL#0 [phi:keyboard_event_scan::@10->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG345 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_CTRL#0 [phi:keyboard_event_scan::@10->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_CTRL sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG272 [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 ] ) -- vbuz1=vbuz2 + //SEG346 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_pressed.return_10 sta keyboard_event_pressed.return_2 jmp b28 - //SEG273 keyboard_event_scan::@28 + //SEG347 keyboard_event_scan::@28 b28: - //SEG274 [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 ] ) -- vbuz1=vbuz2 + //SEG348 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_pressed.return_2 sta _24 - //SEG275 [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 ] ) -- vbuz1_eq_0_then_la1 + //SEG349 [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 ] ) -- vbuz1_eq_0_then_la1 lda _24 beq b11_from_b28 jmp b23 - //SEG276 keyboard_event_scan::@23 + //SEG350 keyboard_event_scan::@23 b23: - //SEG277 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 + //SEG351 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 lda #KEY_MODIFIER_CTRL ora keyboard_modifiers sta keyboard_modifiers - //SEG278 [138] phi from keyboard_event_scan::@23 keyboard_event_scan::@28 to keyboard_event_scan::@11 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11] + //SEG352 [198] phi from keyboard_event_scan::@23 keyboard_event_scan::@28 to keyboard_event_scan::@11 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11] b11_from_b23: b11_from_b28: - //SEG279 [138] phi (byte) keyboard_modifiers#17 = (byte) keyboard_modifiers#4 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11#0] -- register_copy + //SEG353 [198] phi (byte) keyboard_modifiers#15 = (byte) keyboard_modifiers#4 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11#0] -- register_copy jmp b11 - //SEG280 keyboard_event_scan::@11 + //SEG354 keyboard_event_scan::@11 b11: - //SEG281 [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 ] ) - //SEG282 [149] phi from keyboard_event_scan::@11 to keyboard_event_pressed [phi:keyboard_event_scan::@11->keyboard_event_pressed] + //SEG355 [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 ] ) + //SEG356 [209] phi from keyboard_event_scan::@11 to keyboard_event_pressed [phi:keyboard_event_scan::@11->keyboard_event_pressed] keyboard_event_pressed_from_b11: - //SEG283 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_COMMODORE#0 [phi:keyboard_event_scan::@11->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG357 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_COMMODORE#0 [phi:keyboard_event_scan::@11->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_COMMODORE sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG284 [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 ] ) -- vbuz1=vbuz2 + //SEG358 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_pressed.return_10 sta keyboard_event_pressed.return_3 jmp b29 - //SEG285 keyboard_event_scan::@29 + //SEG359 keyboard_event_scan::@29 b29: - //SEG286 [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 ] ) -- vbuz1=vbuz2 + //SEG360 [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 ] ) -- vbuz1=vbuz2 lda keyboard_event_pressed.return_3 sta _28 - //SEG287 [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 ] ) -- vbuz1_eq_0_then_la1 + //SEG361 [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 ] ) -- vbuz1_eq_0_then_la1 lda _28 beq breturn_from_b29 jmp b24 - //SEG288 keyboard_event_scan::@24 + //SEG362 keyboard_event_scan::@24 b24: - //SEG289 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 + //SEG363 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 lda #KEY_MODIFIER_COMMODORE ora keyboard_modifiers sta keyboard_modifiers - //SEG290 [144] phi from keyboard_event_scan::@24 keyboard_event_scan::@29 to keyboard_event_scan::@return [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return] + //SEG364 [204] phi from keyboard_event_scan::@24 keyboard_event_scan::@29 to keyboard_event_scan::@return [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return] breturn_from_b24: breturn_from_b29: - //SEG291 [144] phi (byte) keyboard_modifiers#18 = (byte) keyboard_modifiers#5 [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return#0] -- register_copy + //SEG365 [204] phi (byte) keyboard_modifiers#16 = (byte) keyboard_modifiers#5 [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return#0] -- register_copy jmp breturn - //SEG292 keyboard_event_scan::@return + //SEG366 keyboard_event_scan::@return breturn: - //SEG293 [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 ] ) + //SEG367 [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 ] ) rts - //SEG294 keyboard_event_scan::@6 + //SEG368 keyboard_event_scan::@6 b6: - //SEG295 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG369 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda keycode ldy keyboard_events_size sta keyboard_events,y - //SEG296 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG370 [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 ] ) -- vbuz1=_inc_vbuz1 inc keyboard_events_size jmp b4_from_b6 - //SEG297 keyboard_event_scan::@2 + //SEG371 keyboard_event_scan::@2 b2: - //SEG298 [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 ] ) -- vbuz1=vbuz1_plus_vbuc1 + //SEG372 [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 ] ) -- vbuz1=vbuz1_plus_vbuc1 lda #8 clc adc keycode sta keycode jmp b8_from_b2 } -//SEG299 keyboard_event_pressed +//SEG373 keyboard_event_pressed keyboard_event_pressed: { - .label _0 = $33 - .label _1 = $35 - .label return = $2b - .label return_1 = $2d - .label return_2 = $2f - .label return_3 = $31 - .label row_bits = $34 - .label keycode = $b - .label return_10 = $36 - //SEG300 [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 ] ) -- vbuz1=vbuz2_ror_3 + .label _0 = $6a + .label _1 = $6c + .label return = $62 + .label return_1 = $64 + .label return_2 = $66 + .label return_3 = $68 + .label row_bits = $6b + .label keycode = $e + .label return_10 = $6d + //SEG374 [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 ] ) -- vbuz1=vbuz2_ror_3 lda keycode lsr lsr lsr sta _0 - //SEG301 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG375 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy _0 lda keyboard_scan_values,y sta row_bits - //SEG302 [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 ] ) -- vbuz1=vbuz2_band_vbuc1 + //SEG376 [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 ] ) -- vbuz1=vbuz2_band_vbuc1 lda #7 and keycode sta _1 - //SEG303 [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 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 + //SEG377 [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 ] ) -- vbuz1=vbuz2_band_pbuc1_derefidx_vbuz3 lda row_bits ldy _1 and keyboard_matrix_col_bitmask,y sta return_10 jmp breturn - //SEG304 keyboard_event_pressed::@return + //SEG378 keyboard_event_pressed::@return breturn: - //SEG305 [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 ] ) + //SEG379 [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 ] ) rts } -//SEG306 keyboard_matrix_read +//SEG380 keyboard_matrix_read keyboard_matrix_read: { - .label return = $37 - .label rowid = $24 - .label return_2 = $25 - //SEG307 [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 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuz1 + .label return = $6e + .label rowid = $5b + .label return_2 = $5c + //SEG381 [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 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuz1 ldy rowid lda keyboard_matrix_row_bitmask,y sta CIA1_PORT_A - //SEG308 [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 ] ) -- vbuz1=_bnot__deref_pbuc1 + //SEG382 [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 ] ) -- vbuz1=_bnot__deref_pbuc1 lda CIA1_PORT_B eor #$ff sta return jmp breturn - //SEG309 keyboard_matrix_read::@return + //SEG383 keyboard_matrix_read::@return breturn: - //SEG310 [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 ] ) + //SEG384 [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 ] ) rts } -//SEG311 form_field_ptr +//SEG385 form_field_ptr form_field_ptr: { - .label y = $38 - .label x = $3b - .label return = $3c - .label field_idx = $c - .label return_2 = $3e - .label return_3 = $19 - .label _2 = $39 - //SEG312 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + .label y = $6f + .label x = $72 + .label return = $73 + .label field_idx = $f + .label return_2 = $75 + .label return_3 = $50 + .label _2 = $70 + //SEG386 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy field_idx lda form_fields_y,y sta y - //SEG313 [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 ] ) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 + //SEG387 [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 ] ) -- vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy y lda form_line_hi,y sta _2+1 lda form_line_lo,y sta _2 - //SEG314 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 + //SEG388 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuz2 ldy field_idx lda form_fields_x,y sta x - //SEG315 [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 ] ) -- pbuz1=pbuz2_plus_vbuz3 + //SEG389 [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 ] ) -- pbuz1=pbuz2_plus_vbuz3 lda x clc adc _2 @@ -9051,106 +11681,251 @@ form_field_ptr: { adc _2+1 sta return+1 jmp breturn - //SEG316 form_field_ptr::@return + //SEG390 form_field_ptr::@return breturn: - //SEG317 [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 ] ) + //SEG391 [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 ] ) rts } -//SEG318 form_render_values +//SEG392 form_mode +form_mode: { + .label i = $10 + //SEG393 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #($ffffffff&FORM_CHARSET)/$10000 + sta DTV_GRAPHICS_VIC_BANK + //SEG394 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #DTV_COLOR_BANK_DEFAULT/$400 + sta DTV_COLOR_BANK_LO + //SEG395 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_COLOR_BANK_HI + //SEG396 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #3 + sta CIA2_PORT_A_DDR + //SEG397 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #3^FORM_CHARSET/$4000 + sta CIA2_PORT_A + //SEG398 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_CONTROL + //SEG399 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_DEN|VIC_RSEL|3 + sta VIC_CONTROL + //SEG400 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_CSEL + sta VIC_CONTROL2 + //SEG401 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #(FORM_SCREEN&$3fff)/$40|(FORM_CHARSET&$3fff)/$400 + sta VIC_MEMORY + //SEG402 [233] phi from form_mode to form_mode::@1 [phi:form_mode->form_mode::@1] + b1_from_form_mode: + //SEG403 [233] phi (byte) form_mode::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_mode->form_mode::@1#0] -- vbuz1=vbuc1 + lda #0 + sta i + jmp b1 + //SEG404 [233] phi from form_mode::@1 to form_mode::@1 [phi:form_mode::@1->form_mode::@1] + b1_from_b1: + //SEG405 [233] phi (byte) form_mode::i#2 = (byte) form_mode::i#1 [phi:form_mode::@1->form_mode::@1#0] -- register_copy + jmp b1 + //SEG406 form_mode::@1 + b1: + //SEG407 [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 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + ldy i + lda DTV_PALETTE_DEFAULT,y + sta DTV_PALETTE,y + //SEG408 [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 ] ) -- vbuz1=_inc_vbuz1 + inc i + //SEG409 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda i + cmp #$10 + bne b1_from_b1 + jmp b2 + //SEG410 form_mode::@2 + b2: + //SEG411 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta BORDERCOL + //SEG412 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta BGCOL + jmp breturn + //SEG413 form_mode::@return + breturn: + //SEG414 [239] return [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ) + rts +} +//SEG415 form_init +form_init: { + //SEG416 [241] call print_set_screen param-assignment [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] ) + //SEG417 [294] phi from form_init to print_set_screen [phi:form_init->print_set_screen] + print_set_screen_from_form_init: + //SEG418 [294] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0+(const word) FORM_OFFSET#0 [phi:form_init->print_set_screen#0] -- pbuz1=pbuc1 + lda #COLS+FORM_OFFSET + sta print_set_screen.screen+1 + jsr print_set_screen + //SEG419 [242] phi from form_init to form_init::@1 [phi:form_init->form_init::@1] + b1_from_form_init: + jmp b1 + //SEG420 form_init::@1 + b1: + //SEG421 [243] call print_str_lines param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG422 [273] phi from form_init::@1 to print_str_lines [phi:form_init::@1->print_str_lines] + print_str_lines_from_b1: + //SEG423 [273] phi (byte*) print_str_lines::str#5 = (const string) FORM_COLS#0 [phi:form_init::@1->print_str_lines#0] -- pbuz1=pbuc1 + lda #FORM_COLS + sta print_str_lines.str+1 + jsr print_str_lines + //SEG424 [244] phi from form_init::@1 to form_init::@2 [phi:form_init::@1->form_init::@2] + b2_from_b1: + jmp b2 + //SEG425 form_init::@2 + b2: + //SEG426 [245] call print_set_screen param-assignment [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] ) + //SEG427 [294] phi from form_init::@2 to print_set_screen [phi:form_init::@2->print_set_screen] + print_set_screen_from_b2: + //SEG428 [294] phi (byte*) print_set_screen::screen#2 = (const byte*) FORM_SCREEN#0+(const word) FORM_OFFSET#0 [phi:form_init::@2->print_set_screen#0] -- pbuz1=pbuc1 + lda #FORM_SCREEN+FORM_OFFSET + sta print_set_screen.screen+1 + jsr print_set_screen + //SEG429 [246] phi from form_init::@2 to form_init::@3 [phi:form_init::@2->form_init::@3] + b3_from_b2: + jmp b3 + //SEG430 form_init::@3 + b3: + //SEG431 [247] call print_str_lines param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG432 [273] phi from form_init::@3 to print_str_lines [phi:form_init::@3->print_str_lines] + print_str_lines_from_b3: + //SEG433 [273] phi (byte*) print_str_lines::str#5 = (const string) FORM_TEXT#0 [phi:form_init::@3->print_str_lines#0] -- pbuz1=pbuc1 + lda #FORM_TEXT + sta print_str_lines.str+1 + jsr print_str_lines + //SEG434 [248] phi from form_init::@3 to form_init::@4 [phi:form_init::@3->form_init::@4] + b4_from_b3: + jmp b4 + //SEG435 form_init::@4 + b4: + //SEG436 [249] call form_set_screen param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG437 [263] phi from form_init::@4 to form_set_screen [phi:form_init::@4->form_set_screen] + form_set_screen_from_b4: + jsr form_set_screen + //SEG438 [250] phi from form_init::@4 to form_init::@5 [phi:form_init::@4->form_init::@5] + b5_from_b4: + jmp b5 + //SEG439 form_init::@5 + b5: + //SEG440 [251] call form_render_values param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG441 [253] phi from form_init::@5 to form_render_values [phi:form_init::@5->form_render_values] + form_render_values_from_b5: + jsr form_render_values + jmp breturn + //SEG442 form_init::@return + breturn: + //SEG443 [252] return [ ] ( main:2::form_init:10 [ ] ) + rts +} +//SEG444 form_render_values form_render_values: { - .label field = $40 - .label idx = $d - //SEG319 [165] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + .label field = $77 + .label idx = $11 + //SEG445 [254] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] b1_from_form_render_values: - //SEG320 [165] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuz1=vbuc1 + //SEG446 [254] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuz1=vbuc1 lda #0 sta idx jmp b1 - //SEG321 [165] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + //SEG447 [254] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] b1_from_b3: - //SEG322 [165] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + //SEG448 [254] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy jmp b1 - //SEG323 form_render_values::@1 + //SEG449 form_render_values::@1 b1: - //SEG324 [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 ] ) -- vbuz1=vbuz2 + //SEG450 [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 ] ) -- vbuz1=vbuz2 lda idx sta form_field_ptr.field_idx - //SEG325 [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 ] ) - //SEG326 [158] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //SEG451 [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 ] ) + //SEG452 [218] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] form_field_ptr_from_b1: - //SEG327 [158] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy + //SEG453 [218] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG328 [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 ] ) -- pbuz1=pbuz2 + //SEG454 [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 ] ) -- pbuz1=pbuz2 lda form_field_ptr.return sta form_field_ptr.return_2 lda form_field_ptr.return+1 sta form_field_ptr.return_2+1 jmp b3 - //SEG329 form_render_values::@3 + //SEG455 form_render_values::@3 b3: - //SEG330 [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 ] ) -- pbuz1=pbuz2 + //SEG456 [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 ] ) -- pbuz1=pbuz2 lda form_field_ptr.return_2 sta field lda form_field_ptr.return_2+1 sta field+1 - //SEG331 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG457 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 ldy idx lda form_fields_val,y tay lda print_hextab,y ldy #0 sta (field),y - //SEG332 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG458 [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 ] ) -- vbuz1=_inc_vbuz1 inc idx - //SEG333 [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 ] ) -- vbuz1_lt_vbuc1_then_la1 + //SEG459 [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 ] ) -- vbuz1_lt_vbuc1_then_la1 lda idx cmp #form_fields_cnt bcc b1_from_b3 jmp breturn - //SEG334 form_render_values::@return + //SEG460 form_render_values::@return breturn: - //SEG335 [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 ] ) + //SEG461 [262] return [ ] ( main:2::form_init:10::form_render_values:251 [ ] ) rts } -//SEG336 form_set_screen +//SEG462 form_set_screen form_set_screen: { - .label _0 = $42 - .label _1 = $43 - .label line = $e - .label y = $10 - //SEG337 [175] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + .label screen = FORM_SCREEN+FORM_OFFSET + .label _0 = $79 + .label _1 = $7a + .label line = $12 + .label y = $14 + //SEG463 [264] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] b1_from_form_set_screen: - //SEG338 [175] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuz1=vbuc1 + //SEG464 [264] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuz1=vbuc1 lda #0 sta y - //SEG339 [175] phi (byte*) form_set_screen::line#2 = (const byte*) menu::SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 - lda #form_set_screen::@1#1] -- pbuz1=pbuc1 + lda #menu.SCREEN + lda #>screen sta line+1 jmp b1 - //SEG340 [175] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG466 [264] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] b1_from_b1: - //SEG341 [175] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy - //SEG342 [175] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy + //SEG467 [264] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy + //SEG468 [264] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy jmp b1 - //SEG343 form_set_screen::@1 + //SEG469 form_set_screen::@1 b1: - //SEG344 [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 ] ) -- vbuz1=_lo_pbuz2 + //SEG470 [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 ] ) -- vbuz1=_lo_pbuz2 lda line sta _0 - //SEG345 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG471 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda _0 ldy y sta form_line_lo,y - //SEG346 [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 ] ) -- vbuz1=_hi_pbuz2 + //SEG472 [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 ] ) -- vbuz1=_hi_pbuz2 lda line+1 sta _1 - //SEG347 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG473 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda _1 ldy y sta form_line_hi,y - //SEG348 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG474 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line clc adc #$28 @@ -9158,116 +11933,116 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG349 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG475 [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 ] ) -- vbuz1=_inc_vbuz1 inc y - //SEG350 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG476 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda y cmp #$19 bne b1_from_b1 jmp breturn - //SEG351 form_set_screen::@return + //SEG477 form_set_screen::@return breturn: - //SEG352 [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 ] ) + //SEG478 [272] return [ ] ( main:2::form_init:10::form_set_screen:249 [ ] ) rts } -//SEG353 print_str_lines +//SEG479 print_str_lines print_str_lines: { - .label ch = $44 - .label str = $11 - //SEG354 [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 ] ) -- pbuz1=pbuz2 + .label ch = $7b + .label str = $15 + //SEG480 [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 ] ) -- pbuz1=pbuz2 lda print_set_screen.screen sta print_char_cursor lda print_set_screen.screen+1 sta print_char_cursor+1 - //SEG355 [186] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] + //SEG481 [275] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] b1_from_print_str_lines: b1_from_b9: - //SEG356 [186] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG357 [186] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#64 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG358 [186] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy + //SEG482 [275] phi (byte*) print_line_cursor#16 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy + //SEG483 [275] phi (byte*) print_char_cursor#18 = (byte*~) print_char_cursor#60 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy + //SEG484 [275] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy jmp b1 - //SEG359 print_str_lines::@1 + //SEG485 print_str_lines::@1 b1: - //SEG360 [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 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG486 [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 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4_from_b1 jmp breturn - //SEG361 print_str_lines::@return + //SEG487 print_str_lines::@return breturn: - //SEG362 [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 ] ) + //SEG488 [277] return [ ] ( main:2::form_init:10::print_str_lines:243 [ ] main:2::form_init:10::print_str_lines:247 [ ] ) rts - //SEG363 [189] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG489 [278] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] b4_from_b1: b4_from_b5: - //SEG364 [189] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG365 [189] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG490 [278] phi (byte*) print_char_cursor#16 = (byte*) print_char_cursor#18 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy + //SEG491 [278] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy jmp b4 - //SEG366 print_str_lines::@4 + //SEG492 print_str_lines::@4 b4: - //SEG367 [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 ] ) -- vbuz1=_deref_pbuz2 + //SEG493 [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 ] ) -- vbuz1=_deref_pbuz2 ldy #0 lda (str),y sta ch - //SEG368 [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 ] ) -- pbuz1=_inc_pbuz1 + //SEG494 [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 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG369 [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 ] ) -- vbuz1_eq_vbuc1_then_la1 + //SEG495 [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 ] ) -- vbuz1_eq_vbuc1_then_la1 lda ch cmp #'@' beq b5_from_b4 jmp b8 - //SEG370 print_str_lines::@8 + //SEG496 print_str_lines::@8 b8: - //SEG371 [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 ] ) -- _deref_pbuz1=vbuz2 + //SEG497 [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 ] ) -- _deref_pbuz1=vbuz2 lda ch ldy #0 sta (print_char_cursor),y - //SEG372 [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 ] ) -- pbuz1=_inc_pbuz1 + //SEG498 [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 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG373 [195] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG499 [284] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] b5_from_b4: b5_from_b8: - //SEG374 [195] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG500 [284] phi (byte*) print_char_cursor#31 = (byte*) print_char_cursor#16 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy jmp b5 - //SEG375 print_str_lines::@5 + //SEG501 print_str_lines::@5 b5: - //SEG376 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG502 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda ch cmp #'@' bne b4_from_b5 - //SEG377 [197] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG503 [286] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] b9_from_b5: jmp b9 - //SEG378 print_str_lines::@9 + //SEG504 print_str_lines::@9 b9: - //SEG379 [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 ] ) - //SEG380 [200] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG505 [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 ] ) + //SEG506 [289] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] print_ln_from_b9: jsr print_ln - //SEG381 [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 ] ) -- pbuz1=pbuz2 + //SEG507 [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 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 jmp b1_from_b9 } -//SEG382 print_ln +//SEG508 print_ln print_ln: { - //SEG383 [201] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG509 [290] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG384 [201] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG510 [290] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#16 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG385 print_ln::@1 + //SEG511 print_ln::@1 b1: - //SEG386 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG512 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -9275,7 +12050,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG387 [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 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG513 [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 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -9285,64 +12060,214 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG388 print_ln::@return + //SEG514 print_ln::@return breturn: - //SEG389 [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 ] ) + //SEG515 [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 ] ) rts } -//SEG390 print_cls -print_cls: { - .label _0 = $45 - .label sc = $17 - //SEG391 [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 ] ) -- pbuz1=pbuz2 - lda print_set_screen.screen - sta sc - lda print_set_screen.screen+1 - sta sc+1 - //SEG392 [206] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] - b1_from_print_cls: - b1_from_b1: - //SEG393 [206] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy - jmp b1 - //SEG394 print_cls::@1 - b1: - //SEG395 [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 ] ) -- _deref_pbuz1=vbuc1 - lda #' ' - ldy #0 - sta (sc),y - //SEG396 [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 ] ) -- pbuz1=_inc_pbuz1 - inc sc - bne !+ - inc sc+1 - !: - //SEG397 [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 ] ) -- pbuz1=pbuz2_plus_vwuc1 - lda print_set_screen.screen - clc - adc #<$3e8 - sta _0 - lda print_set_screen.screen+1 - adc #>$3e8 - sta _0+1 - //SEG398 [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 ] ) -- pbuz1_neq_pbuz2_then_la1 - lda sc+1 - cmp _0+1 - bne b1_from_b1 - lda sc - cmp _0 - bne b1_from_b1 - jmp breturn - //SEG399 print_cls::@return - breturn: - //SEG400 [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 ] ) - rts -} -//SEG401 print_set_screen +//SEG516 print_set_screen print_set_screen: { - .label screen = $15 + .label screen = $19 jmp breturn - //SEG402 print_set_screen::@return + //SEG517 print_set_screen::@return breturn: - //SEG403 [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 ] ) + //SEG518 [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 ] ) + rts +} +//SEG519 gfx_init +gfx_init: { + //SEG520 [297] call gfx_init_plane_8bppchunky param-assignment [ ] ( main:2::gfx_init:8 [ ] ) + //SEG521 [299] phi from gfx_init to gfx_init_plane_8bppchunky [phi:gfx_init->gfx_init_plane_8bppchunky] + gfx_init_plane_8bppchunky_from_gfx_init: + jsr gfx_init_plane_8bppchunky + jmp breturn + //SEG522 gfx_init::@return + breturn: + //SEG523 [298] return [ ] ( main:2::gfx_init:8 [ ] ) + rts +} +//SEG524 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky: { + .label _6 = $7c + .label c = $7e + .label gfxb = $1f + .label x = $1c + .label gfxbCpuBank = $1e + .label y = $1b + //SEG525 [300] call dtvSetCpuBankSegment1 param-assignment [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] ) + //SEG526 [319] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + dtvSetCpuBankSegment1_from_gfx_init_plane_8bppchunky: + //SEG527 [319] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + lda #PLANE_8BPP_CHUNKY/$4000 + sta dtvSetCpuBankSegment1.cpuBankIdx + jsr dtvSetCpuBankSegment1 + //SEG528 [301] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + b1_from_gfx_init_plane_8bppchunky: + //SEG529 [301] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuz1=vbuc1 + lda #PLANE_8BPP_CHUNKY/$4000+1 + sta gfxbCpuBank + //SEG530 [301] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 + lda #0 + sta y + //SEG531 [301] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + lda #<$4000 + sta gfxb + lda #>$4000 + sta gfxb+1 + jmp b1 + //SEG532 [301] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + b1_from_b5: + //SEG533 [301] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy + //SEG534 [301] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy + //SEG535 [301] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy + jmp b1 + //SEG536 gfx_init_plane_8bppchunky::@1 + b1: + //SEG537 [302] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + b2_from_b1: + //SEG538 [302] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG539 [302] phi (word) gfx_init_plane_8bppchunky::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vbuc1 + lda #<0 + sta x + lda #>0 + sta x+1 + //SEG540 [302] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy + jmp b2 + //SEG541 [302] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + b2_from_b3: + //SEG542 [302] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG543 [302] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy + //SEG544 [302] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy + jmp b2 + //SEG545 gfx_init_plane_8bppchunky::@2 + b2: + //SEG546 [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 ] ) -- pbuz1_neq_vwuc1_then_la1 + lda gfxb+1 + cmp #>$8000 + bne b3_from_b2 + lda gfxb + cmp #<$8000 + bne b3_from_b2 + jmp b4 + //SEG547 gfx_init_plane_8bppchunky::@4 + b4: + //SEG548 [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 ] ) -- vbuz1=vbuz2 + lda gfxbCpuBank + sta dtvSetCpuBankSegment1.cpuBankIdx + //SEG549 [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 ] ) + //SEG550 [319] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + dtvSetCpuBankSegment1_from_b4: + //SEG551 [319] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + jsr dtvSetCpuBankSegment1 + jmp b8 + //SEG552 gfx_init_plane_8bppchunky::@8 + b8: + //SEG553 [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 ] ) -- vbuz1=_inc_vbuz1 + inc gfxbCpuBank + //SEG554 [307] phi from gfx_init_plane_8bppchunky::@8 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3] + b3_from_b8: + //SEG555 [307] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG556 [307] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + lda #<$4000 + sta gfxb + lda #>$4000 + sta gfxb+1 + jmp b3 + //SEG557 [307] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + b3_from_b2: + //SEG558 [307] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG559 [307] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy + jmp b3 + //SEG560 gfx_init_plane_8bppchunky::@3 + b3: + //SEG561 [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 ] ) -- vwuz1=vwuz2_plus_vbuz3 + lda y + clc + adc x + sta _6 + lda #0 + adc x+1 + sta _6+1 + //SEG562 [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 ] ) -- vbuz1=_byte_vwuz2 + lda _6 + sta c + //SEG563 [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 ] ) -- _deref_pbuz1=vbuz2 + lda c + ldy #0 + sta (gfxb),y + //SEG564 [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 ] ) -- pbuz1=_inc_pbuz1 + inc gfxb + bne !+ + inc gfxb+1 + !: + //SEG565 [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 ] ) -- vwuz1=_inc_vwuz1 + inc x + bne !+ + inc x+1 + !: + //SEG566 [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 ] ) -- vwuz1_neq_vwuc1_then_la1 + lda x+1 + cmp #>$140 + bne b2_from_b3 + lda x + cmp #<$140 + bne b2_from_b3 + jmp b5 + //SEG567 gfx_init_plane_8bppchunky::@5 + b5: + //SEG568 [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 ] ) -- vbuz1=_inc_vbuz1 + inc y + //SEG569 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda y + cmp #$c8 + bne b1_from_b5 + //SEG570 [316] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + b6_from_b5: + jmp b6 + //SEG571 gfx_init_plane_8bppchunky::@6 + b6: + //SEG572 [317] call dtvSetCpuBankSegment1 param-assignment [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] ) + //SEG573 [319] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + dtvSetCpuBankSegment1_from_b6: + //SEG574 [319] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuz1=vbuc1 + lda #$4000/$4000 + sta dtvSetCpuBankSegment1.cpuBankIdx + jsr dtvSetCpuBankSegment1 + jmp breturn + //SEG575 gfx_init_plane_8bppchunky::@return + breturn: + //SEG576 [318] return [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] ) + rts +} +//SEG577 dtvSetCpuBankSegment1 +dtvSetCpuBankSegment1: { + .label cpuBank = $ff + .label cpuBankIdx = $21 + //SEG578 [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 [ ] ) -- _deref_pbuc1=vbuz1 + lda cpuBankIdx + sta cpuBank + //SEG579 asm { .byte$32,$dd lda$ff .byte$32,$00 } + .byte $32, $dd + lda $ff + .byte $32, $00 + jmp breturn + //SEG580 dtvSetCpuBankSegment1::@return + breturn: + //SEG581 [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 [ ] ) + rts +} +//SEG582 keyboard_init +keyboard_init: { + //SEG583 [323] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:2::keyboard_init:6 [ ] ) -- _deref_pbuc1=vbuc2 + lda #$ff + sta CIA1_PORT_A_DDR + //SEG584 [324] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:6 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta CIA1_PORT_B_DDR + jmp breturn + //SEG585 keyboard_init::@return + breturn: + //SEG586 [325] return [ ] ( main:2::keyboard_init:6 [ ] ) rts } DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a @@ -9351,330 +12276,570 @@ 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 @"+"@" REGISTER UPLIFT POTENTIAL REGISTERS Statement [5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [11] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ 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 ] -Removing always clobbered register reg byte a as potential for 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 ] -Removing always clobbered register reg byte a as potential for 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 ] -Statement [12] *((const byte*) DTV_COLOR_BANK_LO#0) ← <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [19] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Statement [21] *((const byte*) DTV_PALETTE#0 + (byte) menu::i#2) ← *((const byte[16]) DTV_PALETTE_DEFAULT#0 + (byte) menu::i#2) [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:5 [ menu::i#2 menu::i#1 ] -Statement [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 ] ) always clobbers reg byte a -Statement [25] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Statement [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ 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 ] ) always clobbers reg byte a -Statement [55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ 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 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:10 [ 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 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#30 form_field_idx#40 form_field_idx#41 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -Statement [56] *((byte*) form_control::field#0) ← (byte/word/dword~) form_control::$6 [ 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 ] ) always clobbers reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for 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 ] -Statement [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 ] ) always clobbers reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Potential register analysis [84] *(form_fields_val#0 + form_field_idx#14) ← -- *(form_fields_val#0 + form_field_idx#14) missing fragment pbuc1_derefidx_vbuxx=_dec_pbuc1_derefidx_vbuxx allocation: reg byte x [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#30 form_field_idx#40 form_field_idx#41 ] +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:12 [ 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 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:4 [ 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 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:5 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:12 [ 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 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +Statement [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 ] ) always clobbers reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:13 [ keyboard_modifiers#16 keyboard_modifiers#15 keyboard_modifiers#4 keyboard_modifiers#14 keyboard_modifiers#3 keyboard_modifiers#13 keyboard_modifiers#5 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ keyboard_modifiers#16 keyboard_modifiers#15 keyboard_modifiers#4 keyboard_modifiers#14 keyboard_modifiers#3 keyboard_modifiers#13 keyboard_modifiers#5 ] +Statement [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 ] ) always clobbers reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Potential register analysis [144] *(form_fields_val#0 + form_field_idx#1) ← -- *(form_fields_val#0 + form_field_idx#1) missing fragment pbuc1_derefidx_vbuxx=_dec_pbuc1_derefidx_vbuxx allocation: reg byte x [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] MISSING FRAGMENTS pbuc1_derefidx_vbuxx=_dec_pbuc1_derefidx_vbuxx -Statement [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 ] ) always clobbers reg byte a reg byte x -Removing always clobbered register reg byte x as potential for zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#30 form_field_idx#40 form_field_idx#41 ] -Removing always clobbered register reg byte x as potential for zp ZP_BYTE:10 [ 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 ] -Removing always clobbered register reg byte x as potential for 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 ] -Removing always clobbered register reg byte x as potential for zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ 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 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:38 [ keyboard_event_scan::row_scan#0 ] -Statement [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 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:7 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:38 [ keyboard_event_scan::row_scan#0 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:8 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:9 [ 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 ] -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:52 [ keyboard_event_pressed::row_bits#0 ] -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:12 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:13 [ form_render_values::idx#2 form_render_values::idx#1 ] -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:13 [ form_render_values::idx#2 form_render_values::idx#1 ] -Statement [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 ] ) always clobbers reg byte a -Removing always clobbered register reg byte a as potential for zp ZP_BYTE:16 [ form_set_screen::y#2 form_set_screen::y#1 ] -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte y -Removing always clobbered register reg byte y as potential for zp ZP_BYTE:68 [ print_str_lines::ch#0 ] -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte x +Removing always clobbered register reg byte x as potential for zp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] +Removing always clobbered register reg byte x as potential for zp ZP_BYTE:12 [ 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 ] +Removing always clobbered register reg byte x as potential for zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:9 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:11 [ 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 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:93 [ keyboard_event_scan::row_scan#0 ] +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:10 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:9 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:93 [ keyboard_event_scan::row_scan#0 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:10 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:11 [ 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 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:107 [ keyboard_event_pressed::row_bits#0 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:15 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:17 [ form_render_values::idx#2 form_render_values::idx#1 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:16 [ form_mode::i#2 form_mode::i#1 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:17 [ form_render_values::idx#2 form_render_values::idx#1 ] +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:20 [ form_set_screen::y#2 form_set_screen::y#1 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:123 [ print_str_lines::ch#0 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:27 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Removing always clobbered register reg byte a as potential for zp ZP_BYTE:30 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte y +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:27 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Removing always clobbered register reg byte y as potential for zp ZP_BYTE:30 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] +Statement [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 ] ) always clobbers reg byte a +Statement asm { .byte$32,$dd lda$ff .byte$32,$00 } always clobbers reg byte a +Statement [323] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:2::keyboard_init:6 [ ] ) always clobbers reg byte a +Statement [324] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:6 [ ] ) always clobbers reg byte a Statement [5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) always clobbers reg byte a -Statement [11] *((const byte*) DTV_GRAPHICS_VIC_BANK#0) ← ((byte))((dword))(const byte*) menu::CHARSET#0/(dword/signed dword) 65536 [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Statement [12] *((const byte*) DTV_COLOR_BANK_LO#0) ← <((word))(const dword) DTV_COLOR_BANK_DEFAULT#0/(word/signed word/dword/signed dword) 1024 [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [19] *((const byte*) VIC_MEMORY#0) ← ((byte))((word))(const byte*) menu::SCREEN#0&(word/signed word/dword/signed dword) 16383/(byte/signed byte/word/signed word/dword/signed dword) 64|((word))(const byte*) menu::CHARSET#0&(word/signed word/dword/signed dword) 16383/(word/signed word/dword/signed dword) 1024 [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Statement [21] *((const byte*) DTV_PALETTE#0 + (byte) menu::i#2) ← *((const byte[16]) DTV_PALETTE_DEFAULT#0 + (byte) menu::i#2) [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Statement [24] *((const byte*) BGCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Statement [25] *((const byte*) BORDERCOL#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ form_cursor_count#1 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 ] ) always clobbers reg byte a -Statement [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [52] if((signed byte) form_cursor_count#5>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto form_control::@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 ] ) always clobbers reg byte a -Statement [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ 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 ] ) always clobbers reg byte a -Statement [55] (byte/word/dword~) form_control::$6 ← *((byte*) form_control::field#0) | (byte/word/signed word/dword/signed dword) 128 [ 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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte x -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte x -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a reg byte y -Statement [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 ] ) always clobbers reg byte a -Statement [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 ] ) always clobbers reg byte a -Potential registers zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] : zp ZP_BYTE:2 , -Potential registers zp ZP_BYTE:3 [ 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 ] : zp ZP_BYTE:3 , -Potential registers zp ZP_BYTE:4 [ form_field_idx#1 form_field_idx#14 form_field_idx#18 form_field_idx#30 form_field_idx#40 form_field_idx#41 ] : zp ZP_BYTE:4 , -Potential registers zp ZP_BYTE:5 [ menu::i#2 menu::i#1 ] : zp ZP_BYTE:5 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:6 [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] : zp ZP_BYTE:6 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:7 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] : zp ZP_BYTE:7 , reg byte x , -Potential registers zp ZP_BYTE:8 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] : zp ZP_BYTE:8 , reg byte x , -Potential registers zp ZP_BYTE:9 [ 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 ] : zp ZP_BYTE:9 , reg byte x , -Potential registers zp ZP_BYTE:10 [ 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:10 , -Potential registers zp ZP_BYTE:11 [ keyboard_event_pressed::keycode#4 ] : zp ZP_BYTE:11 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:12 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] : zp ZP_BYTE:12 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:13 [ form_render_values::idx#2 form_render_values::idx#1 ] : zp ZP_BYTE:13 , reg byte x , -Potential registers zp ZP_WORD:14 [ form_set_screen::line#2 form_set_screen::line#1 ] : zp ZP_WORD:14 , -Potential registers zp ZP_BYTE:16 [ form_set_screen::y#2 form_set_screen::y#1 ] : zp ZP_BYTE:16 , reg byte x , reg byte y , -Potential registers zp ZP_WORD:17 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] : zp ZP_WORD:17 , -Potential registers zp ZP_WORD:19 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#64 print_char_cursor#65 print_char_cursor#38 print_char_cursor#1 ] : zp ZP_WORD:19 , -Potential registers zp ZP_WORD:21 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] : zp ZP_WORD:21 , -Potential registers zp ZP_WORD:23 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] : zp ZP_WORD:23 , -Potential registers zp ZP_WORD:25 [ form_field_ptr::return#3 ] : zp ZP_WORD:25 , -Potential registers zp ZP_WORD:27 [ form_control::field#0 ] : zp ZP_WORD:27 , -Potential registers zp ZP_BYTE:29 [ form_control::$6 ] : zp ZP_BYTE:29 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:30 [ keyboard_event_get::return#3 ] : zp ZP_BYTE:30 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:31 [ form_control::key_event#0 ] : zp ZP_BYTE:31 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:32 [ form_control::$12 ] : zp ZP_BYTE:32 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:33 [ form_control::$13 ] : zp ZP_BYTE:33 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:34 [ form_control::$24 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:35 [ form_control::$7 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:36 [ keyboard_matrix_read::rowid#0 ] : zp ZP_BYTE:36 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:37 [ keyboard_matrix_read::return#2 ] : zp ZP_BYTE:37 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:38 [ keyboard_event_scan::row_scan#0 ] : zp ZP_BYTE:38 , reg byte x , -Potential registers zp ZP_BYTE:39 [ keyboard_event_scan::$3 ] : zp ZP_BYTE:39 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:40 [ keyboard_event_scan::$4 ] : zp ZP_BYTE:40 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:41 [ keyboard_event_scan::event_type#0 ] : zp ZP_BYTE:41 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:42 [ keyboard_event_scan::$12 ] : zp ZP_BYTE:42 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:43 [ keyboard_event_pressed::return#0 ] : zp ZP_BYTE:43 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:44 [ keyboard_event_scan::$16 ] : zp ZP_BYTE:44 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:45 [ keyboard_event_pressed::return#1 ] : zp ZP_BYTE:45 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:46 [ keyboard_event_scan::$20 ] : zp ZP_BYTE:46 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:47 [ keyboard_event_pressed::return#2 ] : zp ZP_BYTE:47 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:48 [ keyboard_event_scan::$24 ] : zp ZP_BYTE:48 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:49 [ keyboard_event_pressed::return#3 ] : zp ZP_BYTE:49 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:50 [ keyboard_event_scan::$28 ] : zp ZP_BYTE:50 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:51 [ keyboard_event_pressed::$0 ] : zp ZP_BYTE:51 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:52 [ keyboard_event_pressed::row_bits#0 ] : zp ZP_BYTE:52 , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:53 [ keyboard_event_pressed::$1 ] : zp ZP_BYTE:53 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:54 [ keyboard_event_pressed::return#10 ] : zp ZP_BYTE:54 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:55 [ keyboard_matrix_read::return#0 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:56 [ form_field_ptr::y#0 ] : zp ZP_BYTE:56 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:57 [ form_field_ptr::$2 ] : zp ZP_WORD:57 , -Potential registers zp ZP_BYTE:59 [ form_field_ptr::x#0 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_WORD:60 [ form_field_ptr::return#0 ] : zp ZP_WORD:60 , -Potential registers zp ZP_WORD:62 [ form_field_ptr::return#2 ] : zp ZP_WORD:62 , -Potential registers zp ZP_WORD:64 [ form_render_values::field#0 ] : zp ZP_WORD:64 , -Potential registers zp ZP_BYTE:66 [ form_set_screen::$0 ] : zp ZP_BYTE:66 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:67 [ form_set_screen::$1 ] : zp ZP_BYTE:67 , reg byte a , reg byte x , reg byte y , -Potential registers zp ZP_BYTE:68 [ print_str_lines::ch#0 ] : zp ZP_BYTE:68 , reg byte a , reg byte x , -Potential registers zp ZP_WORD:69 [ print_cls::$0 ] : zp ZP_WORD:69 , +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte x +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte x +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte a reg byte y +Statement [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 ] ) always clobbers reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte a +Statement [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 ] ) always clobbers reg byte y +Statement [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 ] ) always clobbers reg byte a +Statement asm { .byte$32,$dd lda$ff .byte$32,$00 } always clobbers reg byte a +Statement [323] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:2::keyboard_init:6 [ ] ) always clobbers reg byte a +Statement [324] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:6 [ ] ) always clobbers reg byte a +Potential registers zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] : zp ZP_BYTE:2 , +Potential registers zp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] : zp ZP_BYTE:3 , +Potential registers zp ZP_BYTE:4 [ 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 ] : zp ZP_BYTE:4 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:5 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] : zp ZP_BYTE:5 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:6 [ gfx_mode::vic_control2#2 ] : zp ZP_BYTE:6 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:7 [ gfx_mode::i#2 gfx_mode::i#1 ] : zp ZP_BYTE:7 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:8 [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] : zp ZP_BYTE:8 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:9 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] : zp ZP_BYTE:9 , reg byte x , +Potential registers zp ZP_BYTE:10 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] : zp ZP_BYTE:10 , reg byte x , +Potential registers zp ZP_BYTE:11 [ 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 ] : zp ZP_BYTE:11 , reg byte x , +Potential registers zp ZP_BYTE:12 [ 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 ] : zp ZP_BYTE:12 , +Potential registers zp ZP_BYTE:13 [ keyboard_modifiers#16 keyboard_modifiers#15 keyboard_modifiers#4 keyboard_modifiers#14 keyboard_modifiers#3 keyboard_modifiers#13 keyboard_modifiers#5 ] : zp ZP_BYTE:13 , reg byte x , +Potential registers zp ZP_BYTE:14 [ keyboard_event_pressed::keycode#4 ] : zp ZP_BYTE:14 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:15 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] : zp ZP_BYTE:15 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:16 [ form_mode::i#2 form_mode::i#1 ] : zp ZP_BYTE:16 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:17 [ form_render_values::idx#2 form_render_values::idx#1 ] : zp ZP_BYTE:17 , reg byte x , +Potential registers zp ZP_WORD:18 [ form_set_screen::line#2 form_set_screen::line#1 ] : zp ZP_WORD:18 , +Potential registers zp ZP_BYTE:20 [ form_set_screen::y#2 form_set_screen::y#1 ] : zp ZP_BYTE:20 , reg byte x , reg byte y , +Potential registers zp ZP_WORD:21 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] : zp ZP_WORD:21 , +Potential registers zp ZP_WORD:23 [ print_char_cursor#16 print_char_cursor#18 print_char_cursor#60 print_char_cursor#61 print_char_cursor#31 print_char_cursor#1 ] : zp ZP_WORD:23 , +Potential registers zp ZP_WORD:25 [ print_line_cursor#17 print_line_cursor#16 print_set_screen::screen#2 print_line_cursor#18 ] : zp ZP_WORD:25 , +Potential registers zp ZP_BYTE:27 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] : zp ZP_BYTE:27 , reg byte x , +Potential registers zp ZP_WORD:28 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] : zp ZP_WORD:28 , +Potential registers zp ZP_BYTE:30 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] : zp ZP_BYTE:30 , reg byte x , +Potential registers zp ZP_WORD:31 [ 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:31 , +Potential registers zp ZP_BYTE:33 [ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ] : zp ZP_BYTE:33 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:34 [ gfx_mode::$29 ] : zp ZP_BYTE:34 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:35 [ gfx_mode::plane_a_offs#0 ] : zp ZP_BYTE:35 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_DWORD:36 [ gfx_mode::plane_a#0 ] : zp ZP_DWORD:36 , +Potential registers zp ZP_WORD:40 [ gfx_mode::$33 ] : zp ZP_WORD:40 , +Potential registers zp ZP_BYTE:42 [ gfx_mode::$34 ] : zp ZP_BYTE:42 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:43 [ gfx_mode::$35 ] : zp ZP_WORD:43 , +Potential registers zp ZP_BYTE:45 [ gfx_mode::$36 ] : zp ZP_BYTE:45 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:46 [ gfx_mode::$37 ] : zp ZP_WORD:46 , +Potential registers zp ZP_BYTE:48 [ gfx_mode::$38 ] : zp ZP_BYTE:48 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:49 [ gfx_mode::$39 ] : zp ZP_BYTE:49 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:50 [ gfx_mode::$40 ] : zp ZP_BYTE:50 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:51 [ gfx_mode::$41 ] : zp ZP_BYTE:51 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:52 [ gfx_mode::$42 ] : zp ZP_BYTE:52 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:53 [ gfx_mode::$43 ] : zp ZP_BYTE:53 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:54 [ gfx_mode::plane_b_offs#0 ] : zp ZP_BYTE:54 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_DWORD:55 [ gfx_mode::plane_b#0 ] : zp ZP_DWORD:55 , +Potential registers zp ZP_WORD:59 [ gfx_mode::$46 ] : zp ZP_WORD:59 , +Potential registers zp ZP_BYTE:61 [ gfx_mode::$47 ] : zp ZP_BYTE:61 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:62 [ gfx_mode::$48 ] : zp ZP_WORD:62 , +Potential registers zp ZP_BYTE:64 [ gfx_mode::$49 ] : zp ZP_BYTE:64 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:65 [ gfx_mode::$50 ] : zp ZP_WORD:65 , +Potential registers zp ZP_BYTE:67 [ gfx_mode::$51 ] : zp ZP_BYTE:67 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:68 [ gfx_mode::$52 ] : zp ZP_BYTE:68 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:69 [ gfx_mode::$53 ] : zp ZP_BYTE:69 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:70 [ gfx_mode::$54 ] : zp ZP_BYTE:70 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:71 [ gfx_mode::$55 ] : zp ZP_BYTE:71 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:72 [ gfx_mode::$56 ] : zp ZP_BYTE:72 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:73 [ gfx_mode::$57 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:74 [ gfx_mode::$58 ] : zp ZP_BYTE:74 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:75 [ gfx_mode::$59 ] : zp ZP_BYTE:75 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:76 [ gfx_mode::$60 ] : zp ZP_BYTE:76 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:77 [ gfx_mode::$61 ] : zp ZP_BYTE:77 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:78 [ gfx_mode::$62 ] : zp ZP_BYTE:78 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:79 [ gfx_mode::$63 ] : zp ZP_BYTE:79 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:80 [ form_field_ptr::return#3 ] : zp ZP_WORD:80 , +Potential registers zp ZP_WORD:82 [ form_control::field#0 ] : zp ZP_WORD:82 , +Potential registers zp ZP_BYTE:84 [ form_control::$6 ] : zp ZP_BYTE:84 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:85 [ keyboard_event_get::return#3 ] : zp ZP_BYTE:85 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:86 [ form_control::key_event#0 ] : zp ZP_BYTE:86 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:87 [ form_control::$12 ] : zp ZP_BYTE:87 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:88 [ form_control::$13 ] : zp ZP_BYTE:88 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:89 [ form_control::$24 ] : zp ZP_BYTE:89 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:90 [ form_control::$7 ] : zp ZP_BYTE:90 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:91 [ keyboard_matrix_read::rowid#0 ] : zp ZP_BYTE:91 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:92 [ keyboard_matrix_read::return#2 ] : zp ZP_BYTE:92 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:93 [ keyboard_event_scan::row_scan#0 ] : zp ZP_BYTE:93 , reg byte x , +Potential registers zp ZP_BYTE:94 [ keyboard_event_scan::$3 ] : zp ZP_BYTE:94 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:95 [ keyboard_event_scan::$4 ] : zp ZP_BYTE:95 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:96 [ keyboard_event_scan::event_type#0 ] : zp ZP_BYTE:96 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:97 [ keyboard_event_scan::$12 ] : zp ZP_BYTE:97 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:98 [ keyboard_event_pressed::return#0 ] : zp ZP_BYTE:98 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:99 [ keyboard_event_scan::$16 ] : zp ZP_BYTE:99 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:100 [ keyboard_event_pressed::return#1 ] : zp ZP_BYTE:100 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:101 [ keyboard_event_scan::$20 ] : zp ZP_BYTE:101 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:102 [ keyboard_event_pressed::return#2 ] : zp ZP_BYTE:102 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:103 [ keyboard_event_scan::$24 ] : zp ZP_BYTE:103 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:104 [ keyboard_event_pressed::return#3 ] : zp ZP_BYTE:104 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:105 [ keyboard_event_scan::$28 ] : zp ZP_BYTE:105 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:106 [ keyboard_event_pressed::$0 ] : zp ZP_BYTE:106 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:107 [ keyboard_event_pressed::row_bits#0 ] : zp ZP_BYTE:107 , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:108 [ keyboard_event_pressed::$1 ] : zp ZP_BYTE:108 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:109 [ keyboard_event_pressed::return#10 ] : zp ZP_BYTE:109 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:110 [ keyboard_matrix_read::return#0 ] : zp ZP_BYTE:110 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:111 [ form_field_ptr::y#0 ] : zp ZP_BYTE:111 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:112 [ form_field_ptr::$2 ] : zp ZP_WORD:112 , +Potential registers zp ZP_BYTE:114 [ form_field_ptr::x#0 ] : zp ZP_BYTE:114 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_WORD:115 [ form_field_ptr::return#0 ] : zp ZP_WORD:115 , +Potential registers zp ZP_WORD:117 [ form_field_ptr::return#2 ] : zp ZP_WORD:117 , +Potential registers zp ZP_WORD:119 [ form_render_values::field#0 ] : zp ZP_WORD:119 , +Potential registers zp ZP_BYTE:121 [ form_set_screen::$0 ] : zp ZP_BYTE:121 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:122 [ form_set_screen::$1 ] : zp ZP_BYTE:122 , reg byte a , reg byte x , reg byte y , +Potential registers zp ZP_BYTE:123 [ print_str_lines::ch#0 ] : zp ZP_BYTE:123 , reg byte a , reg byte x , +Potential registers zp ZP_WORD:124 [ gfx_init_plane_8bppchunky::$6 ] : zp ZP_WORD:124 , +Potential registers zp ZP_BYTE:126 [ gfx_init_plane_8bppchunky::c#0 ] : zp ZP_BYTE:126 , reg byte a , reg byte x , reg byte y , REGISTER UPLIFT SCOPES -Uplift Scope [keyboard_event_scan] 20,002: zp ZP_BYTE:39 [ keyboard_event_scan::$3 ] 20,002: zp ZP_BYTE:40 [ keyboard_event_scan::$4 ] 20,002: zp ZP_BYTE:41 [ keyboard_event_scan::event_type#0 ] 20,002: zp ZP_BYTE:42 [ keyboard_event_scan::$12 ] 17,858.93: zp ZP_BYTE:8 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] 11,908.48: zp ZP_BYTE:9 [ 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 ] 2,101.74: zp ZP_BYTE:7 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] 1,278.06: zp ZP_BYTE:38 [ keyboard_event_scan::row_scan#0 ] 4: zp ZP_BYTE:44 [ keyboard_event_scan::$16 ] 4: zp ZP_BYTE:46 [ keyboard_event_scan::$20 ] 4: zp ZP_BYTE:48 [ keyboard_event_scan::$24 ] 4: zp ZP_BYTE:50 [ keyboard_event_scan::$28 ] -Uplift Scope [] 58,841.83: zp ZP_BYTE:10 [ 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 ] 3,703: zp ZP_WORD:19 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#64 print_char_cursor#65 print_char_cursor#38 print_char_cursor#1 ] 2,659.38: zp ZP_WORD:21 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] 49.71: 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 ] 49.34: zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] 48.3: 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 ] -Uplift Scope [keyboard_matrix_read] 2,002: zp ZP_BYTE:37 [ keyboard_matrix_read::return#2 ] 1,003: zp ZP_BYTE:36 [ keyboard_matrix_read::rowid#0 ] 334.33: zp ZP_BYTE:55 [ keyboard_matrix_read::return#0 ] -Uplift Scope [print_str_lines] 1,939.17: zp ZP_WORD:17 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] 667.33: zp ZP_BYTE:68 [ print_str_lines::ch#0 ] -Uplift Scope [form_set_screen] 218.83: zp ZP_BYTE:16 [ form_set_screen::y#2 form_set_screen::y#1 ] 202: zp ZP_BYTE:66 [ form_set_screen::$0 ] 202: zp ZP_BYTE:67 [ form_set_screen::$1 ] 148.13: zp ZP_WORD:14 [ form_set_screen::line#2 form_set_screen::line#1 ] -Uplift Scope [form_field_ptr] 241.67: zp ZP_BYTE:12 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] 202: zp ZP_WORD:62 [ form_field_ptr::return#2 ] 26.25: zp ZP_WORD:60 [ form_field_ptr::return#0 ] 6: zp ZP_BYTE:56 [ form_field_ptr::y#0 ] 4: zp ZP_WORD:25 [ form_field_ptr::return#3 ] 4: zp ZP_BYTE:59 [ form_field_ptr::x#0 ] 1: zp ZP_WORD:57 [ form_field_ptr::$2 ] -Uplift Scope [print_cls] 257.5: zp ZP_WORD:23 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] 202: zp ZP_WORD:69 [ print_cls::$0 ] -Uplift Scope [form_render_values] 218.83: zp ZP_BYTE:13 [ form_render_values::idx#2 form_render_values::idx#1 ] 202: zp ZP_WORD:64 [ form_render_values::field#0 ] -Uplift Scope [menu] 353.5: zp ZP_BYTE:5 [ menu::i#2 menu::i#1 ] -Uplift Scope [keyboard_event_pressed] 4: zp ZP_BYTE:43 [ keyboard_event_pressed::return#0 ] 4: zp ZP_BYTE:45 [ keyboard_event_pressed::return#1 ] 4: zp ZP_BYTE:47 [ keyboard_event_pressed::return#2 ] 4: zp ZP_BYTE:49 [ keyboard_event_pressed::return#3 ] 4: zp ZP_BYTE:51 [ keyboard_event_pressed::$0 ] 4: zp ZP_BYTE:53 [ keyboard_event_pressed::$1 ] 2: zp ZP_BYTE:52 [ keyboard_event_pressed::row_bits#0 ] 1.67: zp ZP_BYTE:54 [ keyboard_event_pressed::return#10 ] 1.33: zp ZP_BYTE:11 [ keyboard_event_pressed::keycode#4 ] -Uplift Scope [form_control] 4: zp ZP_BYTE:29 [ form_control::$6 ] 4: zp ZP_BYTE:32 [ form_control::$12 ] 4: zp ZP_BYTE:33 [ form_control::$13 ] 4: zp ZP_BYTE:34 [ form_control::$24 ] 4: zp ZP_BYTE:35 [ form_control::$7 ] 3: zp ZP_BYTE:31 [ form_control::key_event#0 ] 0.59: zp ZP_WORD:27 [ form_control::field#0 ] -Uplift Scope [keyboard_event_get] 5.33: zp ZP_BYTE:6 [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] 4: zp ZP_BYTE:30 [ keyboard_event_get::return#3 ] +Uplift Scope [keyboard_event_scan] 2,002: zp ZP_BYTE:94 [ keyboard_event_scan::$3 ] 2,002: zp ZP_BYTE:95 [ keyboard_event_scan::$4 ] 2,002: zp ZP_BYTE:96 [ keyboard_event_scan::event_type#0 ] 2,002: zp ZP_BYTE:97 [ keyboard_event_scan::$12 ] 1,787.5: zp ZP_BYTE:10 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] 1,195.02: zp ZP_BYTE:11 [ 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 ] 211.74: zp ZP_BYTE:9 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] 128.06: zp ZP_BYTE:93 [ keyboard_event_scan::row_scan#0 ] 4: zp ZP_BYTE:99 [ keyboard_event_scan::$16 ] 4: zp ZP_BYTE:101 [ keyboard_event_scan::$20 ] 4: zp ZP_BYTE:103 [ keyboard_event_scan::$24 ] 4: zp ZP_BYTE:105 [ keyboard_event_scan::$28 ] +Uplift Scope [] 5,893.39: zp ZP_BYTE:12 [ 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 ] 380.71: zp ZP_WORD:23 [ print_char_cursor#16 print_char_cursor#18 print_char_cursor#60 print_char_cursor#61 print_char_cursor#31 print_char_cursor#1 ] 270.75: zp ZP_WORD:25 [ print_line_cursor#17 print_line_cursor#16 print_set_screen::screen#2 print_line_cursor#18 ] 16.73: zp ZP_BYTE:13 [ keyboard_modifiers#16 keyboard_modifiers#15 keyboard_modifiers#4 keyboard_modifiers#14 keyboard_modifiers#3 keyboard_modifiers#13 keyboard_modifiers#5 ] 14.45: zp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] 6.53: zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +Uplift Scope [gfx_init_plane_8bppchunky] 362.64: zp ZP_BYTE:30 [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] 297.35: zp ZP_WORD:31 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] 202: zp ZP_WORD:124 [ gfx_init_plane_8bppchunky::$6 ] 202: zp ZP_BYTE:126 [ gfx_init_plane_8bppchunky::c#0 ] 181.8: zp ZP_WORD:28 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] 25.96: zp ZP_BYTE:27 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplift Scope [gfx_mode] 353.5: zp ZP_BYTE:7 [ gfx_mode::i#2 gfx_mode::i#1 ] 44: zp ZP_BYTE:4 [ 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 ] 12: zp ZP_BYTE:5 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] 4: zp ZP_BYTE:34 [ gfx_mode::$29 ] 4: zp ZP_BYTE:35 [ gfx_mode::plane_a_offs#0 ] 4: zp ZP_WORD:40 [ gfx_mode::$33 ] 4: zp ZP_BYTE:42 [ gfx_mode::$34 ] 4: zp ZP_WORD:43 [ gfx_mode::$35 ] 4: zp ZP_BYTE:45 [ gfx_mode::$36 ] 4: zp ZP_WORD:46 [ gfx_mode::$37 ] 4: zp ZP_BYTE:48 [ gfx_mode::$38 ] 4: zp ZP_BYTE:49 [ gfx_mode::$39 ] 4: zp ZP_BYTE:50 [ gfx_mode::$40 ] 4: zp ZP_BYTE:51 [ gfx_mode::$41 ] 4: zp ZP_BYTE:52 [ gfx_mode::$42 ] 4: zp ZP_BYTE:53 [ gfx_mode::$43 ] 4: zp ZP_BYTE:54 [ gfx_mode::plane_b_offs#0 ] 4: zp ZP_WORD:59 [ gfx_mode::$46 ] 4: zp ZP_BYTE:61 [ gfx_mode::$47 ] 4: zp ZP_WORD:62 [ gfx_mode::$48 ] 4: zp ZP_BYTE:64 [ gfx_mode::$49 ] 4: zp ZP_WORD:65 [ gfx_mode::$50 ] 4: zp ZP_BYTE:67 [ gfx_mode::$51 ] 4: zp ZP_BYTE:68 [ gfx_mode::$52 ] 4: zp ZP_BYTE:69 [ gfx_mode::$53 ] 4: zp ZP_BYTE:70 [ gfx_mode::$54 ] 4: zp ZP_BYTE:71 [ gfx_mode::$55 ] 4: zp ZP_BYTE:72 [ gfx_mode::$56 ] 4: zp ZP_BYTE:73 [ gfx_mode::$57 ] 4: zp ZP_BYTE:74 [ gfx_mode::$58 ] 4: zp ZP_BYTE:75 [ gfx_mode::$59 ] 4: zp ZP_BYTE:76 [ gfx_mode::$60 ] 4: zp ZP_BYTE:77 [ gfx_mode::$61 ] 4: zp ZP_BYTE:78 [ gfx_mode::$62 ] 4: zp ZP_BYTE:79 [ gfx_mode::$63 ] 2: zp ZP_BYTE:6 [ gfx_mode::vic_control2#2 ] 1.14: zp ZP_DWORD:36 [ gfx_mode::plane_a#0 ] 1.14: zp ZP_DWORD:55 [ gfx_mode::plane_b#0 ] +Uplift Scope [form_mode] 353.5: zp ZP_BYTE:16 [ form_mode::i#2 form_mode::i#1 ] +Uplift Scope [keyboard_matrix_read] 202: zp ZP_BYTE:92 [ keyboard_matrix_read::return#2 ] 103: zp ZP_BYTE:91 [ keyboard_matrix_read::rowid#0 ] 34.33: zp ZP_BYTE:110 [ keyboard_matrix_read::return#0 ] +Uplift Scope [dtvSetCpuBankSegment1] 305: zp ZP_BYTE:33 [ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ] +Uplift Scope [print_str_lines] 199.17: zp ZP_WORD:21 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] 67.33: zp ZP_BYTE:123 [ print_str_lines::ch#0 ] +Uplift Scope [form_set_screen] 23.83: zp ZP_BYTE:20 [ form_set_screen::y#2 form_set_screen::y#1 ] 22: zp ZP_BYTE:121 [ form_set_screen::$0 ] 22: zp ZP_BYTE:122 [ form_set_screen::$1 ] 16.13: zp ZP_WORD:18 [ form_set_screen::line#2 form_set_screen::line#1 ] +Uplift Scope [form_field_ptr] 31.67: zp ZP_BYTE:15 [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] 22: zp ZP_WORD:117 [ form_field_ptr::return#2 ] 6: zp ZP_BYTE:111 [ form_field_ptr::y#0 ] 4: zp ZP_WORD:80 [ form_field_ptr::return#3 ] 4: zp ZP_BYTE:114 [ form_field_ptr::x#0 ] 3.75: zp ZP_WORD:115 [ form_field_ptr::return#0 ] 1: zp ZP_WORD:112 [ form_field_ptr::$2 ] +Uplift Scope [form_render_values] 23.83: zp ZP_BYTE:17 [ form_render_values::idx#2 form_render_values::idx#1 ] 22: zp ZP_WORD:119 [ form_render_values::field#0 ] +Uplift Scope [keyboard_event_pressed] 4: zp ZP_BYTE:98 [ keyboard_event_pressed::return#0 ] 4: zp ZP_BYTE:100 [ keyboard_event_pressed::return#1 ] 4: zp ZP_BYTE:102 [ keyboard_event_pressed::return#2 ] 4: zp ZP_BYTE:104 [ keyboard_event_pressed::return#3 ] 4: zp ZP_BYTE:106 [ keyboard_event_pressed::$0 ] 4: zp ZP_BYTE:108 [ keyboard_event_pressed::$1 ] 2: zp ZP_BYTE:107 [ keyboard_event_pressed::row_bits#0 ] 1.67: zp ZP_BYTE:109 [ keyboard_event_pressed::return#10 ] 1.33: zp ZP_BYTE:14 [ keyboard_event_pressed::keycode#4 ] +Uplift Scope [form_control] 4: zp ZP_BYTE:84 [ form_control::$6 ] 4: zp ZP_BYTE:87 [ form_control::$12 ] 4: zp ZP_BYTE:88 [ form_control::$13 ] 4: zp ZP_BYTE:89 [ form_control::$24 ] 4: zp ZP_BYTE:90 [ form_control::$7 ] 3: zp ZP_BYTE:86 [ form_control::key_event#0 ] 0.59: zp ZP_WORD:82 [ form_control::field#0 ] +Uplift Scope [keyboard_event_get] 5.33: zp ZP_BYTE:8 [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] 4: zp ZP_BYTE:85 [ keyboard_event_get::return#3 ] Uplift Scope [print_ln] Uplift Scope [print_set_screen] +Uplift Scope [keyboard_init] Uplift Scope [main] +Uplift Scope [gfx_init] +Uplift Scope [form_init] -Uplifting [keyboard_event_scan] best 1506949 combination reg byte a [ keyboard_event_scan::$3 ] reg byte a [ keyboard_event_scan::$4 ] reg byte a [ keyboard_event_scan::event_type#0 ] reg byte a [ keyboard_event_scan::$12 ] zp ZP_BYTE:8 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:9 [ 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 ] zp ZP_BYTE:7 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:38 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:44 [ keyboard_event_scan::$16 ] zp ZP_BYTE:46 [ keyboard_event_scan::$20 ] zp ZP_BYTE:48 [ keyboard_event_scan::$24 ] zp ZP_BYTE:50 [ keyboard_event_scan::$28 ] +Uplifting [keyboard_event_scan] best 174665 combination reg byte a [ keyboard_event_scan::$3 ] reg byte a [ keyboard_event_scan::$4 ] reg byte a [ keyboard_event_scan::event_type#0 ] reg byte a [ keyboard_event_scan::$12 ] zp ZP_BYTE:10 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp ZP_BYTE:11 [ 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 ] zp ZP_BYTE:9 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp ZP_BYTE:93 [ keyboard_event_scan::row_scan#0 ] zp ZP_BYTE:99 [ keyboard_event_scan::$16 ] zp ZP_BYTE:101 [ keyboard_event_scan::$20 ] zp ZP_BYTE:103 [ keyboard_event_scan::$24 ] zp ZP_BYTE:105 [ keyboard_event_scan::$28 ] Limited combination testing to 100 combinations of 1048576 possible. -Uplifting [] best 1506949 combination zp ZP_BYTE:10 [ 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_WORD:19 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#64 print_char_cursor#65 print_char_cursor#38 print_char_cursor#1 ] zp ZP_WORD:21 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] 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 ] 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 ] -Uplifting [keyboard_matrix_read] best 1494943 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#0 ] -Uplifting [print_str_lines] best 1482943 combination zp ZP_WORD:17 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] -Uplifting [form_set_screen] best 1480243 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] reg byte a [ form_set_screen::$1 ] zp ZP_WORD:14 [ form_set_screen::line#2 form_set_screen::line#1 ] -Uplifting [form_field_ptr] best 1479922 combination reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp ZP_WORD:62 [ form_field_ptr::return#2 ] zp ZP_WORD:60 [ form_field_ptr::return#0 ] reg byte y [ form_field_ptr::y#0 ] zp ZP_WORD:25 [ form_field_ptr::return#3 ] reg byte a [ form_field_ptr::x#0 ] zp ZP_WORD:57 [ form_field_ptr::$2 ] -Uplifting [print_cls] best 1479922 combination zp ZP_WORD:23 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] zp ZP_WORD:69 [ print_cls::$0 ] -Uplifting [form_render_values] best 1478422 combination reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] zp ZP_WORD:64 [ form_render_values::field#0 ] -Uplifting [menu] best 1477222 combination reg byte x [ menu::i#2 menu::i#1 ] -Uplifting [keyboard_event_pressed] best 1477198 combination reg byte a [ keyboard_event_pressed::return#0 ] reg byte a [ keyboard_event_pressed::return#1 ] reg byte a [ keyboard_event_pressed::return#2 ] reg byte a [ keyboard_event_pressed::return#3 ] zp ZP_BYTE:51 [ keyboard_event_pressed::$0 ] zp ZP_BYTE:53 [ keyboard_event_pressed::$1 ] zp ZP_BYTE:52 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:54 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:11 [ keyboard_event_pressed::keycode#4 ] +Uplifting [] best 174651 combination zp ZP_BYTE:12 [ 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 ] zp ZP_WORD:23 [ print_char_cursor#16 print_char_cursor#18 print_char_cursor#60 print_char_cursor#61 print_char_cursor#31 print_char_cursor#1 ] zp ZP_WORD:25 [ print_line_cursor#17 print_line_cursor#16 print_set_screen::screen#2 print_line_cursor#18 ] reg byte x [ keyboard_modifiers#16 keyboard_modifiers#15 keyboard_modifiers#4 keyboard_modifiers#14 keyboard_modifiers#3 keyboard_modifiers#13 keyboard_modifiers#5 ] zp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +Uplifting [gfx_init_plane_8bppchunky] best 173421 combination reg byte x [ gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::gfxbCpuBank#7 gfx_init_plane_8bppchunky::gfxbCpuBank#8 gfx_init_plane_8bppchunky::gfxbCpuBank#2 ] zp ZP_WORD:31 [ 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:124 [ gfx_init_plane_8bppchunky::$6 ] reg byte a [ gfx_init_plane_8bppchunky::c#0 ] zp ZP_WORD:28 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] zp ZP_BYTE:27 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplifting [form_mode] best 172221 combination reg byte x [ form_mode::i#2 form_mode::i#1 ] +Uplifting [keyboard_matrix_read] best 171015 combination reg byte a [ keyboard_matrix_read::return#2 ] reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#0 ] +Uplifting [dtvSetCpuBankSegment1] best 170906 combination reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ] +Uplifting [print_str_lines] best 169706 combination zp ZP_WORD:21 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] reg byte a [ print_str_lines::ch#0 ] +Uplifting [form_set_screen] best 169436 combination reg byte x [ form_set_screen::y#2 form_set_screen::y#1 ] reg byte a [ form_set_screen::$0 ] reg byte a [ form_set_screen::$1 ] zp ZP_WORD:18 [ form_set_screen::line#2 form_set_screen::line#1 ] +Uplifting [form_field_ptr] best 169385 combination reg byte x [ form_field_ptr::field_idx#2 form_field_ptr::field_idx#1 form_field_ptr::field_idx#0 ] zp ZP_WORD:117 [ form_field_ptr::return#2 ] reg byte y [ form_field_ptr::y#0 ] zp ZP_WORD:80 [ form_field_ptr::return#3 ] reg byte a [ form_field_ptr::x#0 ] zp ZP_WORD:115 [ form_field_ptr::return#0 ] zp ZP_WORD:112 [ form_field_ptr::$2 ] +Uplifting [form_render_values] best 169235 combination reg byte x [ form_render_values::idx#2 form_render_values::idx#1 ] zp ZP_WORD:119 [ form_render_values::field#0 ] +Uplifting [keyboard_event_pressed] best 169211 combination reg byte a [ keyboard_event_pressed::return#0 ] reg byte a [ keyboard_event_pressed::return#1 ] reg byte a [ keyboard_event_pressed::return#2 ] reg byte a [ keyboard_event_pressed::return#3 ] zp ZP_BYTE:106 [ keyboard_event_pressed::$0 ] zp ZP_BYTE:108 [ keyboard_event_pressed::$1 ] zp ZP_BYTE:107 [ keyboard_event_pressed::row_bits#0 ] zp ZP_BYTE:109 [ keyboard_event_pressed::return#10 ] zp ZP_BYTE:14 [ keyboard_event_pressed::keycode#4 ] Limited combination testing to 100 combinations of 196608 possible. -Uplifting [form_control] best 1477178 combination reg byte a [ form_control::$6 ] reg byte a [ form_control::$12 ] reg byte a [ form_control::$13 ] reg byte a [ form_control::$24 ] zp ZP_BYTE:35 [ form_control::$7 ] zp ZP_BYTE:31 [ form_control::key_event#0 ] zp ZP_WORD:27 [ form_control::field#0 ] +Uplifting [form_control] best 169191 combination reg byte a [ form_control::$6 ] reg byte a [ form_control::$12 ] reg byte a [ form_control::$13 ] reg byte a [ form_control::$24 ] zp ZP_BYTE:90 [ form_control::$7 ] zp ZP_BYTE:86 [ form_control::key_event#0 ] zp ZP_WORD:82 [ form_control::field#0 ] Limited combination testing to 100 combinations of 4096 possible. -Uplifting [keyboard_event_get] best 1477163 combination reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] reg byte a [ keyboard_event_get::return#3 ] -Uplifting [print_ln] best 1477163 combination -Uplifting [print_set_screen] best 1477163 combination -Uplifting [main] best 1477163 combination -Attempting to uplift remaining variables inzp ZP_BYTE:10 [ 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 ] -Uplifting [] best 1477163 combination zp ZP_BYTE:10 [ 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 ] -Attempting to uplift remaining variables inzp ZP_BYTE:8 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] -Uplifting [keyboard_event_scan] best 1327163 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:9 [ 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 ] -Uplifting [keyboard_event_scan] best 1327163 combination zp ZP_BYTE:9 [ 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 ] -Attempting to uplift remaining variables inzp ZP_BYTE:7 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Uplifting [keyboard_event_scan] best 1327163 combination zp ZP_BYTE:7 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:38 [ keyboard_event_scan::row_scan#0 ] -Uplifting [keyboard_event_scan] best 1327163 combination zp ZP_BYTE:38 [ keyboard_event_scan::row_scan#0 ] -Attempting to uplift remaining variables inzp 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 ] -Uplifting [] best 1327163 combination 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 ] -Attempting to uplift remaining variables inzp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -Uplifting [] best 1327163 combination zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#13 form_cursor_count#16 form_cursor_count#15 form_cursor_count#5 ] -Attempting to uplift remaining variables inzp ZP_BYTE: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 ] -Uplifting [] best 1327163 combination 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 ] -Attempting to uplift remaining variables inzp ZP_BYTE:35 [ form_control::$7 ] -Uplifting [form_control] best 1327157 combination reg byte a [ form_control::$7 ] -Attempting to uplift remaining variables inzp ZP_BYTE:44 [ keyboard_event_scan::$16 ] -Uplifting [keyboard_event_scan] best 1327153 combination reg byte a [ keyboard_event_scan::$16 ] -Attempting to uplift remaining variables inzp ZP_BYTE:46 [ keyboard_event_scan::$20 ] -Uplifting [keyboard_event_scan] best 1327149 combination reg byte a [ keyboard_event_scan::$20 ] -Attempting to uplift remaining variables inzp ZP_BYTE:48 [ keyboard_event_scan::$24 ] -Uplifting [keyboard_event_scan] best 1327145 combination reg byte a [ keyboard_event_scan::$24 ] -Attempting to uplift remaining variables inzp ZP_BYTE:50 [ keyboard_event_scan::$28 ] -Uplifting [keyboard_event_scan] best 1327141 combination reg byte a [ keyboard_event_scan::$28 ] -Attempting to uplift remaining variables inzp ZP_BYTE:51 [ keyboard_event_pressed::$0 ] -Uplifting [keyboard_event_pressed] best 1327137 combination reg byte a [ keyboard_event_pressed::$0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:53 [ keyboard_event_pressed::$1 ] -Uplifting [keyboard_event_pressed] best 1327133 combination reg byte a [ keyboard_event_pressed::$1 ] -Attempting to uplift remaining variables inzp ZP_BYTE:31 [ form_control::key_event#0 ] -Uplifting [form_control] best 1327124 combination reg byte a [ form_control::key_event#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:52 [ keyboard_event_pressed::row_bits#0 ] -Uplifting [keyboard_event_pressed] best 1327120 combination reg byte y [ keyboard_event_pressed::row_bits#0 ] -Attempting to uplift remaining variables inzp ZP_BYTE:54 [ keyboard_event_pressed::return#10 ] -Uplifting [keyboard_event_pressed] best 1327105 combination reg byte a [ keyboard_event_pressed::return#10 ] -Attempting to uplift remaining variables inzp ZP_BYTE:11 [ keyboard_event_pressed::keycode#4 ] -Uplifting [keyboard_event_pressed] best 1327105 combination zp ZP_BYTE:11 [ keyboard_event_pressed::keycode#4 ] -Coalescing zero page register with common assignment [ zp ZP_WORD:25 [ form_field_ptr::return#3 ] ] with [ zp ZP_WORD:27 [ form_control::field#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:25 [ form_field_ptr::return#3 form_control::field#0 ] ] with [ zp ZP_WORD:60 [ form_field_ptr::return#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:62 [ form_field_ptr::return#2 ] ] with [ zp ZP_WORD:64 [ form_render_values::field#0 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:25 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 ] ] with [ zp ZP_WORD:57 [ form_field_ptr::$2 ] ] - score: 1 -Coalescing zero page register with common assignment [ zp ZP_WORD:25 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 ] ] with [ zp ZP_WORD:62 [ form_field_ptr::return#2 form_render_values::field#0 ] ] - score: 1 -Coalescing zero page register [ 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 ] ] with [ zp ZP_BYTE:7 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] ] -Coalescing zero page register [ zp ZP_BYTE:9 [ 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 ] ] with [ zp ZP_BYTE:11 [ keyboard_event_pressed::keycode#4 ] ] -Coalescing zero page register [ zp ZP_WORD:14 [ form_set_screen::line#2 form_set_screen::line#1 ] ] with [ zp ZP_WORD:17 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] ] -Coalescing zero page register [ zp ZP_WORD:14 [ form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] ] with [ zp ZP_WORD:23 [ print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] ] -Coalescing zero page register [ zp ZP_WORD:14 [ form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#0 print_cls::sc#1 ] ] with [ zp ZP_WORD:25 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#2 form_render_values::field#0 ] ] -Coalescing zero page register [ zp ZP_WORD:19 [ print_char_cursor#20 print_char_cursor#22 print_char_cursor#64 print_char_cursor#65 print_char_cursor#38 print_char_cursor#1 ] ] with [ zp ZP_WORD:69 [ print_cls::$0 ] ] -Allocated (was zp ZP_BYTE:9) 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 ] -Allocated (was zp ZP_BYTE:10) 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 ] -Allocated (was zp ZP_WORD:14) 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 ] -Allocated (was zp ZP_WORD:19) 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 ] -Allocated (was zp ZP_WORD:21) zp ZP_WORD:11 [ print_line_cursor#21 print_line_cursor#2 print_set_screen::screen#2 print_line_cursor#22 ] -Allocated (was zp ZP_BYTE:38) zp ZP_BYTE:13 [ keyboard_event_scan::row_scan#0 ] +Uplifting [keyboard_event_get] best 169176 combination reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#0 ] reg byte a [ keyboard_event_get::return#3 ] +Uplifting [print_ln] best 169176 combination +Uplifting [print_set_screen] best 169176 combination +Uplifting [keyboard_init] best 169176 combination +Uplifting [main] best 169176 combination +Uplifting [gfx_init] best 169176 combination +Uplifting [form_init] best 169176 combination +Attempting to uplift remaining variables inzp ZP_BYTE:12 [ 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 ] +Uplifting [] best 169176 combination zp ZP_BYTE:12 [ 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 ] +Attempting to uplift remaining variables inzp ZP_BYTE:10 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] +Uplifting [keyboard_event_scan] best 154176 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:11 [ 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 ] +Uplifting [keyboard_event_scan] best 154176 combination zp ZP_BYTE:11 [ 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 ] +Attempting to uplift remaining variables inzp ZP_BYTE:7 [ gfx_mode::i#2 gfx_mode::i#1 ] +Uplifting [gfx_mode] best 152976 combination reg byte x [ gfx_mode::i#2 gfx_mode::i#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:9 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] +Uplifting [keyboard_event_scan] best 152976 combination zp ZP_BYTE:9 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:93 [ keyboard_event_scan::row_scan#0 ] +Uplifting [keyboard_event_scan] best 152976 combination zp ZP_BYTE:93 [ keyboard_event_scan::row_scan#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:4 [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] +Uplifting [gfx_mode] best 152957 combination reg byte x [ gfx_mode::dtv_control#12 gfx_mode::dtv_control#6 gfx_mode::dtv_control#13 gfx_mode::dtv_control#5 gfx_mode::dtv_control#11 gfx_mode::dtv_control#4 gfx_mode::dtv_control#10 gfx_mode::dtv_control#3 gfx_mode::dtv_control#15 gfx_mode::dtv_control#14 gfx_mode::dtv_control#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:27 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Uplifting [gfx_init_plane_8bppchunky] best 152957 combination zp ZP_BYTE:27 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] +Uplifting [] best 152957 combination zp ZP_BYTE:3 [ form_field_idx#1 form_field_idx#14 form_field_idx#24 form_field_idx#34 form_field_idx#3 ] +Attempting to uplift remaining variables inzp ZP_BYTE:5 [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +Uplifting [gfx_mode] best 152946 combination reg byte x [ gfx_mode::vic_control#4 gfx_mode::vic_control#2 gfx_mode::vic_control#5 ] +Attempting to uplift remaining variables inzp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +Uplifting [] best 152946 combination zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] +Attempting to uplift remaining variables inzp ZP_BYTE:34 [ gfx_mode::$29 ] +Uplifting [gfx_mode] best 152940 combination reg byte a [ gfx_mode::$29 ] +Attempting to uplift remaining variables inzp ZP_BYTE:35 [ gfx_mode::plane_a_offs#0 ] +Uplifting [gfx_mode] best 152934 combination reg byte a [ gfx_mode::plane_a_offs#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:42 [ gfx_mode::$34 ] +Uplifting [gfx_mode] best 152928 combination reg byte a [ gfx_mode::$34 ] +Attempting to uplift remaining variables inzp ZP_BYTE:45 [ gfx_mode::$36 ] +Uplifting [gfx_mode] best 152922 combination reg byte a [ gfx_mode::$36 ] +Attempting to uplift remaining variables inzp ZP_BYTE:48 [ gfx_mode::$38 ] +Uplifting [gfx_mode] best 152916 combination reg byte a [ gfx_mode::$38 ] +Attempting to uplift remaining variables inzp ZP_BYTE:49 [ gfx_mode::$39 ] +Uplifting [gfx_mode] best 152910 combination reg byte a [ gfx_mode::$39 ] +Attempting to uplift remaining variables inzp ZP_BYTE:50 [ gfx_mode::$40 ] +Uplifting [gfx_mode] best 152904 combination reg byte a [ gfx_mode::$40 ] +Attempting to uplift remaining variables inzp ZP_BYTE:51 [ gfx_mode::$41 ] +Uplifting [gfx_mode] best 152898 combination reg byte a [ gfx_mode::$41 ] +Attempting to uplift remaining variables inzp ZP_BYTE:52 [ gfx_mode::$42 ] +Uplifting [gfx_mode] best 152892 combination reg byte a [ gfx_mode::$42 ] +Attempting to uplift remaining variables inzp ZP_BYTE:53 [ gfx_mode::$43 ] +Uplifting [gfx_mode] best 152886 combination reg byte a [ gfx_mode::$43 ] +Attempting to uplift remaining variables inzp ZP_BYTE:54 [ gfx_mode::plane_b_offs#0 ] +Uplifting [gfx_mode] best 152880 combination reg byte a [ gfx_mode::plane_b_offs#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:61 [ gfx_mode::$47 ] +Uplifting [gfx_mode] best 152874 combination reg byte a [ gfx_mode::$47 ] +Attempting to uplift remaining variables inzp ZP_BYTE:64 [ gfx_mode::$49 ] +Uplifting [gfx_mode] best 152868 combination reg byte a [ gfx_mode::$49 ] +Attempting to uplift remaining variables inzp ZP_BYTE:67 [ gfx_mode::$51 ] +Uplifting [gfx_mode] best 152862 combination reg byte a [ gfx_mode::$51 ] +Attempting to uplift remaining variables inzp ZP_BYTE:68 [ gfx_mode::$52 ] +Uplifting [gfx_mode] best 152856 combination reg byte a [ gfx_mode::$52 ] +Attempting to uplift remaining variables inzp ZP_BYTE:69 [ gfx_mode::$53 ] +Uplifting [gfx_mode] best 152850 combination reg byte a [ gfx_mode::$53 ] +Attempting to uplift remaining variables inzp ZP_BYTE:70 [ gfx_mode::$54 ] +Uplifting [gfx_mode] best 152844 combination reg byte a [ gfx_mode::$54 ] +Attempting to uplift remaining variables inzp ZP_BYTE:71 [ gfx_mode::$55 ] +Uplifting [gfx_mode] best 152838 combination reg byte a [ gfx_mode::$55 ] +Attempting to uplift remaining variables inzp ZP_BYTE:72 [ gfx_mode::$56 ] +Uplifting [gfx_mode] best 152832 combination reg byte a [ gfx_mode::$56 ] +Attempting to uplift remaining variables inzp ZP_BYTE:73 [ gfx_mode::$57 ] +Uplifting [gfx_mode] best 152826 combination reg byte a [ gfx_mode::$57 ] +Attempting to uplift remaining variables inzp ZP_BYTE:74 [ gfx_mode::$58 ] +Uplifting [gfx_mode] best 152820 combination reg byte a [ gfx_mode::$58 ] +Attempting to uplift remaining variables inzp ZP_BYTE:75 [ gfx_mode::$59 ] +Uplifting [gfx_mode] best 152814 combination reg byte a [ gfx_mode::$59 ] +Attempting to uplift remaining variables inzp ZP_BYTE:76 [ gfx_mode::$60 ] +Uplifting [gfx_mode] best 152808 combination reg byte a [ gfx_mode::$60 ] +Attempting to uplift remaining variables inzp ZP_BYTE:77 [ gfx_mode::$61 ] +Uplifting [gfx_mode] best 152802 combination reg byte a [ gfx_mode::$61 ] +Attempting to uplift remaining variables inzp ZP_BYTE:78 [ gfx_mode::$62 ] +Uplifting [gfx_mode] best 152796 combination reg byte a [ gfx_mode::$62 ] +Attempting to uplift remaining variables inzp ZP_BYTE:79 [ gfx_mode::$63 ] +Uplifting [gfx_mode] best 152790 combination reg byte a [ gfx_mode::$63 ] +Attempting to uplift remaining variables inzp ZP_BYTE:90 [ form_control::$7 ] +Uplifting [form_control] best 152784 combination reg byte a [ form_control::$7 ] +Attempting to uplift remaining variables inzp ZP_BYTE:99 [ keyboard_event_scan::$16 ] +Uplifting [keyboard_event_scan] best 152780 combination reg byte a [ keyboard_event_scan::$16 ] +Attempting to uplift remaining variables inzp ZP_BYTE:101 [ keyboard_event_scan::$20 ] +Uplifting [keyboard_event_scan] best 152776 combination reg byte a [ keyboard_event_scan::$20 ] +Attempting to uplift remaining variables inzp ZP_BYTE:103 [ keyboard_event_scan::$24 ] +Uplifting [keyboard_event_scan] best 152772 combination reg byte a [ keyboard_event_scan::$24 ] +Attempting to uplift remaining variables inzp ZP_BYTE:105 [ keyboard_event_scan::$28 ] +Uplifting [keyboard_event_scan] best 152768 combination reg byte a [ keyboard_event_scan::$28 ] +Attempting to uplift remaining variables inzp ZP_BYTE:106 [ keyboard_event_pressed::$0 ] +Uplifting [keyboard_event_pressed] best 152764 combination reg byte a [ keyboard_event_pressed::$0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:108 [ keyboard_event_pressed::$1 ] +Uplifting [keyboard_event_pressed] best 152760 combination reg byte a [ keyboard_event_pressed::$1 ] +Attempting to uplift remaining variables inzp ZP_BYTE:86 [ form_control::key_event#0 ] +Uplifting [form_control] best 152751 combination reg byte a [ form_control::key_event#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:6 [ gfx_mode::vic_control2#2 ] +Uplifting [gfx_mode] best 152742 combination reg byte a [ gfx_mode::vic_control2#2 ] +Attempting to uplift remaining variables inzp ZP_BYTE:107 [ keyboard_event_pressed::row_bits#0 ] +Uplifting [keyboard_event_pressed] best 152742 combination zp ZP_BYTE:107 [ keyboard_event_pressed::row_bits#0 ] +Attempting to uplift remaining variables inzp ZP_BYTE:109 [ keyboard_event_pressed::return#10 ] +Uplifting [keyboard_event_pressed] best 152727 combination reg byte a [ keyboard_event_pressed::return#10 ] +Attempting to uplift remaining variables inzp ZP_BYTE:14 [ keyboard_event_pressed::keycode#4 ] +Uplifting [keyboard_event_pressed] best 152727 combination zp ZP_BYTE:14 [ keyboard_event_pressed::keycode#4 ] +Coalescing zero page register with common assignment [ zp ZP_WORD:80 [ form_field_ptr::return#3 ] ] with [ zp ZP_WORD:82 [ form_control::field#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:80 [ form_field_ptr::return#3 form_control::field#0 ] ] with [ zp ZP_WORD:115 [ form_field_ptr::return#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:117 [ form_field_ptr::return#2 ] ] with [ zp ZP_WORD:119 [ form_render_values::field#0 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:80 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 ] ] with [ zp ZP_WORD:112 [ form_field_ptr::$2 ] ] - score: 1 +Coalescing zero page register with common assignment [ zp ZP_WORD:80 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 ] ] with [ zp ZP_WORD:117 [ form_field_ptr::return#2 form_render_values::field#0 ] ] - score: 1 +Coalescing zero page register [ zp ZP_BYTE:2 [ form_cursor_count#1 form_cursor_count#12 form_cursor_count#11 form_cursor_count#3 ] ] with [ zp ZP_BYTE:27 [ gfx_init_plane_8bppchunky::y#6 gfx_init_plane_8bppchunky::y#1 ] ] +Coalescing zero page register [ zp ZP_BYTE:9 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] ] with [ zp ZP_BYTE:14 [ keyboard_event_pressed::keycode#4 ] ] +Coalescing zero page register [ zp ZP_BYTE:11 [ 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 ] ] with [ zp ZP_BYTE:107 [ keyboard_event_pressed::row_bits#0 ] ] +Coalescing zero page register [ zp ZP_WORD:18 [ form_set_screen::line#2 form_set_screen::line#1 ] ] with [ zp ZP_WORD:21 [ print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] ] +Coalescing zero page register [ zp ZP_WORD:18 [ form_set_screen::line#2 form_set_screen::line#1 print_str_lines::str#4 print_str_lines::str#3 print_str_lines::str#5 print_str_lines::str#0 ] ] with [ zp ZP_WORD:28 [ gfx_init_plane_8bppchunky::x#2 gfx_init_plane_8bppchunky::x#1 ] ] +Coalescing zero page register [ zp ZP_WORD:18 [ 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 ] ] with [ zp ZP_WORD:40 [ gfx_mode::$33 ] ] +Coalescing zero page register [ zp ZP_WORD:18 [ 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 ] ] with [ zp ZP_WORD:43 [ gfx_mode::$35 ] ] +Coalescing zero page register [ zp ZP_WORD:18 [ 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 ] ] with [ zp ZP_WORD:46 [ gfx_mode::$37 ] ] +Coalescing zero page register [ zp ZP_WORD:18 [ 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 ] ] with [ zp ZP_WORD:59 [ gfx_mode::$46 ] ] +Coalescing zero page register [ zp ZP_WORD:18 [ 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 ] ] with [ zp ZP_WORD:62 [ gfx_mode::$48 ] ] +Coalescing zero page register [ zp ZP_WORD:18 [ 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 ] ] with [ zp ZP_WORD:65 [ gfx_mode::$50 ] ] +Coalescing zero page register [ zp ZP_WORD:18 [ 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 ] ] with [ zp ZP_WORD:80 [ form_field_ptr::return#3 form_control::field#0 form_field_ptr::return#0 form_field_ptr::$2 form_field_ptr::return#2 form_render_values::field#0 ] ] +Coalescing zero page register [ zp ZP_WORD:23 [ print_char_cursor#16 print_char_cursor#18 print_char_cursor#60 print_char_cursor#61 print_char_cursor#31 print_char_cursor#1 ] ] with [ zp ZP_WORD:31 [ gfx_init_plane_8bppchunky::gfxb#4 gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::gfxb#5 gfx_init_plane_8bppchunky::gfxb#1 ] ] +Coalescing zero page register [ zp ZP_WORD:25 [ print_line_cursor#17 print_line_cursor#16 print_set_screen::screen#2 print_line_cursor#18 ] ] with [ zp ZP_WORD:124 [ gfx_init_plane_8bppchunky::$6 ] ] +Coalescing zero page register [ zp ZP_DWORD:36 [ gfx_mode::plane_a#0 ] ] with [ zp ZP_DWORD:55 [ gfx_mode::plane_b#0 ] ] +Allocated (was zp ZP_BYTE:9) zp ZP_BYTE:4 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 keyboard_event_pressed::keycode#4 ] +Allocated (was zp ZP_BYTE:11) 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 ] +Allocated (was zp ZP_BYTE:12) 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 ] +Allocated (was zp ZP_WORD:18) 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 ] +Allocated (was zp ZP_WORD:23) 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 ] +Allocated (was zp ZP_WORD:25) 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 ] +Allocated (was zp ZP_DWORD:36) zp ZP_DWORD:13 [ gfx_mode::plane_a#0 gfx_mode::plane_b#0 ] +Allocated (was zp ZP_BYTE:93) zp ZP_BYTE:17 [ keyboard_event_scan::row_scan#0 ] ASSEMBLER BEFORE OPTIMIZATION //SEG0 Basic Upstart @@ -9685,21 +12850,48 @@ ASSEMBLER BEFORE OPTIMIZATION .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 @@ -9714,26 +12906,58 @@ ASSEMBLER BEFORE OPTIMIZATION .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 //SEG2 @begin bbegin: -//SEG3 [1] phi from @begin to @28 [phi:@begin->@28] -b28_from_bbegin: - jmp b28 -//SEG4 @28 -b28: +//SEG3 [1] phi from @begin to @32 [phi:@begin->@32] +b32_from_bbegin: + jmp b32 +//SEG4 @32 +b32: //SEG5 [2] call main param-assignment [ ] ( ) jsr main -//SEG6 [3] phi from @28 to @end [phi:@28->@end] -bend_from_b28: +//SEG6 [3] phi from @32 to @end [phi:@32->@end] +bend_from_b32: jmp bend //SEG7 @end bend: @@ -9744,251 +12968,513 @@ main: { //SEG10 [5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 lda #DTV_FEATURE_ENABLE sta DTV_FEATURE - //SEG11 [6] phi from main to main::@1 [phi:main->main::@1] - b1_from_main: - //SEG12 [6] phi (byte) form_field_idx#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 + //SEG11 [6] call keyboard_init param-assignment [ ] ( main:2 [ ] ) + jsr keyboard_init + //SEG12 [7] phi from main to main::@19 [phi:main->main::@19] + b19_from_main: + jmp b19 + //SEG13 main::@19 + b19: + //SEG14 [8] call gfx_init param-assignment [ ] ( main:2 [ ] ) + //SEG15 [296] phi from main::@19 to gfx_init [phi:main::@19->gfx_init] + gfx_init_from_b19: + jsr gfx_init + //SEG16 [9] phi from main::@19 to main::@20 [phi:main::@19->main::@20] + b20_from_b19: + jmp b20 + //SEG17 main::@20 + b20: + //SEG18 [10] call form_init param-assignment [ ] ( main:2 [ ] ) + //SEG19 [240] phi from main::@20 to form_init [phi:main::@20->form_init] + form_init_from_b20: + jsr form_init + //SEG20 [11] phi from main::@20 to main::@1 [phi:main::@20->main::@1] + b1_from_b20: + //SEG21 [11] phi (byte) form_field_idx#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@20->main::@1#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx - //SEG13 [6] phi (byte) keyboard_modifiers#20 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 - lda #0 - sta keyboard_modifiers - //SEG14 [6] phi (byte) keyboard_events_size#22 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#2] -- vbuz1=vbuc1 + //SEG22 [11] phi (byte) keyboard_events_size#20 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@20->main::@1#1] -- vbuz1=vbuc1 lda #0 sta keyboard_events_size - //SEG15 [6] phi (signed byte) form_cursor_count#1 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:main->main::@1#3] -- vbsz1=vbuc1 + //SEG23 [11] phi (signed byte) form_cursor_count#1 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:main::@20->main::@1#2] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count jmp b1 - //SEG16 main::@1 + //SEG24 main::@1 b1: - //SEG17 [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 ] ) -- true_then_la1 - jmp b2_from_b1 + //SEG25 [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 ] ) -- true_then_la1 + jmp b4 jmp breturn - //SEG18 main::@return + //SEG26 main::@return breturn: - //SEG19 [8] return [ ] ( main:2 [ ] ) + //SEG27 [13] return [ ] ( main:2 [ ] ) rts - //SEG20 [9] phi from main::@1 to main::@2 [phi:main::@1->main::@2] - b2_from_b1: - jmp b2 - //SEG21 main::@2 - b2: - //SEG22 [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 ] ) - jsr menu - //SEG23 [6] phi from main::@2 to main::@1 [phi:main::@2->main::@1] - b1_from_b2: - //SEG24 [6] phi (byte) form_field_idx#1 = (byte) form_field_idx#14 [phi:main::@2->main::@1#0] -- register_copy - //SEG25 [6] phi (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#10 [phi:main::@2->main::@1#1] -- register_copy - //SEG26 [6] phi (byte) keyboard_events_size#22 = (byte) keyboard_events_size#24 [phi:main::@2->main::@1#2] -- register_copy - //SEG27 [6] phi (signed byte) form_cursor_count#1 = (signed byte) form_cursor_count#13 [phi:main::@2->main::@1#3] -- register_copy - jmp b1 -} -//SEG28 menu -menu: { - .label SCREEN = $8000 - .label CHARSET = $9800 - //SEG29 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #($ffffffff&CHARSET)/$10000 - sta DTV_GRAPHICS_VIC_BANK - //SEG30 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #DTV_COLOR_BANK_DEFAULT/$400 - sta DTV_COLOR_BANK_LO - //SEG31 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta DTV_COLOR_BANK_HI - //SEG32 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta DTV_CONTROL - //SEG33 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #3 - sta CIA2_PORT_A_DDR - //SEG34 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #3^CHARSET/$4000 - sta CIA2_PORT_A - //SEG35 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #VIC_DEN|VIC_RSEL|3 - sta VIC_CONTROL - //SEG36 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #VIC_CSEL - sta VIC_CONTROL2 - //SEG37 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #(SCREEN&$3fff)/$40|(CHARSET&$3fff)/$400 - sta VIC_MEMORY - //SEG38 [20] phi from menu to menu::@1 [phi:menu->menu::@1] - b1_from_menu: - //SEG39 [20] phi (byte) menu::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:menu->menu::@1#0] -- vbuxx=vbuc1 - ldx #0 - jmp b1 - //SEG40 [20] phi from menu::@1 to menu::@1 [phi:menu::@1->menu::@1] - b1_from_b1: - //SEG41 [20] phi (byte) menu::i#2 = (byte) menu::i#1 [phi:menu::@1->menu::@1#0] -- register_copy - jmp b1 - //SEG42 menu::@1 - b1: - //SEG43 [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 ] ) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx - lda DTV_PALETTE_DEFAULT,x - sta DTV_PALETTE,x - //SEG44 [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 ] ) -- vbuxx=_inc_vbuxx - inx - //SEG45 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 - cpx #$10 - bne b1_from_b1 - jmp b8 - //SEG46 menu::@8 - b8: - //SEG47 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta BGCOL - //SEG48 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta BORDERCOL - //SEG49 [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 ] ) - //SEG50 [212] phi from menu::@8 to print_set_screen [phi:menu::@8->print_set_screen] - print_set_screen_from_b8: - //SEG51 [212] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:menu::@8->print_set_screen#0] -- pbuz1=pbuc1 - lda #COLS - sta print_set_screen.screen+1 - jsr print_set_screen - //SEG52 [27] phi from menu::@8 to menu::@15 [phi:menu::@8->menu::@15] - b15_from_b8: - jmp b15 - //SEG53 menu::@15 - b15: - //SEG54 [28] call print_cls param-assignment [ form_cursor_count#1 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 ] ) - jsr print_cls - //SEG55 [29] phi from menu::@15 to menu::@16 [phi:menu::@15->menu::@16] - b16_from_b15: - jmp b16 - //SEG56 menu::@16 - b16: - //SEG57 [30] call print_str_lines param-assignment [ form_cursor_count#1 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 ] ) - //SEG58 [184] phi from menu::@16 to print_str_lines [phi:menu::@16->print_str_lines] - print_str_lines_from_b16: - //SEG59 [184] phi (byte*) print_str_lines::str#5 = (const string) MENU_COLS#0 [phi:menu::@16->print_str_lines#0] -- pbuz1=pbuc1 - lda #MENU_COLS - sta print_str_lines.str+1 - jsr print_str_lines - //SEG60 [31] phi from menu::@16 to menu::@17 [phi:menu::@16->menu::@17] - b17_from_b16: - jmp b17 - //SEG61 menu::@17 - b17: - //SEG62 [32] call print_set_screen param-assignment [ form_cursor_count#1 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 ] ) - //SEG63 [212] phi from menu::@17 to print_set_screen [phi:menu::@17->print_set_screen] - print_set_screen_from_b17: - //SEG64 [212] phi (byte*) print_set_screen::screen#2 = (const byte*) menu::SCREEN#0 [phi:menu::@17->print_set_screen#0] -- pbuz1=pbuc1 - lda #SCREEN - sta print_set_screen.screen+1 - jsr print_set_screen - //SEG65 [33] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] - b18_from_b17: - jmp b18 - //SEG66 menu::@18 - b18: - //SEG67 [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 ] ) - jsr print_cls - //SEG68 [35] phi from menu::@18 to menu::@19 [phi:menu::@18->menu::@19] - b19_from_b18: - jmp b19 - //SEG69 menu::@19 - b19: - //SEG70 [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 ] ) - //SEG71 [184] phi from menu::@19 to print_str_lines [phi:menu::@19->print_str_lines] - print_str_lines_from_b19: - //SEG72 [184] phi (byte*) print_str_lines::str#5 = (const string) MENU_TEXT#0 [phi:menu::@19->print_str_lines#0] -- pbuz1=pbuc1 - lda #MENU_TEXT - sta print_str_lines.str+1 - jsr print_str_lines - //SEG73 [37] phi from menu::@19 to menu::@20 [phi:menu::@19->menu::@20] - b20_from_b19: - jmp b20 - //SEG74 menu::@20 - b20: - //SEG75 [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 ] ) - //SEG76 [174] phi from menu::@20 to form_set_screen [phi:menu::@20->form_set_screen] - form_set_screen_from_b20: - jsr form_set_screen - //SEG77 [39] phi from menu::@20 to menu::@21 [phi:menu::@20->menu::@21] - b21_from_b20: - jmp b21 - //SEG78 menu::@21 - b21: - //SEG79 [40] call form_render_values param-assignment [ form_cursor_count#1 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 ] ) - //SEG80 [164] phi from menu::@21 to form_render_values [phi:menu::@21->form_render_values] - form_render_values_from_b21: - jsr form_render_values - //SEG81 [41] phi from menu::@21 menu::@7 to menu::@2 [phi:menu::@21/menu::@7->menu::@2] - b2_from_b21: - b2_from_b7: - //SEG82 [41] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:menu::@21/menu::@7->menu::@2#0] -- register_copy - //SEG83 [41] phi (byte) keyboard_modifiers#10 = (byte) keyboard_modifiers#20 [phi:menu::@21/menu::@7->menu::@2#1] -- register_copy - //SEG84 [41] phi (byte) keyboard_events_size#24 = (byte) keyboard_events_size#22 [phi:menu::@21/menu::@7->menu::@2#2] -- register_copy - //SEG85 [41] phi (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#1 [phi:menu::@21/menu::@7->menu::@2#3] -- register_copy - jmp b2 - //SEG86 menu::@2 - b2: - //SEG87 [42] if(true) goto menu::@5 [ form_cursor_count#13 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 ] ) -- true_then_la1 - jmp b5 - jmp breturn - //SEG88 menu::@return - breturn: - //SEG89 [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 ] ) - rts - //SEG90 menu::@5 - b5: - //SEG91 [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 + //SEG28 main::@4 + b4: + //SEG29 [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 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 + lda RASTER + cmp #$30+8*$10 + bne b4 + //SEG30 [15] phi from main::@4 to main::@6 [phi:main::@4->main::@6] + b6_from_b4: + jmp b6 + //SEG31 main::@6 + b6: + //SEG32 [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 ] ) + jsr form_mode + jmp b7 + //SEG33 main::@7 + b7: + //SEG34 [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 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 lda RASTER cmp #$ff - bne b5 - //SEG92 [45] phi from menu::@5 to menu::@7 [phi:menu::@5->menu::@7] - b7_from_b5: - jmp b7 - //SEG93 menu::@7 - b7: - //SEG94 [46] call form_control param-assignment [ form_cursor_count#16 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 ] ) + bne b7 + //SEG35 [18] phi from main::@7 to main::@9 [phi:main::@7->main::@9] + b9_from_b7: + jmp b9 + //SEG36 main::@9 + b9: + //SEG37 [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 ] ) jsr form_control - jmp b2_from_b7 + //SEG38 [20] phi from main::@9 to main::@23 [phi:main::@9->main::@23] + b23_from_b9: + jmp b23 + //SEG39 main::@23 + b23: + //SEG40 [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 ] ) + jsr gfx_mode + //SEG41 [11] phi from main::@23 to main::@1 [phi:main::@23->main::@1] + b1_from_b23: + //SEG42 [11] phi (byte) form_field_idx#1 = (byte) form_field_idx#14 [phi:main::@23->main::@1#0] -- register_copy + //SEG43 [11] phi (byte) keyboard_events_size#20 = (byte) keyboard_events_size#18 [phi:main::@23->main::@1#1] -- register_copy + //SEG44 [11] phi (signed byte) form_cursor_count#1 = (signed byte) form_cursor_count#12 [phi:main::@23->main::@1#2] -- register_copy + jmp b1 } -//SEG95 form_control +//SEG45 gfx_mode +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 + //SEG46 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_line + cmp #0 + beq b1_from_gfx_mode + //SEG47 [23] phi from gfx_mode to gfx_mode::@11 [phi:gfx_mode->gfx_mode::@11] + b11_from_gfx_mode: + jmp b11 + //SEG48 gfx_mode::@11 + b11: + //SEG49 [24] phi from gfx_mode::@11 to gfx_mode::@1 [phi:gfx_mode::@11->gfx_mode::@1] + b1_from_b11: + //SEG50 [24] phi (byte) gfx_mode::dtv_control#14 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) DTV_LINEAR#0 [phi:gfx_mode::@11->gfx_mode::@1#0] -- vbuxx=vbuc1 + ldx #0|DTV_LINEAR + jmp b1 + //SEG51 [24] phi from gfx_mode to gfx_mode::@1 [phi:gfx_mode->gfx_mode::@1] + b1_from_gfx_mode: + //SEG52 [24] phi (byte) gfx_mode::dtv_control#14 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_mode->gfx_mode::@1#0] -- vbuxx=vbuc1 + ldx #0 + jmp b1 + //SEG53 gfx_mode::@1 + b1: + //SEG54 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_borof + cmp #0 + beq b2_from_b1 + jmp b12 + //SEG55 gfx_mode::@12 + b12: + //SEG56 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_BORDER_OFF + tax + //SEG57 [27] phi from gfx_mode::@1 gfx_mode::@12 to gfx_mode::@2 [phi:gfx_mode::@1/gfx_mode::@12->gfx_mode::@2] + b2_from_b1: + b2_from_b12: + //SEG58 [27] phi (byte) gfx_mode::dtv_control#15 = (byte) gfx_mode::dtv_control#14 [phi:gfx_mode::@1/gfx_mode::@12->gfx_mode::@2#0] -- register_copy + jmp b2 + //SEG59 gfx_mode::@2 + b2: + //SEG60 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_hicol + cmp #0 + beq b3_from_b2 + jmp b13 + //SEG61 gfx_mode::@13 + b13: + //SEG62 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_HIGHCOLOR + tax + //SEG63 [30] phi from gfx_mode::@13 gfx_mode::@2 to gfx_mode::@3 [phi:gfx_mode::@13/gfx_mode::@2->gfx_mode::@3] + b3_from_b13: + b3_from_b2: + //SEG64 [30] phi (byte) gfx_mode::dtv_control#10 = (byte) gfx_mode::dtv_control#3 [phi:gfx_mode::@13/gfx_mode::@2->gfx_mode::@3#0] -- register_copy + jmp b3 + //SEG65 gfx_mode::@3 + b3: + //SEG66 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_overs + cmp #0 + beq b4_from_b3 + jmp b14 + //SEG67 gfx_mode::@14 + b14: + //SEG68 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_OVERSCAN + tax + //SEG69 [33] phi from gfx_mode::@14 gfx_mode::@3 to gfx_mode::@4 [phi:gfx_mode::@14/gfx_mode::@3->gfx_mode::@4] + b4_from_b14: + b4_from_b3: + //SEG70 [33] phi (byte) gfx_mode::dtv_control#11 = (byte) gfx_mode::dtv_control#4 [phi:gfx_mode::@14/gfx_mode::@3->gfx_mode::@4#0] -- register_copy + jmp b4 + //SEG71 gfx_mode::@4 + b4: + //SEG72 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_colof + cmp #0 + beq b5_from_b4 + jmp b15 + //SEG73 gfx_mode::@15 + b15: + //SEG74 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_COLORRAM_OFF + tax + //SEG75 [36] phi from gfx_mode::@15 gfx_mode::@4 to gfx_mode::@5 [phi:gfx_mode::@15/gfx_mode::@4->gfx_mode::@5] + b5_from_b15: + b5_from_b4: + //SEG76 [36] phi (byte) gfx_mode::dtv_control#13 = (byte) gfx_mode::dtv_control#5 [phi:gfx_mode::@15/gfx_mode::@4->gfx_mode::@5#0] -- register_copy + jmp b5 + //SEG77 gfx_mode::@5 + b5: + //SEG78 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_chunk + cmp #0 + beq b6_from_b5 + jmp b16 + //SEG79 gfx_mode::@16 + b16: + //SEG80 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_CHUNKY + tax + //SEG81 [39] phi from gfx_mode::@16 gfx_mode::@5 to gfx_mode::@6 [phi:gfx_mode::@16/gfx_mode::@5->gfx_mode::@6] + b6_from_b16: + b6_from_b5: + //SEG82 [39] phi (byte) gfx_mode::dtv_control#12 = (byte) gfx_mode::dtv_control#6 [phi:gfx_mode::@16/gfx_mode::@5->gfx_mode::@6#0] -- register_copy + jmp b6 + //SEG83 gfx_mode::@6 + b6: + //SEG84 [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 ] ) -- _deref_pbuc1=vbuxx + stx DTV_CONTROL + //SEG85 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_ecm + cmp #0 + beq b7_from_b6 + //SEG86 [42] phi from gfx_mode::@6 to gfx_mode::@17 [phi:gfx_mode::@6->gfx_mode::@17] + b17_from_b6: + jmp b17 + //SEG87 gfx_mode::@17 + b17: + //SEG88 [43] phi from gfx_mode::@17 to gfx_mode::@7 [phi:gfx_mode::@17->gfx_mode::@7] + b7_from_b17: + //SEG89 [43] phi (byte) gfx_mode::vic_control#5 = (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 [phi:gfx_mode::@17->gfx_mode::@7#0] -- vbuxx=vbuc1 + ldx #VIC_DEN|VIC_RSEL|3|VIC_ECM + jmp b7 + //SEG90 [43] phi from gfx_mode::@6 to gfx_mode::@7 [phi:gfx_mode::@6->gfx_mode::@7] + b7_from_b6: + //SEG91 [43] phi (byte) gfx_mode::vic_control#5 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [phi:gfx_mode::@6->gfx_mode::@7#0] -- vbuxx=vbuc1 + ldx #VIC_DEN|VIC_RSEL|3 + jmp b7 + //SEG92 gfx_mode::@7 + b7: + //SEG93 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_bmm + cmp #0 + beq b8_from_b7 + jmp b18 + //SEG94 gfx_mode::@18 + b18: + //SEG95 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #VIC_BMM + tax + //SEG96 [46] phi from gfx_mode::@18 gfx_mode::@7 to gfx_mode::@8 [phi:gfx_mode::@18/gfx_mode::@7->gfx_mode::@8] + b8_from_b18: + b8_from_b7: + //SEG97 [46] phi (byte) gfx_mode::vic_control#4 = (byte) gfx_mode::vic_control#2 [phi:gfx_mode::@18/gfx_mode::@7->gfx_mode::@8#0] -- register_copy + jmp b8 + //SEG98 gfx_mode::@8 + b8: + //SEG99 [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 ] ) -- _deref_pbuc1=vbuxx + stx VIC_CONTROL + //SEG100 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_mcm + cmp #0 + beq b9_from_b8 + //SEG101 [49] phi from gfx_mode::@8 to gfx_mode::@19 [phi:gfx_mode::@8->gfx_mode::@19] + b19_from_b8: + jmp b19 + //SEG102 gfx_mode::@19 + b19: + //SEG103 [50] phi from gfx_mode::@19 to gfx_mode::@9 [phi:gfx_mode::@19->gfx_mode::@9] + b9_from_b19: + //SEG104 [50] phi (byte) gfx_mode::vic_control2#2 = (const byte) VIC_CSEL#0|(const byte) VIC_MCM#0 [phi:gfx_mode::@19->gfx_mode::@9#0] -- vbuaa=vbuc1 + lda #VIC_CSEL|VIC_MCM + jmp b9 + //SEG105 [50] phi from gfx_mode::@8 to gfx_mode::@9 [phi:gfx_mode::@8->gfx_mode::@9] + b9_from_b8: + //SEG106 [50] phi (byte) gfx_mode::vic_control2#2 = (const byte) VIC_CSEL#0 [phi:gfx_mode::@8->gfx_mode::@9#0] -- vbuaa=vbuc1 + lda #VIC_CSEL + jmp b9 + //SEG107 gfx_mode::@9 + b9: + //SEG108 [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 ] ) -- _deref_pbuc1=vbuaa + sta VIC_CONTROL2 + //SEG109 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_a_start_hi + asl + asl + asl + asl + //SEG110 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_a_start_lo + //SEG111 [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 ] ) -- vduz1=vwuc1_plus_vbuaa + 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 + //SEG112 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_a + sta _33 + lda plane_a+1 + sta _33+1 + //SEG113 [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 ] ) -- vbuaa=_lo_vwuz1 + lda _33 + //SEG114 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_START_LO + //SEG115 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_a + sta _35 + lda plane_a+1 + sta _35+1 + //SEG116 [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 ] ) -- vbuaa=_hi_vwuz1 + lda _35+1 + //SEG117 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_START_MI + //SEG118 [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 ] ) -- vwuz1=_hi_vduz2 + lda plane_a+2 + sta _37 + lda plane_a+3 + sta _37+1 + //SEG119 [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 ] ) -- vbuaa=_lo_vwuz1 + lda _37 + //SEG120 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_START_HI + //SEG121 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_a_step_hi + asl + asl + asl + asl + //SEG122 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_a_step_lo + //SEG123 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_STEP + //SEG124 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_a_mod_hi + asl + asl + asl + asl + //SEG125 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_a_mod_lo + //SEG126 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_MODULO_LO + //SEG127 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_MODULO_HI + //SEG128 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_b_start_hi + asl + asl + asl + asl + //SEG129 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_b_start_lo + //SEG130 [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 ] ) -- vduz1=vduc1_plus_vbuaa + clc + adc #PLANE_8BPP_CHUNKY + adc #0 + sta plane_b+1 + lda #>$10 + adc #0 + sta plane_b+2 + lda #>PLANE_8BPP_CHUNKY>>$10 + adc #0 + sta plane_b+3 + //SEG131 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_b + sta _46 + lda plane_b+1 + sta _46+1 + //SEG132 [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 ] ) -- vbuaa=_lo_vwuz1 + lda _46 + //SEG133 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_START_LO + //SEG134 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_b + sta _48 + lda plane_b+1 + sta _48+1 + //SEG135 [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 ] ) -- vbuaa=_hi_vwuz1 + lda _48+1 + //SEG136 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_START_MI + //SEG137 [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 ] ) -- vwuz1=_hi_vduz2 + lda plane_b+2 + sta _50 + lda plane_b+3 + sta _50+1 + //SEG138 [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 ] ) -- vbuaa=_lo_vwuz1 + lda _50 + //SEG139 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_START_HI + //SEG140 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_b_step_hi + asl + asl + asl + asl + //SEG141 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_b_step_lo + //SEG142 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_STEP + //SEG143 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_b_mod_hi + asl + asl + asl + asl + //SEG144 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_b_mod_lo + //SEG145 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_MODULO_LO + //SEG146 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_MODULO_HI + //SEG147 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_vic_bg0_hi + asl + asl + asl + asl + //SEG148 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_vic_bg0_lo + //SEG149 [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 ] ) -- _deref_pbuc1=vbuaa + sta BGCOL1 + //SEG150 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_vic_bg1_hi + asl + asl + asl + asl + //SEG151 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_vic_bg1_lo + //SEG152 [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 ] ) -- _deref_pbuc1=vbuaa + sta BGCOL2 + //SEG153 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_vic_bg2_hi + asl + asl + asl + asl + //SEG154 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_vic_bg2_lo + //SEG155 [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 ] ) -- _deref_pbuc1=vbuaa + sta BGCOL3 + //SEG156 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_vic_bg3_hi + asl + asl + asl + asl + //SEG157 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_vic_bg3_lo + //SEG158 [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 ] ) -- _deref_pbuc1=vbuaa + sta BGCOL4 + //SEG159 [102] phi from gfx_mode::@9 to gfx_mode::@10 [phi:gfx_mode::@9->gfx_mode::@10] + b10_from_b9: + //SEG160 [102] phi (byte) gfx_mode::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_mode::@9->gfx_mode::@10#0] -- vbuxx=vbuc1 + ldx #0 + jmp b10 + //SEG161 [102] phi from gfx_mode::@10 to gfx_mode::@10 [phi:gfx_mode::@10->gfx_mode::@10] + b10_from_b10: + //SEG162 [102] phi (byte) gfx_mode::i#2 = (byte) gfx_mode::i#1 [phi:gfx_mode::@10->gfx_mode::@10#0] -- register_copy + jmp b10 + //SEG163 gfx_mode::@10 + b10: + //SEG164 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuxx + txa + sta DTV_PALETTE,x + //SEG165 [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 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG166 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$10 + bne b10_from_b10 + jmp breturn + //SEG167 gfx_mode::@return + breturn: + //SEG168 [106] return [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] ) + rts +} +//SEG169 form_control form_control: { .label field = 7 - //SEG96 [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 ] ) -- vbuxx=vbuz1 + //SEG170 [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 ] ) -- vbuxx=vbuz1 ldx form_field_idx - //SEG97 [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 ] ) - //SEG98 [158] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG171 [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 ] ) + //SEG172 [218] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] form_field_ptr_from_form_control: - //SEG99 [158] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + //SEG173 [218] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG100 [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 ] ) + //SEG174 [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 ] ) // (byte*) form_field_ptr::return#3 = (byte*) form_field_ptr::return#0 // register copy zp ZP_WORD:7 - jmp b28 - //SEG101 form_control::@28 - b28: - //SEG102 [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 ] ) + jmp b29 + //SEG175 form_control::@29 + b29: + //SEG176 [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 ] ) // (byte*) form_control::field#0 = (byte*) form_field_ptr::return#3 // register copy zp ZP_WORD:7 - //SEG103 [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 ] ) -- vbsz1=_dec_vbsz1 + //SEG177 [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 ] ) -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG104 [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 ] ) -- vbsz1_ge_0_then_la1 + //SEG178 [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 ] ) -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 - bpl b31_from_b28 - //SEG105 [53] phi from form_control::@28 to form_control::@1 [phi:form_control::@28->form_control::@1] - b1_from_b28: - //SEG106 [53] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@28->form_control::@1#0] -- vbsz1=vbsc1 + bpl b32_from_b29 + //SEG179 [113] phi from form_control::@29 to form_control::@1 [phi:form_control::@29->form_control::@1] + b1_from_b29: + //SEG180 [113] phi (signed byte) form_cursor_count#11 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@29->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count jmp b1 - //SEG107 form_control::@1 + //SEG181 form_control::@1 b1: - //SEG108 [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ 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 ] ) -- vbsz1_ge_vbuc1_then_la1 + //SEG182 [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 ] ) -- vbsz1_ge_vbuc1_then_la1 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -9997,159 +13483,159 @@ form_control: { !: bpl b2 jmp b15 - //SEG109 form_control::@15 + //SEG183 form_control::@15 b15: - //SEG110 [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 ] ) -- vbuaa=_deref_pbuz1_bor_vbuc1 + //SEG184 [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 ] ) -- vbuaa=_deref_pbuz1_bor_vbuc1 lda #$80 ldy #0 ora (field),y - //SEG111 [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 ] ) -- _deref_pbuz1=vbuaa + //SEG185 [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 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (field),y - //SEG112 [57] phi from form_control::@15 form_control::@2 to form_control::@3 [phi:form_control::@15/form_control::@2->form_control::@3] + //SEG186 [117] phi from form_control::@15 form_control::@2 to form_control::@3 [phi:form_control::@15/form_control::@2->form_control::@3] b3_from_b15: b3_from_b2: jmp b3 - //SEG113 form_control::@3 + //SEG187 form_control::@3 b3: - //SEG114 [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 ] ) - //SEG115 [95] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + //SEG188 [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 ] ) + //SEG189 [155] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] keyboard_event_scan_from_b3: jsr keyboard_event_scan - //SEG116 [59] phi from form_control::@3 to form_control::@29 [phi:form_control::@3->form_control::@29] - b29_from_b3: - jmp b29 - //SEG117 form_control::@29 - b29: - //SEG118 [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 ] ) - jsr keyboard_event_get - //SEG119 [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 ] ) - // (byte) keyboard_event_get::return#3 = (byte) keyboard_event_get::return#2 // register copy reg byte a + //SEG190 [119] phi from form_control::@3 to form_control::@30 [phi:form_control::@3->form_control::@30] + b30_from_b3: jmp b30 - //SEG120 form_control::@30 + //SEG191 form_control::@30 b30: - //SEG121 [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 ] ) + //SEG192 [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 ] ) + jsr keyboard_event_get + //SEG193 [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 ] ) + // (byte) keyboard_event_get::return#3 = (byte) keyboard_event_get::return#2 // register copy reg byte a + jmp b31 + //SEG194 form_control::@31 + b31: + //SEG195 [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 ] ) // (byte) form_control::key_event#0 = (byte) keyboard_event_get::return#3 // register copy reg byte a - //SEG122 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG196 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_DOWN bne b4 jmp b17 - //SEG123 form_control::@17 + //SEG197 form_control::@17 b17: - //SEG124 [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 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG198 [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 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG125 [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 ] ) -- _deref_pbuz1=vbuaa + //SEG199 [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 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (field),y - //SEG126 [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 ] ) -- vbuaa=vbuz1_band_vbuc1 - lda #KEY_MODIFIER_SHIFT - and keyboard_modifiers - //SEG127 [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 ] ) -- vbuaa_neq_0_then_la1 + //SEG200 [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 ] ) -- vbuaa=vbuxx_band_vbuc1 + txa + and #KEY_MODIFIER_SHIFT + //SEG201 [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 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b5 jmp b18 - //SEG128 form_control::@18 + //SEG202 form_control::@18 b18: - //SEG129 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG203 [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 ] ) -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG130 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG204 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #form_fields_cnt - bne b32_from_b18 - //SEG131 [70] phi from form_control::@18 to form_control::@7 [phi:form_control::@18->form_control::@7] + bne b33_from_b18 + //SEG205 [130] phi from form_control::@18 to form_control::@7 [phi:form_control::@18->form_control::@7] b7_from_b18: - //SEG132 [70] phi (byte) form_field_idx#30 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@18->form_control::@7#0] -- vbuz1=vbuc1 + //SEG206 [130] phi (byte) form_field_idx#24 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@18->form_control::@7#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx jmp b7 - //SEG133 form_control::@7 + //SEG207 form_control::@7 b7: - //SEG134 [71] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] + //SEG208 [131] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] breturn_from_b7: - //SEG135 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#30 [phi:form_control::@7->form_control::@return#0] -- register_copy - //SEG136 [71] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@7->form_control::@return#1] -- vbsz1=vbuc1 + //SEG209 [131] phi (byte) form_field_idx#14 = (byte) form_field_idx#24 [phi:form_control::@7->form_control::@return#0] -- register_copy + //SEG210 [131] phi (signed byte) form_cursor_count#12 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@7->form_control::@return#1] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count jmp breturn - //SEG137 [71] phi from form_control::@12 form_control::@4 to form_control::@return [phi:form_control::@12/form_control::@4->form_control::@return] + //SEG211 [131] phi from form_control::@12 form_control::@4 to form_control::@return [phi:form_control::@12/form_control::@4->form_control::@return] breturn_from_b12: breturn_from_b4: - //SEG138 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#14 [phi:form_control::@12/form_control::@4->form_control::@return#0] -- register_copy - //SEG139 [71] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@12/form_control::@4->form_control::@return#1] -- register_copy + //SEG212 [131] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:form_control::@12/form_control::@4->form_control::@return#0] -- register_copy + //SEG213 [131] phi (signed byte) form_cursor_count#12 = (signed byte) form_cursor_count#11 [phi:form_control::@12/form_control::@4->form_control::@return#1] -- register_copy jmp breturn - //SEG140 form_control::@return + //SEG214 form_control::@return breturn: - //SEG141 [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 ] ) + //SEG215 [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 ] ) rts - //SEG142 [73] phi from form_control::@18 to form_control::@32 [phi:form_control::@18->form_control::@32] - b32_from_b18: - jmp b32 - //SEG143 form_control::@32 - b32: - //SEG144 [70] phi from form_control::@32 form_control::@33 to form_control::@7 [phi:form_control::@32/form_control::@33->form_control::@7] - b7_from_b32: + //SEG216 [133] phi from form_control::@18 to form_control::@33 [phi:form_control::@18->form_control::@33] + b33_from_b18: + jmp b33 + //SEG217 form_control::@33 + b33: + //SEG218 [130] phi from form_control::@33 form_control::@34 to form_control::@7 [phi:form_control::@33/form_control::@34->form_control::@7] b7_from_b33: - //SEG145 [70] phi (byte) form_field_idx#30 = (byte) form_field_idx#40 [phi:form_control::@32/form_control::@33->form_control::@7#0] -- register_copy + b7_from_b34: + //SEG219 [130] phi (byte) form_field_idx#24 = (byte) form_field_idx#34 [phi:form_control::@33/form_control::@34->form_control::@7#0] -- register_copy jmp b7 - //SEG146 form_control::@5 + //SEG220 form_control::@5 b5: - //SEG147 [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 ] ) -- vbuz1=_dec_vbuz1 + //SEG221 [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 ] ) -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG148 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG222 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #$ff - bne b33_from_b5 - //SEG149 [70] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] + bne b34_from_b5 + //SEG223 [130] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] b7_from_b5: - //SEG150 [70] phi (byte) form_field_idx#30 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@5->form_control::@7#0] -- vbuz1=vbuc1 + //SEG224 [130] phi (byte) form_field_idx#24 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@5->form_control::@7#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx jmp b7 - //SEG151 [76] phi from form_control::@5 to form_control::@33 [phi:form_control::@5->form_control::@33] - b33_from_b5: - jmp b33 - //SEG152 form_control::@33 - b33: - jmp b7_from_b33 - //SEG153 form_control::@4 + //SEG225 [136] phi from form_control::@5 to form_control::@34 [phi:form_control::@5->form_control::@34] + b34_from_b5: + jmp b34 + //SEG226 form_control::@34 + b34: + jmp b7_from_b34 + //SEG227 form_control::@4 b4: - //SEG154 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG228 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_RIGHT bne breturn_from_b4 jmp b23 - //SEG155 form_control::@23 + //SEG229 form_control::@23 b23: - //SEG156 [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 ] ) -- vbuaa=vbuz1_band_vbuc1 - lda #KEY_MODIFIER_SHIFT - and keyboard_modifiers - //SEG157 [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 ] ) -- vbuaa_neq_0_then_la1 + //SEG230 [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 ] ) -- vbuaa=vbuxx_band_vbuc1 + txa + and #KEY_MODIFIER_SHIFT + //SEG231 [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 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b10 jmp b24 - //SEG158 form_control::@24 + //SEG232 form_control::@24 b24: - //SEG159 [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 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + //SEG233 [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 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx form_field_idx inc form_fields_val,x - //SEG160 [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 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //SEG234 [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 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b12 beq b12 jmp b25 - //SEG161 form_control::@25 + //SEG235 form_control::@25 b25: - //SEG162 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG236 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 ldy form_field_idx lda #0 sta form_fields_val,y jmp b12 - //SEG163 form_control::@12 + //SEG237 form_control::@12 b12: - //SEG164 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG238 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 ldy form_field_idx lda form_fields_val,y tay @@ -10157,409 +13643,409 @@ form_control: { ldy #0 sta (field),y jmp breturn_from_b12 - //SEG165 form_control::@10 + //SEG239 form_control::@10 b10: - //SEG166 [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 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + //SEG240 [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 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx form_field_idx lda form_fields_val,x sec sbc #1 ldx form_field_idx sta form_fields_val,x - //SEG167 [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 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG241 [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 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 ldy form_field_idx lda form_fields_val,y cmp #$ff bne b12 jmp b27 - //SEG168 form_control::@27 + //SEG242 form_control::@27 b27: - //SEG169 [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 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + //SEG243 [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 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 ldy form_field_idx lda form_fields_max,y sta form_fields_val,y jmp b12 - //SEG170 form_control::@2 + //SEG244 form_control::@2 b2: - //SEG171 [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 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG245 [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 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG172 [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 ] ) -- _deref_pbuz1=vbuaa + //SEG246 [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 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (field),y jmp b3_from_b2 - //SEG173 [89] phi from form_control::@28 to form_control::@31 [phi:form_control::@28->form_control::@31] - b31_from_b28: - jmp b31 - //SEG174 form_control::@31 - b31: - //SEG175 [53] phi from form_control::@31 to form_control::@1 [phi:form_control::@31->form_control::@1] - b1_from_b31: - //SEG176 [53] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@31->form_control::@1#0] -- register_copy + //SEG247 [149] phi from form_control::@29 to form_control::@32 [phi:form_control::@29->form_control::@32] + b32_from_b29: + jmp b32 + //SEG248 form_control::@32 + b32: + //SEG249 [113] phi from form_control::@32 to form_control::@1 [phi:form_control::@32->form_control::@1] + b1_from_b32: + //SEG250 [113] phi (signed byte) form_cursor_count#11 = (signed byte) form_cursor_count#3 [phi:form_control::@32->form_control::@1#0] -- register_copy jmp b1 } -//SEG177 keyboard_event_get +//SEG251 keyboard_event_get keyboard_event_get: { - //SEG178 [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 ] ) -- vbuz1_neq_0_then_la1 + //SEG252 [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 ] ) -- vbuz1_neq_0_then_la1 lda keyboard_events_size bne b1 - //SEG179 [91] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] + //SEG253 [151] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] breturn_from_keyboard_event_get: - //SEG180 [91] phi (byte) keyboard_events_size#20 = (byte) keyboard_events_size#17 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy - //SEG181 [91] phi (byte) keyboard_event_get::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1 + //SEG254 [151] phi (byte) keyboard_events_size#18 = (byte) keyboard_events_size#15 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy + //SEG255 [151] phi (byte) keyboard_event_get::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1 lda #$ff jmp breturn - //SEG182 keyboard_event_get::@return + //SEG256 keyboard_event_get::@return breturn: - //SEG183 [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 ] ) + //SEG257 [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 ] ) rts - //SEG184 keyboard_event_get::@1 + //SEG258 keyboard_event_get::@1 b1: - //SEG185 [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 ] ) -- vbuz1=_dec_vbuz1 + //SEG259 [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 ] ) -- vbuz1=_dec_vbuz1 dec keyboard_events_size - //SEG186 [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 ] ) -- vbuaa=pbuc1_derefidx_vbuz1 + //SEG260 [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 ] ) -- vbuaa=pbuc1_derefidx_vbuz1 ldy keyboard_events_size lda keyboard_events,y - //SEG187 [91] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] + //SEG261 [151] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] breturn_from_b1: - //SEG188 [91] phi (byte) keyboard_events_size#20 = (byte) keyboard_events_size#4 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy - //SEG189 [91] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#0 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy + //SEG262 [151] phi (byte) keyboard_events_size#18 = (byte) keyboard_events_size#4 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy + //SEG263 [151] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#0 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy jmp breturn } -//SEG190 keyboard_event_scan +//SEG264 keyboard_event_scan keyboard_event_scan: { - .label row_scan = $d + .label row_scan = $11 .label keycode = 5 - .label row = 3 - //SEG191 [96] phi from keyboard_event_scan to keyboard_event_scan::@1 [phi:keyboard_event_scan->keyboard_event_scan::@1] + .label row = 4 + //SEG265 [156] phi from keyboard_event_scan to keyboard_event_scan::@1 [phi:keyboard_event_scan->keyboard_event_scan::@1] b1_from_keyboard_event_scan: - //SEG192 [96] phi (byte) keyboard_events_size#43 = (byte) keyboard_events_size#24 [phi:keyboard_event_scan->keyboard_event_scan::@1#0] -- register_copy - //SEG193 [96] phi (byte) keyboard_event_scan::keycode#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#1] -- vbuz1=vbuc1 + //SEG266 [156] phi (byte) keyboard_events_size#37 = (byte) keyboard_events_size#20 [phi:keyboard_event_scan->keyboard_event_scan::@1#0] -- register_copy + //SEG267 [156] phi (byte) keyboard_event_scan::keycode#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#1] -- vbuz1=vbuc1 lda #0 sta keycode - //SEG194 [96] phi (byte) keyboard_event_scan::row#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#2] -- vbuz1=vbuc1 + //SEG268 [156] phi (byte) keyboard_event_scan::row#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#2] -- vbuz1=vbuc1 lda #0 sta row jmp b1 - //SEG195 [96] phi from keyboard_event_scan::@8 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1] + //SEG269 [156] phi from keyboard_event_scan::@8 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1] b1_from_b8: - //SEG196 [96] phi (byte) keyboard_events_size#43 = (byte) keyboard_events_size#17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#0] -- register_copy - //SEG197 [96] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#1] -- register_copy - //SEG198 [96] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#2] -- register_copy + //SEG270 [156] phi (byte) keyboard_events_size#37 = (byte) keyboard_events_size#15 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#0] -- register_copy + //SEG271 [156] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#1] -- register_copy + //SEG272 [156] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#2] -- register_copy jmp b1 - //SEG199 keyboard_event_scan::@1 + //SEG273 keyboard_event_scan::@1 b1: - //SEG200 [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 ] ) -- vbuxx=vbuz1 + //SEG274 [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 ] ) -- vbuxx=vbuz1 ldx row - //SEG201 [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 ] ) + //SEG275 [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 ] ) jsr keyboard_matrix_read - //SEG202 [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 ] ) + //SEG276 [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 ] ) // (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#0 // register copy reg byte a jmp b25 - //SEG203 keyboard_event_scan::@25 + //SEG277 keyboard_event_scan::@25 b25: - //SEG204 [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 ] ) -- vbuz1=vbuaa + //SEG278 [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 ] ) -- vbuz1=vbuaa sta row_scan - //SEG205 [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 ] ) -- vbuz1_eq_pbuc1_derefidx_vbuz2_then_la1 + //SEG279 [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 ] ) -- vbuz1_eq_pbuc1_derefidx_vbuz2_then_la1 ldy row lda keyboard_scan_values,y cmp row_scan beq b2 - //SEG206 [102] phi from keyboard_event_scan::@25 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3] + //SEG280 [162] phi from keyboard_event_scan::@25 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3] b3_from_b25: - //SEG207 [102] phi (byte) keyboard_events_size#14 = (byte) keyboard_events_size#43 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#0] -- register_copy - //SEG208 [102] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#1] -- register_copy - //SEG209 [102] phi (byte) keyboard_event_scan::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#2] -- vbuxx=vbuc1 + //SEG281 [162] phi (byte) keyboard_events_size#12 = (byte) keyboard_events_size#37 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#0] -- register_copy + //SEG282 [162] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#1] -- register_copy + //SEG283 [162] phi (byte) keyboard_event_scan::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#2] -- vbuxx=vbuc1 ldx #0 jmp b3 - //SEG210 [102] phi from keyboard_event_scan::@4 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3] + //SEG284 [162] phi from keyboard_event_scan::@4 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3] b3_from_b4: - //SEG211 [102] phi (byte) keyboard_events_size#14 = (byte) keyboard_events_size#44 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#0] -- register_copy - //SEG212 [102] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#1] -- register_copy - //SEG213 [102] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#2] -- register_copy + //SEG285 [162] phi (byte) keyboard_events_size#12 = (byte) keyboard_events_size#38 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#0] -- register_copy + //SEG286 [162] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#1] -- register_copy + //SEG287 [162] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#2] -- register_copy jmp b3 - //SEG214 keyboard_event_scan::@3 + //SEG288 keyboard_event_scan::@3 b3: - //SEG215 [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 ] ) -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2 + //SEG289 [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 ] ) -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2 lda row_scan ldy row eor keyboard_scan_values,y - //SEG216 [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 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx + //SEG290 [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 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx and keyboard_matrix_col_bitmask,x - //SEG217 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG291 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4_from_b3 jmp b14 - //SEG218 keyboard_event_scan::@14 + //SEG292 keyboard_event_scan::@14 b14: - //SEG219 [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 ] ) -- vbuz1_eq_vbuc1_then_la1 + //SEG293 [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 ] ) -- vbuz1_eq_vbuc1_then_la1 lda keyboard_events_size cmp #8 beq b4_from_b14 jmp b15 - //SEG220 keyboard_event_scan::@15 + //SEG294 keyboard_event_scan::@15 b15: - //SEG221 [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 ] ) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx + //SEG295 [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 ] ) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx lda keyboard_matrix_col_bitmask,x and row_scan - //SEG222 [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 ] ) -- vbuaa_neq_0_then_la1 + //SEG296 [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 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b6 jmp b16 - //SEG223 keyboard_event_scan::@16 + //SEG297 keyboard_event_scan::@16 b16: - //SEG224 [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 ] ) -- vbuaa=vbuz1_bor_vbuc1 + //SEG298 [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 ] ) -- vbuaa=vbuz1_bor_vbuc1 lda #$40 ora keycode - //SEG225 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuaa + //SEG299 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuaa ldy keyboard_events_size sta keyboard_events,y - //SEG226 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG300 [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 ] ) -- vbuz1=_inc_vbuz1 inc keyboard_events_size - //SEG227 [112] phi from keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 to keyboard_event_scan::@4 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4] + //SEG301 [172] phi from keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 to keyboard_event_scan::@4 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4] b4_from_b14: b4_from_b16: b4_from_b3: b4_from_b6: - //SEG228 [112] phi (byte) keyboard_events_size#44 = (byte) keyboard_events_size#14 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4#0] -- register_copy + //SEG302 [172] phi (byte) keyboard_events_size#38 = (byte) keyboard_events_size#12 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4#0] -- register_copy jmp b4 - //SEG229 keyboard_event_scan::@4 + //SEG303 keyboard_event_scan::@4 b4: - //SEG230 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG304 [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 ] ) -- vbuz1=_inc_vbuz1 inc keycode - //SEG231 [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 ] ) -- vbuxx=_inc_vbuxx + //SEG305 [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 ] ) -- vbuxx=_inc_vbuxx inx - //SEG232 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG306 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne b3_from_b4 jmp b18 - //SEG233 keyboard_event_scan::@18 + //SEG307 keyboard_event_scan::@18 b18: - //SEG234 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG308 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda row_scan ldy row sta keyboard_scan_values,y - //SEG235 [117] phi from keyboard_event_scan::@18 keyboard_event_scan::@2 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8] + //SEG309 [177] phi from keyboard_event_scan::@18 keyboard_event_scan::@2 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8] b8_from_b18: b8_from_b2: - //SEG236 [117] phi (byte) keyboard_events_size#17 = (byte) keyboard_events_size#44 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#0] -- register_copy - //SEG237 [117] phi (byte) keyboard_event_scan::keycode#14 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#1] -- register_copy + //SEG310 [177] phi (byte) keyboard_events_size#15 = (byte) keyboard_events_size#38 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#0] -- register_copy + //SEG311 [177] phi (byte) keyboard_event_scan::keycode#14 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#1] -- register_copy jmp b8 - //SEG238 keyboard_event_scan::@8 + //SEG312 keyboard_event_scan::@8 b8: - //SEG239 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG313 [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 ] ) -- vbuz1=_inc_vbuz1 inc row - //SEG240 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG314 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda row cmp #8 bne b1_from_b8 - //SEG241 [120] phi from keyboard_event_scan::@8 to keyboard_event_scan::@20 [phi:keyboard_event_scan::@8->keyboard_event_scan::@20] + //SEG315 [180] phi from keyboard_event_scan::@8 to keyboard_event_scan::@20 [phi:keyboard_event_scan::@8->keyboard_event_scan::@20] b20_from_b8: jmp b20 - //SEG242 keyboard_event_scan::@20 + //SEG316 keyboard_event_scan::@20 b20: - //SEG243 [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 ] ) - //SEG244 [149] phi from keyboard_event_scan::@20 to keyboard_event_pressed [phi:keyboard_event_scan::@20->keyboard_event_pressed] + //SEG317 [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 ] ) + //SEG318 [209] phi from keyboard_event_scan::@20 to keyboard_event_pressed [phi:keyboard_event_scan::@20->keyboard_event_pressed] keyboard_event_pressed_from_b20: - //SEG245 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_LSHIFT#0 [phi:keyboard_event_scan::@20->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG319 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_LSHIFT#0 [phi:keyboard_event_scan::@20->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_LSHIFT sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG246 [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 ] ) + //SEG320 [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 ] ) // (byte) keyboard_event_pressed::return#0 = (byte) keyboard_event_pressed::return#10 // register copy reg byte a jmp b26 - //SEG247 keyboard_event_scan::@26 + //SEG321 keyboard_event_scan::@26 b26: - //SEG248 [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 ] ) + //SEG322 [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 ] ) // (byte~) keyboard_event_scan::$16 = (byte) keyboard_event_pressed::return#0 // register copy reg byte a - //SEG249 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG323 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b9_from_b26 - //SEG250 [125] phi from keyboard_event_scan::@26 to keyboard_event_scan::@21 [phi:keyboard_event_scan::@26->keyboard_event_scan::@21] + //SEG324 [185] phi from keyboard_event_scan::@26 to keyboard_event_scan::@21 [phi:keyboard_event_scan::@26->keyboard_event_scan::@21] b21_from_b26: jmp b21 - //SEG251 keyboard_event_scan::@21 + //SEG325 keyboard_event_scan::@21 b21: - //SEG252 [126] phi from keyboard_event_scan::@21 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9] + //SEG326 [186] phi from keyboard_event_scan::@21 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9] b9_from_b21: - //SEG253 [126] phi (byte) keyboard_modifiers#15 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) KEY_MODIFIER_LSHIFT#0 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9#0] -- vbuz1=vbuc1 - lda #0|KEY_MODIFIER_LSHIFT - sta keyboard_modifiers + //SEG327 [186] phi (byte) keyboard_modifiers#13 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) KEY_MODIFIER_LSHIFT#0 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9#0] -- vbuxx=vbuc1 + ldx #0|KEY_MODIFIER_LSHIFT jmp b9 - //SEG254 [126] phi from keyboard_event_scan::@26 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9] + //SEG328 [186] phi from keyboard_event_scan::@26 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9] b9_from_b26: - //SEG255 [126] phi (byte) keyboard_modifiers#15 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9#0] -- vbuz1=vbuc1 - lda #0 - sta keyboard_modifiers + //SEG329 [186] phi (byte) keyboard_modifiers#13 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9#0] -- vbuxx=vbuc1 + ldx #0 jmp b9 - //SEG256 keyboard_event_scan::@9 + //SEG330 keyboard_event_scan::@9 b9: - //SEG257 [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 ] ) - //SEG258 [149] phi from keyboard_event_scan::@9 to keyboard_event_pressed [phi:keyboard_event_scan::@9->keyboard_event_pressed] + //SEG331 [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 ] ) + //SEG332 [209] phi from keyboard_event_scan::@9 to keyboard_event_pressed [phi:keyboard_event_scan::@9->keyboard_event_pressed] keyboard_event_pressed_from_b9: - //SEG259 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_RSHIFT#0 [phi:keyboard_event_scan::@9->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG333 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_RSHIFT#0 [phi:keyboard_event_scan::@9->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_RSHIFT sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG260 [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 ] ) + //SEG334 [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 ] ) // (byte) keyboard_event_pressed::return#1 = (byte) keyboard_event_pressed::return#10 // register copy reg byte a jmp b27 - //SEG261 keyboard_event_scan::@27 + //SEG335 keyboard_event_scan::@27 b27: - //SEG262 [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 ] ) + //SEG336 [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 ] ) // (byte~) keyboard_event_scan::$20 = (byte) keyboard_event_pressed::return#1 // register copy reg byte a - //SEG263 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG337 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b10_from_b27 jmp b22 - //SEG264 keyboard_event_scan::@22 + //SEG338 keyboard_event_scan::@22 b22: - //SEG265 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 - lda #KEY_MODIFIER_RSHIFT - ora keyboard_modifiers - sta keyboard_modifiers - //SEG266 [132] phi from keyboard_event_scan::@22 keyboard_event_scan::@27 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10] + //SEG339 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #KEY_MODIFIER_RSHIFT + tax + //SEG340 [192] phi from keyboard_event_scan::@22 keyboard_event_scan::@27 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10] b10_from_b22: b10_from_b27: - //SEG267 [132] phi (byte) keyboard_modifiers#16 = (byte) keyboard_modifiers#3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10#0] -- register_copy + //SEG341 [192] phi (byte) keyboard_modifiers#14 = (byte) keyboard_modifiers#3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10#0] -- register_copy jmp b10 - //SEG268 keyboard_event_scan::@10 + //SEG342 keyboard_event_scan::@10 b10: - //SEG269 [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 ] ) - //SEG270 [149] phi from keyboard_event_scan::@10 to keyboard_event_pressed [phi:keyboard_event_scan::@10->keyboard_event_pressed] + //SEG343 [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 ] ) + //SEG344 [209] phi from keyboard_event_scan::@10 to keyboard_event_pressed [phi:keyboard_event_scan::@10->keyboard_event_pressed] keyboard_event_pressed_from_b10: - //SEG271 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_CTRL#0 [phi:keyboard_event_scan::@10->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG345 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_CTRL#0 [phi:keyboard_event_scan::@10->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_CTRL sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG272 [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 ] ) + //SEG346 [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 ] ) // (byte) keyboard_event_pressed::return#2 = (byte) keyboard_event_pressed::return#10 // register copy reg byte a jmp b28 - //SEG273 keyboard_event_scan::@28 + //SEG347 keyboard_event_scan::@28 b28: - //SEG274 [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 ] ) + //SEG348 [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 ] ) // (byte~) keyboard_event_scan::$24 = (byte) keyboard_event_pressed::return#2 // register copy reg byte a - //SEG275 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG349 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b11_from_b28 jmp b23 - //SEG276 keyboard_event_scan::@23 + //SEG350 keyboard_event_scan::@23 b23: - //SEG277 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 - lda #KEY_MODIFIER_CTRL - ora keyboard_modifiers - sta keyboard_modifiers - //SEG278 [138] phi from keyboard_event_scan::@23 keyboard_event_scan::@28 to keyboard_event_scan::@11 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11] + //SEG351 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #KEY_MODIFIER_CTRL + tax + //SEG352 [198] phi from keyboard_event_scan::@23 keyboard_event_scan::@28 to keyboard_event_scan::@11 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11] b11_from_b23: b11_from_b28: - //SEG279 [138] phi (byte) keyboard_modifiers#17 = (byte) keyboard_modifiers#4 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11#0] -- register_copy + //SEG353 [198] phi (byte) keyboard_modifiers#15 = (byte) keyboard_modifiers#4 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11#0] -- register_copy jmp b11 - //SEG280 keyboard_event_scan::@11 + //SEG354 keyboard_event_scan::@11 b11: - //SEG281 [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 ] ) - //SEG282 [149] phi from keyboard_event_scan::@11 to keyboard_event_pressed [phi:keyboard_event_scan::@11->keyboard_event_pressed] + //SEG355 [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 ] ) + //SEG356 [209] phi from keyboard_event_scan::@11 to keyboard_event_pressed [phi:keyboard_event_scan::@11->keyboard_event_pressed] keyboard_event_pressed_from_b11: - //SEG283 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_COMMODORE#0 [phi:keyboard_event_scan::@11->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG357 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_COMMODORE#0 [phi:keyboard_event_scan::@11->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_COMMODORE sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG284 [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 ] ) + //SEG358 [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 ] ) // (byte) keyboard_event_pressed::return#3 = (byte) keyboard_event_pressed::return#10 // register copy reg byte a jmp b29 - //SEG285 keyboard_event_scan::@29 + //SEG359 keyboard_event_scan::@29 b29: - //SEG286 [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 ] ) + //SEG360 [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 ] ) // (byte~) keyboard_event_scan::$28 = (byte) keyboard_event_pressed::return#3 // register copy reg byte a - //SEG287 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG361 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq breturn_from_b29 jmp b24 - //SEG288 keyboard_event_scan::@24 + //SEG362 keyboard_event_scan::@24 b24: - //SEG289 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 - lda #KEY_MODIFIER_COMMODORE - ora keyboard_modifiers - sta keyboard_modifiers - //SEG290 [144] phi from keyboard_event_scan::@24 keyboard_event_scan::@29 to keyboard_event_scan::@return [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return] + //SEG363 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #KEY_MODIFIER_COMMODORE + tax + //SEG364 [204] phi from keyboard_event_scan::@24 keyboard_event_scan::@29 to keyboard_event_scan::@return [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return] breturn_from_b24: breturn_from_b29: - //SEG291 [144] phi (byte) keyboard_modifiers#18 = (byte) keyboard_modifiers#5 [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return#0] -- register_copy + //SEG365 [204] phi (byte) keyboard_modifiers#16 = (byte) keyboard_modifiers#5 [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return#0] -- register_copy jmp breturn - //SEG292 keyboard_event_scan::@return + //SEG366 keyboard_event_scan::@return breturn: - //SEG293 [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 ] ) + //SEG367 [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 ] ) rts - //SEG294 keyboard_event_scan::@6 + //SEG368 keyboard_event_scan::@6 b6: - //SEG295 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG369 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda keycode ldy keyboard_events_size sta keyboard_events,y - //SEG296 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG370 [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 ] ) -- vbuz1=_inc_vbuz1 inc keyboard_events_size jmp b4_from_b6 - //SEG297 keyboard_event_scan::@2 + //SEG371 keyboard_event_scan::@2 b2: - //SEG298 [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 ] ) -- vbuz1=vbuz1_plus_vbuc1 + //SEG372 [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 ] ) -- vbuz1=vbuz1_plus_vbuc1 lda #8 clc adc keycode sta keycode jmp b8_from_b2 } -//SEG299 keyboard_event_pressed +//SEG373 keyboard_event_pressed keyboard_event_pressed: { - .label keycode = 5 - //SEG300 [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 ] ) -- vbuaa=vbuz1_ror_3 + .label row_bits = 5 + .label keycode = 4 + //SEG374 [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 ] ) -- vbuaa=vbuz1_ror_3 lda keycode lsr lsr lsr - //SEG301 [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 ] ) -- vbuyy=pbuc1_derefidx_vbuaa - tax - ldy keyboard_scan_values,x - //SEG302 [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 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG375 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuaa + tay + lda keyboard_scan_values,y + sta row_bits + //SEG376 [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 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #7 and keycode - //SEG303 [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 ] ) -- vbuaa=vbuyy_band_pbuc1_derefidx_vbuaa - tax - tya - and keyboard_matrix_col_bitmask,x + //SEG377 [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 ] ) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuaa + tay + lda keyboard_matrix_col_bitmask,y + and row_bits jmp breturn - //SEG304 keyboard_event_pressed::@return + //SEG378 keyboard_event_pressed::@return breturn: - //SEG305 [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 ] ) + //SEG379 [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 ] ) rts } -//SEG306 keyboard_matrix_read +//SEG380 keyboard_matrix_read keyboard_matrix_read: { - //SEG307 [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 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuxx + //SEG381 [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 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuxx lda keyboard_matrix_row_bitmask,x sta CIA1_PORT_A - //SEG308 [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 ] ) -- vbuaa=_bnot__deref_pbuc1 + //SEG382 [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 ] ) -- vbuaa=_bnot__deref_pbuc1 lda CIA1_PORT_B eor #$ff jmp breturn - //SEG309 keyboard_matrix_read::@return + //SEG383 keyboard_matrix_read::@return breturn: - //SEG310 [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 ] ) + //SEG384 [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 ] ) rts } -//SEG311 form_field_ptr +//SEG385 form_field_ptr form_field_ptr: { .label return = 7 .label _2 = 7 - //SEG312 [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 ] ) -- vbuyy=pbuc1_derefidx_vbuxx + //SEG386 [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 ] ) -- vbuyy=pbuc1_derefidx_vbuxx ldy form_fields_y,x - //SEG313 [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 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + //SEG387 [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 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy lda form_line_hi,y sta _2+1 lda form_line_lo,y sta _2 - //SEG314 [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 ] ) -- vbuaa=pbuc1_derefidx_vbuxx + //SEG388 [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 ] ) -- vbuaa=pbuc1_derefidx_vbuxx lda form_fields_x,x - //SEG315 [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 ] ) -- pbuz1=pbuz1_plus_vbuaa + //SEG389 [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 ] ) -- pbuz1=pbuz1_plus_vbuaa clc adc return sta return @@ -10567,85 +14053,226 @@ form_field_ptr: { adc return+1 sta return+1 jmp breturn - //SEG316 form_field_ptr::@return + //SEG390 form_field_ptr::@return breturn: - //SEG317 [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 ] ) + //SEG391 [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 ] ) rts } -//SEG318 form_render_values -form_render_values: { - .label field = 7 - //SEG319 [165] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] - b1_from_form_render_values: - //SEG320 [165] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 +//SEG392 form_mode +form_mode: { + //SEG393 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #($ffffffff&FORM_CHARSET)/$10000 + sta DTV_GRAPHICS_VIC_BANK + //SEG394 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #DTV_COLOR_BANK_DEFAULT/$400 + sta DTV_COLOR_BANK_LO + //SEG395 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_COLOR_BANK_HI + //SEG396 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #3 + sta CIA2_PORT_A_DDR + //SEG397 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #3^FORM_CHARSET/$4000 + sta CIA2_PORT_A + //SEG398 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_CONTROL + //SEG399 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_DEN|VIC_RSEL|3 + sta VIC_CONTROL + //SEG400 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_CSEL + sta VIC_CONTROL2 + //SEG401 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #(FORM_SCREEN&$3fff)/$40|(FORM_CHARSET&$3fff)/$400 + sta VIC_MEMORY + //SEG402 [233] phi from form_mode to form_mode::@1 [phi:form_mode->form_mode::@1] + b1_from_form_mode: + //SEG403 [233] phi (byte) form_mode::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_mode->form_mode::@1#0] -- vbuxx=vbuc1 ldx #0 jmp b1 - //SEG321 [165] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] - b1_from_b3: - //SEG322 [165] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + //SEG404 [233] phi from form_mode::@1 to form_mode::@1 [phi:form_mode::@1->form_mode::@1] + b1_from_b1: + //SEG405 [233] phi (byte) form_mode::i#2 = (byte) form_mode::i#1 [phi:form_mode::@1->form_mode::@1#0] -- register_copy jmp b1 - //SEG323 form_render_values::@1 + //SEG406 form_mode::@1 b1: - //SEG324 [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 ] ) + //SEG407 [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 ] ) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda DTV_PALETTE_DEFAULT,x + sta DTV_PALETTE,x + //SEG408 [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 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG409 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$10 + bne b1_from_b1 + jmp b2 + //SEG410 form_mode::@2 + b2: + //SEG411 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta BORDERCOL + //SEG412 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta BGCOL + jmp breturn + //SEG413 form_mode::@return + breturn: + //SEG414 [239] return [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ) + rts +} +//SEG415 form_init +form_init: { + //SEG416 [241] call print_set_screen param-assignment [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] ) + //SEG417 [294] phi from form_init to print_set_screen [phi:form_init->print_set_screen] + print_set_screen_from_form_init: + //SEG418 [294] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0+(const word) FORM_OFFSET#0 [phi:form_init->print_set_screen#0] -- pbuz1=pbuc1 + lda #COLS+FORM_OFFSET + sta print_set_screen.screen+1 + jsr print_set_screen + //SEG419 [242] phi from form_init to form_init::@1 [phi:form_init->form_init::@1] + b1_from_form_init: + jmp b1 + //SEG420 form_init::@1 + b1: + //SEG421 [243] call print_str_lines param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG422 [273] phi from form_init::@1 to print_str_lines [phi:form_init::@1->print_str_lines] + print_str_lines_from_b1: + //SEG423 [273] phi (byte*) print_str_lines::str#5 = (const string) FORM_COLS#0 [phi:form_init::@1->print_str_lines#0] -- pbuz1=pbuc1 + lda #FORM_COLS + sta print_str_lines.str+1 + jsr print_str_lines + //SEG424 [244] phi from form_init::@1 to form_init::@2 [phi:form_init::@1->form_init::@2] + b2_from_b1: + jmp b2 + //SEG425 form_init::@2 + b2: + //SEG426 [245] call print_set_screen param-assignment [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] ) + //SEG427 [294] phi from form_init::@2 to print_set_screen [phi:form_init::@2->print_set_screen] + print_set_screen_from_b2: + //SEG428 [294] phi (byte*) print_set_screen::screen#2 = (const byte*) FORM_SCREEN#0+(const word) FORM_OFFSET#0 [phi:form_init::@2->print_set_screen#0] -- pbuz1=pbuc1 + lda #FORM_SCREEN+FORM_OFFSET + sta print_set_screen.screen+1 + jsr print_set_screen + //SEG429 [246] phi from form_init::@2 to form_init::@3 [phi:form_init::@2->form_init::@3] + b3_from_b2: + jmp b3 + //SEG430 form_init::@3 + b3: + //SEG431 [247] call print_str_lines param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG432 [273] phi from form_init::@3 to print_str_lines [phi:form_init::@3->print_str_lines] + print_str_lines_from_b3: + //SEG433 [273] phi (byte*) print_str_lines::str#5 = (const string) FORM_TEXT#0 [phi:form_init::@3->print_str_lines#0] -- pbuz1=pbuc1 + lda #FORM_TEXT + sta print_str_lines.str+1 + jsr print_str_lines + //SEG434 [248] phi from form_init::@3 to form_init::@4 [phi:form_init::@3->form_init::@4] + b4_from_b3: + jmp b4 + //SEG435 form_init::@4 + b4: + //SEG436 [249] call form_set_screen param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG437 [263] phi from form_init::@4 to form_set_screen [phi:form_init::@4->form_set_screen] + form_set_screen_from_b4: + jsr form_set_screen + //SEG438 [250] phi from form_init::@4 to form_init::@5 [phi:form_init::@4->form_init::@5] + b5_from_b4: + jmp b5 + //SEG439 form_init::@5 + b5: + //SEG440 [251] call form_render_values param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG441 [253] phi from form_init::@5 to form_render_values [phi:form_init::@5->form_render_values] + form_render_values_from_b5: + jsr form_render_values + jmp breturn + //SEG442 form_init::@return + breturn: + //SEG443 [252] return [ ] ( main:2::form_init:10 [ ] ) + rts +} +//SEG444 form_render_values +form_render_values: { + .label field = 7 + //SEG445 [254] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + b1_from_form_render_values: + //SEG446 [254] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 + ldx #0 + jmp b1 + //SEG447 [254] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + b1_from_b3: + //SEG448 [254] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + jmp b1 + //SEG449 form_render_values::@1 + b1: + //SEG450 [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 ] ) // (byte) form_field_ptr::field_idx#0 = (byte) form_render_values::idx#2 // register copy reg byte x - //SEG325 [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 ] ) - //SEG326 [158] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //SEG451 [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 ] ) + //SEG452 [218] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] form_field_ptr_from_b1: - //SEG327 [158] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy + //SEG453 [218] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG328 [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 ] ) + //SEG454 [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 ] ) // (byte*) form_field_ptr::return#2 = (byte*) form_field_ptr::return#0 // register copy zp ZP_WORD:7 jmp b3 - //SEG329 form_render_values::@3 + //SEG455 form_render_values::@3 b3: - //SEG330 [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 ] ) + //SEG456 [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 ] ) // (byte*) form_render_values::field#0 = (byte*) form_field_ptr::return#2 // register copy zp ZP_WORD:7 - //SEG331 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuxx + //SEG457 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuxx lda form_fields_val,x tay lda print_hextab,y ldy #0 sta (field),y - //SEG332 [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 ] ) -- vbuxx=_inc_vbuxx + //SEG458 [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 ] ) -- vbuxx=_inc_vbuxx inx - //SEG333 [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 ] ) -- vbuxx_lt_vbuc1_then_la1 + //SEG459 [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 ] ) -- vbuxx_lt_vbuc1_then_la1 cpx #form_fields_cnt bcc b1_from_b3 jmp breturn - //SEG334 form_render_values::@return + //SEG460 form_render_values::@return breturn: - //SEG335 [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 ] ) + //SEG461 [262] return [ ] ( main:2::form_init:10::form_render_values:251 [ ] ) rts } -//SEG336 form_set_screen +//SEG462 form_set_screen form_set_screen: { + .label screen = FORM_SCREEN+FORM_OFFSET .label line = 7 - //SEG337 [175] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + //SEG463 [264] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] b1_from_form_set_screen: - //SEG338 [175] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 + //SEG464 [264] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG339 [175] phi (byte*) form_set_screen::line#2 = (const byte*) menu::SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 - lda #form_set_screen::@1#1] -- pbuz1=pbuc1 + lda #menu.SCREEN + lda #>screen sta line+1 jmp b1 - //SEG340 [175] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG466 [264] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] b1_from_b1: - //SEG341 [175] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy - //SEG342 [175] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy + //SEG467 [264] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy + //SEG468 [264] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy jmp b1 - //SEG343 form_set_screen::@1 + //SEG469 form_set_screen::@1 b1: - //SEG344 [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 ] ) -- vbuaa=_lo_pbuz1 + //SEG470 [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 ] ) -- vbuaa=_lo_pbuz1 lda line - //SEG345 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG471 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_lo,x - //SEG346 [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 ] ) -- vbuaa=_hi_pbuz1 + //SEG472 [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 ] ) -- vbuaa=_hi_pbuz1 lda line+1 - //SEG347 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG473 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_hi,x - //SEG348 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG474 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line clc adc #$28 @@ -10653,110 +14280,110 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG349 [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 ] ) -- vbuxx=_inc_vbuxx + //SEG475 [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 ] ) -- vbuxx=_inc_vbuxx inx - //SEG350 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG476 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$19 bne b1_from_b1 jmp breturn - //SEG351 form_set_screen::@return + //SEG477 form_set_screen::@return breturn: - //SEG352 [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 ] ) + //SEG478 [272] return [ ] ( main:2::form_init:10::form_set_screen:249 [ ] ) rts } -//SEG353 print_str_lines +//SEG479 print_str_lines print_str_lines: { .label str = 7 - //SEG354 [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 ] ) -- pbuz1=pbuz2 + //SEG480 [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 ] ) -- pbuz1=pbuz2 lda print_set_screen.screen sta print_char_cursor lda print_set_screen.screen+1 sta print_char_cursor+1 - //SEG355 [186] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] + //SEG481 [275] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] b1_from_print_str_lines: b1_from_b9: - //SEG356 [186] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG357 [186] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#64 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG358 [186] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy + //SEG482 [275] phi (byte*) print_line_cursor#16 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy + //SEG483 [275] phi (byte*) print_char_cursor#18 = (byte*~) print_char_cursor#60 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy + //SEG484 [275] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy jmp b1 - //SEG359 print_str_lines::@1 + //SEG485 print_str_lines::@1 b1: - //SEG360 [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 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG486 [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 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4_from_b1 jmp breturn - //SEG361 print_str_lines::@return + //SEG487 print_str_lines::@return breturn: - //SEG362 [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 ] ) + //SEG488 [277] return [ ] ( main:2::form_init:10::print_str_lines:243 [ ] main:2::form_init:10::print_str_lines:247 [ ] ) rts - //SEG363 [189] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG489 [278] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] b4_from_b1: b4_from_b5: - //SEG364 [189] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG365 [189] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG490 [278] phi (byte*) print_char_cursor#16 = (byte*) print_char_cursor#18 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy + //SEG491 [278] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy jmp b4 - //SEG366 print_str_lines::@4 + //SEG492 print_str_lines::@4 b4: - //SEG367 [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 ] ) -- vbuaa=_deref_pbuz1 + //SEG493 [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 ] ) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG368 [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 ] ) -- pbuz1=_inc_pbuz1 + //SEG494 [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 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG369 [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 ] ) -- vbuaa_eq_vbuc1_then_la1 + //SEG495 [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 ] ) -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b5_from_b4 jmp b8 - //SEG370 print_str_lines::@8 + //SEG496 print_str_lines::@8 b8: - //SEG371 [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 ] ) -- _deref_pbuz1=vbuaa + //SEG497 [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 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG372 [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 ] ) -- pbuz1=_inc_pbuz1 + //SEG498 [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 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG373 [195] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG499 [284] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] b5_from_b4: b5_from_b8: - //SEG374 [195] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG500 [284] phi (byte*) print_char_cursor#31 = (byte*) print_char_cursor#16 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy jmp b5 - //SEG375 print_str_lines::@5 + //SEG501 print_str_lines::@5 b5: - //SEG376 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG502 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b4_from_b5 - //SEG377 [197] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG503 [286] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] b9_from_b5: jmp b9 - //SEG378 print_str_lines::@9 + //SEG504 print_str_lines::@9 b9: - //SEG379 [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 ] ) - //SEG380 [200] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG505 [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 ] ) + //SEG506 [289] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] print_ln_from_b9: jsr print_ln - //SEG381 [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 ] ) -- pbuz1=pbuz2 + //SEG507 [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 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 jmp b1_from_b9 } -//SEG382 print_ln +//SEG508 print_ln print_ln: { - //SEG383 [201] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG509 [290] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] b1_from_print_ln: b1_from_b1: - //SEG384 [201] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG510 [290] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#16 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy jmp b1 - //SEG385 print_ln::@1 + //SEG511 print_ln::@1 b1: - //SEG386 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG512 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -10764,7 +14391,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG387 [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 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG513 [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 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1_from_b1 @@ -10774,64 +14401,204 @@ print_ln: { bcc b1_from_b1 !: jmp breturn - //SEG388 print_ln::@return + //SEG514 print_ln::@return breturn: - //SEG389 [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 ] ) + //SEG515 [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 ] ) rts } -//SEG390 print_cls -print_cls: { - .label _0 = 9 - .label sc = 7 - //SEG391 [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 ] ) -- pbuz1=pbuz2 - lda print_set_screen.screen - sta sc - lda print_set_screen.screen+1 - sta sc+1 - //SEG392 [206] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] - b1_from_print_cls: - b1_from_b1: - //SEG393 [206] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy - jmp b1 - //SEG394 print_cls::@1 - b1: - //SEG395 [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 ] ) -- _deref_pbuz1=vbuc1 - lda #' ' - ldy #0 - sta (sc),y - //SEG396 [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 ] ) -- pbuz1=_inc_pbuz1 - inc sc - bne !+ - inc sc+1 - !: - //SEG397 [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 ] ) -- pbuz1=pbuz2_plus_vwuc1 - lda print_set_screen.screen - clc - adc #<$3e8 - sta _0 - lda print_set_screen.screen+1 - adc #>$3e8 - sta _0+1 - //SEG398 [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 ] ) -- pbuz1_neq_pbuz2_then_la1 - lda sc+1 - cmp _0+1 - bne b1_from_b1 - lda sc - cmp _0 - bne b1_from_b1 - jmp breturn - //SEG399 print_cls::@return - breturn: - //SEG400 [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 ] ) - rts -} -//SEG401 print_set_screen +//SEG516 print_set_screen print_set_screen: { .label screen = $b jmp breturn - //SEG402 print_set_screen::@return + //SEG517 print_set_screen::@return breturn: - //SEG403 [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 ] ) + //SEG518 [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 ] ) + rts +} +//SEG519 gfx_init +gfx_init: { + //SEG520 [297] call gfx_init_plane_8bppchunky param-assignment [ ] ( main:2::gfx_init:8 [ ] ) + //SEG521 [299] phi from gfx_init to gfx_init_plane_8bppchunky [phi:gfx_init->gfx_init_plane_8bppchunky] + gfx_init_plane_8bppchunky_from_gfx_init: + jsr gfx_init_plane_8bppchunky + jmp breturn + //SEG522 gfx_init::@return + breturn: + //SEG523 [298] return [ ] ( main:2::gfx_init:8 [ ] ) + rts +} +//SEG524 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky: { + .label _6 = $b + .label gfxb = 9 + .label x = 7 + .label y = 2 + //SEG525 [300] call dtvSetCpuBankSegment1 param-assignment [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] ) + //SEG526 [319] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + dtvSetCpuBankSegment1_from_gfx_init_plane_8bppchunky: + //SEG527 [319] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + lda #PLANE_8BPP_CHUNKY/$4000 + jsr dtvSetCpuBankSegment1 + //SEG528 [301] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + b1_from_gfx_init_plane_8bppchunky: + //SEG529 [301] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 + ldx #PLANE_8BPP_CHUNKY/$4000+1 + //SEG530 [301] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 + lda #0 + sta y + //SEG531 [301] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + lda #<$4000 + sta gfxb + lda #>$4000 + sta gfxb+1 + jmp b1 + //SEG532 [301] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + b1_from_b5: + //SEG533 [301] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy + //SEG534 [301] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy + //SEG535 [301] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy + jmp b1 + //SEG536 gfx_init_plane_8bppchunky::@1 + b1: + //SEG537 [302] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + b2_from_b1: + //SEG538 [302] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG539 [302] phi (word) gfx_init_plane_8bppchunky::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vbuc1 + lda #<0 + sta x + lda #>0 + sta x+1 + //SEG540 [302] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy + jmp b2 + //SEG541 [302] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + b2_from_b3: + //SEG542 [302] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG543 [302] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy + //SEG544 [302] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy + jmp b2 + //SEG545 gfx_init_plane_8bppchunky::@2 + b2: + //SEG546 [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 ] ) -- pbuz1_neq_vwuc1_then_la1 + lda gfxb+1 + cmp #>$8000 + bne b3_from_b2 + lda gfxb + cmp #<$8000 + bne b3_from_b2 + jmp b4 + //SEG547 gfx_init_plane_8bppchunky::@4 + b4: + //SEG548 [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 ] ) -- vbuaa=vbuxx + txa + //SEG549 [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 ] ) + //SEG550 [319] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + dtvSetCpuBankSegment1_from_b4: + //SEG551 [319] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + jsr dtvSetCpuBankSegment1 + jmp b8 + //SEG552 gfx_init_plane_8bppchunky::@8 + b8: + //SEG553 [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 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG554 [307] phi from gfx_init_plane_8bppchunky::@8 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3] + b3_from_b8: + //SEG555 [307] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG556 [307] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + lda #<$4000 + sta gfxb + lda #>$4000 + sta gfxb+1 + jmp b3 + //SEG557 [307] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + b3_from_b2: + //SEG558 [307] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG559 [307] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy + jmp b3 + //SEG560 gfx_init_plane_8bppchunky::@3 + b3: + //SEG561 [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 ] ) -- vwuz1=vwuz2_plus_vbuz3 + lda y + clc + adc x + sta _6 + lda #0 + adc x+1 + sta _6+1 + //SEG562 [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 ] ) -- vbuaa=_byte_vwuz1 + lda _6 + //SEG563 [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 ] ) -- _deref_pbuz1=vbuaa + ldy #0 + sta (gfxb),y + //SEG564 [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 ] ) -- pbuz1=_inc_pbuz1 + inc gfxb + bne !+ + inc gfxb+1 + !: + //SEG565 [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 ] ) -- vwuz1=_inc_vwuz1 + inc x + bne !+ + inc x+1 + !: + //SEG566 [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 ] ) -- vwuz1_neq_vwuc1_then_la1 + lda x+1 + cmp #>$140 + bne b2_from_b3 + lda x + cmp #<$140 + bne b2_from_b3 + jmp b5 + //SEG567 gfx_init_plane_8bppchunky::@5 + b5: + //SEG568 [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 ] ) -- vbuz1=_inc_vbuz1 + inc y + //SEG569 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda y + cmp #$c8 + bne b1_from_b5 + //SEG570 [316] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + b6_from_b5: + jmp b6 + //SEG571 gfx_init_plane_8bppchunky::@6 + b6: + //SEG572 [317] call dtvSetCpuBankSegment1 param-assignment [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] ) + //SEG573 [319] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + dtvSetCpuBankSegment1_from_b6: + //SEG574 [319] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + lda #$4000/$4000 + jsr dtvSetCpuBankSegment1 + jmp breturn + //SEG575 gfx_init_plane_8bppchunky::@return + breturn: + //SEG576 [318] return [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] ) + rts +} +//SEG577 dtvSetCpuBankSegment1 +dtvSetCpuBankSegment1: { + .label cpuBank = $ff + //SEG578 [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 [ ] ) -- _deref_pbuc1=vbuaa + sta cpuBank + //SEG579 asm { .byte$32,$dd lda$ff .byte$32,$00 } + .byte $32, $dd + lda $ff + .byte $32, $00 + jmp breturn + //SEG580 dtvSetCpuBankSegment1::@return + breturn: + //SEG581 [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 [ ] ) + rts +} +//SEG582 keyboard_init +keyboard_init: { + //SEG583 [323] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:2::keyboard_init:6 [ ] ) -- _deref_pbuc1=vbuc2 + lda #$ff + sta CIA1_PORT_A_DDR + //SEG584 [324] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:6 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta CIA1_PORT_B_DDR + jmp breturn + //SEG585 keyboard_init::@return + breturn: + //SEG586 [325] return [ ] ( main:2::keyboard_init:6 [ ] ) rts } DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a @@ -10840,51 +14607,64 @@ 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 @"+"@" ASSEMBLER OPTIMIZATIONS -Removing instruction jmp b28 +Removing instruction jmp b32 Removing instruction jmp bend -Removing instruction jmp b1 -Removing instruction jmp breturn -Removing instruction jmp b2 -Removing instruction jmp b1 -Removing instruction jmp b8 -Removing instruction jmp b15 -Removing instruction jmp b16 -Removing instruction jmp b17 -Removing instruction jmp b18 Removing instruction jmp b19 Removing instruction jmp b20 -Removing instruction jmp b21 -Removing instruction jmp b2 +Removing instruction jmp b1 Removing instruction jmp breturn +Removing instruction jmp b6 Removing instruction jmp b7 -Removing instruction jmp b28 +Removing instruction jmp b9 +Removing instruction jmp b23 +Removing instruction jmp b11 +Removing instruction jmp b1 +Removing instruction jmp b12 +Removing instruction jmp b2 +Removing instruction jmp b13 +Removing instruction jmp b3 +Removing instruction jmp b14 +Removing instruction jmp b4 +Removing instruction jmp b15 +Removing instruction jmp b5 +Removing instruction jmp b16 +Removing instruction jmp b6 +Removing instruction jmp b17 +Removing instruction jmp b7 +Removing instruction jmp b18 +Removing instruction jmp b8 +Removing instruction jmp b19 +Removing instruction jmp b9 +Removing instruction jmp b10 +Removing instruction jmp breturn +Removing instruction jmp b29 Removing instruction jmp b1 Removing instruction jmp b15 Removing instruction jmp b3 -Removing instruction jmp b29 Removing instruction jmp b30 +Removing instruction jmp b31 Removing instruction jmp b17 Removing instruction jmp b18 Removing instruction jmp b7 Removing instruction jmp breturn -Removing instruction jmp b32 Removing instruction jmp b33 +Removing instruction jmp b34 Removing instruction jmp b23 Removing instruction jmp b24 Removing instruction jmp b25 Removing instruction jmp b12 Removing instruction jmp b27 -Removing instruction jmp b31 +Removing instruction jmp b32 Removing instruction jmp breturn Removing instruction jmp b1 Removing instruction jmp b25 @@ -10912,6 +14692,15 @@ Removing instruction jmp breturn Removing instruction jmp breturn Removing instruction jmp breturn Removing instruction jmp b1 +Removing instruction jmp b2 +Removing instruction jmp breturn +Removing instruction jmp b1 +Removing instruction jmp b2 +Removing instruction jmp b3 +Removing instruction jmp b4 +Removing instruction jmp b5 +Removing instruction jmp breturn +Removing instruction jmp b1 Removing instruction jmp b3 Removing instruction jmp breturn Removing instruction jmp b1 @@ -10924,27 +14713,41 @@ Removing instruction jmp b5 Removing instruction jmp b9 Removing instruction jmp b1 Removing instruction jmp breturn +Removing instruction jmp breturn +Removing instruction jmp breturn Removing instruction jmp b1 +Removing instruction jmp b2 +Removing instruction jmp b4 +Removing instruction jmp b8 +Removing instruction jmp b3 +Removing instruction jmp b5 +Removing instruction jmp b6 +Removing instruction jmp breturn Removing instruction jmp breturn Removing instruction jmp breturn Succesful ASM optimization Pass5NextJumpElimination Removing instruction lda #0 -Removing instruction lda #0 -Removing instruction lda #0 -Removing instruction lda #0 +Removing instruction lda _35+1 +Removing instruction lda _48+1 Removing instruction ldy #0 Removing instruction ldy #0 Removing instruction ldx form_field_idx Removing instruction ldy #0 Removing instruction lda #0 +Removing instruction lda #0 +Removing instruction lda #>0 Succesful ASM optimization Pass5UnnecesaryLoadElimination Replacing label b2_from_b1 with b2 -Replacing label b1_from_b1 with b1 -Replacing label b2_from_b7 with b2 -Replacing label b31_from_b28 with b31 -Replacing label b32_from_b18 with b32 -Replacing label b33_from_b5 with b33 -Replacing label b7_from_b33 with b32 +Replacing label b3_from_b2 with b3 +Replacing label b4_from_b3 with b4 +Replacing label b5_from_b4 with b5 +Replacing label b6_from_b5 with b6 +Replacing label b8_from_b7 with b8 +Replacing label b10_from_b10 with b10 +Replacing label b32_from_b29 with b32 +Replacing label b33_from_b18 with b33 +Replacing label b34_from_b5 with b34 +Replacing label b7_from_b34 with b33 Replacing label breturn_from_b4 with breturn Replacing label breturn_from_b12 with breturn Replacing label b3_from_b2 with b3 @@ -10957,6 +14760,7 @@ Replacing label b11_from_b28 with b11 Replacing label breturn_from_b29 with breturn Replacing label b4_from_b6 with b4 Replacing label b8_from_b2 with b8 +Replacing label b1_from_b1 with b1 Replacing label b1_from_b3 with b1 Replacing label b1_from_b1 with b1 Replacing label b4_from_b1 with b4 @@ -10965,41 +14769,53 @@ Replacing label b4_from_b5 with b4 Replacing label b1_from_b9 with b1 Replacing label b1_from_b1 with b1 Replacing label b1_from_b1 with b1 -Replacing label b1_from_b1 with b1 -Replacing label b1_from_b1 with b1 +Replacing label b3_from_b2 with b3 +Replacing label b3_from_b2 with b3 +Replacing label b2_from_b3 with b2 +Replacing label b2_from_b3 with b2 +Replacing label b1_from_b5 with b1 Removing instruction bbegin: -Removing instruction b28_from_bbegin: -Removing instruction bend_from_b28: -Removing instruction b2_from_b1: -Removing instruction b1_from_b1: -Removing instruction b15_from_b8: -Removing instruction b16_from_b15: -Removing instruction print_str_lines_from_b16: -Removing instruction b17_from_b16: -Removing instruction print_set_screen_from_b17: -Removing instruction b18_from_b17: -Removing instruction b19_from_b18: -Removing instruction print_str_lines_from_b19: +Removing instruction b32_from_bbegin: +Removing instruction bend_from_b32: +Removing instruction b19_from_main: +Removing instruction gfx_init_from_b19: Removing instruction b20_from_b19: -Removing instruction form_set_screen_from_b20: -Removing instruction b21_from_b20: -Removing instruction form_render_values_from_b21: -Removing instruction b2_from_b21: -Removing instruction b2_from_b7: -Removing instruction b7_from_b5: +Removing instruction form_init_from_b20: +Removing instruction b6_from_b4: +Removing instruction b9_from_b7: +Removing instruction b23_from_b9: +Removing instruction b11_from_gfx_mode: +Removing instruction b1_from_b11: +Removing instruction b2_from_b1: +Removing instruction b2_from_b12: +Removing instruction b3_from_b13: +Removing instruction b3_from_b2: +Removing instruction b4_from_b14: +Removing instruction b4_from_b3: +Removing instruction b5_from_b15: +Removing instruction b5_from_b4: +Removing instruction b6_from_b16: +Removing instruction b6_from_b5: +Removing instruction b17_from_b6: +Removing instruction b7_from_b17: +Removing instruction b8_from_b18: +Removing instruction b8_from_b7: +Removing instruction b19_from_b8: +Removing instruction b9_from_b19: +Removing instruction b10_from_b10: Removing instruction b3_from_b15: Removing instruction b3_from_b2: Removing instruction keyboard_event_scan_from_b3: -Removing instruction b29_from_b3: +Removing instruction b30_from_b3: Removing instruction breturn_from_b7: Removing instruction breturn_from_b12: Removing instruction breturn_from_b4: -Removing instruction b32_from_b18: -Removing instruction b7_from_b32: +Removing instruction b33_from_b18: Removing instruction b7_from_b33: -Removing instruction b33_from_b5: -Removing instruction b31_from_b28: -Removing instruction b1_from_b31: +Removing instruction b7_from_b34: +Removing instruction b34_from_b5: +Removing instruction b32_from_b29: +Removing instruction b1_from_b32: Removing instruction b1_from_b8: Removing instruction b3_from_b4: Removing instruction b4_from_b14: @@ -11021,6 +14837,17 @@ Removing instruction b11_from_b28: Removing instruction keyboard_event_pressed_from_b11: Removing instruction breturn_from_b24: Removing instruction breturn_from_b29: +Removing instruction b1_from_b1: +Removing instruction b1_from_form_init: +Removing instruction print_str_lines_from_b1: +Removing instruction b2_from_b1: +Removing instruction print_set_screen_from_b2: +Removing instruction b3_from_b2: +Removing instruction print_str_lines_from_b3: +Removing instruction b4_from_b3: +Removing instruction form_set_screen_from_b4: +Removing instruction b5_from_b4: +Removing instruction form_render_values_from_b5: Removing instruction b1_from_b3: Removing instruction b1_from_b1: Removing instruction b1_from_print_str_lines: @@ -11033,32 +14860,40 @@ Removing instruction b9_from_b5: Removing instruction print_ln_from_b9: Removing instruction b1_from_print_ln: Removing instruction b1_from_b1: -Removing instruction b1_from_print_cls: -Removing instruction b1_from_b1: +Removing instruction b1_from_b5: +Removing instruction b2_from_b1: +Removing instruction b2_from_b3: +Removing instruction b3_from_b2: +Removing instruction b6_from_b5: +Removing instruction dtvSetCpuBankSegment1_from_b6: Succesful ASM optimization Pass5RedundantLabelElimination -Removing instruction b28: +Removing instruction b32: Removing instruction bend: -Removing instruction b1_from_main: +Removing instruction b19: +Removing instruction b20: +Removing instruction b1_from_b20: Removing instruction breturn: -Removing instruction b1_from_b2: -Removing instruction b1_from_menu: -Removing instruction b8: -Removing instruction print_set_screen_from_b8: +Removing instruction b6: +Removing instruction b9: +Removing instruction b23: +Removing instruction b1_from_b23: +Removing instruction b11: +Removing instruction b12: +Removing instruction b13: +Removing instruction b14: Removing instruction b15: Removing instruction b16: Removing instruction b17: Removing instruction b18: Removing instruction b19: -Removing instruction b20: -Removing instruction b21: +Removing instruction b10_from_b9: Removing instruction breturn: -Removing instruction b7: Removing instruction form_field_ptr_from_form_control: -Removing instruction b28: -Removing instruction b1_from_b28: -Removing instruction b15: Removing instruction b29: +Removing instruction b1_from_b29: +Removing instruction b15: Removing instruction b30: +Removing instruction b31: Removing instruction b17: Removing instruction b18: Removing instruction b7_from_b18: @@ -11088,6 +14923,16 @@ Removing instruction b24: Removing instruction breturn: Removing instruction breturn: Removing instruction breturn: +Removing instruction b1_from_form_mode: +Removing instruction b2: +Removing instruction breturn: +Removing instruction print_set_screen_from_form_init: +Removing instruction b1: +Removing instruction b2: +Removing instruction b3: +Removing instruction b4: +Removing instruction b5: +Removing instruction breturn: Removing instruction b1_from_form_render_values: Removing instruction form_field_ptr_from_b1: Removing instruction b3: @@ -11099,69 +14944,102 @@ Removing instruction b8: Removing instruction b9: Removing instruction breturn: Removing instruction breturn: +Removing instruction gfx_init_plane_8bppchunky_from_gfx_init: +Removing instruction breturn: +Removing instruction dtvSetCpuBankSegment1_from_gfx_init_plane_8bppchunky: +Removing instruction b1_from_gfx_init_plane_8bppchunky: +Removing instruction b4: +Removing instruction dtvSetCpuBankSegment1_from_b4: +Removing instruction b8: +Removing instruction b3_from_b8: +Removing instruction b5: +Removing instruction b6: +Removing instruction breturn: +Removing instruction breturn: Removing instruction breturn: Succesful ASM optimization Pass5UnusedLabelElimination -Skipping double jump to b2 in jmp b1 -Skipping double jump to b5 in jmp b2 -Skipping double jump to b1 in bpl b31 -Skipping double jump to b7 in bne b32 -Skipping double jump to b32 in bne b33 -Skipping double jump to b7 in jmp b32 +Skipping double jump to b4 in jmp b1 +Skipping double jump to b1 in bpl b32 +Skipping double jump to b7 in bne b33 +Skipping double jump to b33 in bne b34 +Skipping double jump to b7 in jmp b33 Succesful ASM optimization Pass5DoubleJumpElimination Removing unreachable instruction rts -Removing unreachable instruction rts Succesful ASM optimization Pass5UnreachableCodeElimination +Relabelling long label b1_from_gfx_mode to b11 +Relabelling long label b7_from_b6 to b12 +Relabelling long label b9_from_b8 to b13 Relabelling long label b9_from_b26 to b5 Succesful ASM optimization Pass5RelabelLongLabels -Removing instruction jmp b2 -Removing instruction jmp b1 -Removing instruction jmp b5 +Removing instruction jmp b4 +Removing instruction jmp b10 Removing instruction jmp breturn Removing instruction jmp b1 Removing instruction jmp b3 Removing instruction jmp b1 Removing instruction jmp b1 +Removing instruction jmp b1 +Removing instruction jmp b1 +Removing instruction jmp b2 +Removing instruction jmp b3 Succesful ASM optimization Pass5NextJumpElimination Replacing instruction lda #0 with TYA Removing instruction ldy form_field_idx Removing instruction ldy form_field_idx Succesful ASM optimization Pass5UnnecesaryLoadElimination Removing instruction b1: -Removing instruction b2: Succesful ASM optimization Pass5RedundantLabelElimination -Removing instruction b33: -Removing instruction b31: +Removing instruction b34: +Removing instruction b32: Succesful ASM optimization Pass5UnusedLabelElimination -Skipping double jump to b7 in bne b32 +Skipping double jump to b7 in bne b33 Succesful ASM optimization Pass5DoubleJumpElimination Removing unreachable instruction jmp b7 Removing unreachable instruction jmp b1 Succesful ASM optimization Pass5UnreachableCodeElimination -Removing instruction b32: +Removing instruction b33: Succesful ASM optimization Pass5UnusedLabelElimination Removing unreachable instruction jmp b7 Succesful ASM optimization Pass5UnreachableCodeElimination -Fixing long branch [137] bpl b2 to bmi -Fixing long branch [246] beq b2 to bne +Fixing long branch [362] bpl b2 to bmi +Fixing long branch [471] beq b2 to bne FINAL SYMBOL TABLE -(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 @@ -11176,12 +15054,52 @@ FINAL SYMBOL TABLE (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 @@ -11204,12 +15122,12 @@ FINAL SYMBOL TABLE (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 @@ -11218,10 +15136,45 @@ FINAL SYMBOL TABLE (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 @@ -11239,13 +15192,13 @@ FINAL SYMBOL TABLE (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 @@ -11254,31 +15207,47 @@ FINAL SYMBOL TABLE (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 @@ -11287,38 +15256,179 @@ FINAL SYMBOL TABLE (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 @@ -11331,7 +15441,7 @@ FINAL SYMBOL TABLE (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 @@ -11339,15 +15449,15 @@ FINAL SYMBOL TABLE (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 @@ -11373,104 +15483,80 @@ FINAL SYMBOL TABLE (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 @@ -11478,7 +15564,7 @@ FINAL SYMBOL TABLE (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 @@ -11487,27 +15573,61 @@ FINAL SYMBOL TABLE (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 ] @@ -11517,7 +15637,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 ] @@ -11531,7 +15651,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 ] @@ -11540,10 +15659,11 @@ 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 ] FINAL ASSEMBLER -Score: 1082592 +Score: 124168 //SEG0 Basic Upstart .pc = $801 "Basic" @@ -11553,21 +15673,48 @@ Score: 1082592 .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 @@ -11582,21 +15729,53 @@ Score: 1082592 .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 //SEG2 @begin -//SEG3 [1] phi from @begin to @28 [phi:@begin->@28] -//SEG4 @28 +//SEG3 [1] phi from @begin to @32 [phi:@begin->@32] +//SEG4 @32 //SEG5 [2] call main param-assignment [ ] ( ) jsr main -//SEG6 [3] phi from @28 to @end [phi:@28->@end] +//SEG6 [3] phi from @32 to @end [phi:@32->@end] //SEG7 @end //SEG8 main main: { @@ -11605,188 +15784,428 @@ main: { //SEG10 [5] *((const byte*) DTV_FEATURE#0) ← (const byte) DTV_FEATURE_ENABLE#0 [ ] ( main:2 [ ] ) -- _deref_pbuc1=vbuc2 lda #DTV_FEATURE_ENABLE sta DTV_FEATURE - //SEG11 [6] phi from main to main::@1 [phi:main->main::@1] - //SEG12 [6] phi (byte) form_field_idx#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#0] -- vbuz1=vbuc1 + //SEG11 [6] call keyboard_init param-assignment [ ] ( main:2 [ ] ) + jsr keyboard_init + //SEG12 [7] phi from main to main::@19 [phi:main->main::@19] + //SEG13 main::@19 + //SEG14 [8] call gfx_init param-assignment [ ] ( main:2 [ ] ) + //SEG15 [296] phi from main::@19 to gfx_init [phi:main::@19->gfx_init] + jsr gfx_init + //SEG16 [9] phi from main::@19 to main::@20 [phi:main::@19->main::@20] + //SEG17 main::@20 + //SEG18 [10] call form_init param-assignment [ ] ( main:2 [ ] ) + //SEG19 [240] phi from main::@20 to form_init [phi:main::@20->form_init] + jsr form_init + //SEG20 [11] phi from main::@20 to main::@1 [phi:main::@20->main::@1] + //SEG21 [11] phi (byte) form_field_idx#1 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@20->main::@1#0] -- vbuz1=vbuc1 lda #0 sta form_field_idx - //SEG13 [6] phi (byte) keyboard_modifiers#20 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#1] -- vbuz1=vbuc1 - sta keyboard_modifiers - //SEG14 [6] phi (byte) keyboard_events_size#22 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main->main::@1#2] -- vbuz1=vbuc1 + //SEG22 [11] phi (byte) keyboard_events_size#20 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:main::@20->main::@1#1] -- vbuz1=vbuc1 sta keyboard_events_size - //SEG15 [6] phi (signed byte) form_cursor_count#1 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:main->main::@1#3] -- vbsz1=vbuc1 + //SEG23 [11] phi (signed byte) form_cursor_count#1 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:main::@20->main::@1#2] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count - //SEG16 main::@1 - //SEG17 [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 ] ) -- true_then_la1 - //SEG18 main::@return - //SEG19 [8] return [ ] ( main:2 [ ] ) - //SEG20 [9] phi from main::@1 to main::@2 [phi:main::@1->main::@2] - //SEG21 main::@2 - b2: - //SEG22 [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 ] ) - jsr menu - //SEG23 [6] phi from main::@2 to main::@1 [phi:main::@2->main::@1] - //SEG24 [6] phi (byte) form_field_idx#1 = (byte) form_field_idx#14 [phi:main::@2->main::@1#0] -- register_copy - //SEG25 [6] phi (byte) keyboard_modifiers#20 = (byte) keyboard_modifiers#10 [phi:main::@2->main::@1#1] -- register_copy - //SEG26 [6] phi (byte) keyboard_events_size#22 = (byte) keyboard_events_size#24 [phi:main::@2->main::@1#2] -- register_copy - //SEG27 [6] phi (signed byte) form_cursor_count#1 = (signed byte) form_cursor_count#13 [phi:main::@2->main::@1#3] -- register_copy - jmp b2 -} -//SEG28 menu -menu: { - .label SCREEN = $8000 - .label CHARSET = $9800 - //SEG29 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #($ffffffff&CHARSET)/$10000 - sta DTV_GRAPHICS_VIC_BANK - //SEG30 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #DTV_COLOR_BANK_DEFAULT/$400 - sta DTV_COLOR_BANK_LO - //SEG31 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta DTV_COLOR_BANK_HI - //SEG32 [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 ] ) -- _deref_pbuc1=vbuc2 - sta DTV_CONTROL - //SEG33 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #3 - sta CIA2_PORT_A_DDR - //SEG34 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #3^CHARSET/$4000 - sta CIA2_PORT_A - //SEG35 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #VIC_DEN|VIC_RSEL|3 - sta VIC_CONTROL - //SEG36 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #VIC_CSEL - sta VIC_CONTROL2 - //SEG37 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #(SCREEN&$3fff)/$40|(CHARSET&$3fff)/$400 - sta VIC_MEMORY - //SEG38 [20] phi from menu to menu::@1 [phi:menu->menu::@1] - //SEG39 [20] phi (byte) menu::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:menu->menu::@1#0] -- vbuxx=vbuc1 - ldx #0 - //SEG40 [20] phi from menu::@1 to menu::@1 [phi:menu::@1->menu::@1] - //SEG41 [20] phi (byte) menu::i#2 = (byte) menu::i#1 [phi:menu::@1->menu::@1#0] -- register_copy - //SEG42 menu::@1 - b1: - //SEG43 [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 ] ) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx - lda DTV_PALETTE_DEFAULT,x - sta DTV_PALETTE,x - //SEG44 [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 ] ) -- vbuxx=_inc_vbuxx - inx - //SEG45 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 - cpx #$10 - bne b1 - //SEG46 menu::@8 - //SEG47 [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 ] ) -- _deref_pbuc1=vbuc2 - lda #0 - sta BGCOL - //SEG48 [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 ] ) -- _deref_pbuc1=vbuc2 - sta BORDERCOL - //SEG49 [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 ] ) - //SEG50 [212] phi from menu::@8 to print_set_screen [phi:menu::@8->print_set_screen] - //SEG51 [212] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0 [phi:menu::@8->print_set_screen#0] -- pbuz1=pbuc1 - lda #COLS - sta print_set_screen.screen+1 - jsr print_set_screen - //SEG52 [27] phi from menu::@8 to menu::@15 [phi:menu::@8->menu::@15] - //SEG53 menu::@15 - //SEG54 [28] call print_cls param-assignment [ form_cursor_count#1 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 ] ) - jsr print_cls - //SEG55 [29] phi from menu::@15 to menu::@16 [phi:menu::@15->menu::@16] - //SEG56 menu::@16 - //SEG57 [30] call print_str_lines param-assignment [ form_cursor_count#1 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 ] ) - //SEG58 [184] phi from menu::@16 to print_str_lines [phi:menu::@16->print_str_lines] - //SEG59 [184] phi (byte*) print_str_lines::str#5 = (const string) MENU_COLS#0 [phi:menu::@16->print_str_lines#0] -- pbuz1=pbuc1 - lda #MENU_COLS - sta print_str_lines.str+1 - jsr print_str_lines - //SEG60 [31] phi from menu::@16 to menu::@17 [phi:menu::@16->menu::@17] - //SEG61 menu::@17 - //SEG62 [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 ] ) - //SEG63 [212] phi from menu::@17 to print_set_screen [phi:menu::@17->print_set_screen] - //SEG64 [212] phi (byte*) print_set_screen::screen#2 = (const byte*) menu::SCREEN#0 [phi:menu::@17->print_set_screen#0] -- pbuz1=pbuc1 - lda #SCREEN - sta print_set_screen.screen+1 - jsr print_set_screen - //SEG65 [33] phi from menu::@17 to menu::@18 [phi:menu::@17->menu::@18] - //SEG66 menu::@18 - //SEG67 [34] call print_cls param-assignment [ form_cursor_count#1 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 ] ) - jsr print_cls - //SEG68 [35] phi from menu::@18 to menu::@19 [phi:menu::@18->menu::@19] - //SEG69 menu::@19 - //SEG70 [36] call print_str_lines param-assignment [ form_cursor_count#1 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 ] ) - //SEG71 [184] phi from menu::@19 to print_str_lines [phi:menu::@19->print_str_lines] - //SEG72 [184] phi (byte*) print_str_lines::str#5 = (const string) MENU_TEXT#0 [phi:menu::@19->print_str_lines#0] -- pbuz1=pbuc1 - lda #MENU_TEXT - sta print_str_lines.str+1 - jsr print_str_lines - //SEG73 [37] phi from menu::@19 to menu::@20 [phi:menu::@19->menu::@20] - //SEG74 menu::@20 - //SEG75 [38] call form_set_screen param-assignment [ form_cursor_count#1 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 ] ) - //SEG76 [174] phi from menu::@20 to form_set_screen [phi:menu::@20->form_set_screen] - jsr form_set_screen - //SEG77 [39] phi from menu::@20 to menu::@21 [phi:menu::@20->menu::@21] - //SEG78 menu::@21 - //SEG79 [40] call form_render_values param-assignment [ form_cursor_count#1 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 ] ) - //SEG80 [164] phi from menu::@21 to form_render_values [phi:menu::@21->form_render_values] - jsr form_render_values - //SEG81 [41] phi from menu::@21 menu::@7 to menu::@2 [phi:menu::@21/menu::@7->menu::@2] - //SEG82 [41] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:menu::@21/menu::@7->menu::@2#0] -- register_copy - //SEG83 [41] phi (byte) keyboard_modifiers#10 = (byte) keyboard_modifiers#20 [phi:menu::@21/menu::@7->menu::@2#1] -- register_copy - //SEG84 [41] phi (byte) keyboard_events_size#24 = (byte) keyboard_events_size#22 [phi:menu::@21/menu::@7->menu::@2#2] -- register_copy - //SEG85 [41] phi (signed byte) form_cursor_count#13 = (signed byte) form_cursor_count#1 [phi:menu::@21/menu::@7->menu::@2#3] -- register_copy - //SEG86 menu::@2 - //SEG87 [42] if(true) goto menu::@5 [ form_cursor_count#13 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 ] ) -- true_then_la1 - //SEG88 menu::@return - //SEG89 [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 ] ) - //SEG90 menu::@5 - b5: - //SEG91 [44] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto menu::@5 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ( main:2::menu:10 [ form_cursor_count#13 keyboard_events_size#24 form_field_idx#14 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 + //SEG24 main::@1 + //SEG25 [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 ] ) -- true_then_la1 + //SEG26 main::@return + //SEG27 [13] return [ ] ( main:2 [ ] ) + //SEG28 main::@4 + b4: + //SEG29 [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 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 + lda RASTER + cmp #$30+8*$10 + bne b4 + //SEG30 [15] phi from main::@4 to main::@6 [phi:main::@4->main::@6] + //SEG31 main::@6 + //SEG32 [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 ] ) + jsr form_mode + //SEG33 main::@7 + b7: + //SEG34 [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 ] ) -- _deref_pbuc1_neq_vbuc2_then_la1 lda RASTER cmp #$ff - bne b5 - //SEG92 [45] phi from menu::@5 to menu::@7 [phi:menu::@5->menu::@7] - //SEG93 menu::@7 - //SEG94 [46] call form_control param-assignment [ form_cursor_count#16 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 ] ) + bne b7 + //SEG35 [18] phi from main::@7 to main::@9 [phi:main::@7->main::@9] + //SEG36 main::@9 + //SEG37 [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 ] ) jsr form_control - jmp b5 + //SEG38 [20] phi from main::@9 to main::@23 [phi:main::@9->main::@23] + //SEG39 main::@23 + //SEG40 [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 ] ) + jsr gfx_mode + //SEG41 [11] phi from main::@23 to main::@1 [phi:main::@23->main::@1] + //SEG42 [11] phi (byte) form_field_idx#1 = (byte) form_field_idx#14 [phi:main::@23->main::@1#0] -- register_copy + //SEG43 [11] phi (byte) keyboard_events_size#20 = (byte) keyboard_events_size#18 [phi:main::@23->main::@1#1] -- register_copy + //SEG44 [11] phi (signed byte) form_cursor_count#1 = (signed byte) form_cursor_count#12 [phi:main::@23->main::@1#2] -- register_copy + jmp b4 } -//SEG95 form_control +//SEG45 gfx_mode +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 + //SEG46 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_line + cmp #0 + beq b11 + //SEG47 [23] phi from gfx_mode to gfx_mode::@11 [phi:gfx_mode->gfx_mode::@11] + //SEG48 gfx_mode::@11 + //SEG49 [24] phi from gfx_mode::@11 to gfx_mode::@1 [phi:gfx_mode::@11->gfx_mode::@1] + //SEG50 [24] phi (byte) gfx_mode::dtv_control#14 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) DTV_LINEAR#0 [phi:gfx_mode::@11->gfx_mode::@1#0] -- vbuxx=vbuc1 + ldx #0|DTV_LINEAR + jmp b1 + //SEG51 [24] phi from gfx_mode to gfx_mode::@1 [phi:gfx_mode->gfx_mode::@1] + b11: + //SEG52 [24] phi (byte) gfx_mode::dtv_control#14 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_mode->gfx_mode::@1#0] -- vbuxx=vbuc1 + ldx #0 + //SEG53 gfx_mode::@1 + b1: + //SEG54 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_borof + cmp #0 + beq b2 + //SEG55 gfx_mode::@12 + //SEG56 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_BORDER_OFF + tax + //SEG57 [27] phi from gfx_mode::@1 gfx_mode::@12 to gfx_mode::@2 [phi:gfx_mode::@1/gfx_mode::@12->gfx_mode::@2] + //SEG58 [27] phi (byte) gfx_mode::dtv_control#15 = (byte) gfx_mode::dtv_control#14 [phi:gfx_mode::@1/gfx_mode::@12->gfx_mode::@2#0] -- register_copy + //SEG59 gfx_mode::@2 + b2: + //SEG60 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_hicol + cmp #0 + beq b3 + //SEG61 gfx_mode::@13 + //SEG62 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_HIGHCOLOR + tax + //SEG63 [30] phi from gfx_mode::@13 gfx_mode::@2 to gfx_mode::@3 [phi:gfx_mode::@13/gfx_mode::@2->gfx_mode::@3] + //SEG64 [30] phi (byte) gfx_mode::dtv_control#10 = (byte) gfx_mode::dtv_control#3 [phi:gfx_mode::@13/gfx_mode::@2->gfx_mode::@3#0] -- register_copy + //SEG65 gfx_mode::@3 + b3: + //SEG66 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_overs + cmp #0 + beq b4 + //SEG67 gfx_mode::@14 + //SEG68 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_OVERSCAN + tax + //SEG69 [33] phi from gfx_mode::@14 gfx_mode::@3 to gfx_mode::@4 [phi:gfx_mode::@14/gfx_mode::@3->gfx_mode::@4] + //SEG70 [33] phi (byte) gfx_mode::dtv_control#11 = (byte) gfx_mode::dtv_control#4 [phi:gfx_mode::@14/gfx_mode::@3->gfx_mode::@4#0] -- register_copy + //SEG71 gfx_mode::@4 + b4: + //SEG72 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_colof + cmp #0 + beq b5 + //SEG73 gfx_mode::@15 + //SEG74 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_COLORRAM_OFF + tax + //SEG75 [36] phi from gfx_mode::@15 gfx_mode::@4 to gfx_mode::@5 [phi:gfx_mode::@15/gfx_mode::@4->gfx_mode::@5] + //SEG76 [36] phi (byte) gfx_mode::dtv_control#13 = (byte) gfx_mode::dtv_control#5 [phi:gfx_mode::@15/gfx_mode::@4->gfx_mode::@5#0] -- register_copy + //SEG77 gfx_mode::@5 + b5: + //SEG78 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_chunk + cmp #0 + beq b6 + //SEG79 gfx_mode::@16 + //SEG80 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #DTV_CHUNKY + tax + //SEG81 [39] phi from gfx_mode::@16 gfx_mode::@5 to gfx_mode::@6 [phi:gfx_mode::@16/gfx_mode::@5->gfx_mode::@6] + //SEG82 [39] phi (byte) gfx_mode::dtv_control#12 = (byte) gfx_mode::dtv_control#6 [phi:gfx_mode::@16/gfx_mode::@5->gfx_mode::@6#0] -- register_copy + //SEG83 gfx_mode::@6 + b6: + //SEG84 [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 ] ) -- _deref_pbuc1=vbuxx + stx DTV_CONTROL + //SEG85 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_ecm + cmp #0 + beq b12 + //SEG86 [42] phi from gfx_mode::@6 to gfx_mode::@17 [phi:gfx_mode::@6->gfx_mode::@17] + //SEG87 gfx_mode::@17 + //SEG88 [43] phi from gfx_mode::@17 to gfx_mode::@7 [phi:gfx_mode::@17->gfx_mode::@7] + //SEG89 [43] phi (byte) gfx_mode::vic_control#5 = (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 [phi:gfx_mode::@17->gfx_mode::@7#0] -- vbuxx=vbuc1 + ldx #VIC_DEN|VIC_RSEL|3|VIC_ECM + jmp b7 + //SEG90 [43] phi from gfx_mode::@6 to gfx_mode::@7 [phi:gfx_mode::@6->gfx_mode::@7] + b12: + //SEG91 [43] phi (byte) gfx_mode::vic_control#5 = (const byte) VIC_DEN#0|(const byte) VIC_RSEL#0|(byte/signed byte/word/signed word/dword/signed dword) 3 [phi:gfx_mode::@6->gfx_mode::@7#0] -- vbuxx=vbuc1 + ldx #VIC_DEN|VIC_RSEL|3 + //SEG92 gfx_mode::@7 + b7: + //SEG93 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_bmm + cmp #0 + beq b8 + //SEG94 gfx_mode::@18 + //SEG95 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #VIC_BMM + tax + //SEG96 [46] phi from gfx_mode::@18 gfx_mode::@7 to gfx_mode::@8 [phi:gfx_mode::@18/gfx_mode::@7->gfx_mode::@8] + //SEG97 [46] phi (byte) gfx_mode::vic_control#4 = (byte) gfx_mode::vic_control#2 [phi:gfx_mode::@18/gfx_mode::@7->gfx_mode::@8#0] -- register_copy + //SEG98 gfx_mode::@8 + b8: + //SEG99 [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 ] ) -- _deref_pbuc1=vbuxx + stx VIC_CONTROL + //SEG100 [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 ] ) -- _deref_pbuc1_eq_0_then_la1 + lda form_ctrl_mcm + cmp #0 + beq b13 + //SEG101 [49] phi from gfx_mode::@8 to gfx_mode::@19 [phi:gfx_mode::@8->gfx_mode::@19] + //SEG102 gfx_mode::@19 + //SEG103 [50] phi from gfx_mode::@19 to gfx_mode::@9 [phi:gfx_mode::@19->gfx_mode::@9] + //SEG104 [50] phi (byte) gfx_mode::vic_control2#2 = (const byte) VIC_CSEL#0|(const byte) VIC_MCM#0 [phi:gfx_mode::@19->gfx_mode::@9#0] -- vbuaa=vbuc1 + lda #VIC_CSEL|VIC_MCM + jmp b9 + //SEG105 [50] phi from gfx_mode::@8 to gfx_mode::@9 [phi:gfx_mode::@8->gfx_mode::@9] + b13: + //SEG106 [50] phi (byte) gfx_mode::vic_control2#2 = (const byte) VIC_CSEL#0 [phi:gfx_mode::@8->gfx_mode::@9#0] -- vbuaa=vbuc1 + lda #VIC_CSEL + //SEG107 gfx_mode::@9 + b9: + //SEG108 [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 ] ) -- _deref_pbuc1=vbuaa + sta VIC_CONTROL2 + //SEG109 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_a_start_hi + asl + asl + asl + asl + //SEG110 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_a_start_lo + //SEG111 [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 ] ) -- vduz1=vwuc1_plus_vbuaa + 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 + //SEG112 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_a + sta _33 + lda plane_a+1 + sta _33+1 + //SEG113 [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 ] ) -- vbuaa=_lo_vwuz1 + lda _33 + //SEG114 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_START_LO + //SEG115 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_a + sta _35 + lda plane_a+1 + sta _35+1 + //SEG116 [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 ] ) -- vbuaa=_hi_vwuz1 + //SEG117 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_START_MI + //SEG118 [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 ] ) -- vwuz1=_hi_vduz2 + lda plane_a+2 + sta _37 + lda plane_a+3 + sta _37+1 + //SEG119 [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 ] ) -- vbuaa=_lo_vwuz1 + lda _37 + //SEG120 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_START_HI + //SEG121 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_a_step_hi + asl + asl + asl + asl + //SEG122 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_a_step_lo + //SEG123 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_STEP + //SEG124 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_a_mod_hi + asl + asl + asl + asl + //SEG125 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_a_mod_lo + //SEG126 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEA_MODULO_LO + //SEG127 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEA_MODULO_HI + //SEG128 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_b_start_hi + asl + asl + asl + asl + //SEG129 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_b_start_lo + //SEG130 [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 ] ) -- vduz1=vduc1_plus_vbuaa + clc + adc #PLANE_8BPP_CHUNKY + adc #0 + sta plane_b+1 + lda #>$10 + adc #0 + sta plane_b+2 + lda #>PLANE_8BPP_CHUNKY>>$10 + adc #0 + sta plane_b+3 + //SEG131 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_b + sta _46 + lda plane_b+1 + sta _46+1 + //SEG132 [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 ] ) -- vbuaa=_lo_vwuz1 + lda _46 + //SEG133 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_START_LO + //SEG134 [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 ] ) -- vwuz1=_lo_vduz2 + lda plane_b + sta _48 + lda plane_b+1 + sta _48+1 + //SEG135 [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 ] ) -- vbuaa=_hi_vwuz1 + //SEG136 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_START_MI + //SEG137 [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 ] ) -- vwuz1=_hi_vduz2 + lda plane_b+2 + sta _50 + lda plane_b+3 + sta _50+1 + //SEG138 [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 ] ) -- vbuaa=_lo_vwuz1 + lda _50 + //SEG139 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_START_HI + //SEG140 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_b_step_hi + asl + asl + asl + asl + //SEG141 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_b_step_lo + //SEG142 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_STEP + //SEG143 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_b_mod_hi + asl + asl + asl + asl + //SEG144 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_b_mod_lo + //SEG145 [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 ] ) -- _deref_pbuc1=vbuaa + sta DTV_PLANEB_MODULO_LO + //SEG146 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_PLANEB_MODULO_HI + //SEG147 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_vic_bg0_hi + asl + asl + asl + asl + //SEG148 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_vic_bg0_lo + //SEG149 [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 ] ) -- _deref_pbuc1=vbuaa + sta BGCOL1 + //SEG150 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_vic_bg1_hi + asl + asl + asl + asl + //SEG151 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_vic_bg1_lo + //SEG152 [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 ] ) -- _deref_pbuc1=vbuaa + sta BGCOL2 + //SEG153 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_vic_bg2_hi + asl + asl + asl + asl + //SEG154 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_vic_bg2_lo + //SEG155 [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 ] ) -- _deref_pbuc1=vbuaa + sta BGCOL3 + //SEG156 [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 ] ) -- vbuaa=_deref_pbuc1_rol_4 + lda form_vic_bg3_hi + asl + asl + asl + asl + //SEG157 [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 ] ) -- vbuaa=vbuaa_bor__deref_pbuc1 + ora form_vic_bg3_lo + //SEG158 [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 ] ) -- _deref_pbuc1=vbuaa + sta BGCOL4 + //SEG159 [102] phi from gfx_mode::@9 to gfx_mode::@10 [phi:gfx_mode::@9->gfx_mode::@10] + //SEG160 [102] phi (byte) gfx_mode::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_mode::@9->gfx_mode::@10#0] -- vbuxx=vbuc1 + ldx #0 + //SEG161 [102] phi from gfx_mode::@10 to gfx_mode::@10 [phi:gfx_mode::@10->gfx_mode::@10] + //SEG162 [102] phi (byte) gfx_mode::i#2 = (byte) gfx_mode::i#1 [phi:gfx_mode::@10->gfx_mode::@10#0] -- register_copy + //SEG163 gfx_mode::@10 + b10: + //SEG164 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuxx + txa + sta DTV_PALETTE,x + //SEG165 [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 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG166 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$10 + bne b10 + //SEG167 gfx_mode::@return + //SEG168 [106] return [ ] ( main:2::gfx_mode:21 [ form_cursor_count#12 keyboard_events_size#18 form_field_idx#14 ] ) + rts +} +//SEG169 form_control form_control: { .label field = 7 - //SEG96 [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 ] ) -- vbuxx=vbuz1 + //SEG170 [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 ] ) -- vbuxx=vbuz1 ldx form_field_idx - //SEG97 [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 ] ) - //SEG98 [158] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] - //SEG99 [158] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy + //SEG171 [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 ] ) + //SEG172 [218] phi from form_control to form_field_ptr [phi:form_control->form_field_ptr] + //SEG173 [218] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#1 [phi:form_control->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG100 [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 ] ) + //SEG174 [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 ] ) // (byte*) form_field_ptr::return#3 = (byte*) form_field_ptr::return#0 // register copy zp ZP_WORD:7 - //SEG101 form_control::@28 - //SEG102 [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 ] ) + //SEG175 form_control::@29 + //SEG176 [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 ] ) // (byte*) form_control::field#0 = (byte*) form_field_ptr::return#3 // register copy zp ZP_WORD:7 - //SEG103 [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 ] ) -- vbsz1=_dec_vbsz1 + //SEG177 [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 ] ) -- vbsz1=_dec_vbsz1 dec form_cursor_count - //SEG104 [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 ] ) -- vbsz1_ge_0_then_la1 + //SEG178 [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 ] ) -- vbsz1_ge_0_then_la1 lda form_cursor_count cmp #0 bpl b1 - //SEG105 [53] phi from form_control::@28 to form_control::@1 [phi:form_control::@28->form_control::@1] - //SEG106 [53] phi (signed byte) form_cursor_count#15 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@28->form_control::@1#0] -- vbsz1=vbsc1 + //SEG179 [113] phi from form_control::@29 to form_control::@1 [phi:form_control::@29->form_control::@1] + //SEG180 [113] phi (signed byte) form_cursor_count#11 = (const signed byte) FORM_CURSOR_BLINK#0 [phi:form_control::@29->form_control::@1#0] -- vbsz1=vbsc1 lda #FORM_CURSOR_BLINK sta form_cursor_count - //SEG107 form_control::@1 + //SEG181 form_control::@1 b1: - //SEG108 [54] if((signed byte) form_cursor_count#15>=(const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2) goto form_control::@2 [ 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 ] ) -- vbsz1_ge_vbuc1_then_la1 + //SEG182 [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 ] ) -- vbsz1_ge_vbuc1_then_la1 lda form_cursor_count sec sbc #FORM_CURSOR_BLINK/2 @@ -11796,117 +16215,117 @@ form_control: { bmi !b2+ jmp b2 !b2: - //SEG109 form_control::@15 - //SEG110 [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 ] ) -- vbuaa=_deref_pbuz1_bor_vbuc1 + //SEG183 form_control::@15 + //SEG184 [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 ] ) -- vbuaa=_deref_pbuz1_bor_vbuc1 lda #$80 ldy #0 ora (field),y - //SEG111 [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 ] ) -- _deref_pbuz1=vbuaa + //SEG185 [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 ] ) -- _deref_pbuz1=vbuaa sta (field),y - //SEG112 [57] phi from form_control::@15 form_control::@2 to form_control::@3 [phi:form_control::@15/form_control::@2->form_control::@3] - //SEG113 form_control::@3 + //SEG186 [117] phi from form_control::@15 form_control::@2 to form_control::@3 [phi:form_control::@15/form_control::@2->form_control::@3] + //SEG187 form_control::@3 b3: - //SEG114 [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 ] ) - //SEG115 [95] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] + //SEG188 [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 ] ) + //SEG189 [155] phi from form_control::@3 to keyboard_event_scan [phi:form_control::@3->keyboard_event_scan] jsr keyboard_event_scan - //SEG116 [59] phi from form_control::@3 to form_control::@29 [phi:form_control::@3->form_control::@29] - //SEG117 form_control::@29 - //SEG118 [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 ] ) + //SEG190 [119] phi from form_control::@3 to form_control::@30 [phi:form_control::@3->form_control::@30] + //SEG191 form_control::@30 + //SEG192 [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 ] ) jsr keyboard_event_get - //SEG119 [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 ] ) + //SEG193 [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 ] ) // (byte) keyboard_event_get::return#3 = (byte) keyboard_event_get::return#2 // register copy reg byte a - //SEG120 form_control::@30 - //SEG121 [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 ] ) + //SEG194 form_control::@31 + //SEG195 [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 ] ) // (byte) form_control::key_event#0 = (byte) keyboard_event_get::return#3 // register copy reg byte a - //SEG122 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG196 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_DOWN bne b4 - //SEG123 form_control::@17 - //SEG124 [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 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG197 form_control::@17 + //SEG198 [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 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG125 [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 ] ) -- _deref_pbuz1=vbuaa + //SEG199 [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 ] ) -- _deref_pbuz1=vbuaa sta (field),y - //SEG126 [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 ] ) -- vbuaa=vbuz1_band_vbuc1 - lda #KEY_MODIFIER_SHIFT - and keyboard_modifiers - //SEG127 [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 ] ) -- vbuaa_neq_0_then_la1 + //SEG200 [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 ] ) -- vbuaa=vbuxx_band_vbuc1 + txa + and #KEY_MODIFIER_SHIFT + //SEG201 [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 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b5 - //SEG128 form_control::@18 - //SEG129 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG202 form_control::@18 + //SEG203 [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 ] ) -- vbuz1=_inc_vbuz1 inc form_field_idx - //SEG130 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG204 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #form_fields_cnt bne b7 - //SEG131 [70] phi from form_control::@18 to form_control::@7 [phi:form_control::@18->form_control::@7] - //SEG132 [70] phi (byte) form_field_idx#30 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@18->form_control::@7#0] -- vbuz1=vbuc1 + //SEG205 [130] phi from form_control::@18 to form_control::@7 [phi:form_control::@18->form_control::@7] + //SEG206 [130] phi (byte) form_field_idx#24 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_control::@18->form_control::@7#0] -- vbuz1=vbuc1 tya sta form_field_idx - //SEG133 form_control::@7 + //SEG207 form_control::@7 b7: - //SEG134 [71] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] - //SEG135 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#30 [phi:form_control::@7->form_control::@return#0] -- register_copy - //SEG136 [71] phi (signed byte) form_cursor_count#16 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@7->form_control::@return#1] -- vbsz1=vbuc1 + //SEG208 [131] phi from form_control::@7 to form_control::@return [phi:form_control::@7->form_control::@return] + //SEG209 [131] phi (byte) form_field_idx#14 = (byte) form_field_idx#24 [phi:form_control::@7->form_control::@return#0] -- register_copy + //SEG210 [131] phi (signed byte) form_cursor_count#12 = (const signed byte) FORM_CURSOR_BLINK#0/(byte/signed byte/word/signed word/dword/signed dword) 2 [phi:form_control::@7->form_control::@return#1] -- vbsz1=vbuc1 lda #FORM_CURSOR_BLINK/2 sta form_cursor_count - //SEG137 [71] phi from form_control::@12 form_control::@4 to form_control::@return [phi:form_control::@12/form_control::@4->form_control::@return] - //SEG138 [71] phi (byte) form_field_idx#18 = (byte) form_field_idx#14 [phi:form_control::@12/form_control::@4->form_control::@return#0] -- register_copy - //SEG139 [71] phi (signed byte) form_cursor_count#16 = (signed byte) form_cursor_count#15 [phi:form_control::@12/form_control::@4->form_control::@return#1] -- register_copy - //SEG140 form_control::@return + //SEG211 [131] phi from form_control::@12 form_control::@4 to form_control::@return [phi:form_control::@12/form_control::@4->form_control::@return] + //SEG212 [131] phi (byte) form_field_idx#14 = (byte) form_field_idx#1 [phi:form_control::@12/form_control::@4->form_control::@return#0] -- register_copy + //SEG213 [131] phi (signed byte) form_cursor_count#12 = (signed byte) form_cursor_count#11 [phi:form_control::@12/form_control::@4->form_control::@return#1] -- register_copy + //SEG214 form_control::@return breturn: - //SEG141 [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 ] ) + //SEG215 [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 ] ) rts - //SEG142 [73] phi from form_control::@18 to form_control::@32 [phi:form_control::@18->form_control::@32] - //SEG143 form_control::@32 - //SEG144 [70] phi from form_control::@32 form_control::@33 to form_control::@7 [phi:form_control::@32/form_control::@33->form_control::@7] - //SEG145 [70] phi (byte) form_field_idx#30 = (byte) form_field_idx#40 [phi:form_control::@32/form_control::@33->form_control::@7#0] -- register_copy - //SEG146 form_control::@5 + //SEG216 [133] phi from form_control::@18 to form_control::@33 [phi:form_control::@18->form_control::@33] + //SEG217 form_control::@33 + //SEG218 [130] phi from form_control::@33 form_control::@34 to form_control::@7 [phi:form_control::@33/form_control::@34->form_control::@7] + //SEG219 [130] phi (byte) form_field_idx#24 = (byte) form_field_idx#34 [phi:form_control::@33/form_control::@34->form_control::@7#0] -- register_copy + //SEG220 form_control::@5 b5: - //SEG147 [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 ] ) -- vbuz1=_dec_vbuz1 + //SEG221 [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 ] ) -- vbuz1=_dec_vbuz1 dec form_field_idx - //SEG148 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG222 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda form_field_idx cmp #$ff bne b7 - //SEG149 [70] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] - //SEG150 [70] phi (byte) form_field_idx#30 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@5->form_control::@7#0] -- vbuz1=vbuc1 + //SEG223 [130] phi from form_control::@5 to form_control::@7 [phi:form_control::@5->form_control::@7] + //SEG224 [130] phi (byte) form_field_idx#24 = (const byte) form_fields_cnt#0-(byte/signed byte/word/signed word/dword/signed dword) 1 [phi:form_control::@5->form_control::@7#0] -- vbuz1=vbuc1 lda #form_fields_cnt-1 sta form_field_idx jmp b7 - //SEG151 [76] phi from form_control::@5 to form_control::@33 [phi:form_control::@5->form_control::@33] - //SEG152 form_control::@33 - //SEG153 form_control::@4 + //SEG225 [136] phi from form_control::@5 to form_control::@34 [phi:form_control::@5->form_control::@34] + //SEG226 form_control::@34 + //SEG227 form_control::@4 b4: - //SEG154 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG228 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #KEY_CRSR_RIGHT bne breturn - //SEG155 form_control::@23 - //SEG156 [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 ] ) -- vbuaa=vbuz1_band_vbuc1 - lda #KEY_MODIFIER_SHIFT - and keyboard_modifiers - //SEG157 [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 ] ) -- vbuaa_neq_0_then_la1 + //SEG229 form_control::@23 + //SEG230 [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 ] ) -- vbuaa=vbuxx_band_vbuc1 + txa + and #KEY_MODIFIER_SHIFT + //SEG231 [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 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b10 - //SEG158 form_control::@24 - //SEG159 [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 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 + //SEG232 form_control::@24 + //SEG233 [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 ] ) -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 ldx form_field_idx inc form_fields_val,x - //SEG160 [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 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 + //SEG234 [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 ] ) -- pbuc1_derefidx_vbuz1_le_pbuc2_derefidx_vbuz1_then_la1 ldy form_field_idx lda form_fields_val,y cmp form_fields_max,y bcc b12 beq b12 - //SEG161 form_control::@25 - //SEG162 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 + //SEG235 form_control::@25 + //SEG236 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuc2 lda #0 sta form_fields_val,y - //SEG163 form_control::@12 + //SEG237 form_control::@12 b12: - //SEG164 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 + //SEG238 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuz2 ldy form_field_idx lda form_fields_val,y tay @@ -11914,403 +16333,512 @@ form_control: { ldy #0 sta (field),y jmp breturn - //SEG165 form_control::@10 + //SEG239 form_control::@10 b10: - //SEG166 [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 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 + //SEG240 [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 ] ) -- pbuc1_derefidx_vbuz1=_dec_pbuc1_derefidx_vbuz1 ldx form_field_idx lda form_fields_val,x sec sbc #1 sta form_fields_val,x - //SEG167 [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 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 + //SEG241 [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 ] ) -- pbuc1_derefidx_vbuz1_neq_vbuc2_then_la1 ldy form_field_idx lda form_fields_val,y cmp #$ff bne b12 - //SEG168 form_control::@27 - //SEG169 [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 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 + //SEG242 form_control::@27 + //SEG243 [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 ] ) -- pbuc1_derefidx_vbuz1=pbuc2_derefidx_vbuz1 lda form_fields_max,y sta form_fields_val,y jmp b12 - //SEG170 form_control::@2 + //SEG244 form_control::@2 b2: - //SEG171 [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 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 + //SEG245 [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 ] ) -- vbuaa=_deref_pbuz1_band_vbuc1 lda #$7f ldy #0 and (field),y - //SEG172 [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 ] ) -- _deref_pbuz1=vbuaa + //SEG246 [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 ] ) -- _deref_pbuz1=vbuaa sta (field),y jmp b3 - //SEG173 [89] phi from form_control::@28 to form_control::@31 [phi:form_control::@28->form_control::@31] - //SEG174 form_control::@31 - //SEG175 [53] phi from form_control::@31 to form_control::@1 [phi:form_control::@31->form_control::@1] - //SEG176 [53] phi (signed byte) form_cursor_count#15 = (signed byte) form_cursor_count#5 [phi:form_control::@31->form_control::@1#0] -- register_copy + //SEG247 [149] phi from form_control::@29 to form_control::@32 [phi:form_control::@29->form_control::@32] + //SEG248 form_control::@32 + //SEG249 [113] phi from form_control::@32 to form_control::@1 [phi:form_control::@32->form_control::@1] + //SEG250 [113] phi (signed byte) form_cursor_count#11 = (signed byte) form_cursor_count#3 [phi:form_control::@32->form_control::@1#0] -- register_copy } -//SEG177 keyboard_event_get +//SEG251 keyboard_event_get keyboard_event_get: { - //SEG178 [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 ] ) -- vbuz1_neq_0_then_la1 + //SEG252 [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 ] ) -- vbuz1_neq_0_then_la1 lda keyboard_events_size bne b1 - //SEG179 [91] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] - //SEG180 [91] phi (byte) keyboard_events_size#20 = (byte) keyboard_events_size#17 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy - //SEG181 [91] phi (byte) keyboard_event_get::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1 + //SEG253 [151] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return] + //SEG254 [151] phi (byte) keyboard_events_size#18 = (byte) keyboard_events_size#15 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy + //SEG255 [151] phi (byte) keyboard_event_get::return#2 = (byte/word/signed word/dword/signed dword) 255 [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1 lda #$ff - //SEG182 keyboard_event_get::@return + //SEG256 keyboard_event_get::@return breturn: - //SEG183 [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 ] ) + //SEG257 [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 ] ) rts - //SEG184 keyboard_event_get::@1 + //SEG258 keyboard_event_get::@1 b1: - //SEG185 [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 ] ) -- vbuz1=_dec_vbuz1 + //SEG259 [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 ] ) -- vbuz1=_dec_vbuz1 dec keyboard_events_size - //SEG186 [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 ] ) -- vbuaa=pbuc1_derefidx_vbuz1 + //SEG260 [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 ] ) -- vbuaa=pbuc1_derefidx_vbuz1 ldy keyboard_events_size lda keyboard_events,y - //SEG187 [91] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] - //SEG188 [91] phi (byte) keyboard_events_size#20 = (byte) keyboard_events_size#4 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy - //SEG189 [91] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#0 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy + //SEG261 [151] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return] + //SEG262 [151] phi (byte) keyboard_events_size#18 = (byte) keyboard_events_size#4 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy + //SEG263 [151] phi (byte) keyboard_event_get::return#2 = (byte) keyboard_event_get::return#0 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy jmp breturn } -//SEG190 keyboard_event_scan +//SEG264 keyboard_event_scan keyboard_event_scan: { - .label row_scan = $d + .label row_scan = $11 .label keycode = 5 - .label row = 3 - //SEG191 [96] phi from keyboard_event_scan to keyboard_event_scan::@1 [phi:keyboard_event_scan->keyboard_event_scan::@1] - //SEG192 [96] phi (byte) keyboard_events_size#43 = (byte) keyboard_events_size#24 [phi:keyboard_event_scan->keyboard_event_scan::@1#0] -- register_copy - //SEG193 [96] phi (byte) keyboard_event_scan::keycode#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#1] -- vbuz1=vbuc1 + .label row = 4 + //SEG265 [156] phi from keyboard_event_scan to keyboard_event_scan::@1 [phi:keyboard_event_scan->keyboard_event_scan::@1] + //SEG266 [156] phi (byte) keyboard_events_size#37 = (byte) keyboard_events_size#20 [phi:keyboard_event_scan->keyboard_event_scan::@1#0] -- register_copy + //SEG267 [156] phi (byte) keyboard_event_scan::keycode#11 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#1] -- vbuz1=vbuc1 lda #0 sta keycode - //SEG194 [96] phi (byte) keyboard_event_scan::row#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#2] -- vbuz1=vbuc1 + //SEG268 [156] phi (byte) keyboard_event_scan::row#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan->keyboard_event_scan::@1#2] -- vbuz1=vbuc1 sta row - //SEG195 [96] phi from keyboard_event_scan::@8 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1] - //SEG196 [96] phi (byte) keyboard_events_size#43 = (byte) keyboard_events_size#17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#0] -- register_copy - //SEG197 [96] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#1] -- register_copy - //SEG198 [96] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#2] -- register_copy - //SEG199 keyboard_event_scan::@1 + //SEG269 [156] phi from keyboard_event_scan::@8 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1] + //SEG270 [156] phi (byte) keyboard_events_size#37 = (byte) keyboard_events_size#15 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#0] -- register_copy + //SEG271 [156] phi (byte) keyboard_event_scan::keycode#11 = (byte) keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#1] -- register_copy + //SEG272 [156] phi (byte) keyboard_event_scan::row#2 = (byte) keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@1#2] -- register_copy + //SEG273 keyboard_event_scan::@1 b1: - //SEG200 [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 ] ) -- vbuxx=vbuz1 + //SEG274 [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 ] ) -- vbuxx=vbuz1 ldx row - //SEG201 [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 ] ) + //SEG275 [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 ] ) jsr keyboard_matrix_read - //SEG202 [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 ] ) + //SEG276 [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 ] ) // (byte) keyboard_matrix_read::return#2 = (byte) keyboard_matrix_read::return#0 // register copy reg byte a - //SEG203 keyboard_event_scan::@25 - //SEG204 [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 ] ) -- vbuz1=vbuaa + //SEG277 keyboard_event_scan::@25 + //SEG278 [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 ] ) -- vbuz1=vbuaa sta row_scan - //SEG205 [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 ] ) -- vbuz1_eq_pbuc1_derefidx_vbuz2_then_la1 + //SEG279 [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 ] ) -- vbuz1_eq_pbuc1_derefidx_vbuz2_then_la1 ldy row lda keyboard_scan_values,y cmp row_scan bne !b2+ jmp b2 !b2: - //SEG206 [102] phi from keyboard_event_scan::@25 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3] - //SEG207 [102] phi (byte) keyboard_events_size#14 = (byte) keyboard_events_size#43 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#0] -- register_copy - //SEG208 [102] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#1] -- register_copy - //SEG209 [102] phi (byte) keyboard_event_scan::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#2] -- vbuxx=vbuc1 + //SEG280 [162] phi from keyboard_event_scan::@25 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3] + //SEG281 [162] phi (byte) keyboard_events_size#12 = (byte) keyboard_events_size#37 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#0] -- register_copy + //SEG282 [162] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#1] -- register_copy + //SEG283 [162] phi (byte) keyboard_event_scan::col#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@25->keyboard_event_scan::@3#2] -- vbuxx=vbuc1 ldx #0 - //SEG210 [102] phi from keyboard_event_scan::@4 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3] - //SEG211 [102] phi (byte) keyboard_events_size#14 = (byte) keyboard_events_size#44 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#0] -- register_copy - //SEG212 [102] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#1] -- register_copy - //SEG213 [102] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#2] -- register_copy - //SEG214 keyboard_event_scan::@3 + //SEG284 [162] phi from keyboard_event_scan::@4 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3] + //SEG285 [162] phi (byte) keyboard_events_size#12 = (byte) keyboard_events_size#38 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#0] -- register_copy + //SEG286 [162] phi (byte) keyboard_event_scan::keycode#10 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#1] -- register_copy + //SEG287 [162] phi (byte) keyboard_event_scan::col#2 = (byte) keyboard_event_scan::col#1 [phi:keyboard_event_scan::@4->keyboard_event_scan::@3#2] -- register_copy + //SEG288 keyboard_event_scan::@3 b3: - //SEG215 [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 ] ) -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2 + //SEG289 [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 ] ) -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2 lda row_scan ldy row eor keyboard_scan_values,y - //SEG216 [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 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx + //SEG290 [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 ] ) -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx and keyboard_matrix_col_bitmask,x - //SEG217 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG291 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b4 - //SEG218 keyboard_event_scan::@14 - //SEG219 [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 ] ) -- vbuz1_eq_vbuc1_then_la1 + //SEG292 keyboard_event_scan::@14 + //SEG293 [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 ] ) -- vbuz1_eq_vbuc1_then_la1 lda keyboard_events_size cmp #8 beq b4 - //SEG220 keyboard_event_scan::@15 - //SEG221 [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 ] ) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx + //SEG294 keyboard_event_scan::@15 + //SEG295 [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 ] ) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx lda keyboard_matrix_col_bitmask,x and row_scan - //SEG222 [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 ] ) -- vbuaa_neq_0_then_la1 + //SEG296 [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 ] ) -- vbuaa_neq_0_then_la1 cmp #0 bne b6 - //SEG223 keyboard_event_scan::@16 - //SEG224 [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 ] ) -- vbuaa=vbuz1_bor_vbuc1 + //SEG297 keyboard_event_scan::@16 + //SEG298 [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 ] ) -- vbuaa=vbuz1_bor_vbuc1 lda #$40 ora keycode - //SEG225 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuaa + //SEG299 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuaa ldy keyboard_events_size sta keyboard_events,y - //SEG226 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG300 [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 ] ) -- vbuz1=_inc_vbuz1 inc keyboard_events_size - //SEG227 [112] phi from keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 to keyboard_event_scan::@4 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4] - //SEG228 [112] phi (byte) keyboard_events_size#44 = (byte) keyboard_events_size#14 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4#0] -- register_copy - //SEG229 keyboard_event_scan::@4 + //SEG301 [172] phi from keyboard_event_scan::@14 keyboard_event_scan::@16 keyboard_event_scan::@3 keyboard_event_scan::@6 to keyboard_event_scan::@4 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4] + //SEG302 [172] phi (byte) keyboard_events_size#38 = (byte) keyboard_events_size#12 [phi:keyboard_event_scan::@14/keyboard_event_scan::@16/keyboard_event_scan::@3/keyboard_event_scan::@6->keyboard_event_scan::@4#0] -- register_copy + //SEG303 keyboard_event_scan::@4 b4: - //SEG230 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG304 [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 ] ) -- vbuz1=_inc_vbuz1 inc keycode - //SEG231 [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 ] ) -- vbuxx=_inc_vbuxx + //SEG305 [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 ] ) -- vbuxx=_inc_vbuxx inx - //SEG232 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG306 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #8 bne b3 - //SEG233 keyboard_event_scan::@18 - //SEG234 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG307 keyboard_event_scan::@18 + //SEG308 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda row_scan ldy row sta keyboard_scan_values,y - //SEG235 [117] phi from keyboard_event_scan::@18 keyboard_event_scan::@2 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8] - //SEG236 [117] phi (byte) keyboard_events_size#17 = (byte) keyboard_events_size#44 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#0] -- register_copy - //SEG237 [117] phi (byte) keyboard_event_scan::keycode#14 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#1] -- register_copy - //SEG238 keyboard_event_scan::@8 + //SEG309 [177] phi from keyboard_event_scan::@18 keyboard_event_scan::@2 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8] + //SEG310 [177] phi (byte) keyboard_events_size#15 = (byte) keyboard_events_size#38 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#0] -- register_copy + //SEG311 [177] phi (byte) keyboard_event_scan::keycode#14 = (byte) keyboard_event_scan::keycode#15 [phi:keyboard_event_scan::@18/keyboard_event_scan::@2->keyboard_event_scan::@8#1] -- register_copy + //SEG312 keyboard_event_scan::@8 b8: - //SEG239 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG313 [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 ] ) -- vbuz1=_inc_vbuz1 inc row - //SEG240 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + //SEG314 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 lda row cmp #8 bne b1 - //SEG241 [120] phi from keyboard_event_scan::@8 to keyboard_event_scan::@20 [phi:keyboard_event_scan::@8->keyboard_event_scan::@20] - //SEG242 keyboard_event_scan::@20 - //SEG243 [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 ] ) - //SEG244 [149] phi from keyboard_event_scan::@20 to keyboard_event_pressed [phi:keyboard_event_scan::@20->keyboard_event_pressed] - //SEG245 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_LSHIFT#0 [phi:keyboard_event_scan::@20->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG315 [180] phi from keyboard_event_scan::@8 to keyboard_event_scan::@20 [phi:keyboard_event_scan::@8->keyboard_event_scan::@20] + //SEG316 keyboard_event_scan::@20 + //SEG317 [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 ] ) + //SEG318 [209] phi from keyboard_event_scan::@20 to keyboard_event_pressed [phi:keyboard_event_scan::@20->keyboard_event_pressed] + //SEG319 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_LSHIFT#0 [phi:keyboard_event_scan::@20->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_LSHIFT sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG246 [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 ] ) + //SEG320 [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 ] ) // (byte) keyboard_event_pressed::return#0 = (byte) keyboard_event_pressed::return#10 // register copy reg byte a - //SEG247 keyboard_event_scan::@26 - //SEG248 [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 ] ) + //SEG321 keyboard_event_scan::@26 + //SEG322 [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 ] ) // (byte~) keyboard_event_scan::$16 = (byte) keyboard_event_pressed::return#0 // register copy reg byte a - //SEG249 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG323 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b5 - //SEG250 [125] phi from keyboard_event_scan::@26 to keyboard_event_scan::@21 [phi:keyboard_event_scan::@26->keyboard_event_scan::@21] - //SEG251 keyboard_event_scan::@21 - //SEG252 [126] phi from keyboard_event_scan::@21 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9] - //SEG253 [126] phi (byte) keyboard_modifiers#15 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) KEY_MODIFIER_LSHIFT#0 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9#0] -- vbuz1=vbuc1 - lda #0|KEY_MODIFIER_LSHIFT - sta keyboard_modifiers + //SEG324 [185] phi from keyboard_event_scan::@26 to keyboard_event_scan::@21 [phi:keyboard_event_scan::@26->keyboard_event_scan::@21] + //SEG325 keyboard_event_scan::@21 + //SEG326 [186] phi from keyboard_event_scan::@21 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9] + //SEG327 [186] phi (byte) keyboard_modifiers#13 = (byte/signed byte/word/signed word/dword/signed dword) 0|(const byte) KEY_MODIFIER_LSHIFT#0 [phi:keyboard_event_scan::@21->keyboard_event_scan::@9#0] -- vbuxx=vbuc1 + ldx #0|KEY_MODIFIER_LSHIFT jmp b9 - //SEG254 [126] phi from keyboard_event_scan::@26 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9] + //SEG328 [186] phi from keyboard_event_scan::@26 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9] b5: - //SEG255 [126] phi (byte) keyboard_modifiers#15 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9#0] -- vbuz1=vbuc1 - lda #0 - sta keyboard_modifiers - //SEG256 keyboard_event_scan::@9 + //SEG329 [186] phi (byte) keyboard_modifiers#13 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:keyboard_event_scan::@26->keyboard_event_scan::@9#0] -- vbuxx=vbuc1 + ldx #0 + //SEG330 keyboard_event_scan::@9 b9: - //SEG257 [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 ] ) - //SEG258 [149] phi from keyboard_event_scan::@9 to keyboard_event_pressed [phi:keyboard_event_scan::@9->keyboard_event_pressed] - //SEG259 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_RSHIFT#0 [phi:keyboard_event_scan::@9->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG331 [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 ] ) + //SEG332 [209] phi from keyboard_event_scan::@9 to keyboard_event_pressed [phi:keyboard_event_scan::@9->keyboard_event_pressed] + //SEG333 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_RSHIFT#0 [phi:keyboard_event_scan::@9->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_RSHIFT sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG260 [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 ] ) + //SEG334 [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 ] ) // (byte) keyboard_event_pressed::return#1 = (byte) keyboard_event_pressed::return#10 // register copy reg byte a - //SEG261 keyboard_event_scan::@27 - //SEG262 [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 ] ) + //SEG335 keyboard_event_scan::@27 + //SEG336 [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 ] ) // (byte~) keyboard_event_scan::$20 = (byte) keyboard_event_pressed::return#1 // register copy reg byte a - //SEG263 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG337 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b10 - //SEG264 keyboard_event_scan::@22 - //SEG265 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 - lda #KEY_MODIFIER_RSHIFT - ora keyboard_modifiers - sta keyboard_modifiers - //SEG266 [132] phi from keyboard_event_scan::@22 keyboard_event_scan::@27 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10] - //SEG267 [132] phi (byte) keyboard_modifiers#16 = (byte) keyboard_modifiers#3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10#0] -- register_copy - //SEG268 keyboard_event_scan::@10 + //SEG338 keyboard_event_scan::@22 + //SEG339 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #KEY_MODIFIER_RSHIFT + tax + //SEG340 [192] phi from keyboard_event_scan::@22 keyboard_event_scan::@27 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10] + //SEG341 [192] phi (byte) keyboard_modifiers#14 = (byte) keyboard_modifiers#3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@27->keyboard_event_scan::@10#0] -- register_copy + //SEG342 keyboard_event_scan::@10 b10: - //SEG269 [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 ] ) - //SEG270 [149] phi from keyboard_event_scan::@10 to keyboard_event_pressed [phi:keyboard_event_scan::@10->keyboard_event_pressed] - //SEG271 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_CTRL#0 [phi:keyboard_event_scan::@10->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG343 [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 ] ) + //SEG344 [209] phi from keyboard_event_scan::@10 to keyboard_event_pressed [phi:keyboard_event_scan::@10->keyboard_event_pressed] + //SEG345 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_CTRL#0 [phi:keyboard_event_scan::@10->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_CTRL sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG272 [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 ] ) + //SEG346 [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 ] ) // (byte) keyboard_event_pressed::return#2 = (byte) keyboard_event_pressed::return#10 // register copy reg byte a - //SEG273 keyboard_event_scan::@28 - //SEG274 [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 ] ) + //SEG347 keyboard_event_scan::@28 + //SEG348 [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 ] ) // (byte~) keyboard_event_scan::$24 = (byte) keyboard_event_pressed::return#2 // register copy reg byte a - //SEG275 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG349 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq b11 - //SEG276 keyboard_event_scan::@23 - //SEG277 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 - lda #KEY_MODIFIER_CTRL - ora keyboard_modifiers - sta keyboard_modifiers - //SEG278 [138] phi from keyboard_event_scan::@23 keyboard_event_scan::@28 to keyboard_event_scan::@11 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11] - //SEG279 [138] phi (byte) keyboard_modifiers#17 = (byte) keyboard_modifiers#4 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11#0] -- register_copy - //SEG280 keyboard_event_scan::@11 + //SEG350 keyboard_event_scan::@23 + //SEG351 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #KEY_MODIFIER_CTRL + tax + //SEG352 [198] phi from keyboard_event_scan::@23 keyboard_event_scan::@28 to keyboard_event_scan::@11 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11] + //SEG353 [198] phi (byte) keyboard_modifiers#15 = (byte) keyboard_modifiers#4 [phi:keyboard_event_scan::@23/keyboard_event_scan::@28->keyboard_event_scan::@11#0] -- register_copy + //SEG354 keyboard_event_scan::@11 b11: - //SEG281 [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 ] ) - //SEG282 [149] phi from keyboard_event_scan::@11 to keyboard_event_pressed [phi:keyboard_event_scan::@11->keyboard_event_pressed] - //SEG283 [149] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_COMMODORE#0 [phi:keyboard_event_scan::@11->keyboard_event_pressed#0] -- vbuz1=vbuc1 + //SEG355 [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 ] ) + //SEG356 [209] phi from keyboard_event_scan::@11 to keyboard_event_pressed [phi:keyboard_event_scan::@11->keyboard_event_pressed] + //SEG357 [209] phi (byte) keyboard_event_pressed::keycode#4 = (const byte) KEY_COMMODORE#0 [phi:keyboard_event_scan::@11->keyboard_event_pressed#0] -- vbuz1=vbuc1 lda #KEY_COMMODORE sta keyboard_event_pressed.keycode jsr keyboard_event_pressed - //SEG284 [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 ] ) + //SEG358 [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 ] ) // (byte) keyboard_event_pressed::return#3 = (byte) keyboard_event_pressed::return#10 // register copy reg byte a - //SEG285 keyboard_event_scan::@29 - //SEG286 [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 ] ) + //SEG359 keyboard_event_scan::@29 + //SEG360 [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 ] ) // (byte~) keyboard_event_scan::$28 = (byte) keyboard_event_pressed::return#3 // register copy reg byte a - //SEG287 [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 ] ) -- vbuaa_eq_0_then_la1 + //SEG361 [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 ] ) -- vbuaa_eq_0_then_la1 cmp #0 beq breturn - //SEG288 keyboard_event_scan::@24 - //SEG289 [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 ] ) -- vbuz1=vbuz1_bor_vbuc1 - lda #KEY_MODIFIER_COMMODORE - ora keyboard_modifiers - sta keyboard_modifiers - //SEG290 [144] phi from keyboard_event_scan::@24 keyboard_event_scan::@29 to keyboard_event_scan::@return [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return] - //SEG291 [144] phi (byte) keyboard_modifiers#18 = (byte) keyboard_modifiers#5 [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return#0] -- register_copy - //SEG292 keyboard_event_scan::@return + //SEG362 keyboard_event_scan::@24 + //SEG363 [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 ] ) -- vbuxx=vbuxx_bor_vbuc1 + txa + ora #KEY_MODIFIER_COMMODORE + tax + //SEG364 [204] phi from keyboard_event_scan::@24 keyboard_event_scan::@29 to keyboard_event_scan::@return [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return] + //SEG365 [204] phi (byte) keyboard_modifiers#16 = (byte) keyboard_modifiers#5 [phi:keyboard_event_scan::@24/keyboard_event_scan::@29->keyboard_event_scan::@return#0] -- register_copy + //SEG366 keyboard_event_scan::@return breturn: - //SEG293 [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 ] ) + //SEG367 [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 ] ) rts - //SEG294 keyboard_event_scan::@6 + //SEG368 keyboard_event_scan::@6 b6: - //SEG295 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 + //SEG369 [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 ] ) -- pbuc1_derefidx_vbuz1=vbuz2 lda keycode ldy keyboard_events_size sta keyboard_events,y - //SEG296 [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 ] ) -- vbuz1=_inc_vbuz1 + //SEG370 [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 ] ) -- vbuz1=_inc_vbuz1 inc keyboard_events_size jmp b4 - //SEG297 keyboard_event_scan::@2 + //SEG371 keyboard_event_scan::@2 b2: - //SEG298 [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 ] ) -- vbuz1=vbuz1_plus_vbuc1 + //SEG372 [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 ] ) -- vbuz1=vbuz1_plus_vbuc1 lda #8 clc adc keycode sta keycode jmp b8 } -//SEG299 keyboard_event_pressed +//SEG373 keyboard_event_pressed keyboard_event_pressed: { - .label keycode = 5 - //SEG300 [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 ] ) -- vbuaa=vbuz1_ror_3 + .label row_bits = 5 + .label keycode = 4 + //SEG374 [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 ] ) -- vbuaa=vbuz1_ror_3 lda keycode lsr lsr lsr - //SEG301 [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 ] ) -- vbuyy=pbuc1_derefidx_vbuaa - tax - ldy keyboard_scan_values,x - //SEG302 [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 ] ) -- vbuaa=vbuz1_band_vbuc1 + //SEG375 [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 ] ) -- vbuz1=pbuc1_derefidx_vbuaa + tay + lda keyboard_scan_values,y + sta row_bits + //SEG376 [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 ] ) -- vbuaa=vbuz1_band_vbuc1 lda #7 and keycode - //SEG303 [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 ] ) -- vbuaa=vbuyy_band_pbuc1_derefidx_vbuaa - tax - tya - and keyboard_matrix_col_bitmask,x - //SEG304 keyboard_event_pressed::@return - //SEG305 [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 ] ) + //SEG377 [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 ] ) -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuaa + tay + lda keyboard_matrix_col_bitmask,y + and row_bits + //SEG378 keyboard_event_pressed::@return + //SEG379 [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 ] ) rts } -//SEG306 keyboard_matrix_read +//SEG380 keyboard_matrix_read keyboard_matrix_read: { - //SEG307 [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 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuxx + //SEG381 [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 ] ) -- _deref_pbuc1=pbuc2_derefidx_vbuxx lda keyboard_matrix_row_bitmask,x sta CIA1_PORT_A - //SEG308 [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 ] ) -- vbuaa=_bnot__deref_pbuc1 + //SEG382 [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 ] ) -- vbuaa=_bnot__deref_pbuc1 lda CIA1_PORT_B eor #$ff - //SEG309 keyboard_matrix_read::@return - //SEG310 [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 ] ) + //SEG383 keyboard_matrix_read::@return + //SEG384 [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 ] ) rts } -//SEG311 form_field_ptr +//SEG385 form_field_ptr form_field_ptr: { .label return = 7 .label _2 = 7 - //SEG312 [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 ] ) -- vbuyy=pbuc1_derefidx_vbuxx + //SEG386 [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 ] ) -- vbuyy=pbuc1_derefidx_vbuxx ldy form_fields_y,x - //SEG313 [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 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy + //SEG387 [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 ] ) -- vwuz1=pbuc1_derefidx_vbuyy_word_pbuc2_derefidx_vbuyy lda form_line_hi,y sta _2+1 lda form_line_lo,y sta _2 - //SEG314 [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 ] ) -- vbuaa=pbuc1_derefidx_vbuxx + //SEG388 [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 ] ) -- vbuaa=pbuc1_derefidx_vbuxx lda form_fields_x,x - //SEG315 [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 ] ) -- pbuz1=pbuz1_plus_vbuaa + //SEG389 [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 ] ) -- pbuz1=pbuz1_plus_vbuaa clc adc return sta return lda #0 adc return+1 sta return+1 - //SEG316 form_field_ptr::@return - //SEG317 [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 ] ) + //SEG390 form_field_ptr::@return + //SEG391 [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 ] ) rts } -//SEG318 form_render_values +//SEG392 form_mode +form_mode: { + //SEG393 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #($ffffffff&FORM_CHARSET)/$10000 + sta DTV_GRAPHICS_VIC_BANK + //SEG394 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #DTV_COLOR_BANK_DEFAULT/$400 + sta DTV_COLOR_BANK_LO + //SEG395 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_COLOR_BANK_HI + //SEG396 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #3 + sta CIA2_PORT_A_DDR + //SEG397 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #3^FORM_CHARSET/$4000 + sta CIA2_PORT_A + //SEG398 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta DTV_CONTROL + //SEG399 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_DEN|VIC_RSEL|3 + sta VIC_CONTROL + //SEG400 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #VIC_CSEL + sta VIC_CONTROL2 + //SEG401 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #(FORM_SCREEN&$3fff)/$40|(FORM_CHARSET&$3fff)/$400 + sta VIC_MEMORY + //SEG402 [233] phi from form_mode to form_mode::@1 [phi:form_mode->form_mode::@1] + //SEG403 [233] phi (byte) form_mode::i#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_mode->form_mode::@1#0] -- vbuxx=vbuc1 + ldx #0 + //SEG404 [233] phi from form_mode::@1 to form_mode::@1 [phi:form_mode::@1->form_mode::@1] + //SEG405 [233] phi (byte) form_mode::i#2 = (byte) form_mode::i#1 [phi:form_mode::@1->form_mode::@1#0] -- register_copy + //SEG406 form_mode::@1 + b1: + //SEG407 [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 ] ) -- pbuc1_derefidx_vbuxx=pbuc2_derefidx_vbuxx + lda DTV_PALETTE_DEFAULT,x + sta DTV_PALETTE,x + //SEG408 [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 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG409 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 + cpx #$10 + bne b1 + //SEG410 form_mode::@2 + //SEG411 [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 ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta BORDERCOL + //SEG412 [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 ] ) -- _deref_pbuc1=vbuc2 + sta BGCOL + //SEG413 form_mode::@return + //SEG414 [239] return [ ] ( main:2::form_mode:16 [ form_cursor_count#1 keyboard_events_size#20 form_field_idx#1 ] ) + rts +} +//SEG415 form_init +form_init: { + //SEG416 [241] call print_set_screen param-assignment [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] ) + //SEG417 [294] phi from form_init to print_set_screen [phi:form_init->print_set_screen] + //SEG418 [294] phi (byte*) print_set_screen::screen#2 = (const byte*) COLS#0+(const word) FORM_OFFSET#0 [phi:form_init->print_set_screen#0] -- pbuz1=pbuc1 + lda #COLS+FORM_OFFSET + sta print_set_screen.screen+1 + jsr print_set_screen + //SEG419 [242] phi from form_init to form_init::@1 [phi:form_init->form_init::@1] + //SEG420 form_init::@1 + //SEG421 [243] call print_str_lines param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG422 [273] phi from form_init::@1 to print_str_lines [phi:form_init::@1->print_str_lines] + //SEG423 [273] phi (byte*) print_str_lines::str#5 = (const string) FORM_COLS#0 [phi:form_init::@1->print_str_lines#0] -- pbuz1=pbuc1 + lda #FORM_COLS + sta print_str_lines.str+1 + jsr print_str_lines + //SEG424 [244] phi from form_init::@1 to form_init::@2 [phi:form_init::@1->form_init::@2] + //SEG425 form_init::@2 + //SEG426 [245] call print_set_screen param-assignment [ print_set_screen::screen#2 ] ( main:2::form_init:10 [ print_set_screen::screen#2 ] ) + //SEG427 [294] phi from form_init::@2 to print_set_screen [phi:form_init::@2->print_set_screen] + //SEG428 [294] phi (byte*) print_set_screen::screen#2 = (const byte*) FORM_SCREEN#0+(const word) FORM_OFFSET#0 [phi:form_init::@2->print_set_screen#0] -- pbuz1=pbuc1 + lda #FORM_SCREEN+FORM_OFFSET + sta print_set_screen.screen+1 + jsr print_set_screen + //SEG429 [246] phi from form_init::@2 to form_init::@3 [phi:form_init::@2->form_init::@3] + //SEG430 form_init::@3 + //SEG431 [247] call print_str_lines param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG432 [273] phi from form_init::@3 to print_str_lines [phi:form_init::@3->print_str_lines] + //SEG433 [273] phi (byte*) print_str_lines::str#5 = (const string) FORM_TEXT#0 [phi:form_init::@3->print_str_lines#0] -- pbuz1=pbuc1 + lda #FORM_TEXT + sta print_str_lines.str+1 + jsr print_str_lines + //SEG434 [248] phi from form_init::@3 to form_init::@4 [phi:form_init::@3->form_init::@4] + //SEG435 form_init::@4 + //SEG436 [249] call form_set_screen param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG437 [263] phi from form_init::@4 to form_set_screen [phi:form_init::@4->form_set_screen] + jsr form_set_screen + //SEG438 [250] phi from form_init::@4 to form_init::@5 [phi:form_init::@4->form_init::@5] + //SEG439 form_init::@5 + //SEG440 [251] call form_render_values param-assignment [ ] ( main:2::form_init:10 [ ] ) + //SEG441 [253] phi from form_init::@5 to form_render_values [phi:form_init::@5->form_render_values] + jsr form_render_values + //SEG442 form_init::@return + //SEG443 [252] return [ ] ( main:2::form_init:10 [ ] ) + rts +} +//SEG444 form_render_values form_render_values: { .label field = 7 - //SEG319 [165] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] - //SEG320 [165] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 + //SEG445 [254] phi from form_render_values to form_render_values::@1 [phi:form_render_values->form_render_values::@1] + //SEG446 [254] phi (byte) form_render_values::idx#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_render_values->form_render_values::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG321 [165] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] - //SEG322 [165] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy - //SEG323 form_render_values::@1 + //SEG447 [254] phi from form_render_values::@3 to form_render_values::@1 [phi:form_render_values::@3->form_render_values::@1] + //SEG448 [254] phi (byte) form_render_values::idx#2 = (byte) form_render_values::idx#1 [phi:form_render_values::@3->form_render_values::@1#0] -- register_copy + //SEG449 form_render_values::@1 b1: - //SEG324 [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 ] ) + //SEG450 [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 ] ) // (byte) form_field_ptr::field_idx#0 = (byte) form_render_values::idx#2 // register copy reg byte x - //SEG325 [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 ] ) - //SEG326 [158] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] - //SEG327 [158] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy + //SEG451 [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 ] ) + //SEG452 [218] phi from form_render_values::@1 to form_field_ptr [phi:form_render_values::@1->form_field_ptr] + //SEG453 [218] phi (byte) form_field_ptr::field_idx#2 = (byte) form_field_ptr::field_idx#0 [phi:form_render_values::@1->form_field_ptr#0] -- register_copy jsr form_field_ptr - //SEG328 [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 ] ) + //SEG454 [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 ] ) // (byte*) form_field_ptr::return#2 = (byte*) form_field_ptr::return#0 // register copy zp ZP_WORD:7 - //SEG329 form_render_values::@3 - //SEG330 [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 ] ) + //SEG455 form_render_values::@3 + //SEG456 [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 ] ) // (byte*) form_render_values::field#0 = (byte*) form_field_ptr::return#2 // register copy zp ZP_WORD:7 - //SEG331 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuxx + //SEG457 [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 ] ) -- _deref_pbuz1=pbuc1_derefidx_pbuc2_derefidx_vbuxx lda form_fields_val,x tay lda print_hextab,y ldy #0 sta (field),y - //SEG332 [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 ] ) -- vbuxx=_inc_vbuxx + //SEG458 [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 ] ) -- vbuxx=_inc_vbuxx inx - //SEG333 [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 ] ) -- vbuxx_lt_vbuc1_then_la1 + //SEG459 [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 ] ) -- vbuxx_lt_vbuc1_then_la1 cpx #form_fields_cnt bcc b1 - //SEG334 form_render_values::@return - //SEG335 [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 ] ) + //SEG460 form_render_values::@return + //SEG461 [262] return [ ] ( main:2::form_init:10::form_render_values:251 [ ] ) rts } -//SEG336 form_set_screen +//SEG462 form_set_screen form_set_screen: { + .label screen = FORM_SCREEN+FORM_OFFSET .label line = 7 - //SEG337 [175] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] - //SEG338 [175] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 + //SEG463 [264] phi from form_set_screen to form_set_screen::@1 [phi:form_set_screen->form_set_screen::@1] + //SEG464 [264] phi (byte) form_set_screen::y#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:form_set_screen->form_set_screen::@1#0] -- vbuxx=vbuc1 ldx #0 - //SEG339 [175] phi (byte*) form_set_screen::line#2 = (const byte*) menu::SCREEN#0 [phi:form_set_screen->form_set_screen::@1#1] -- pbuz1=pbuc1 - lda #form_set_screen::@1#1] -- pbuz1=pbuc1 + lda #menu.SCREEN + lda #>screen sta line+1 - //SEG340 [175] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] - //SEG341 [175] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy - //SEG342 [175] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy - //SEG343 form_set_screen::@1 + //SEG466 [264] phi from form_set_screen::@1 to form_set_screen::@1 [phi:form_set_screen::@1->form_set_screen::@1] + //SEG467 [264] phi (byte) form_set_screen::y#2 = (byte) form_set_screen::y#1 [phi:form_set_screen::@1->form_set_screen::@1#0] -- register_copy + //SEG468 [264] phi (byte*) form_set_screen::line#2 = (byte*) form_set_screen::line#1 [phi:form_set_screen::@1->form_set_screen::@1#1] -- register_copy + //SEG469 form_set_screen::@1 b1: - //SEG344 [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 ] ) -- vbuaa=_lo_pbuz1 + //SEG470 [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 ] ) -- vbuaa=_lo_pbuz1 lda line - //SEG345 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG471 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_lo,x - //SEG346 [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 ] ) -- vbuaa=_hi_pbuz1 + //SEG472 [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 ] ) -- vbuaa=_hi_pbuz1 lda line+1 - //SEG347 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuaa + //SEG473 [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 ] ) -- pbuc1_derefidx_vbuxx=vbuaa sta form_line_hi,x - //SEG348 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG474 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda line clc adc #$28 @@ -12318,88 +16846,88 @@ form_set_screen: { bcc !+ inc line+1 !: - //SEG349 [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 ] ) -- vbuxx=_inc_vbuxx + //SEG475 [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 ] ) -- vbuxx=_inc_vbuxx inx - //SEG350 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 + //SEG476 [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 ] ) -- vbuxx_neq_vbuc1_then_la1 cpx #$19 bne b1 - //SEG351 form_set_screen::@return - //SEG352 [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 ] ) + //SEG477 form_set_screen::@return + //SEG478 [272] return [ ] ( main:2::form_init:10::form_set_screen:249 [ ] ) rts } -//SEG353 print_str_lines +//SEG479 print_str_lines print_str_lines: { .label str = 7 - //SEG354 [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 ] ) -- pbuz1=pbuz2 + //SEG480 [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 ] ) -- pbuz1=pbuz2 lda print_set_screen.screen sta print_char_cursor lda print_set_screen.screen+1 sta print_char_cursor+1 - //SEG355 [186] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] - //SEG356 [186] phi (byte*) print_line_cursor#2 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy - //SEG357 [186] phi (byte*) print_char_cursor#22 = (byte*~) print_char_cursor#64 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy - //SEG358 [186] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy - //SEG359 print_str_lines::@1 + //SEG481 [275] phi from print_str_lines print_str_lines::@9 to print_str_lines::@1 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1] + //SEG482 [275] phi (byte*) print_line_cursor#16 = (byte*) print_set_screen::screen#2 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#0] -- register_copy + //SEG483 [275] phi (byte*) print_char_cursor#18 = (byte*~) print_char_cursor#60 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#1] -- register_copy + //SEG484 [275] phi (byte*) print_str_lines::str#3 = (byte*) print_str_lines::str#5 [phi:print_str_lines/print_str_lines::@9->print_str_lines::@1#2] -- register_copy + //SEG485 print_str_lines::@1 b1: - //SEG360 [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 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 + //SEG486 [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 ] ) -- _deref_pbuz1_neq_vbuc1_then_la1 ldy #0 lda (str),y cmp #'@' bne b4 - //SEG361 print_str_lines::@return - //SEG362 [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 ] ) + //SEG487 print_str_lines::@return + //SEG488 [277] return [ ] ( main:2::form_init:10::print_str_lines:243 [ ] main:2::form_init:10::print_str_lines:247 [ ] ) rts - //SEG363 [189] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] - //SEG364 [189] phi (byte*) print_char_cursor#20 = (byte*) print_char_cursor#22 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy - //SEG365 [189] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy - //SEG366 print_str_lines::@4 + //SEG489 [278] phi from print_str_lines::@1 print_str_lines::@5 to print_str_lines::@4 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4] + //SEG490 [278] phi (byte*) print_char_cursor#16 = (byte*) print_char_cursor#18 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#0] -- register_copy + //SEG491 [278] phi (byte*) print_str_lines::str#4 = (byte*) print_str_lines::str#3 [phi:print_str_lines::@1/print_str_lines::@5->print_str_lines::@4#1] -- register_copy + //SEG492 print_str_lines::@4 b4: - //SEG367 [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 ] ) -- vbuaa=_deref_pbuz1 + //SEG493 [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 ] ) -- vbuaa=_deref_pbuz1 ldy #0 lda (str),y - //SEG368 [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 ] ) -- pbuz1=_inc_pbuz1 + //SEG494 [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 ] ) -- pbuz1=_inc_pbuz1 inc str bne !+ inc str+1 !: - //SEG369 [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 ] ) -- vbuaa_eq_vbuc1_then_la1 + //SEG495 [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 ] ) -- vbuaa_eq_vbuc1_then_la1 cmp #'@' beq b5 - //SEG370 print_str_lines::@8 - //SEG371 [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 ] ) -- _deref_pbuz1=vbuaa + //SEG496 print_str_lines::@8 + //SEG497 [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 ] ) -- _deref_pbuz1=vbuaa ldy #0 sta (print_char_cursor),y - //SEG372 [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 ] ) -- pbuz1=_inc_pbuz1 + //SEG498 [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 ] ) -- pbuz1=_inc_pbuz1 inc print_char_cursor bne !+ inc print_char_cursor+1 !: - //SEG373 [195] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] - //SEG374 [195] phi (byte*) print_char_cursor#38 = (byte*) print_char_cursor#20 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy - //SEG375 print_str_lines::@5 + //SEG499 [284] phi from print_str_lines::@4 print_str_lines::@8 to print_str_lines::@5 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5] + //SEG500 [284] phi (byte*) print_char_cursor#31 = (byte*) print_char_cursor#16 [phi:print_str_lines::@4/print_str_lines::@8->print_str_lines::@5#0] -- register_copy + //SEG501 print_str_lines::@5 b5: - //SEG376 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 + //SEG502 [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 ] ) -- vbuaa_neq_vbuc1_then_la1 cmp #'@' bne b4 - //SEG377 [197] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] - //SEG378 print_str_lines::@9 - //SEG379 [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 ] ) - //SEG380 [200] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] + //SEG503 [286] phi from print_str_lines::@5 to print_str_lines::@9 [phi:print_str_lines::@5->print_str_lines::@9] + //SEG504 print_str_lines::@9 + //SEG505 [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 ] ) + //SEG506 [289] phi from print_str_lines::@9 to print_ln [phi:print_str_lines::@9->print_ln] jsr print_ln - //SEG381 [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 ] ) -- pbuz1=pbuz2 + //SEG507 [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 ] ) -- pbuz1=pbuz2 lda print_line_cursor sta print_char_cursor lda print_line_cursor+1 sta print_char_cursor+1 jmp b1 } -//SEG382 print_ln +//SEG508 print_ln print_ln: { - //SEG383 [201] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] - //SEG384 [201] phi (byte*) print_line_cursor#21 = (byte*) print_line_cursor#2 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy - //SEG385 print_ln::@1 + //SEG509 [290] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1] + //SEG510 [290] phi (byte*) print_line_cursor#17 = (byte*) print_line_cursor#16 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy + //SEG511 print_ln::@1 b1: - //SEG386 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 + //SEG512 [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 ] ) -- pbuz1=pbuz1_plus_vbuc1 lda print_line_cursor clc adc #$28 @@ -12407,7 +16935,7 @@ print_ln: { bcc !+ inc print_line_cursor+1 !: - //SEG387 [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 ] ) -- pbuz1_lt_pbuz2_then_la1 + //SEG513 [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 ] ) -- pbuz1_lt_pbuz2_then_la1 lda print_line_cursor+1 cmp print_char_cursor+1 bcc b1 @@ -12416,56 +16944,167 @@ print_ln: { cmp print_char_cursor bcc b1 !: - //SEG388 print_ln::@return - //SEG389 [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 ] ) + //SEG514 print_ln::@return + //SEG515 [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 ] ) rts } -//SEG390 print_cls -print_cls: { - .label _0 = 9 - .label sc = 7 - //SEG391 [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 ] ) -- pbuz1=pbuz2 - lda print_set_screen.screen - sta sc - lda print_set_screen.screen+1 - sta sc+1 - //SEG392 [206] phi from print_cls print_cls::@1 to print_cls::@1 [phi:print_cls/print_cls::@1->print_cls::@1] - //SEG393 [206] phi (byte*) print_cls::sc#2 = (byte*) print_cls::sc#0 [phi:print_cls/print_cls::@1->print_cls::@1#0] -- register_copy - //SEG394 print_cls::@1 - b1: - //SEG395 [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 ] ) -- _deref_pbuz1=vbuc1 - lda #' ' - ldy #0 - sta (sc),y - //SEG396 [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 ] ) -- pbuz1=_inc_pbuz1 - inc sc - bne !+ - inc sc+1 - !: - //SEG397 [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 ] ) -- pbuz1=pbuz2_plus_vwuc1 - lda print_set_screen.screen - clc - adc #<$3e8 - sta _0 - lda print_set_screen.screen+1 - adc #>$3e8 - sta _0+1 - //SEG398 [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 ] ) -- pbuz1_neq_pbuz2_then_la1 - lda sc+1 - cmp _0+1 - bne b1 - lda sc - cmp _0 - bne b1 - //SEG399 print_cls::@return - //SEG400 [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 ] ) - rts -} -//SEG401 print_set_screen +//SEG516 print_set_screen print_set_screen: { .label screen = $b - //SEG402 print_set_screen::@return - //SEG403 [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 ] ) + //SEG517 print_set_screen::@return + //SEG518 [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 ] ) + rts +} +//SEG519 gfx_init +gfx_init: { + //SEG520 [297] call gfx_init_plane_8bppchunky param-assignment [ ] ( main:2::gfx_init:8 [ ] ) + //SEG521 [299] phi from gfx_init to gfx_init_plane_8bppchunky [phi:gfx_init->gfx_init_plane_8bppchunky] + jsr gfx_init_plane_8bppchunky + //SEG522 gfx_init::@return + //SEG523 [298] return [ ] ( main:2::gfx_init:8 [ ] ) + rts +} +//SEG524 gfx_init_plane_8bppchunky +gfx_init_plane_8bppchunky: { + .label _6 = $b + .label gfxb = 9 + .label x = 7 + .label y = 2 + //SEG525 [300] call dtvSetCpuBankSegment1 param-assignment [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] ) + //SEG526 [319] phi from gfx_init_plane_8bppchunky to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1] + //SEG527 [319] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 = ((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + lda #PLANE_8BPP_CHUNKY/$4000 + jsr dtvSetCpuBankSegment1 + //SEG528 [301] phi from gfx_init_plane_8bppchunky to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1] + //SEG529 [301] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = ++((byte))(const dword) PLANE_8BPP_CHUNKY#0/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#0] -- vbuxx=vbuc1 + ldx #PLANE_8BPP_CHUNKY/$4000+1 + //SEG530 [301] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#1] -- vbuz1=vbuc1 + lda #0 + sta y + //SEG531 [301] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky->gfx_init_plane_8bppchunky::@1#2] -- pbuz1=pbuc1 + lda #<$4000 + sta gfxb + lda #>$4000 + sta gfxb+1 + //SEG532 [301] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1] + //SEG533 [301] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#0] -- register_copy + //SEG534 [301] phi (byte) gfx_init_plane_8bppchunky::y#6 = (byte) gfx_init_plane_8bppchunky::y#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#1] -- register_copy + //SEG535 [301] phi (byte*) gfx_init_plane_8bppchunky::gfxb#5 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@1#2] -- register_copy + //SEG536 gfx_init_plane_8bppchunky::@1 + b1: + //SEG537 [302] phi from gfx_init_plane_8bppchunky::@1 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2] + //SEG538 [302] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#7 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG539 [302] phi (word) gfx_init_plane_8bppchunky::x#2 = (byte/signed byte/word/signed word/dword/signed dword) 0 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#1] -- vwuz1=vbuc1 + lda #<0 + sta x + sta x+1 + //SEG540 [302] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#5 [phi:gfx_init_plane_8bppchunky::@1->gfx_init_plane_8bppchunky::@2#2] -- register_copy + //SEG541 [302] phi from gfx_init_plane_8bppchunky::@3 to gfx_init_plane_8bppchunky::@2 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2] + //SEG542 [302] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#0] -- register_copy + //SEG543 [302] phi (word) gfx_init_plane_8bppchunky::x#2 = (word) gfx_init_plane_8bppchunky::x#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#1] -- register_copy + //SEG544 [302] phi (byte*) gfx_init_plane_8bppchunky::gfxb#3 = (byte*) gfx_init_plane_8bppchunky::gfxb#1 [phi:gfx_init_plane_8bppchunky::@3->gfx_init_plane_8bppchunky::@2#2] -- register_copy + //SEG545 gfx_init_plane_8bppchunky::@2 + b2: + //SEG546 [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 ] ) -- pbuz1_neq_vwuc1_then_la1 + lda gfxb+1 + cmp #>$8000 + bne b3 + lda gfxb + cmp #<$8000 + bne b3 + //SEG547 gfx_init_plane_8bppchunky::@4 + //SEG548 [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 ] ) -- vbuaa=vbuxx + txa + //SEG549 [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 ] ) + //SEG550 [319] phi from gfx_init_plane_8bppchunky::@4 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1] + //SEG551 [319] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 = (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 [phi:gfx_init_plane_8bppchunky::@4->dtvSetCpuBankSegment1#0] -- register_copy + jsr dtvSetCpuBankSegment1 + //SEG552 gfx_init_plane_8bppchunky::@8 + //SEG553 [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 ] ) -- vbuxx=_inc_vbuxx + inx + //SEG554 [307] phi from gfx_init_plane_8bppchunky::@8 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3] + //SEG555 [307] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG556 [307] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = ((byte*))(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@8->gfx_init_plane_8bppchunky::@3#1] -- pbuz1=pbuc1 + lda #<$4000 + sta gfxb + lda #>$4000 + sta gfxb+1 + //SEG557 [307] phi from gfx_init_plane_8bppchunky::@2 to gfx_init_plane_8bppchunky::@3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3] + //SEG558 [307] phi (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 = (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#0] -- register_copy + //SEG559 [307] phi (byte*) gfx_init_plane_8bppchunky::gfxb#4 = (byte*) gfx_init_plane_8bppchunky::gfxb#3 [phi:gfx_init_plane_8bppchunky::@2->gfx_init_plane_8bppchunky::@3#1] -- register_copy + //SEG560 gfx_init_plane_8bppchunky::@3 + b3: + //SEG561 [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 ] ) -- vwuz1=vwuz2_plus_vbuz3 + lda y + clc + adc x + sta _6 + lda #0 + adc x+1 + sta _6+1 + //SEG562 [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 ] ) -- vbuaa=_byte_vwuz1 + lda _6 + //SEG563 [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 ] ) -- _deref_pbuz1=vbuaa + ldy #0 + sta (gfxb),y + //SEG564 [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 ] ) -- pbuz1=_inc_pbuz1 + inc gfxb + bne !+ + inc gfxb+1 + !: + //SEG565 [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 ] ) -- vwuz1=_inc_vwuz1 + inc x + bne !+ + inc x+1 + !: + //SEG566 [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 ] ) -- vwuz1_neq_vwuc1_then_la1 + lda x+1 + cmp #>$140 + bne b2 + lda x + cmp #<$140 + bne b2 + //SEG567 gfx_init_plane_8bppchunky::@5 + //SEG568 [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 ] ) -- vbuz1=_inc_vbuz1 + inc y + //SEG569 [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 ] ) -- vbuz1_neq_vbuc1_then_la1 + lda y + cmp #$c8 + bne b1 + //SEG570 [316] phi from gfx_init_plane_8bppchunky::@5 to gfx_init_plane_8bppchunky::@6 [phi:gfx_init_plane_8bppchunky::@5->gfx_init_plane_8bppchunky::@6] + //SEG571 gfx_init_plane_8bppchunky::@6 + //SEG572 [317] call dtvSetCpuBankSegment1 param-assignment [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] ) + //SEG573 [319] phi from gfx_init_plane_8bppchunky::@6 to dtvSetCpuBankSegment1 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1] + //SEG574 [319] phi (byte) dtvSetCpuBankSegment1::cpuBankIdx#3 = ((byte))(word/signed word/dword/signed dword) 16384/(word/signed word/dword/signed dword) 16384 [phi:gfx_init_plane_8bppchunky::@6->dtvSetCpuBankSegment1#0] -- vbuaa=vbuc1 + lda #$4000/$4000 + jsr dtvSetCpuBankSegment1 + //SEG575 gfx_init_plane_8bppchunky::@return + //SEG576 [318] return [ ] ( main:2::gfx_init:8::gfx_init_plane_8bppchunky:297 [ ] ) + rts +} +//SEG577 dtvSetCpuBankSegment1 +dtvSetCpuBankSegment1: { + .label cpuBank = $ff + //SEG578 [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 [ ] ) -- _deref_pbuc1=vbuaa + sta cpuBank + //SEG579 asm { .byte$32,$dd lda$ff .byte$32,$00 } + .byte $32, $dd + lda $ff + .byte $32, $00 + //SEG580 dtvSetCpuBankSegment1::@return + //SEG581 [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 [ ] ) + rts +} +//SEG582 keyboard_init +keyboard_init: { + //SEG583 [323] *((const byte*) CIA1_PORT_A_DDR#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:2::keyboard_init:6 [ ] ) -- _deref_pbuc1=vbuc2 + lda #$ff + sta CIA1_PORT_A_DDR + //SEG584 [324] *((const byte*) CIA1_PORT_B_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0 [ ] ( main:2::keyboard_init:6 [ ] ) -- _deref_pbuc1=vbuc2 + lda #0 + sta CIA1_PORT_B_DDR + //SEG585 keyboard_init::@return + //SEG586 [325] return [ ] ( main:2::keyboard_init:6 [ ] ) rts } DTV_PALETTE_DEFAULT: .byte 0, $f, $36, $be, $58, $db, $86, $ff, $29, $26, $3b, 5, 7, $df, $9a, $a @@ -12474,12 +17113,12 @@ 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 @"+"@" diff --git a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.sym b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.sym index 862bad7c4..d572a21fb 100644 --- a/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.sym +++ b/src/test/java/dk/camelot64/kickc/test/ref/c64dtv-gfxexplorer.sym @@ -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 ]