@begin: scope:[] from [0] phi() to:@1 @1: scope:[] from @begin [1] phi() [2] call main to:@end @end: scope:[] from @1 [3] phi() (void()) main() main: scope:[main] from @1 asm { sei } [5] *((const nomodify byte*) PROCPORT_DDR) ← (const nomodify byte) PROCPORT_DDR_MEMORY_MASK [6] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO [7] *((const nomodify byte*) DTV_FEATURE) ← (const nomodify byte) DTV_FEATURE_ENABLE [8] call keyboard_init to:main::@3 main::@3: scope:[main] from main [9] phi() [10] call gfx_init to:main::@1 main::@1: scope:[main] from main::@3 main::@4 [11] (byte) form_field_idx#1 ← phi( main::@4/(byte) form_field_idx#18 main::@3/(byte) 0 ) [11] (byte) keyboard_events_size#27 ← phi( main::@4/(byte) keyboard_events_size#24 main::@3/(byte) 0 ) [11] (signed byte) form_cursor_count#1 ← phi( main::@4/(signed byte) form_cursor_count#16 main::@3/(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 ) to:main::@2 main::@2: scope:[main] from main::@1 [12] phi() [13] call form_mode to:main::@4 main::@4: scope:[main] from main::@2 [14] phi() [15] call gfx_mode to:main::@1 (void()) gfx_mode() gfx_mode: scope:[gfx_mode] from main::@4 [16] if(*((const nomodify byte*) form_ctrl_line)==(byte) 0) goto gfx_mode::@1 to:gfx_mode::@10 gfx_mode::@10: scope:[gfx_mode] from gfx_mode [17] phi() to:gfx_mode::@1 gfx_mode::@1: scope:[gfx_mode] from gfx_mode gfx_mode::@10 [18] (byte) gfx_mode::dtv_control#14 ← phi( gfx_mode/(byte) 0 gfx_mode::@10/(const nomodify byte) DTV_LINEAR ) [19] if(*((const nomodify byte*) form_ctrl_borof)==(byte) 0) goto gfx_mode::@2 to:gfx_mode::@11 gfx_mode::@11: scope:[gfx_mode] from gfx_mode::@1 [20] (byte) gfx_mode::dtv_control#2 ← (byte) gfx_mode::dtv_control#14 | (const nomodify byte) DTV_BORDER_OFF to:gfx_mode::@2 gfx_mode::@2: scope:[gfx_mode] from gfx_mode::@1 gfx_mode::@11 [21] (byte) gfx_mode::dtv_control#15 ← phi( gfx_mode::@1/(byte) gfx_mode::dtv_control#14 gfx_mode::@11/(byte) gfx_mode::dtv_control#2 ) [22] if(*((const nomodify byte*) form_ctrl_hicol)==(byte) 0) goto gfx_mode::@3 to:gfx_mode::@12 gfx_mode::@12: scope:[gfx_mode] from gfx_mode::@2 [23] (byte) gfx_mode::dtv_control#3 ← (byte) gfx_mode::dtv_control#15 | (const nomodify byte) DTV_HIGHCOLOR to:gfx_mode::@3 gfx_mode::@3: scope:[gfx_mode] from gfx_mode::@12 gfx_mode::@2 [24] (byte) gfx_mode::dtv_control#10 ← phi( gfx_mode::@12/(byte) gfx_mode::dtv_control#3 gfx_mode::@2/(byte) gfx_mode::dtv_control#15 ) [25] if(*((const nomodify byte*) form_ctrl_overs)==(byte) 0) goto gfx_mode::@4 to:gfx_mode::@13 gfx_mode::@13: scope:[gfx_mode] from gfx_mode::@3 [26] (byte) gfx_mode::dtv_control#4 ← (byte) gfx_mode::dtv_control#10 | (const nomodify byte) DTV_OVERSCAN to:gfx_mode::@4 gfx_mode::@4: scope:[gfx_mode] from gfx_mode::@13 gfx_mode::@3 [27] (byte) gfx_mode::dtv_control#11 ← phi( gfx_mode::@13/(byte) gfx_mode::dtv_control#4 gfx_mode::@3/(byte) gfx_mode::dtv_control#10 ) [28] if(*((const nomodify byte*) form_ctrl_colof)==(byte) 0) goto gfx_mode::@5 to:gfx_mode::@14 gfx_mode::@14: scope:[gfx_mode] from gfx_mode::@4 [29] (byte) gfx_mode::dtv_control#5 ← (byte) gfx_mode::dtv_control#11 | (const nomodify byte) DTV_COLORRAM_OFF to:gfx_mode::@5 gfx_mode::@5: scope:[gfx_mode] from gfx_mode::@14 gfx_mode::@4 [30] (byte) gfx_mode::dtv_control#13 ← phi( gfx_mode::@14/(byte) gfx_mode::dtv_control#5 gfx_mode::@4/(byte) gfx_mode::dtv_control#11 ) [31] if(*((const nomodify byte*) form_ctrl_chunk)==(byte) 0) goto gfx_mode::@6 to:gfx_mode::@15 gfx_mode::@15: scope:[gfx_mode] from gfx_mode::@5 [32] (byte) gfx_mode::dtv_control#6 ← (byte) gfx_mode::dtv_control#13 | (const nomodify byte) DTV_CHUNKY to:gfx_mode::@6 gfx_mode::@6: scope:[gfx_mode] from gfx_mode::@15 gfx_mode::@5 [33] (byte) gfx_mode::dtv_control#12 ← phi( gfx_mode::@15/(byte) gfx_mode::dtv_control#6 gfx_mode::@5/(byte) gfx_mode::dtv_control#13 ) [34] *((const nomodify byte*) DTV_CONTROL) ← (byte) gfx_mode::dtv_control#12 [35] if(*((const nomodify byte*) form_ctrl_ecm)==(byte) 0) goto gfx_mode::@7 to:gfx_mode::@16 gfx_mode::@16: scope:[gfx_mode] from gfx_mode::@6 [36] phi() to:gfx_mode::@7 gfx_mode::@7: scope:[gfx_mode] from gfx_mode::@16 gfx_mode::@6 [37] (byte) gfx_mode::vic_control#5 ← phi( gfx_mode::@16/(const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3|(const nomodify byte) VIC_ECM gfx_mode::@6/(const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 ) [38] if(*((const nomodify byte*) form_ctrl_bmm)==(byte) 0) goto gfx_mode::@8 to:gfx_mode::@17 gfx_mode::@17: scope:[gfx_mode] from gfx_mode::@7 [39] (byte) gfx_mode::vic_control#2 ← (byte) gfx_mode::vic_control#5 | (const nomodify byte) VIC_BMM to:gfx_mode::@8 gfx_mode::@8: scope:[gfx_mode] from gfx_mode::@17 gfx_mode::@7 [40] (byte) gfx_mode::vic_control#4 ← phi( gfx_mode::@17/(byte) gfx_mode::vic_control#2 gfx_mode::@7/(byte) gfx_mode::vic_control#5 ) [41] *((const nomodify byte*) VIC_CONTROL) ← (byte) gfx_mode::vic_control#4 [42] if(*((const nomodify byte*) form_ctrl_mcm)==(byte) 0) goto gfx_mode::@9 to:gfx_mode::@18 gfx_mode::@18: scope:[gfx_mode] from gfx_mode::@8 [43] phi() to:gfx_mode::@9 gfx_mode::@9: scope:[gfx_mode] from gfx_mode::@18 gfx_mode::@8 [44] (byte) gfx_mode::vic_control2#2 ← phi( gfx_mode::@18/(const nomodify byte) VIC_CSEL|(const nomodify byte) VIC_MCM gfx_mode::@8/(const nomodify byte) VIC_CSEL ) [45] *((const nomodify byte*) VIC_CONTROL2) ← (byte) gfx_mode::vic_control2#2 [46] (byte~) gfx_mode::$18 ← *((const nomodify byte*) form_a_start_hi) << (byte) 4 [47] (byte) gfx_mode::plane_a_offs#0 ← (byte~) gfx_mode::$18 | *((const nomodify byte*) form_a_start_lo) [48] (byte) get_plane::idx#0 ← *((const nomodify byte*) form_a_pattern) [49] call get_plane [50] (dword) get_plane::return#16 ← (dword) get_plane::return#14 to:gfx_mode::@27 gfx_mode::@27: scope:[gfx_mode] from gfx_mode::@9 [51] (dword~) gfx_mode::$20 ← (dword) get_plane::return#16 [52] (dword) gfx_mode::plane_a#0 ← (dword~) gfx_mode::$20 + (byte) gfx_mode::plane_a_offs#0 [53] (word~) gfx_mode::$24 ← < (dword) gfx_mode::plane_a#0 [54] (byte~) gfx_mode::$23 ← < (word~) gfx_mode::$24 [55] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte~) gfx_mode::$23 [56] (byte~) gfx_mode::$25 ← > (word~) gfx_mode::$24 [57] *((const nomodify byte*) DTV_PLANEA_START_MI) ← (byte~) gfx_mode::$25 [58] (word~) gfx_mode::$26 ← > (dword) gfx_mode::plane_a#0 [59] (byte~) gfx_mode::$27 ← < (word~) gfx_mode::$26 [60] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte~) gfx_mode::$27 [61] (byte~) gfx_mode::$28 ← *((const nomodify byte*) form_a_step_hi) << (byte) 4 [62] (byte~) gfx_mode::$29 ← (byte~) gfx_mode::$28 | *((const nomodify byte*) form_a_step_lo) [63] *((const nomodify byte*) DTV_PLANEA_STEP) ← (byte~) gfx_mode::$29 [64] (byte~) gfx_mode::$30 ← *((const nomodify byte*) form_a_mod_hi) << (byte) 4 [65] (byte~) gfx_mode::$31 ← (byte~) gfx_mode::$30 | *((const nomodify byte*) form_a_mod_lo) [66] *((const nomodify byte*) DTV_PLANEA_MODULO_LO) ← (byte~) gfx_mode::$31 [67] *((const nomodify byte*) DTV_PLANEA_MODULO_HI) ← (byte) 0 [68] (byte~) gfx_mode::$32 ← *((const nomodify byte*) form_b_start_hi) << (byte) 4 [69] (byte) gfx_mode::plane_b_offs#0 ← (byte~) gfx_mode::$32 | *((const nomodify byte*) form_b_start_lo) [70] (byte) get_plane::idx#1 ← *((const nomodify byte*) form_b_pattern) [71] call get_plane [72] (dword) get_plane::return#17 ← (dword) get_plane::return#14 to:gfx_mode::@28 gfx_mode::@28: scope:[gfx_mode] from gfx_mode::@27 [73] (dword~) gfx_mode::$34 ← (dword) get_plane::return#17 [74] (dword) gfx_mode::plane_b#0 ← (dword~) gfx_mode::$34 + (byte) gfx_mode::plane_b_offs#0 [75] (word~) gfx_mode::$38 ← < (dword) gfx_mode::plane_b#0 [76] (byte~) gfx_mode::$37 ← < (word~) gfx_mode::$38 [77] *((const nomodify byte*) DTV_PLANEB_START_LO) ← (byte~) gfx_mode::$37 [78] (byte~) gfx_mode::$39 ← > (word~) gfx_mode::$38 [79] *((const nomodify byte*) DTV_PLANEB_START_MI) ← (byte~) gfx_mode::$39 [80] (word~) gfx_mode::$40 ← > (dword) gfx_mode::plane_b#0 [81] (byte~) gfx_mode::$41 ← < (word~) gfx_mode::$40 [82] *((const nomodify byte*) DTV_PLANEB_START_HI) ← (byte~) gfx_mode::$41 [83] (byte~) gfx_mode::$42 ← *((const nomodify byte*) form_b_step_hi) << (byte) 4 [84] (byte~) gfx_mode::$43 ← (byte~) gfx_mode::$42 | *((const nomodify byte*) form_b_step_lo) [85] *((const nomodify byte*) DTV_PLANEB_STEP) ← (byte~) gfx_mode::$43 [86] (byte~) gfx_mode::$44 ← *((const nomodify byte*) form_b_mod_hi) << (byte) 4 [87] (byte~) gfx_mode::$45 ← (byte~) gfx_mode::$44 | *((const nomodify byte*) form_b_mod_lo) [88] *((const nomodify byte*) DTV_PLANEB_MODULO_LO) ← (byte~) gfx_mode::$45 [89] *((const nomodify byte*) DTV_PLANEB_MODULO_HI) ← (byte) 0 [90] *((const nomodify byte*) CIA2_PORT_A_DDR) ← (byte) 3 [91] *((const nomodify byte*) CIA2_PORT_A) ← (byte) 3^(byte)(word)(const nomodify byte*) VIC_SCREEN0/(word) $4000 [92] (byte) get_vic_screen::idx#0 ← *((const nomodify byte*) form_vic_screen) [93] call get_vic_screen [94] (byte*) get_vic_screen::return#10 ← (byte*) get_vic_screen::return#5 to:gfx_mode::@29 gfx_mode::@29: scope:[gfx_mode] from gfx_mode::@28 [95] (byte*~) gfx_mode::$82 ← (byte*) get_vic_screen::return#10 [96] (word~) gfx_mode::$47 ← (word)(byte*~) gfx_mode::$82 & (word) $3fff [97] (word~) gfx_mode::$48 ← (word~) gfx_mode::$47 >> (byte) 6 [98] (byte) get_vic_charset::idx#0 ← *((const nomodify byte*) form_vic_gfx) [99] call get_vic_charset [100] (byte*) get_vic_charset::return#4 ← (byte*) get_vic_charset::return#2 to:gfx_mode::@30 gfx_mode::@30: scope:[gfx_mode] from gfx_mode::@29 [101] (byte*~) gfx_mode::$83 ← (byte*) get_vic_charset::return#4 [102] (word~) gfx_mode::$50 ← (word)(byte*~) gfx_mode::$83 & (word) $3fff [103] (byte~) gfx_mode::$51 ← > (word~) gfx_mode::$50 [104] (byte~) gfx_mode::$52 ← (byte~) gfx_mode::$51 >> (byte) 2 [105] (byte~) gfx_mode::$84 ← (byte)(word~) gfx_mode::$48 [106] (byte~) gfx_mode::$53 ← (byte~) gfx_mode::$84 | (byte~) gfx_mode::$52 [107] *((const nomodify byte*) VIC_MEMORY) ← (byte~) gfx_mode::$53 [108] (byte) get_vic_screen::idx#1 ← *((const nomodify byte*) form_vic_cols) [109] call get_vic_screen [110] (byte*) get_vic_screen::return#11 ← (byte*) get_vic_screen::return#5 to:gfx_mode::@31 gfx_mode::@31: scope:[gfx_mode] from gfx_mode::@30 [111] (byte*) gfx_mode::vic_colors#0 ← (byte*) get_vic_screen::return#11 to:gfx_mode::@19 gfx_mode::@19: scope:[gfx_mode] from gfx_mode::@21 gfx_mode::@31 [112] (byte) gfx_mode::cy#4 ← phi( gfx_mode::@21/(byte) gfx_mode::cy#1 gfx_mode::@31/(byte) 0 ) [112] (byte*) gfx_mode::col#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::col#1 gfx_mode::@31/(const nomodify byte*) COLS ) [112] (byte*) gfx_mode::vic_colors#3 ← phi( gfx_mode::@21/(byte*) gfx_mode::vic_colors#1 gfx_mode::@31/(byte*) gfx_mode::vic_colors#0 ) to:gfx_mode::@20 gfx_mode::@20: scope:[gfx_mode] from gfx_mode::@19 gfx_mode::@20 [113] (byte) gfx_mode::cx#2 ← phi( gfx_mode::@19/(byte) 0 gfx_mode::@20/(byte) gfx_mode::cx#1 ) [113] (byte*) gfx_mode::col#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::col#3 gfx_mode::@20/(byte*) gfx_mode::col#1 ) [113] (byte*) gfx_mode::vic_colors#2 ← phi( gfx_mode::@19/(byte*) gfx_mode::vic_colors#3 gfx_mode::@20/(byte*) gfx_mode::vic_colors#1 ) [114] *((byte*) gfx_mode::col#2) ← *((byte*) gfx_mode::vic_colors#2) [115] (byte*) gfx_mode::col#1 ← ++ (byte*) gfx_mode::col#2 [116] (byte*) gfx_mode::vic_colors#1 ← ++ (byte*) gfx_mode::vic_colors#2 [117] (byte) gfx_mode::cx#1 ← ++ (byte) gfx_mode::cx#2 [118] if((byte) gfx_mode::cx#1!=(byte) $28) goto gfx_mode::@20 to:gfx_mode::@21 gfx_mode::@21: scope:[gfx_mode] from gfx_mode::@20 [119] (byte) gfx_mode::cy#1 ← ++ (byte) gfx_mode::cy#4 [120] if((byte) gfx_mode::cy#1!=(byte) $19) goto gfx_mode::@19 to:gfx_mode::@22 gfx_mode::@22: scope:[gfx_mode] from gfx_mode::@21 [121] *((const nomodify byte*) BORDERCOL) ← (byte) 0 [122] (byte~) gfx_mode::$55 ← *((const nomodify byte*) form_vic_bg0_hi) << (byte) 4 [123] (byte~) gfx_mode::$56 ← (byte~) gfx_mode::$55 | *((const nomodify byte*) form_vic_bg0_lo) [124] *((const nomodify byte*) BGCOL1) ← (byte~) gfx_mode::$56 [125] (byte~) gfx_mode::$57 ← *((const nomodify byte*) form_vic_bg1_hi) << (byte) 4 [126] (byte~) gfx_mode::$58 ← (byte~) gfx_mode::$57 | *((const nomodify byte*) form_vic_bg1_lo) [127] *((const nomodify byte*) BGCOL2) ← (byte~) gfx_mode::$58 [128] (byte~) gfx_mode::$59 ← *((const nomodify byte*) form_vic_bg2_hi) << (byte) 4 [129] (byte~) gfx_mode::$60 ← (byte~) gfx_mode::$59 | *((const nomodify byte*) form_vic_bg2_lo) [130] *((const nomodify byte*) BGCOL3) ← (byte~) gfx_mode::$60 [131] (byte~) gfx_mode::$61 ← *((const nomodify byte*) form_vic_bg3_hi) << (byte) 4 [132] (byte~) gfx_mode::$62 ← (byte~) gfx_mode::$61 | *((const nomodify byte*) form_vic_bg3_lo) [133] *((const nomodify byte*) BGCOL4) ← (byte~) gfx_mode::$62 [134] if(*((const nomodify byte*) form_dtv_palet)==(byte) 0) goto gfx_mode::@24 to:gfx_mode::@23 gfx_mode::@23: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@23 [135] (byte) gfx_mode::j#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@23/(byte) gfx_mode::j#1 ) [136] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::j#2) ← (byte) gfx_mode::j#2 [137] (byte) gfx_mode::j#1 ← ++ (byte) gfx_mode::j#2 [138] if((byte) gfx_mode::j#1!=(byte) $10) goto gfx_mode::@23 to:gfx_mode::@25 gfx_mode::@25: scope:[gfx_mode] from gfx_mode::@23 gfx_mode::@24 gfx_mode::@25 gfx_mode::@33 [139] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto gfx_mode::@25 to:gfx_mode::@26 gfx_mode::@26: scope:[gfx_mode] from gfx_mode::@25 [140] phi() [141] call keyboard_event_scan to:gfx_mode::@32 gfx_mode::@32: scope:[gfx_mode] from gfx_mode::@26 [142] phi() [143] call keyboard_event_get [144] (byte) keyboard_event_get::return#3 ← (byte) keyboard_event_get::return#2 to:gfx_mode::@33 gfx_mode::@33: scope:[gfx_mode] from gfx_mode::@32 [145] (byte) gfx_mode::keyboard_event#0 ← (byte) keyboard_event_get::return#3 [146] if((byte) gfx_mode::keyboard_event#0==(const nomodify byte) KEY_SPACE) goto gfx_mode::@return to:gfx_mode::@25 gfx_mode::@return: scope:[gfx_mode] from gfx_mode::@33 [147] return to:@return gfx_mode::@24: scope:[gfx_mode] from gfx_mode::@22 gfx_mode::@24 [148] (byte) gfx_mode::i#2 ← phi( gfx_mode::@22/(byte) 0 gfx_mode::@24/(byte) gfx_mode::i#1 ) [149] *((const nomodify byte*) DTV_PALETTE + (byte) gfx_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) gfx_mode::i#2) [150] (byte) gfx_mode::i#1 ← ++ (byte) gfx_mode::i#2 [151] if((byte) gfx_mode::i#1!=(byte) $10) goto gfx_mode::@24 to:gfx_mode::@25 (byte()) keyboard_event_get() keyboard_event_get: scope:[keyboard_event_get] from form_control::@19 gfx_mode::@32 [152] if((byte) keyboard_events_size#100==(byte) 0) goto keyboard_event_get::@return to:keyboard_event_get::@1 keyboard_event_get::@1: scope:[keyboard_event_get] from keyboard_event_get [153] (byte) keyboard_events_size#4 ← -- (byte) keyboard_events_size#100 [154] (byte) keyboard_event_get::return#1 ← *((const byte*) keyboard_events + (byte) keyboard_events_size#4) to:keyboard_event_get::@return keyboard_event_get::@return: scope:[keyboard_event_get] from keyboard_event_get keyboard_event_get::@1 [155] (byte) keyboard_events_size#24 ← phi( keyboard_event_get/(byte) keyboard_events_size#100 keyboard_event_get::@1/(byte) keyboard_events_size#4 ) [155] (byte) keyboard_event_get::return#2 ← phi( keyboard_event_get/(byte) $ff keyboard_event_get::@1/(byte) keyboard_event_get::return#1 ) [156] return to:@return (void()) keyboard_event_scan() keyboard_event_scan: scope:[keyboard_event_scan] from form_control::@3 gfx_mode::@26 [157] (byte) keyboard_events_size#97 ← phi( form_control::@3/(byte) keyboard_events_size#47 gfx_mode::@26/(byte) keyboard_events_size#24 ) to:keyboard_event_scan::@7 keyboard_event_scan::@7: scope:[keyboard_event_scan] from keyboard_event_scan keyboard_event_scan::@8 [158] (byte) keyboard_events_size#106 ← phi( keyboard_event_scan/(byte) keyboard_events_size#97 keyboard_event_scan::@8/(byte) keyboard_events_size#100 ) [158] (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::keycode#13 ) [158] (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte) 0 keyboard_event_scan::@8/(byte) keyboard_event_scan::row#1 ) [159] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2 [160] call keyboard_matrix_read [161] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 to:keyboard_event_scan::@19 keyboard_event_scan::@19: scope:[keyboard_event_scan] from keyboard_event_scan::@7 [162] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2 [163] if((byte) keyboard_event_scan::row_scan#0!=*((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@9 to:keyboard_event_scan::@16 keyboard_event_scan::@16: scope:[keyboard_event_scan] from keyboard_event_scan::@19 [164] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte) 8 to:keyboard_event_scan::@8 keyboard_event_scan::@8: scope:[keyboard_event_scan] from keyboard_event_scan::@15 keyboard_event_scan::@16 [165] (byte) keyboard_events_size#100 ← phi( keyboard_event_scan::@15/(byte) keyboard_events_size#105 keyboard_event_scan::@16/(byte) keyboard_events_size#106 ) [165] (byte) keyboard_event_scan::keycode#13 ← phi( keyboard_event_scan::@15/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@16/(byte) keyboard_event_scan::keycode#1 ) [166] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2 [167] if((byte) keyboard_event_scan::row#1!=(byte) 8) goto keyboard_event_scan::@7 to:keyboard_event_scan::@17 keyboard_event_scan::@17: scope:[keyboard_event_scan] from keyboard_event_scan::@8 [168] phi() [169] call keyboard_event_pressed [170] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@20 keyboard_event_scan::@20: scope:[keyboard_event_scan] from keyboard_event_scan::@17 [171] (byte~) keyboard_event_scan::$0 ← (byte) keyboard_event_pressed::return#0 [172] if((byte~) keyboard_event_scan::$0==(byte) 0) goto keyboard_event_scan::@1 to:keyboard_event_scan::@18 keyboard_event_scan::@18: scope:[keyboard_event_scan] from keyboard_event_scan::@20 [173] phi() to:keyboard_event_scan::@1 keyboard_event_scan::@1: scope:[keyboard_event_scan] from keyboard_event_scan::@18 keyboard_event_scan::@20 [174] (byte) keyboard_modifiers#18 ← phi( keyboard_event_scan::@18/(const nomodify byte) KEY_MODIFIER_LSHIFT keyboard_event_scan::@20/(byte) 0 ) [175] call keyboard_event_pressed [176] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@21 keyboard_event_scan::@21: scope:[keyboard_event_scan] from keyboard_event_scan::@1 [177] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_pressed::return#1 [178] if((byte~) keyboard_event_scan::$3==(byte) 0) goto keyboard_event_scan::@2 to:keyboard_event_scan::@4 keyboard_event_scan::@4: scope:[keyboard_event_scan] from keyboard_event_scan::@21 [179] (byte) keyboard_modifiers#3 ← (byte) keyboard_modifiers#18 | (const nomodify byte) KEY_MODIFIER_RSHIFT to:keyboard_event_scan::@2 keyboard_event_scan::@2: scope:[keyboard_event_scan] from keyboard_event_scan::@21 keyboard_event_scan::@4 [180] (byte) keyboard_modifiers#19 ← phi( keyboard_event_scan::@21/(byte) keyboard_modifiers#18 keyboard_event_scan::@4/(byte) keyboard_modifiers#3 ) [181] call keyboard_event_pressed [182] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@22 keyboard_event_scan::@22: scope:[keyboard_event_scan] from keyboard_event_scan::@2 [183] (byte~) keyboard_event_scan::$6 ← (byte) keyboard_event_pressed::return#2 [184] if((byte~) keyboard_event_scan::$6==(byte) 0) goto keyboard_event_scan::@3 to:keyboard_event_scan::@5 keyboard_event_scan::@5: scope:[keyboard_event_scan] from keyboard_event_scan::@22 [185] (byte) keyboard_modifiers#4 ← (byte) keyboard_modifiers#19 | (const nomodify byte) KEY_MODIFIER_CTRL to:keyboard_event_scan::@3 keyboard_event_scan::@3: scope:[keyboard_event_scan] from keyboard_event_scan::@22 keyboard_event_scan::@5 [186] (byte) keyboard_modifiers#20 ← phi( keyboard_event_scan::@22/(byte) keyboard_modifiers#19 keyboard_event_scan::@5/(byte) keyboard_modifiers#4 ) [187] call keyboard_event_pressed [188] (byte) keyboard_event_pressed::return#3 ← (byte) keyboard_event_pressed::return#10 to:keyboard_event_scan::@23 keyboard_event_scan::@23: scope:[keyboard_event_scan] from keyboard_event_scan::@3 [189] (byte~) keyboard_event_scan::$9 ← (byte) keyboard_event_pressed::return#3 [190] if((byte~) keyboard_event_scan::$9==(byte) 0) goto keyboard_event_scan::@return to:keyboard_event_scan::@6 keyboard_event_scan::@6: scope:[keyboard_event_scan] from keyboard_event_scan::@23 [191] (byte) keyboard_modifiers#5 ← (byte) keyboard_modifiers#20 | (const nomodify byte) KEY_MODIFIER_COMMODORE to:keyboard_event_scan::@return keyboard_event_scan::@return: scope:[keyboard_event_scan] from keyboard_event_scan::@23 keyboard_event_scan::@6 [192] (byte) keyboard_modifiers#21 ← phi( keyboard_event_scan::@23/(byte) keyboard_modifiers#20 keyboard_event_scan::@6/(byte) keyboard_modifiers#5 ) [193] return to:@return keyboard_event_scan::@9: scope:[keyboard_event_scan] from keyboard_event_scan::@10 keyboard_event_scan::@19 [194] (byte) keyboard_events_size#18 ← phi( keyboard_event_scan::@10/(byte) keyboard_events_size#105 keyboard_event_scan::@19/(byte) keyboard_events_size#106 ) [194] (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::keycode#14 keyboard_event_scan::@19/(byte) keyboard_event_scan::keycode#11 ) [194] (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@10/(byte) keyboard_event_scan::col#1 keyboard_event_scan::@19/(byte) 0 ) [195] (byte~) keyboard_event_scan::$15 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) [196] (byte~) keyboard_event_scan::$16 ← (byte~) keyboard_event_scan::$15 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) [197] if((byte~) keyboard_event_scan::$16==(byte) 0) goto keyboard_event_scan::@10 to:keyboard_event_scan::@12 keyboard_event_scan::@12: scope:[keyboard_event_scan] from keyboard_event_scan::@9 [198] if((byte) keyboard_events_size#18==(byte) 8) goto keyboard_event_scan::@10 to:keyboard_event_scan::@13 keyboard_event_scan::@13: scope:[keyboard_event_scan] from keyboard_event_scan::@12 [199] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte) keyboard_event_scan::col#2) [200] if((byte) keyboard_event_scan::event_type#0==(byte) 0) goto keyboard_event_scan::@11 to:keyboard_event_scan::@14 keyboard_event_scan::@14: scope:[keyboard_event_scan] from keyboard_event_scan::@13 [201] *((const byte*) keyboard_events + (byte) keyboard_events_size#18) ← (byte) keyboard_event_scan::keycode#10 [202] (byte) keyboard_events_size#2 ← ++ (byte) keyboard_events_size#18 to:keyboard_event_scan::@10 keyboard_event_scan::@10: scope:[keyboard_event_scan] from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 [203] (byte) keyboard_events_size#105 ← phi( keyboard_event_scan::@9/(byte) keyboard_events_size#18 keyboard_event_scan::@11/(byte) keyboard_events_size#1 keyboard_event_scan::@12/(byte) keyboard_events_size#18 keyboard_event_scan::@14/(byte) keyboard_events_size#2 ) [204] (byte) keyboard_event_scan::keycode#14 ← ++ (byte) keyboard_event_scan::keycode#10 [205] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2 [206] if((byte) keyboard_event_scan::col#1!=(byte) 8) goto keyboard_event_scan::@9 to:keyboard_event_scan::@15 keyboard_event_scan::@15: scope:[keyboard_event_scan] from keyboard_event_scan::@10 [207] *((const byte*) keyboard_scan_values + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0 to:keyboard_event_scan::@8 keyboard_event_scan::@11: scope:[keyboard_event_scan] from keyboard_event_scan::@13 [208] (byte~) keyboard_event_scan::$23 ← (byte) keyboard_event_scan::keycode#10 | (byte) $40 [209] *((const byte*) keyboard_events + (byte) keyboard_events_size#18) ← (byte~) keyboard_event_scan::$23 [210] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#18 to:keyboard_event_scan::@10 (byte()) keyboard_event_pressed((byte) keyboard_event_pressed::keycode) keyboard_event_pressed: scope:[keyboard_event_pressed] from keyboard_event_scan::@1 keyboard_event_scan::@17 keyboard_event_scan::@2 keyboard_event_scan::@3 [211] (byte) keyboard_event_pressed::keycode#4 ← phi( keyboard_event_scan::@1/(const nomodify byte) KEY_RSHIFT keyboard_event_scan::@2/(const nomodify byte) KEY_CTRL keyboard_event_scan::@17/(const nomodify byte) KEY_LSHIFT keyboard_event_scan::@3/(const nomodify byte) KEY_COMMODORE ) [212] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#4 >> (byte) 3 [213] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte*) keyboard_scan_values + (byte~) keyboard_event_pressed::$0) [214] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#4 & (byte) 7 [215] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte*) keyboard_matrix_col_bitmask + (byte~) keyboard_event_pressed::$1) to:keyboard_event_pressed::@return keyboard_event_pressed::@return: scope:[keyboard_event_pressed] from keyboard_event_pressed [216] return to:@return (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_event_scan::@7 [217] *((const nomodify byte*) CIA1_PORT_A) ← *((const byte*) keyboard_matrix_row_bitmask + (byte) keyboard_matrix_read::rowid#0) [218] (byte) keyboard_matrix_read::return#0 ← ~ *((const nomodify byte*) CIA1_PORT_B) to:keyboard_matrix_read::@return keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read [219] return to:@return (byte*()) get_vic_screen((byte) get_vic_screen::idx) get_vic_screen: scope:[get_vic_screen] from gfx_mode::@28 gfx_mode::@30 [220] (byte) get_vic_screen::idx#2 ← phi( gfx_mode::@28/(byte) get_vic_screen::idx#0 gfx_mode::@30/(byte) get_vic_screen::idx#1 ) [221] if((byte) get_vic_screen::idx#2==(byte) 0) goto get_vic_screen::@return to:get_vic_screen::@2 get_vic_screen::@2: scope:[get_vic_screen] from get_vic_screen [222] if((byte) get_vic_screen::idx#2==(byte) 1) goto get_vic_screen::@return to:get_vic_screen::@3 get_vic_screen::@3: scope:[get_vic_screen] from get_vic_screen::@2 [223] if((byte) get_vic_screen::idx#2==(byte) 2) goto get_vic_screen::@return to:get_vic_screen::@4 get_vic_screen::@4: scope:[get_vic_screen] from get_vic_screen::@3 [224] if((byte) get_vic_screen::idx#2==(byte) 3) goto get_vic_screen::@return to:get_vic_screen::@5 get_vic_screen::@5: scope:[get_vic_screen] from get_vic_screen::@4 [225] if((byte) get_vic_screen::idx#2!=(byte) 4) goto get_vic_screen::@1 to:get_vic_screen::@return get_vic_screen::@1: scope:[get_vic_screen] from get_vic_screen::@5 [226] phi() to:get_vic_screen::@return get_vic_screen::@return: scope:[get_vic_screen] from get_vic_screen get_vic_screen::@1 get_vic_screen::@2 get_vic_screen::@3 get_vic_screen::@4 get_vic_screen::@5 [227] (byte*) get_vic_screen::return#5 ← phi( get_vic_screen/(const nomodify byte*) VIC_SCREEN0 get_vic_screen::@5/(const nomodify byte*) VIC_SCREEN4 get_vic_screen::@2/(const nomodify byte*) VIC_SCREEN1 get_vic_screen::@3/(const nomodify byte*) VIC_SCREEN2 get_vic_screen::@4/(const nomodify byte*) VIC_SCREEN3 get_vic_screen::@1/(const nomodify byte*) VIC_SCREEN0 ) [228] return to:@return (byte*()) get_vic_charset((byte) get_vic_charset::idx) get_vic_charset: scope:[get_vic_charset] from gfx_mode::@29 [229] if((byte) get_vic_charset::idx#0==(byte) 0) goto get_vic_charset::@return to:get_vic_charset::@2 get_vic_charset::@2: scope:[get_vic_charset] from get_vic_charset [230] if((byte) get_vic_charset::idx#0!=(byte) 1) goto get_vic_charset::@1 to:get_vic_charset::@return get_vic_charset::@1: scope:[get_vic_charset] from get_vic_charset::@2 [231] phi() to:get_vic_charset::@return get_vic_charset::@return: scope:[get_vic_charset] from get_vic_charset get_vic_charset::@1 get_vic_charset::@2 [232] (byte*) get_vic_charset::return#2 ← phi( get_vic_charset/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@1/(const nomodify byte*) VIC_CHARSET_ROM get_vic_charset::@2/(const nomodify byte*) VIC_BITMAP ) [233] return to:@return (dword()) get_plane((byte) get_plane::idx) get_plane: scope:[get_plane] from gfx_mode::@27 gfx_mode::@9 [234] (byte) get_plane::idx#10 ← phi( gfx_mode::@27/(byte) get_plane::idx#1 gfx_mode::@9/(byte) get_plane::idx#0 ) [235] if((byte) get_plane::idx#10==(byte) 0) goto get_plane::@return to:get_plane::@2 get_plane::@2: scope:[get_plane] from get_plane [236] if((byte) get_plane::idx#10==(byte) 1) goto get_plane::@return to:get_plane::@3 get_plane::@3: scope:[get_plane] from get_plane::@2 [237] if((byte) get_plane::idx#10==(byte) 2) goto get_plane::@return to:get_plane::@4 get_plane::@4: scope:[get_plane] from get_plane::@3 [238] if((byte) get_plane::idx#10==(byte) 3) goto get_plane::@return to:get_plane::@5 get_plane::@5: scope:[get_plane] from get_plane::@4 [239] if((byte) get_plane::idx#10==(byte) 4) goto get_plane::@return to:get_plane::@6 get_plane::@6: scope:[get_plane] from get_plane::@5 [240] if((byte) get_plane::idx#10==(byte) 5) goto get_plane::@return to:get_plane::@7 get_plane::@7: scope:[get_plane] from get_plane::@6 [241] if((byte) get_plane::idx#10==(byte) 6) goto get_plane::@return to:get_plane::@8 get_plane::@8: scope:[get_plane] from get_plane::@7 [242] if((byte) get_plane::idx#10==(byte) 7) goto get_plane::@return to:get_plane::@9 get_plane::@9: scope:[get_plane] from get_plane::@8 [243] if((byte) get_plane::idx#10==(byte) 8) goto get_plane::@return to:get_plane::@10 get_plane::@10: scope:[get_plane] from get_plane::@9 [244] if((byte) get_plane::idx#10==(byte) 9) goto get_plane::@return to:get_plane::@11 get_plane::@11: scope:[get_plane] from get_plane::@10 [245] if((byte) get_plane::idx#10==(byte) $a) goto get_plane::@return to:get_plane::@12 get_plane::@12: scope:[get_plane] from get_plane::@11 [246] if((byte) get_plane::idx#10==(byte) $b) goto get_plane::@return to:get_plane::@13 get_plane::@13: scope:[get_plane] from get_plane::@12 [247] if((byte) get_plane::idx#10==(byte) $c) goto get_plane::@return to:get_plane::@14 get_plane::@14: scope:[get_plane] from get_plane::@13 [248] if((byte) get_plane::idx#10!=(byte) $d) goto get_plane::@1 to:get_plane::@return get_plane::@1: scope:[get_plane] from get_plane::@14 [249] phi() to:get_plane::@return get_plane::@return: scope:[get_plane] from get_plane get_plane::@1 get_plane::@10 get_plane::@11 get_plane::@12 get_plane::@13 get_plane::@14 get_plane::@2 get_plane::@3 get_plane::@4 get_plane::@5 get_plane::@6 get_plane::@7 get_plane::@8 get_plane::@9 [250] (dword) get_plane::return#14 ← phi( get_plane/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@10/(const nomodify dword) PLANE_HORISONTAL2 get_plane::@11/(const nomodify dword) PLANE_VERTICAL2 get_plane::@12/(const nomodify dword) PLANE_CHARSET8 get_plane::@13/(const nomodify dword) PLANE_BLANK get_plane::@2/(dword)(const nomodify byte*) VIC_SCREEN1 get_plane::@1/(dword)(const nomodify byte*) VIC_SCREEN0 get_plane::@3/(dword)(const nomodify byte*) VIC_SCREEN2 get_plane::@4/(dword)(const nomodify byte*) VIC_SCREEN3 get_plane::@14/(const nomodify dword) PLANE_FULL get_plane::@5/(dword)(const nomodify byte*) VIC_BITMAP get_plane::@6/(dword)(const nomodify byte*) VIC_CHARSET_ROM get_plane::@7/(const nomodify dword) PLANE_8BPP_CHUNKY get_plane::@8/(const nomodify dword) PLANE_HORISONTAL get_plane::@9/(const nomodify dword) PLANE_VERTICAL ) [251] return to:@return (void()) form_mode() form_mode: scope:[form_mode] from main::@2 [252] phi() [253] call print_set_screen to:form_mode::@8 form_mode::@8: scope:[form_mode] from form_mode [254] phi() [255] call print_cls to:form_mode::@9 form_mode::@9: scope:[form_mode] from form_mode::@8 [256] phi() [257] call print_str_lines to:form_mode::@10 form_mode::@10: scope:[form_mode] from form_mode::@9 [258] phi() [259] call print_set_screen to:form_mode::@11 form_mode::@11: scope:[form_mode] from form_mode::@10 [260] phi() [261] call print_cls to:form_mode::@12 form_mode::@12: scope:[form_mode] from form_mode::@11 [262] phi() [263] call print_str_lines to:form_mode::@13 form_mode::@13: scope:[form_mode] from form_mode::@12 [264] phi() [265] call form_set_screen to:form_mode::@14 form_mode::@14: scope:[form_mode] from form_mode::@13 [266] phi() [267] call form_render_values to:form_mode::@15 form_mode::@15: scope:[form_mode] from form_mode::@14 [268] (byte) render_preset_name::idx#0 ← *((const byte*) form_fields_val) [269] call render_preset_name to:form_mode::@16 form_mode::@16: scope:[form_mode] from form_mode::@15 [270] *((const nomodify byte*) DTV_GRAPHICS_VIC_BANK) ← (byte) 0 [271] *((const nomodify byte*) DTV_COLOR_BANK_LO) ← <(word)(const nomodify dword) DTV_COLOR_BANK_DEFAULT/(word) $400 [272] *((const nomodify byte*) DTV_COLOR_BANK_HI) ← (byte) 0 [273] *((const nomodify byte*) CIA2_PORT_A_DDR) ← (byte) 3 [274] *((const nomodify byte*) CIA2_PORT_A) ← (byte) 3 [275] *((const nomodify byte*) DTV_CONTROL) ← (byte) 0 [276] *((const nomodify byte*) VIC_CONTROL) ← (const nomodify byte) VIC_DEN|(const nomodify byte) VIC_RSEL|(byte) 3 [277] *((const nomodify byte*) VIC_CONTROL2) ← (const nomodify byte) VIC_CSEL [278] *((const nomodify byte*) VIC_MEMORY) ← (byte)(word)(const nomodify byte*) FORM_SCREEN&(word) $3fff/(byte) $40|(word)(const nomodify byte*) FORM_CHARSET&(word) $3fff/(word) $400 [279] *((const nomodify byte*) DTV_PLANEA_START_LO) ← (byte) 0 [280] *((const nomodify byte*) DTV_PLANEA_START_MI) ← >(const nomodify byte*) FORM_SCREEN [281] *((const nomodify byte*) DTV_PLANEA_START_HI) ← (byte) 0 to:form_mode::@1 form_mode::@1: scope:[form_mode] from form_mode::@1 form_mode::@16 [282] (byte) form_mode::i#2 ← phi( form_mode::@1/(byte) form_mode::i#1 form_mode::@16/(byte) 0 ) [283] *((const nomodify byte*) DTV_PALETTE + (byte) form_mode::i#2) ← *((const byte*) DTV_PALETTE_DEFAULT + (byte) form_mode::i#2) [284] (byte) form_mode::i#1 ← ++ (byte) form_mode::i#2 [285] if((byte) form_mode::i#1!=(byte) $10) goto form_mode::@1 to:form_mode::@2 form_mode::@2: scope:[form_mode] from form_mode::@1 [286] *((const nomodify byte*) BGCOL) ← (byte) 0 [287] *((const nomodify byte*) BORDERCOL) ← (byte) 0 [288] (byte) form_mode::preset_current#0 ← *((const byte*) form_fields_val) to:form_mode::@3 form_mode::@3: scope:[form_mode] from form_mode::@19 form_mode::@2 form_mode::@6 [289] (byte) form_mode::preset_current#6 ← phi( form_mode::@6/(byte) form_mode::preset_current#6 form_mode::@2/(byte) form_mode::preset_current#0 form_mode::@19/(byte) form_mode::preset_current#1 ) [289] (byte) form_field_idx#28 ← phi( form_mode::@6/(byte) form_field_idx#18 form_mode::@2/(byte) form_field_idx#1 form_mode::@19/(byte) form_field_idx#18 ) [289] (byte) keyboard_events_size#47 ← phi( form_mode::@6/(byte) keyboard_events_size#24 form_mode::@2/(byte) keyboard_events_size#27 form_mode::@19/(byte) keyboard_events_size#24 ) [289] (signed byte) form_cursor_count#21 ← phi( form_mode::@6/(signed byte) form_cursor_count#16 form_mode::@2/(signed byte) form_cursor_count#1 form_mode::@19/(signed byte) form_cursor_count#16 ) to:form_mode::@4 form_mode::@4: scope:[form_mode] from form_mode::@3 form_mode::@4 [290] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto form_mode::@4 to:form_mode::@5 form_mode::@5: scope:[form_mode] from form_mode::@4 [291] phi() [292] call form_control [293] (byte) form_control::return#0 ← (byte) form_control::return#2 to:form_mode::@17 form_mode::@17: scope:[form_mode] from form_mode::@5 [294] (byte~) form_mode::$11 ← (byte) form_control::return#0 [295] if((byte~) form_mode::$11==(byte) 0) goto form_mode::@6 to:form_mode::@return form_mode::@return: scope:[form_mode] from form_mode::@17 [296] return to:@return form_mode::@6: scope:[form_mode] from form_mode::@17 [297] if((byte) form_mode::preset_current#6==*((const byte*) form_fields_val)) goto form_mode::@3 to:form_mode::@7 form_mode::@7: scope:[form_mode] from form_mode::@6 [298] (byte) apply_preset::idx#0 ← *((const byte*) form_fields_val) [299] call apply_preset to:form_mode::@18 form_mode::@18: scope:[form_mode] from form_mode::@7 [300] (byte) form_mode::preset_current#1 ← *((const byte*) form_fields_val) [301] call form_render_values to:form_mode::@19 form_mode::@19: scope:[form_mode] from form_mode::@18 [302] (byte) render_preset_name::idx#1 ← *((const byte*) form_fields_val) [303] call render_preset_name to:form_mode::@3 (void()) render_preset_name((byte) render_preset_name::idx) render_preset_name: scope:[render_preset_name] from form_mode::@15 form_mode::@19 [304] (byte) render_preset_name::idx#10 ← phi( form_mode::@15/(byte) render_preset_name::idx#0 form_mode::@19/(byte) render_preset_name::idx#1 ) [305] if((byte) render_preset_name::idx#10==(byte) 0) goto render_preset_name::@2 to:render_preset_name::@3 render_preset_name::@3: scope:[render_preset_name] from render_preset_name [306] if((byte) render_preset_name::idx#10==(byte) 1) goto render_preset_name::@2 to:render_preset_name::@4 render_preset_name::@4: scope:[render_preset_name] from render_preset_name::@3 [307] if((byte) render_preset_name::idx#10==(byte) 2) goto render_preset_name::@2 to:render_preset_name::@5 render_preset_name::@5: scope:[render_preset_name] from render_preset_name::@4 [308] if((byte) render_preset_name::idx#10==(byte) 3) goto render_preset_name::@2 to:render_preset_name::@6 render_preset_name::@6: scope:[render_preset_name] from render_preset_name::@5 [309] if((byte) render_preset_name::idx#10==(byte) 4) goto render_preset_name::@2 to:render_preset_name::@7 render_preset_name::@7: scope:[render_preset_name] from render_preset_name::@6 [310] if((byte) render_preset_name::idx#10==(byte) 5) goto render_preset_name::@2 to:render_preset_name::@8 render_preset_name::@8: scope:[render_preset_name] from render_preset_name::@7 [311] if((byte) render_preset_name::idx#10==(byte) 6) goto render_preset_name::@2 to:render_preset_name::@9 render_preset_name::@9: scope:[render_preset_name] from render_preset_name::@8 [312] if((byte) render_preset_name::idx#10==(byte) 7) goto render_preset_name::@2 to:render_preset_name::@10 render_preset_name::@10: scope:[render_preset_name] from render_preset_name::@9 [313] if((byte) render_preset_name::idx#10==(byte) 8) goto render_preset_name::@2 to:render_preset_name::@11 render_preset_name::@11: scope:[render_preset_name] from render_preset_name::@10 [314] if((byte) render_preset_name::idx#10==(byte) 9) goto render_preset_name::@2 to:render_preset_name::@12 render_preset_name::@12: scope:[render_preset_name] from render_preset_name::@11 [315] if((byte) render_preset_name::idx#10==(byte) $a) goto render_preset_name::@1 to:render_preset_name::@2 render_preset_name::@1: scope:[render_preset_name] from render_preset_name::@12 [316] phi() to:render_preset_name::@2 render_preset_name::@2: scope:[render_preset_name] from render_preset_name render_preset_name::@1 render_preset_name::@10 render_preset_name::@11 render_preset_name::@12 render_preset_name::@3 render_preset_name::@4 render_preset_name::@5 render_preset_name::@6 render_preset_name::@7 render_preset_name::@8 render_preset_name::@9 [317] (byte*) render_preset_name::name#13 ← phi( render_preset_name/(const byte*) render_preset_name::name#1 render_preset_name::@11/(const byte*) render_preset_name::name#10 render_preset_name::@1/(const byte*) render_preset_name::name#11 render_preset_name::@3/(const byte*) render_preset_name::name#2 render_preset_name::@4/(const byte*) render_preset_name::name#3 render_preset_name::@12/(const byte*) render_preset_name::name#1 render_preset_name::@5/(const byte*) render_preset_name::name#4 render_preset_name::@6/(const byte*) render_preset_name::name#5 render_preset_name::@7/(const byte*) render_preset_name::name#6 render_preset_name::@8/(const byte*) render_preset_name::name#7 render_preset_name::@9/(const byte*) render_preset_name::name#8 render_preset_name::@10/(const byte*) render_preset_name::name#9 ) [318] (byte*) print_str_at::str#1 ← (byte*) render_preset_name::name#13 [319] call print_str_at to:render_preset_name::@return render_preset_name::@return: scope:[render_preset_name] from render_preset_name::@2 [320] return to:@return (void()) print_str_at((byte*) print_str_at::str , (byte*) print_str_at::at) print_str_at: scope:[print_str_at] from render_preset_name::@2 [321] phi() to:print_str_at::@1 print_str_at::@1: scope:[print_str_at] from print_str_at print_str_at::@2 [322] (byte*) print_str_at::at#2 ← phi( print_str_at/(const nomodify byte*) FORM_SCREEN+(byte)(number) $28*(number) 2+(byte) $a print_str_at::@2/(byte*) print_str_at::at#0 ) [322] (byte*) print_str_at::str#2 ← phi( print_str_at/(byte*) print_str_at::str#1 print_str_at::@2/(byte*) print_str_at::str#0 ) [323] if((byte) 0!=*((byte*) print_str_at::str#2)) goto print_str_at::@2 to:print_str_at::@return print_str_at::@return: scope:[print_str_at] from print_str_at::@1 [324] return to:@return print_str_at::@2: scope:[print_str_at] from print_str_at::@1 [325] *((byte*) print_str_at::at#2) ← *((byte*) print_str_at::str#2) [326] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#2 [327] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#2 to:print_str_at::@1 (void()) form_render_values() form_render_values: scope:[form_render_values] from form_mode::@14 form_mode::@18 [328] phi() to:form_render_values::@1 form_render_values::@1: scope:[form_render_values] from form_render_values form_render_values::@3 [329] (byte) form_render_values::idx#2 ← phi( form_render_values/(byte) 0 form_render_values::@3/(byte) form_render_values::idx#1 ) [330] if((byte) form_render_values::idx#2<(const byte) form_fields_cnt) goto form_render_values::@2 to:form_render_values::@return form_render_values::@return: scope:[form_render_values] from form_render_values::@1 [331] return to:@return form_render_values::@2: scope:[form_render_values] from form_render_values::@1 [332] (byte) form_field_ptr::field_idx#0 ← (byte) form_render_values::idx#2 [333] call form_field_ptr to:form_render_values::@3 form_render_values::@3: scope:[form_render_values] from form_render_values::@2 [334] *((byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_render_values::idx#2)) [335] (byte) form_render_values::idx#1 ← ++ (byte) form_render_values::idx#2 to:form_render_values::@1 (byte*()) form_field_ptr((byte) form_field_ptr::field_idx) form_field_ptr: scope:[form_field_ptr] from form_control form_render_values::@2 [336] (byte) form_field_ptr::field_idx#2 ← phi( form_control/(byte) form_field_ptr::field_idx#1 form_render_values::@2/(byte) form_field_ptr::field_idx#0 ) [337] (byte) form_field_ptr::y#0 ← *((const byte*) form_fields_y + (byte) form_field_ptr::field_idx#2) [338] (word) form_field_ptr::line#0 ← *((const byte*) form_line_hi + (byte) form_field_ptr::y#0) w= *((const byte*) form_line_lo + (byte) form_field_ptr::y#0) [339] (byte) form_field_ptr::x#0 ← *((const byte*) form_fields_x + (byte) form_field_ptr::field_idx#2) [340] (byte*) form_field_ptr::return#0 ← (byte*)(word) form_field_ptr::line#0 + (byte) form_field_ptr::x#0 to:form_field_ptr::@return form_field_ptr::@return: scope:[form_field_ptr] from form_field_ptr [341] return to:@return (void()) apply_preset((byte) apply_preset::idx) apply_preset: scope:[apply_preset] from form_mode::@7 [342] if((byte) apply_preset::idx#0==(byte) 0) goto apply_preset::@2 to:apply_preset::@3 apply_preset::@3: scope:[apply_preset] from apply_preset [343] if((byte) apply_preset::idx#0==(byte) 1) goto apply_preset::@2 to:apply_preset::@4 apply_preset::@4: scope:[apply_preset] from apply_preset::@3 [344] if((byte) apply_preset::idx#0==(byte) 2) goto apply_preset::@2 to:apply_preset::@5 apply_preset::@5: scope:[apply_preset] from apply_preset::@4 [345] if((byte) apply_preset::idx#0==(byte) 3) goto apply_preset::@2 to:apply_preset::@6 apply_preset::@6: scope:[apply_preset] from apply_preset::@5 [346] if((byte) apply_preset::idx#0==(byte) 4) goto apply_preset::@2 to:apply_preset::@7 apply_preset::@7: scope:[apply_preset] from apply_preset::@6 [347] if((byte) apply_preset::idx#0==(byte) 5) goto apply_preset::@2 to:apply_preset::@8 apply_preset::@8: scope:[apply_preset] from apply_preset::@7 [348] if((byte) apply_preset::idx#0==(byte) 6) goto apply_preset::@2 to:apply_preset::@9 apply_preset::@9: scope:[apply_preset] from apply_preset::@8 [349] if((byte) apply_preset::idx#0==(byte) 7) goto apply_preset::@2 to:apply_preset::@10 apply_preset::@10: scope:[apply_preset] from apply_preset::@9 [350] if((byte) apply_preset::idx#0==(byte) 8) goto apply_preset::@2 to:apply_preset::@11 apply_preset::@11: scope:[apply_preset] from apply_preset::@10 [351] if((byte) apply_preset::idx#0==(byte) 9) goto apply_preset::@2 to:apply_preset::@12 apply_preset::@12: scope:[apply_preset] from apply_preset::@11 [352] if((byte) apply_preset::idx#0==(byte) $a) goto apply_preset::@1 to:apply_preset::@2 apply_preset::@1: scope:[apply_preset] from apply_preset::@12 [353] phi() to:apply_preset::@2 apply_preset::@2: scope:[apply_preset] from apply_preset apply_preset::@1 apply_preset::@10 apply_preset::@11 apply_preset::@12 apply_preset::@3 apply_preset::@4 apply_preset::@5 apply_preset::@6 apply_preset::@7 apply_preset::@8 apply_preset::@9 [354] (byte*) apply_preset::preset#15 ← phi( apply_preset/(const byte*) preset_stdchar apply_preset::@11/(const byte*) preset_sixsfred2 apply_preset::@1/(const byte*) preset_8bpppixelcell apply_preset::@3/(const byte*) preset_ecmchar apply_preset::@4/(const byte*) preset_stdbm apply_preset::@12/(const byte*) preset_stdchar apply_preset::@5/(const byte*) preset_mcbm apply_preset::@6/(const byte*) preset_hi_stdchar apply_preset::@7/(const byte*) preset_hi_ecmchar apply_preset::@8/(const byte*) preset_twoplane apply_preset::@9/(const byte*) preset_chunky apply_preset::@10/(const byte*) preset_sixsfred ) to:apply_preset::@13 apply_preset::@13: scope:[apply_preset] from apply_preset::@14 apply_preset::@2 [355] (byte) apply_preset::i#2 ← phi( apply_preset::@2/(byte) 0 apply_preset::@14/(byte) apply_preset::i#1 ) [356] if((byte) apply_preset::i#2!=(const byte) form_fields_cnt) goto apply_preset::@14 to:apply_preset::@return apply_preset::@return: scope:[apply_preset] from apply_preset::@13 [357] return to:@return apply_preset::@14: scope:[apply_preset] from apply_preset::@13 [358] *((const byte*) form_fields_val + (byte) apply_preset::i#2) ← *((byte*) apply_preset::preset#15 + (byte) apply_preset::i#2) [359] (byte) apply_preset::i#1 ← ++ (byte) apply_preset::i#2 to:apply_preset::@13 (byte()) form_control() form_control: scope:[form_control] from form_mode::@5 [360] (byte) form_field_ptr::field_idx#1 ← (byte) form_field_idx#28 [361] call form_field_ptr [362] (byte*) form_field_ptr::return#3 ← (byte*) form_field_ptr::return#0 to:form_control::@18 form_control::@18: scope:[form_control] from form_control [363] (byte*) form_control::field#0 ← (byte*) form_field_ptr::return#3 [364] (signed byte) form_cursor_count#5 ← -- (signed byte) form_cursor_count#21 [365] if((signed byte) form_cursor_count#5>=(signed byte) 0) goto form_control::@21 to:form_control::@1 form_control::@21: scope:[form_control] from form_control::@18 [366] phi() to:form_control::@1 form_control::@1: scope:[form_control] from form_control::@18 form_control::@21 [367] (signed byte) form_cursor_count#15 ← phi( form_control::@21/(signed byte) form_cursor_count#5 form_control::@18/(const nomodify signed byte) FORM_CURSOR_BLINK ) [368] if((signed byte) form_cursor_count#15<(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2) goto form_control::@2 to:form_control::@7 form_control::@7: scope:[form_control] from form_control::@1 [369] (byte~) form_control::$12 ← *((byte*) form_control::field#0) & (byte) $7f [370] *((byte*) form_control::field#0) ← (byte~) form_control::$12 to:form_control::@3 form_control::@3: scope:[form_control] from form_control::@2 form_control::@7 [371] phi() [372] call keyboard_event_scan to:form_control::@19 form_control::@19: scope:[form_control] from form_control::@3 [373] phi() [374] call keyboard_event_get [375] (byte) keyboard_event_get::return#4 ← (byte) keyboard_event_get::return#2 to:form_control::@20 form_control::@20: scope:[form_control] from form_control::@19 [376] (byte) form_control::key_event#0 ← (byte) keyboard_event_get::return#4 [377] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_DOWN) goto form_control::@4 to:form_control::@8 form_control::@8: scope:[form_control] from form_control::@20 [378] (byte~) form_control::$14 ← *((byte*) form_control::field#0) & (byte) $7f [379] *((byte*) form_control::field#0) ← (byte~) form_control::$14 [380] (byte~) form_control::$15 ← (byte) keyboard_modifiers#21 & (const nomodify byte) KEY_MODIFIER_SHIFT [381] if((byte~) form_control::$15==(byte) 0) goto form_control::@13 to:form_control::@9 form_control::@9: scope:[form_control] from form_control::@8 [382] (byte) form_field_idx#6 ← -- (byte) form_field_idx#28 [383] if((byte) form_field_idx#6!=(byte) $ff) goto form_control::@22 to:form_control::@14 form_control::@22: scope:[form_control] from form_control::@9 [384] phi() to:form_control::@14 form_control::@14: scope:[form_control] from form_control::@13 form_control::@22 form_control::@23 form_control::@9 [385] (byte) form_field_idx#31 ← phi( form_control::@22/(byte) form_field_idx#6 form_control::@9/(const byte) form_fields_cnt-(byte) 1 form_control::@23/(byte) form_field_idx#5 form_control::@13/(byte) 0 ) to:form_control::@return form_control::@return: scope:[form_control] from form_control::@14 form_control::@16 form_control::@5 form_control::@6 [386] (byte) form_field_idx#18 ← phi( form_control::@5/(byte) form_field_idx#28 form_control::@14/(byte) form_field_idx#31 form_control::@16/(byte) form_field_idx#28 form_control::@6/(byte) form_field_idx#28 ) [386] (signed byte) form_cursor_count#16 ← phi( form_control::@5/(signed byte) form_cursor_count#15 form_control::@14/(const nomodify signed byte) FORM_CURSOR_BLINK/(signed byte) 2 form_control::@16/(signed byte) form_cursor_count#15 form_control::@6/(signed byte) form_cursor_count#15 ) [386] (byte) form_control::return#2 ← phi( form_control::@5/(byte) $ff form_control::@14/(byte) 0 form_control::@16/(byte) 0 form_control::@6/(byte) 0 ) [387] return to:@return form_control::@13: scope:[form_control] from form_control::@8 [388] (byte) form_field_idx#5 ← ++ (byte) form_field_idx#28 [389] if((byte) form_field_idx#5!=(const byte) form_fields_cnt) goto form_control::@23 to:form_control::@14 form_control::@23: scope:[form_control] from form_control::@13 [390] phi() to:form_control::@14 form_control::@4: scope:[form_control] from form_control::@20 [391] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_CRSR_RIGHT) goto form_control::@5 to:form_control::@10 form_control::@10: scope:[form_control] from form_control::@4 [392] (byte~) form_control::$22 ← (byte) keyboard_modifiers#21 & (const nomodify byte) KEY_MODIFIER_SHIFT [393] if((byte~) form_control::$22==(byte) 0) goto form_control::@15 to:form_control::@11 form_control::@11: scope:[form_control] from form_control::@10 [394] *((const byte*) form_fields_val + (byte) form_field_idx#28) ← -- *((const byte*) form_fields_val + (byte) form_field_idx#28) [395] if(*((const byte*) form_fields_val + (byte) form_field_idx#28)!=(byte) $ff) goto form_control::@16 to:form_control::@12 form_control::@12: scope:[form_control] from form_control::@11 [396] *((const byte*) form_fields_val + (byte) form_field_idx#28) ← *((const byte*) form_fields_max + (byte) form_field_idx#28) to:form_control::@16 form_control::@16: scope:[form_control] from form_control::@11 form_control::@12 form_control::@15 form_control::@17 [397] *((byte*) form_control::field#0) ← *((const to_nomodify byte*) print_hextab + *((const byte*) form_fields_val + (byte) form_field_idx#28)) to:form_control::@return form_control::@15: scope:[form_control] from form_control::@10 [398] *((const byte*) form_fields_val + (byte) form_field_idx#28) ← ++ *((const byte*) form_fields_val + (byte) form_field_idx#28) [399] if(*((const byte*) form_fields_val + (byte) form_field_idx#28)<=*((const byte*) form_fields_max + (byte) form_field_idx#28)) goto form_control::@16 to:form_control::@17 form_control::@17: scope:[form_control] from form_control::@15 [400] *((const byte*) form_fields_val + (byte) form_field_idx#28) ← (byte) 0 to:form_control::@16 form_control::@5: scope:[form_control] from form_control::@4 [401] if((byte) form_control::key_event#0!=(const nomodify byte) KEY_SPACE) goto form_control::@6 to:form_control::@return form_control::@6: scope:[form_control] from form_control::@5 [402] phi() to:form_control::@return form_control::@2: scope:[form_control] from form_control::@1 [403] (byte~) form_control::$13 ← *((byte*) form_control::field#0) | (byte) $80 [404] *((byte*) form_control::field#0) ← (byte~) form_control::$13 to:form_control::@3 (void()) form_set_screen((byte*) form_set_screen::screen) form_set_screen: scope:[form_set_screen] from form_mode::@13 [405] phi() to:form_set_screen::@1 form_set_screen::@1: scope:[form_set_screen] from form_set_screen form_set_screen::@1 [406] (byte) form_set_screen::y#2 ← phi( form_set_screen/(byte) 0 form_set_screen::@1/(byte) form_set_screen::y#1 ) [406] (byte*) form_set_screen::line#2 ← phi( form_set_screen/(const nomodify byte*) FORM_SCREEN form_set_screen::@1/(byte*) form_set_screen::line#1 ) [407] (byte~) form_set_screen::$0 ← < (byte*) form_set_screen::line#2 [408] *((const byte*) form_line_lo + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$0 [409] (byte~) form_set_screen::$1 ← > (byte*) form_set_screen::line#2 [410] *((const byte*) form_line_hi + (byte) form_set_screen::y#2) ← (byte~) form_set_screen::$1 [411] (byte*) form_set_screen::line#1 ← (byte*) form_set_screen::line#2 + (byte) $28 [412] (byte) form_set_screen::y#1 ← ++ (byte) form_set_screen::y#2 [413] if((byte) form_set_screen::y#1!=(byte) $19) goto form_set_screen::@1 to:form_set_screen::@return form_set_screen::@return: scope:[form_set_screen] from form_set_screen::@1 [414] return to:@return (void()) print_str_lines((byte*) print_str_lines::str) print_str_lines: scope:[print_str_lines] from form_mode::@12 form_mode::@9 [415] (byte*) print_str_lines::str#5 ← phi( form_mode::@9/(const byte*) FORM_COLS form_mode::@12/(const byte*) FORM_TEXT ) [416] (byte*) print_char_cursor#72 ← (byte*) 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::@6 [417] (byte*) print_line_cursor#2 ← phi( print_str_lines/(byte*) print_set_screen::screen#2 print_str_lines::@6/(byte*) print_line_cursor#22 ) [417] (byte*) print_char_cursor#24 ← phi( print_str_lines/(byte*) print_char_cursor#72 print_str_lines::@6/(byte*) print_char_cursor#73 ) [417] (byte*) print_str_lines::str#3 ← phi( print_str_lines/(byte*) print_str_lines::str#5 print_str_lines::@6/(byte*) print_str_lines::str#0 ) [418] if((byte) 0!=*((byte*) print_str_lines::str#3)) goto print_str_lines::@2 to:print_str_lines::@return print_str_lines::@return: scope:[print_str_lines] from print_str_lines::@1 [419] return to:@return print_str_lines::@2: scope:[print_str_lines] from print_str_lines::@1 print_str_lines::@3 [420] (byte*) print_char_cursor#41 ← phi( print_str_lines::@1/(byte*) print_char_cursor#24 print_str_lines::@3/(byte*) print_char_cursor#42 ) [420] (byte*) print_str_lines::str#4 ← phi( print_str_lines::@1/(byte*) print_str_lines::str#3 print_str_lines::@3/(byte*) print_str_lines::str#0 ) [421] (byte) print_str_lines::ch#0 ← *((byte*) print_str_lines::str#4) [422] (byte*) print_str_lines::str#0 ← ++ (byte*) print_str_lines::str#4 [423] if((byte) 0==(byte) print_str_lines::ch#0) goto print_str_lines::@3 to:print_str_lines::@4 print_str_lines::@4: scope:[print_str_lines] from print_str_lines::@2 [424] (byte) print_char::ch#0 ← (byte) print_str_lines::ch#0 [425] call print_char to:print_str_lines::@3 print_str_lines::@3: scope:[print_str_lines] from print_str_lines::@2 print_str_lines::@4 [426] (byte*) print_char_cursor#42 ← phi( print_str_lines::@4/(byte*) print_char_cursor#28 print_str_lines::@2/(byte*) print_char_cursor#41 ) [427] if((byte) 0!=(byte) print_str_lines::ch#0) goto print_str_lines::@2 to:print_str_lines::@5 print_str_lines::@5: scope:[print_str_lines] from print_str_lines::@3 [428] phi() [429] call print_ln to:print_str_lines::@6 print_str_lines::@6: scope:[print_str_lines] from print_str_lines::@5 [430] (byte*) print_char_cursor#73 ← (byte*) print_line_cursor#22 to:print_str_lines::@1 (void()) print_ln() print_ln: scope:[print_ln] from print_str_lines::@5 [431] phi() to:print_ln::@1 print_ln::@1: scope:[print_ln] from print_ln print_ln::@1 [432] (byte*) print_line_cursor#21 ← phi( print_ln/(byte*) print_line_cursor#2 print_ln::@1/(byte*) print_line_cursor#22 ) [433] (byte*) print_line_cursor#22 ← (byte*) print_line_cursor#21 + (byte) $28 [434] if((byte*) print_line_cursor#22<(byte*) print_char_cursor#42) goto print_ln::@1 to:print_ln::@return print_ln::@return: scope:[print_ln] from print_ln::@1 [435] return to:@return (void()) print_char((byte) print_char::ch) print_char: scope:[print_char] from print_str_lines::@4 [436] *((byte*) print_char_cursor#41) ← (byte) print_char::ch#0 [437] (byte*) print_char_cursor#28 ← ++ (byte*) print_char_cursor#41 to:print_char::@return print_char::@return: scope:[print_char] from print_char [438] return to:@return (void()) print_cls() print_cls: scope:[print_cls] from form_mode::@11 form_mode::@8 [439] (void*) memset::str#0 ← (void*)(byte*) print_set_screen::screen#2 [440] call memset to:print_cls::@return print_cls::@return: scope:[print_cls] from print_cls [441] return to:@return (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) memset: scope:[memset] from print_cls [442] phi() to:memset::@1 memset::@1: scope:[memset] from memset [443] (byte*) memset::end#0 ← (byte*)(void*) memset::str#0 + (const word) memset::num#0 [444] (byte*) memset::dst#4 ← (byte*)(void*) memset::str#0 to:memset::@2 memset::@2: scope:[memset] from memset::@1 memset::@3 [445] (byte*) memset::dst#2 ← phi( memset::@1/(byte*) memset::dst#4 memset::@3/(byte*) memset::dst#1 ) [446] if((byte*) memset::dst#2!=(byte*) memset::end#0) goto memset::@3 to:memset::@return memset::@return: scope:[memset] from memset::@2 [447] return to:@return memset::@3: scope:[memset] from memset::@2 [448] *((byte*) memset::dst#2) ← (const byte) memset::c#0 [449] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2 to:memset::@2 (void()) print_set_screen((byte*) print_set_screen::screen) print_set_screen: scope:[print_set_screen] from form_mode form_mode::@10 [450] (byte*) print_set_screen::screen#2 ← phi( form_mode/(const nomodify byte*) COLS form_mode::@10/(const nomodify byte*) FORM_SCREEN ) to:print_set_screen::@return print_set_screen::@return: scope:[print_set_screen] from print_set_screen [451] return to:@return (void()) gfx_init() gfx_init: scope:[gfx_init] from main::@3 [452] phi() [453] call gfx_init_screen0 to:gfx_init::@1 gfx_init::@1: scope:[gfx_init] from gfx_init [454] phi() [455] call gfx_init_screen1 to:gfx_init::@2 gfx_init::@2: scope:[gfx_init] from gfx_init::@1 [456] phi() [457] call gfx_init_screen2 to:gfx_init::@3 gfx_init::@3: scope:[gfx_init] from gfx_init::@2 [458] phi() [459] call gfx_init_screen3 to:gfx_init::@4 gfx_init::@4: scope:[gfx_init] from gfx_init::@3 [460] phi() [461] call gfx_init_screen4 to:gfx_init::@5 gfx_init::@5: scope:[gfx_init] from gfx_init::@4 [462] phi() [463] call gfx_init_charset to:gfx_init::@6 gfx_init::@6: scope:[gfx_init] from gfx_init::@5 [464] phi() [465] call gfx_init_vic_bitmap to:gfx_init::@7 gfx_init::@7: scope:[gfx_init] from gfx_init::@6 [466] phi() [467] call gfx_init_plane_8bppchunky to:gfx_init::@8 gfx_init::@8: scope:[gfx_init] from gfx_init::@7 [468] phi() [469] call gfx_init_plane_charset8 to:gfx_init::@9 gfx_init::@9: scope:[gfx_init] from gfx_init::@8 [470] phi() [471] call gfx_init_plane_horisontal to:gfx_init::@10 gfx_init::@10: scope:[gfx_init] from gfx_init::@9 [472] phi() [473] call gfx_init_plane_vertical to:gfx_init::@11 gfx_init::@11: scope:[gfx_init] from gfx_init::@10 [474] phi() [475] call gfx_init_plane_horisontal2 to:gfx_init::@12 gfx_init::@12: scope:[gfx_init] from gfx_init::@11 [476] phi() [477] call gfx_init_plane_vertical2 to:gfx_init::@13 gfx_init::@13: scope:[gfx_init] from gfx_init::@12 [478] phi() [479] call gfx_init_plane_blank to:gfx_init::@14 gfx_init::@14: scope:[gfx_init] from gfx_init::@13 [480] phi() [481] call gfx_init_plane_full to:gfx_init::@return gfx_init::@return: scope:[gfx_init] from gfx_init::@14 [482] return to:@return (void()) gfx_init_plane_full() gfx_init_plane_full: scope:[gfx_init_plane_full] from gfx_init::@14 [483] phi() [484] call gfx_init_plane_fill to:gfx_init_plane_full::@return gfx_init_plane_full::@return: scope:[gfx_init_plane_full] from gfx_init_plane_full [485] return to:@return (void()) gfx_init_plane_fill((dword) gfx_init_plane_fill::plane_addr , (byte) gfx_init_plane_fill::fill) gfx_init_plane_fill: scope:[gfx_init_plane_fill] from gfx_init_plane_blank gfx_init_plane_full gfx_init_plane_vertical2 [486] (byte) gfx_init_plane_fill::fill#6 ← phi( gfx_init_plane_blank/(byte) 0 gfx_init_plane_full/(byte) $ff gfx_init_plane_vertical2/(byte) $1b ) [486] (dword) gfx_init_plane_fill::plane_addr#3 ← phi( gfx_init_plane_blank/(const nomodify dword) PLANE_BLANK gfx_init_plane_full/(const nomodify dword) PLANE_FULL gfx_init_plane_vertical2/(const nomodify dword) PLANE_VERTICAL2 ) [487] (dword~) gfx_init_plane_fill::$0 ← (dword) gfx_init_plane_fill::plane_addr#3 << (byte) 2 [488] (word~) gfx_init_plane_fill::$1 ← > (dword~) gfx_init_plane_fill::$0 [489] (byte) gfx_init_plane_fill::gfxbCpuBank#0 ← < (word~) gfx_init_plane_fill::$1 [490] (byte) dtvSetCpuBankSegment1::cpuBankIdx#11 ← (byte) gfx_init_plane_fill::gfxbCpuBank#0 [491] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@5 gfx_init_plane_fill::@5: scope:[gfx_init_plane_fill] from gfx_init_plane_fill [492] (word~) gfx_init_plane_fill::$4 ← < (dword) gfx_init_plane_fill::plane_addr#3 [493] (word~) gfx_init_plane_fill::$5 ← (word~) gfx_init_plane_fill::$4 & (word) $3fff [494] (word) gfx_init_plane_fill::gfxb#0 ← (word) $4000 + (word~) gfx_init_plane_fill::$5 [495] (byte*) gfx_init_plane_fill::gfxb#6 ← (byte*)(word) gfx_init_plane_fill::gfxb#0 to:gfx_init_plane_fill::@1 gfx_init_plane_fill::@1: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 gfx_init_plane_fill::@5 [496] (byte) gfx_init_plane_fill::by#4 ← phi( gfx_init_plane_fill::@3/(byte) gfx_init_plane_fill::by#1 gfx_init_plane_fill::@5/(byte) 0 ) [496] (byte*) gfx_init_plane_fill::gfxb#3 ← phi( gfx_init_plane_fill::@3/(byte*) gfx_init_plane_fill::gfxb#1 gfx_init_plane_fill::@5/(byte*) gfx_init_plane_fill::gfxb#6 ) to:gfx_init_plane_fill::@2 gfx_init_plane_fill::@2: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@1 gfx_init_plane_fill::@2 [497] (byte) gfx_init_plane_fill::bx#2 ← phi( gfx_init_plane_fill::@1/(byte) 0 gfx_init_plane_fill::@2/(byte) gfx_init_plane_fill::bx#1 ) [497] (byte*) gfx_init_plane_fill::gfxb#2 ← phi( gfx_init_plane_fill::@1/(byte*) gfx_init_plane_fill::gfxb#3 gfx_init_plane_fill::@2/(byte*) gfx_init_plane_fill::gfxb#1 ) [498] *((byte*) gfx_init_plane_fill::gfxb#2) ← (byte) gfx_init_plane_fill::fill#6 [499] (byte*) gfx_init_plane_fill::gfxb#1 ← ++ (byte*) gfx_init_plane_fill::gfxb#2 [500] (byte) gfx_init_plane_fill::bx#1 ← ++ (byte) gfx_init_plane_fill::bx#2 [501] if((byte) gfx_init_plane_fill::bx#1!=(byte) $28) goto gfx_init_plane_fill::@2 to:gfx_init_plane_fill::@3 gfx_init_plane_fill::@3: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@2 [502] (byte) gfx_init_plane_fill::by#1 ← ++ (byte) gfx_init_plane_fill::by#4 [503] if((byte) gfx_init_plane_fill::by#1!=(byte) $c8) goto gfx_init_plane_fill::@1 to:gfx_init_plane_fill::@4 gfx_init_plane_fill::@4: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@3 [504] phi() [505] call dtvSetCpuBankSegment1 to:gfx_init_plane_fill::@return gfx_init_plane_fill::@return: scope:[gfx_init_plane_fill] from gfx_init_plane_fill::@4 [506] return to:@return (void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) dtvSetCpuBankSegment1: scope:[dtvSetCpuBankSegment1] from gfx_init_plane_8bppchunky gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@6 gfx_init_plane_charset8 gfx_init_plane_charset8::@8 gfx_init_plane_fill gfx_init_plane_fill::@4 gfx_init_plane_horisontal gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal::@7 gfx_init_plane_vertical gfx_init_plane_vertical::@4 [507] (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 ← phi( gfx_init_plane_8bppchunky/(byte)(const nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 gfx_init_plane_8bppchunky::@4/(byte) dtvSetCpuBankSegment1::cpuBankIdx#1 gfx_init_plane_8bppchunky::@6/(byte)(number) $4000/(number) $4000 gfx_init_plane_charset8/(const byte) gfx_init_plane_charset8::gfxbCpuBank#0 gfx_init_plane_charset8::@8/(byte)(number) $4000/(number) $4000 gfx_init_plane_fill/(byte) dtvSetCpuBankSegment1::cpuBankIdx#11 gfx_init_plane_fill::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal/(const byte) gfx_init_plane_horisontal::gfxbCpuBank#0 gfx_init_plane_horisontal2/(const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfx_init_plane_horisontal2::@4/(byte)(number) $4000/(number) $4000 gfx_init_plane_horisontal::@7/(byte)(number) $4000/(number) $4000 gfx_init_plane_vertical/(const byte) gfx_init_plane_vertical::gfxbCpuBank#0 gfx_init_plane_vertical::@4/(byte)(number) $4000/(number) $4000 ) [508] *((const byte*) dtvSetCpuBankSegment1::cpuBank) ← (byte) dtvSetCpuBankSegment1::cpuBankIdx#13 asm { .byte$32,$dd lda$ff .byte$32,$00 } to:dtvSetCpuBankSegment1::@return dtvSetCpuBankSegment1::@return: scope:[dtvSetCpuBankSegment1] from dtvSetCpuBankSegment1 [510] return to:@return (void()) gfx_init_plane_blank() gfx_init_plane_blank: scope:[gfx_init_plane_blank] from gfx_init::@13 [511] phi() [512] call gfx_init_plane_fill to:gfx_init_plane_blank::@return gfx_init_plane_blank::@return: scope:[gfx_init_plane_blank] from gfx_init_plane_blank [513] return to:@return (void()) gfx_init_plane_vertical2() gfx_init_plane_vertical2: scope:[gfx_init_plane_vertical2] from gfx_init::@12 [514] phi() [515] call gfx_init_plane_fill to:gfx_init_plane_vertical2::@return gfx_init_plane_vertical2::@return: scope:[gfx_init_plane_vertical2] from gfx_init_plane_vertical2 [516] return to:@return (void()) gfx_init_plane_horisontal2() gfx_init_plane_horisontal2: scope:[gfx_init_plane_horisontal2] from gfx_init::@11 [517] phi() [518] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal2::@1 gfx_init_plane_horisontal2::@1: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2 gfx_init_plane_horisontal2::@3 [519] (byte*) gfx_init_plane_horisontal2::gfxa#3 ← phi( gfx_init_plane_horisontal2::@3/(byte*) gfx_init_plane_horisontal2::gfxa#1 gfx_init_plane_horisontal2/(byte*)(word) $4000 ) [519] (byte) gfx_init_plane_horisontal2::ay#4 ← phi( gfx_init_plane_horisontal2::@3/(byte) gfx_init_plane_horisontal2::ay#1 gfx_init_plane_horisontal2/(byte) 0 ) to:gfx_init_plane_horisontal2::@2 gfx_init_plane_horisontal2::@2: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@1 gfx_init_plane_horisontal2::@2 [520] (byte) gfx_init_plane_horisontal2::ax#2 ← phi( gfx_init_plane_horisontal2::@1/(byte) 0 gfx_init_plane_horisontal2::@2/(byte) gfx_init_plane_horisontal2::ax#1 ) [520] (byte*) gfx_init_plane_horisontal2::gfxa#2 ← phi( gfx_init_plane_horisontal2::@1/(byte*) gfx_init_plane_horisontal2::gfxa#3 gfx_init_plane_horisontal2::@2/(byte*) gfx_init_plane_horisontal2::gfxa#1 ) [521] (byte~) gfx_init_plane_horisontal2::$2 ← (byte) gfx_init_plane_horisontal2::ay#4 >> (byte) 1 [522] (byte) gfx_init_plane_horisontal2::row#0 ← (byte~) gfx_init_plane_horisontal2::$2 & (byte) 3 [523] *((byte*) gfx_init_plane_horisontal2::gfxa#2) ← *((const byte*) gfx_init_plane_horisontal2::row_bitmask + (byte) gfx_init_plane_horisontal2::row#0) [524] (byte*) gfx_init_plane_horisontal2::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal2::gfxa#2 [525] (byte) gfx_init_plane_horisontal2::ax#1 ← ++ (byte) gfx_init_plane_horisontal2::ax#2 [526] if((byte) gfx_init_plane_horisontal2::ax#1!=(byte) $28) goto gfx_init_plane_horisontal2::@2 to:gfx_init_plane_horisontal2::@3 gfx_init_plane_horisontal2::@3: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@2 [527] (byte) gfx_init_plane_horisontal2::ay#1 ← ++ (byte) gfx_init_plane_horisontal2::ay#4 [528] if((byte) gfx_init_plane_horisontal2::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal2::@1 to:gfx_init_plane_horisontal2::@4 gfx_init_plane_horisontal2::@4: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@3 [529] phi() [530] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal2::@return gfx_init_plane_horisontal2::@return: scope:[gfx_init_plane_horisontal2] from gfx_init_plane_horisontal2::@4 [531] return to:@return (void()) gfx_init_plane_vertical() gfx_init_plane_vertical: scope:[gfx_init_plane_vertical] from gfx_init::@10 [532] phi() [533] call dtvSetCpuBankSegment1 to:gfx_init_plane_vertical::@1 gfx_init_plane_vertical::@1: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical gfx_init_plane_vertical::@3 [534] (byte) gfx_init_plane_vertical::by#4 ← phi( gfx_init_plane_vertical::@3/(byte) gfx_init_plane_vertical::by#1 gfx_init_plane_vertical/(byte) 0 ) [534] (byte*) gfx_init_plane_vertical::gfxb#3 ← phi( gfx_init_plane_vertical::@3/(byte*) gfx_init_plane_vertical::gfxb#1 gfx_init_plane_vertical/(byte*)(word) $4000+(const nomodify dword) PLANE_VERTICAL&(word) $3fff ) to:gfx_init_plane_vertical::@2 gfx_init_plane_vertical::@2: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@1 gfx_init_plane_vertical::@2 [535] (byte) gfx_init_plane_vertical::bx#2 ← phi( gfx_init_plane_vertical::@1/(byte) 0 gfx_init_plane_vertical::@2/(byte) gfx_init_plane_vertical::bx#1 ) [535] (byte*) gfx_init_plane_vertical::gfxb#2 ← phi( gfx_init_plane_vertical::@1/(byte*) gfx_init_plane_vertical::gfxb#3 gfx_init_plane_vertical::@2/(byte*) gfx_init_plane_vertical::gfxb#1 ) [536] *((byte*) gfx_init_plane_vertical::gfxb#2) ← (byte) $f [537] (byte*) gfx_init_plane_vertical::gfxb#1 ← ++ (byte*) gfx_init_plane_vertical::gfxb#2 [538] (byte) gfx_init_plane_vertical::bx#1 ← ++ (byte) gfx_init_plane_vertical::bx#2 [539] if((byte) gfx_init_plane_vertical::bx#1!=(byte) $28) goto gfx_init_plane_vertical::@2 to:gfx_init_plane_vertical::@3 gfx_init_plane_vertical::@3: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@2 [540] (byte) gfx_init_plane_vertical::by#1 ← ++ (byte) gfx_init_plane_vertical::by#4 [541] if((byte) gfx_init_plane_vertical::by#1!=(byte) $c8) goto gfx_init_plane_vertical::@1 to:gfx_init_plane_vertical::@4 gfx_init_plane_vertical::@4: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@3 [542] phi() [543] call dtvSetCpuBankSegment1 to:gfx_init_plane_vertical::@return gfx_init_plane_vertical::@return: scope:[gfx_init_plane_vertical] from gfx_init_plane_vertical::@4 [544] return to:@return (void()) gfx_init_plane_horisontal() gfx_init_plane_horisontal: scope:[gfx_init_plane_horisontal] from gfx_init::@9 [545] phi() [546] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal::@1 gfx_init_plane_horisontal::@1: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal gfx_init_plane_horisontal::@6 [547] (byte*) gfx_init_plane_horisontal::gfxa#6 ← phi( gfx_init_plane_horisontal::@6/(byte*) gfx_init_plane_horisontal::gfxa#7 gfx_init_plane_horisontal/(byte*)(word) $4000 ) [547] (byte) gfx_init_plane_horisontal::ay#4 ← phi( gfx_init_plane_horisontal::@6/(byte) gfx_init_plane_horisontal::ay#1 gfx_init_plane_horisontal/(byte) 0 ) to:gfx_init_plane_horisontal::@2 gfx_init_plane_horisontal::@2: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@1 gfx_init_plane_horisontal::@4 [548] (byte) gfx_init_plane_horisontal::ax#2 ← phi( gfx_init_plane_horisontal::@1/(byte) 0 gfx_init_plane_horisontal::@4/(byte) gfx_init_plane_horisontal::ax#1 ) [548] (byte*) gfx_init_plane_horisontal::gfxa#3 ← phi( gfx_init_plane_horisontal::@1/(byte*) gfx_init_plane_horisontal::gfxa#6 gfx_init_plane_horisontal::@4/(byte*) gfx_init_plane_horisontal::gfxa#7 ) [549] (byte~) gfx_init_plane_horisontal::$2 ← (byte) gfx_init_plane_horisontal::ay#4 & (byte) 4 [550] if((byte~) gfx_init_plane_horisontal::$2==(byte) 0) goto gfx_init_plane_horisontal::@3 to:gfx_init_plane_horisontal::@5 gfx_init_plane_horisontal::@5: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 [551] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) $ff [552] (byte*) gfx_init_plane_horisontal::gfxa#2 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 gfx_init_plane_horisontal::@4: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@3 gfx_init_plane_horisontal::@5 [553] (byte*) gfx_init_plane_horisontal::gfxa#7 ← phi( gfx_init_plane_horisontal::@3/(byte*) gfx_init_plane_horisontal::gfxa#1 gfx_init_plane_horisontal::@5/(byte*) gfx_init_plane_horisontal::gfxa#2 ) [554] (byte) gfx_init_plane_horisontal::ax#1 ← ++ (byte) gfx_init_plane_horisontal::ax#2 [555] if((byte) gfx_init_plane_horisontal::ax#1!=(byte) $28) goto gfx_init_plane_horisontal::@2 to:gfx_init_plane_horisontal::@6 gfx_init_plane_horisontal::@6: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@4 [556] (byte) gfx_init_plane_horisontal::ay#1 ← ++ (byte) gfx_init_plane_horisontal::ay#4 [557] if((byte) gfx_init_plane_horisontal::ay#1!=(byte) $c8) goto gfx_init_plane_horisontal::@1 to:gfx_init_plane_horisontal::@7 gfx_init_plane_horisontal::@7: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@6 [558] phi() [559] call dtvSetCpuBankSegment1 to:gfx_init_plane_horisontal::@return gfx_init_plane_horisontal::@return: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@7 [560] return to:@return gfx_init_plane_horisontal::@3: scope:[gfx_init_plane_horisontal] from gfx_init_plane_horisontal::@2 [561] *((byte*) gfx_init_plane_horisontal::gfxa#3) ← (byte) 0 [562] (byte*) gfx_init_plane_horisontal::gfxa#1 ← ++ (byte*) gfx_init_plane_horisontal::gfxa#3 to:gfx_init_plane_horisontal::@4 (void()) gfx_init_plane_charset8() gfx_init_plane_charset8: scope:[gfx_init_plane_charset8] from gfx_init::@8 [563] phi() [564] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@9 gfx_init_plane_charset8::@9: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8 [565] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_CHARROM to:gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@1: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@9 [566] (byte) gfx_init_plane_charset8::ch#8 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::ch#1 gfx_init_plane_charset8::@9/(byte) 0 ) [566] (byte) gfx_init_plane_charset8::col#6 ← phi( gfx_init_plane_charset8::@7/(byte) gfx_init_plane_charset8::col#1 gfx_init_plane_charset8::@9/(byte) 0 ) [566] (byte*) gfx_init_plane_charset8::gfxa#6 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::gfxa#1 gfx_init_plane_charset8::@9/(byte*)(word) $4000 ) [566] (byte*) gfx_init_plane_charset8::chargen#3 ← phi( gfx_init_plane_charset8::@7/(byte*) gfx_init_plane_charset8::chargen#1 gfx_init_plane_charset8::@9/(const nomodify byte*) CHARGEN ) to:gfx_init_plane_charset8::@2 gfx_init_plane_charset8::@2: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@1 gfx_init_plane_charset8::@6 [567] (byte) gfx_init_plane_charset8::cr#6 ← phi( gfx_init_plane_charset8::@1/(byte) 0 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::cr#1 ) [567] (byte) gfx_init_plane_charset8::col#5 ← phi( gfx_init_plane_charset8::@1/(byte) gfx_init_plane_charset8::col#6 gfx_init_plane_charset8::@6/(byte) gfx_init_plane_charset8::col#1 ) [567] (byte*) gfx_init_plane_charset8::gfxa#5 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::gfxa#6 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::gfxa#1 ) [567] (byte*) gfx_init_plane_charset8::chargen#2 ← phi( gfx_init_plane_charset8::@1/(byte*) gfx_init_plane_charset8::chargen#3 gfx_init_plane_charset8::@6/(byte*) gfx_init_plane_charset8::chargen#1 ) [568] (byte) gfx_init_plane_charset8::bits#0 ← *((byte*) gfx_init_plane_charset8::chargen#2) [569] (byte*) gfx_init_plane_charset8::chargen#1 ← ++ (byte*) gfx_init_plane_charset8::chargen#2 to:gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@3: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@2 gfx_init_plane_charset8::@4 [570] (byte) gfx_init_plane_charset8::cp#2 ← phi( gfx_init_plane_charset8::@2/(byte) 0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::cp#1 ) [570] (byte) gfx_init_plane_charset8::col#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::col#5 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::col#1 ) [570] (byte*) gfx_init_plane_charset8::gfxa#2 ← phi( gfx_init_plane_charset8::@2/(byte*) gfx_init_plane_charset8::gfxa#5 gfx_init_plane_charset8::@4/(byte*) gfx_init_plane_charset8::gfxa#1 ) [570] (byte) gfx_init_plane_charset8::bits#2 ← phi( gfx_init_plane_charset8::@2/(byte) gfx_init_plane_charset8::bits#0 gfx_init_plane_charset8::@4/(byte) gfx_init_plane_charset8::bits#1 ) [571] (byte~) gfx_init_plane_charset8::$2 ← (byte) gfx_init_plane_charset8::bits#2 & (byte) $80 [572] if((byte~) gfx_init_plane_charset8::$2==(byte) 0) goto gfx_init_plane_charset8::@4 to:gfx_init_plane_charset8::@5 gfx_init_plane_charset8::@5: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 [573] (byte) gfx_init_plane_charset8::c#3 ← (byte) gfx_init_plane_charset8::col#2 to:gfx_init_plane_charset8::@4 gfx_init_plane_charset8::@4: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@3 gfx_init_plane_charset8::@5 [574] (byte) gfx_init_plane_charset8::c#2 ← phi( gfx_init_plane_charset8::@3/(byte) 0 gfx_init_plane_charset8::@5/(byte) gfx_init_plane_charset8::c#3 ) [575] *((byte*) gfx_init_plane_charset8::gfxa#2) ← (byte) gfx_init_plane_charset8::c#2 [576] (byte*) gfx_init_plane_charset8::gfxa#1 ← ++ (byte*) gfx_init_plane_charset8::gfxa#2 [577] (byte) gfx_init_plane_charset8::bits#1 ← (byte) gfx_init_plane_charset8::bits#2 << (byte) 1 [578] (byte) gfx_init_plane_charset8::col#1 ← ++ (byte) gfx_init_plane_charset8::col#2 [579] (byte) gfx_init_plane_charset8::cp#1 ← ++ (byte) gfx_init_plane_charset8::cp#2 [580] if((byte) gfx_init_plane_charset8::cp#1!=(byte) 8) goto gfx_init_plane_charset8::@3 to:gfx_init_plane_charset8::@6 gfx_init_plane_charset8::@6: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@4 [581] (byte) gfx_init_plane_charset8::cr#1 ← ++ (byte) gfx_init_plane_charset8::cr#6 [582] if((byte) gfx_init_plane_charset8::cr#1!=(byte) 8) goto gfx_init_plane_charset8::@2 to:gfx_init_plane_charset8::@7 gfx_init_plane_charset8::@7: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@6 [583] (byte) gfx_init_plane_charset8::ch#1 ← ++ (byte) gfx_init_plane_charset8::ch#8 [584] if((byte) gfx_init_plane_charset8::ch#1!=(byte) 0) goto gfx_init_plane_charset8::@1 to:gfx_init_plane_charset8::@8 gfx_init_plane_charset8::@8: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@7 [585] *((const nomodify byte*) PROCPORT) ← (const nomodify byte) PROCPORT_RAM_IO [586] call dtvSetCpuBankSegment1 to:gfx_init_plane_charset8::@return gfx_init_plane_charset8::@return: scope:[gfx_init_plane_charset8] from gfx_init_plane_charset8::@8 [587] return to:@return (void()) gfx_init_plane_8bppchunky() gfx_init_plane_8bppchunky: scope:[gfx_init_plane_8bppchunky] from gfx_init::@7 [588] phi() [589] call dtvSetCpuBankSegment1 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 [590] (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 nomodify dword) PLANE_8BPP_CHUNKY/(word) $4000 ) [590] (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) 0 ) [590] (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*) 16384 ) 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 [591] (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 ) [591] (word) gfx_init_plane_8bppchunky::x#2 ← phi( gfx_init_plane_8bppchunky::@1/(word) 0 gfx_init_plane_8bppchunky::@3/(word) gfx_init_plane_8bppchunky::x#1 ) [591] (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 ) [592] if((byte*) gfx_init_plane_8bppchunky::gfxb#3!=(word) $8000) goto gfx_init_plane_8bppchunky::@3 to:gfx_init_plane_8bppchunky::@4 gfx_init_plane_8bppchunky::@4: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@2 [593] (byte) dtvSetCpuBankSegment1::cpuBankIdx#1 ← (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 [594] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@7 gfx_init_plane_8bppchunky::@7: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@4 [595] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ← ++ (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 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::@7 [596] (byte) gfx_init_plane_8bppchunky::gfxbCpuBank#8 ← phi( gfx_init_plane_8bppchunky::@2/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#4 gfx_init_plane_8bppchunky::@7/(byte) gfx_init_plane_8bppchunky::gfxbCpuBank#2 ) [596] (byte*) gfx_init_plane_8bppchunky::gfxb#4 ← phi( gfx_init_plane_8bppchunky::@2/(byte*) gfx_init_plane_8bppchunky::gfxb#3 gfx_init_plane_8bppchunky::@7/(byte*) 16384 ) [597] (word~) gfx_init_plane_8bppchunky::$5 ← (word) gfx_init_plane_8bppchunky::x#2 + (byte) gfx_init_plane_8bppchunky::y#6 [598] (byte) gfx_init_plane_8bppchunky::c#0 ← (byte)(word~) gfx_init_plane_8bppchunky::$5 [599] *((byte*) gfx_init_plane_8bppchunky::gfxb#4) ← (byte) gfx_init_plane_8bppchunky::c#0 [600] (byte*) gfx_init_plane_8bppchunky::gfxb#1 ← ++ (byte*) gfx_init_plane_8bppchunky::gfxb#4 [601] (word) gfx_init_plane_8bppchunky::x#1 ← ++ (word) gfx_init_plane_8bppchunky::x#2 [602] if((word) gfx_init_plane_8bppchunky::x#1!=(word) $140) goto gfx_init_plane_8bppchunky::@2 to:gfx_init_plane_8bppchunky::@5 gfx_init_plane_8bppchunky::@5: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@3 [603] (byte) gfx_init_plane_8bppchunky::y#1 ← ++ (byte) gfx_init_plane_8bppchunky::y#6 [604] if((byte) gfx_init_plane_8bppchunky::y#1!=(byte) $c8) 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 [605] phi() [606] call dtvSetCpuBankSegment1 to:gfx_init_plane_8bppchunky::@return gfx_init_plane_8bppchunky::@return: scope:[gfx_init_plane_8bppchunky] from gfx_init_plane_8bppchunky::@6 [607] return to:@return (void()) gfx_init_vic_bitmap() gfx_init_vic_bitmap: scope:[gfx_init_vic_bitmap] from gfx_init::@6 [608] phi() [609] call bitmap_init to:gfx_init_vic_bitmap::@3 gfx_init_vic_bitmap::@3: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap [610] phi() [611] call bitmap_clear to:gfx_init_vic_bitmap::@1 gfx_init_vic_bitmap::@1: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@3 gfx_init_vic_bitmap::@4 [612] (byte) gfx_init_vic_bitmap::l#2 ← phi( gfx_init_vic_bitmap::@3/(byte) 0 gfx_init_vic_bitmap::@4/(byte) gfx_init_vic_bitmap::l#1 ) [613] if((byte) gfx_init_vic_bitmap::l#2<(const byte) gfx_init_vic_bitmap::lines_cnt) goto gfx_init_vic_bitmap::@2 to:gfx_init_vic_bitmap::@return gfx_init_vic_bitmap::@return: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@1 [614] return to:@return gfx_init_vic_bitmap::@2: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@1 [615] (byte) bitmap_line::x0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x + (byte) gfx_init_vic_bitmap::l#2) [616] (byte) bitmap_line::x1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_x+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) [617] (byte) bitmap_line::y0#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y + (byte) gfx_init_vic_bitmap::l#2) [618] (byte) bitmap_line::y1#0 ← *((const byte*) gfx_init_vic_bitmap::lines_y+(byte) 1 + (byte) gfx_init_vic_bitmap::l#2) [619] call bitmap_line to:gfx_init_vic_bitmap::@4 gfx_init_vic_bitmap::@4: scope:[gfx_init_vic_bitmap] from gfx_init_vic_bitmap::@2 [620] (byte) gfx_init_vic_bitmap::l#1 ← ++ (byte) gfx_init_vic_bitmap::l#2 to:gfx_init_vic_bitmap::@1 (void()) bitmap_line((byte) bitmap_line::x0 , (byte) bitmap_line::x1 , (byte) bitmap_line::y0 , (byte) bitmap_line::y1) bitmap_line: scope:[bitmap_line] from gfx_init_vic_bitmap::@2 [621] if((byte) bitmap_line::x0#0<(byte) bitmap_line::x1#0) goto bitmap_line::@1 to:bitmap_line::@2 bitmap_line::@2: scope:[bitmap_line] from bitmap_line [622] (byte) bitmap_line::xd#2 ← (byte) bitmap_line::x0#0 - (byte) bitmap_line::x1#0 [623] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@7 to:bitmap_line::@3 bitmap_line::@3: scope:[bitmap_line] from bitmap_line::@2 [624] (byte) bitmap_line::yd#2 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [625] if((byte) bitmap_line::yd#2<(byte) bitmap_line::xd#2) goto bitmap_line::@8 to:bitmap_line::@4 bitmap_line::@4: scope:[bitmap_line] from bitmap_line::@3 [626] (byte) bitmap_line_ydxi::y#0 ← (byte) bitmap_line::y1#0 [627] (byte) bitmap_line_ydxi::x#0 ← (byte) bitmap_line::x1#0 [628] (byte) bitmap_line_ydxi::y1#0 ← (byte) bitmap_line::y0#0 [629] (byte) bitmap_line_ydxi::yd#0 ← (byte) bitmap_line::yd#2 [630] (byte) bitmap_line_ydxi::xd#0 ← (byte) bitmap_line::xd#2 [631] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@return: scope:[bitmap_line] from bitmap_line::@10 bitmap_line::@12 bitmap_line::@13 bitmap_line::@14 bitmap_line::@4 bitmap_line::@6 bitmap_line::@8 bitmap_line::@9 [632] return to:@return bitmap_line::@8: scope:[bitmap_line] from bitmap_line::@3 [633] (byte) bitmap_line_xdyi::x#0 ← (byte) bitmap_line::x1#0 [634] (byte) bitmap_line_xdyi::y#0 ← (byte) bitmap_line::y1#0 [635] (byte) bitmap_line_xdyi::x1#0 ← (byte) bitmap_line::x0#0 [636] (byte) bitmap_line_xdyi::xd#0 ← (byte) bitmap_line::xd#2 [637] (byte) bitmap_line_xdyi::yd#0 ← (byte) bitmap_line::yd#2 [638] call bitmap_line_xdyi to:bitmap_line::@return bitmap_line::@7: scope:[bitmap_line] from bitmap_line::@2 [639] (byte) bitmap_line::yd#1 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [640] if((byte) bitmap_line::yd#1<(byte) bitmap_line::xd#2) goto bitmap_line::@9 to:bitmap_line::@10 bitmap_line::@10: scope:[bitmap_line] from bitmap_line::@7 [641] (byte) bitmap_line_ydxd::y#0 ← (byte) bitmap_line::y0#0 [642] (byte) bitmap_line_ydxd::x#0 ← (byte) bitmap_line::x0#0 [643] (byte) bitmap_line_ydxd::y1#0 ← (byte) bitmap_line::y1#0 [644] (byte) bitmap_line_ydxd::yd#0 ← (byte) bitmap_line::yd#1 [645] (byte) bitmap_line_ydxd::xd#0 ← (byte) bitmap_line::xd#2 [646] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@9: scope:[bitmap_line] from bitmap_line::@7 [647] (byte) bitmap_line_xdyd::x#0 ← (byte) bitmap_line::x1#0 [648] (byte) bitmap_line_xdyd::y#0 ← (byte) bitmap_line::y1#0 [649] (byte) bitmap_line_xdyd::x1#0 ← (byte) bitmap_line::x0#0 [650] (byte) bitmap_line_xdyd::xd#0 ← (byte) bitmap_line::xd#2 [651] (byte) bitmap_line_xdyd::yd#0 ← (byte) bitmap_line::yd#1 [652] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@1: scope:[bitmap_line] from bitmap_line [653] (byte) bitmap_line::xd#1 ← (byte) bitmap_line::x1#0 - (byte) bitmap_line::x0#0 [654] if((byte) bitmap_line::y0#0<(byte) bitmap_line::y1#0) goto bitmap_line::@11 to:bitmap_line::@5 bitmap_line::@5: scope:[bitmap_line] from bitmap_line::@1 [655] (byte) bitmap_line::yd#10 ← (byte) bitmap_line::y0#0 - (byte) bitmap_line::y1#0 [656] if((byte) bitmap_line::yd#10<(byte) bitmap_line::xd#1) goto bitmap_line::@12 to:bitmap_line::@6 bitmap_line::@6: scope:[bitmap_line] from bitmap_line::@5 [657] (byte) bitmap_line_ydxd::y#1 ← (byte) bitmap_line::y1#0 [658] (byte) bitmap_line_ydxd::x#1 ← (byte) bitmap_line::x1#0 [659] (byte) bitmap_line_ydxd::y1#1 ← (byte) bitmap_line::y0#0 [660] (byte) bitmap_line_ydxd::yd#1 ← (byte) bitmap_line::yd#10 [661] (byte) bitmap_line_ydxd::xd#1 ← (byte) bitmap_line::xd#1 [662] call bitmap_line_ydxd to:bitmap_line::@return bitmap_line::@12: scope:[bitmap_line] from bitmap_line::@5 [663] (byte) bitmap_line_xdyd::x#1 ← (byte) bitmap_line::x0#0 [664] (byte) bitmap_line_xdyd::y#1 ← (byte) bitmap_line::y0#0 [665] (byte) bitmap_line_xdyd::x1#1 ← (byte) bitmap_line::x1#0 [666] (byte) bitmap_line_xdyd::xd#1 ← (byte) bitmap_line::xd#1 [667] (byte) bitmap_line_xdyd::yd#1 ← (byte) bitmap_line::yd#10 [668] call bitmap_line_xdyd to:bitmap_line::@return bitmap_line::@11: scope:[bitmap_line] from bitmap_line::@1 [669] (byte) bitmap_line::yd#11 ← (byte) bitmap_line::y1#0 - (byte) bitmap_line::y0#0 [670] if((byte) bitmap_line::yd#11<(byte) bitmap_line::xd#1) goto bitmap_line::@13 to:bitmap_line::@14 bitmap_line::@14: scope:[bitmap_line] from bitmap_line::@11 [671] (byte) bitmap_line_ydxi::y#1 ← (byte) bitmap_line::y0#0 [672] (byte) bitmap_line_ydxi::x#1 ← (byte) bitmap_line::x0#0 [673] (byte) bitmap_line_ydxi::y1#1 ← (byte) bitmap_line::y1#0 [674] (byte) bitmap_line_ydxi::yd#1 ← (byte) bitmap_line::yd#11 [675] (byte) bitmap_line_ydxi::xd#1 ← (byte) bitmap_line::xd#1 [676] call bitmap_line_ydxi to:bitmap_line::@return bitmap_line::@13: scope:[bitmap_line] from bitmap_line::@11 [677] (byte) bitmap_line_xdyi::x#1 ← (byte) bitmap_line::x0#0 [678] (byte) bitmap_line_xdyi::y#1 ← (byte) bitmap_line::y0#0 [679] (byte) bitmap_line_xdyi::x1#1 ← (byte) bitmap_line::x1#0 [680] (byte) bitmap_line_xdyi::xd#1 ← (byte) bitmap_line::xd#1 [681] (byte) bitmap_line_xdyi::yd#1 ← (byte) bitmap_line::yd#11 [682] call bitmap_line_xdyi to:bitmap_line::@return (void()) bitmap_line_xdyi((byte) bitmap_line_xdyi::x , (byte) bitmap_line_xdyi::y , (byte) bitmap_line_xdyi::x1 , (byte) bitmap_line_xdyi::xd , (byte) bitmap_line_xdyi::yd) bitmap_line_xdyi: scope:[bitmap_line_xdyi] from bitmap_line::@13 bitmap_line::@8 [683] (byte) bitmap_line_xdyi::x1#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x1#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x1#1 ) [683] (byte) bitmap_line_xdyi::xd#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::xd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::xd#1 ) [683] (byte) bitmap_line_xdyi::y#5 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::y#0 bitmap_line::@13/(byte) bitmap_line_xdyi::y#1 ) [683] (byte) bitmap_line_xdyi::x#6 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::x#0 bitmap_line::@13/(byte) bitmap_line_xdyi::x#1 ) [683] (byte) bitmap_line_xdyi::yd#2 ← phi( bitmap_line::@8/(byte) bitmap_line_xdyi::yd#0 bitmap_line::@13/(byte) bitmap_line_xdyi::yd#1 ) [684] (byte) bitmap_line_xdyi::e#0 ← (byte) bitmap_line_xdyi::yd#2 >> (byte) 1 to:bitmap_line_xdyi::@1 bitmap_line_xdyi::@1: scope:[bitmap_line_xdyi] from bitmap_line_xdyi bitmap_line_xdyi::@2 [685] (byte) bitmap_line_xdyi::e#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::e#0 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::e#6 ) [685] (byte) bitmap_line_xdyi::y#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::y#5 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::y#6 ) [685] (byte) bitmap_line_xdyi::x#3 ← phi( bitmap_line_xdyi/(byte) bitmap_line_xdyi::x#6 bitmap_line_xdyi::@2/(byte) bitmap_line_xdyi::x#2 ) [686] (byte) bitmap_plot::x#0 ← (byte) bitmap_line_xdyi::x#3 [687] (byte) bitmap_plot::y#0 ← (byte) bitmap_line_xdyi::y#3 [688] call bitmap_plot to:bitmap_line_xdyi::@4 bitmap_line_xdyi::@4: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@1 [689] (byte) bitmap_line_xdyi::x#2 ← ++ (byte) bitmap_line_xdyi::x#3 [690] (byte) bitmap_line_xdyi::e#1 ← (byte) bitmap_line_xdyi::e#3 + (byte) bitmap_line_xdyi::yd#2 [691] if((byte) bitmap_line_xdyi::xd#5>=(byte) bitmap_line_xdyi::e#1) goto bitmap_line_xdyi::@2 to:bitmap_line_xdyi::@3 bitmap_line_xdyi::@3: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@4 [692] (byte) bitmap_line_xdyi::y#2 ← ++ (byte) bitmap_line_xdyi::y#3 [693] (byte) bitmap_line_xdyi::e#2 ← (byte) bitmap_line_xdyi::e#1 - (byte) bitmap_line_xdyi::xd#5 to:bitmap_line_xdyi::@2 bitmap_line_xdyi::@2: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@3 bitmap_line_xdyi::@4 [694] (byte) bitmap_line_xdyi::e#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::e#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::e#1 ) [694] (byte) bitmap_line_xdyi::y#6 ← phi( bitmap_line_xdyi::@3/(byte) bitmap_line_xdyi::y#2 bitmap_line_xdyi::@4/(byte) bitmap_line_xdyi::y#3 ) [695] (byte~) bitmap_line_xdyi::$6 ← (byte) bitmap_line_xdyi::x1#6 + (byte) 1 [696] if((byte) bitmap_line_xdyi::x#2!=(byte~) bitmap_line_xdyi::$6) goto bitmap_line_xdyi::@1 to:bitmap_line_xdyi::@return bitmap_line_xdyi::@return: scope:[bitmap_line_xdyi] from bitmap_line_xdyi::@2 [697] return to:@return (void()) bitmap_plot((byte) bitmap_plot::x , (byte) bitmap_plot::y) bitmap_plot: scope:[bitmap_plot] from bitmap_line_xdyd::@1 bitmap_line_xdyi::@1 bitmap_line_ydxd::@1 bitmap_line_ydxi::@1 [698] (byte) bitmap_plot::y#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::y#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::y#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::y#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::y#2 ) [698] (byte) bitmap_plot::x#4 ← phi( bitmap_line_xdyd::@1/(byte) bitmap_plot::x#1 bitmap_line_xdyi::@1/(byte) bitmap_plot::x#0 bitmap_line_ydxd::@1/(byte) bitmap_plot::x#3 bitmap_line_ydxi::@1/(byte) bitmap_plot::x#2 ) [699] (word) bitmap_plot::plotter_x#0 ← *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_plot::x#4) w= *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_plot::x#4) [700] (word) bitmap_plot::plotter_y#0 ← *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_plot::y#4) w= *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_plot::y#4) [701] (word) bitmap_plot::plotter#0 ← (word) bitmap_plot::plotter_x#0 + (word) bitmap_plot::plotter_y#0 [702] (byte~) bitmap_plot::$1 ← *((byte*)(word) bitmap_plot::plotter#0) | *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_plot::x#4) [703] *((byte*)(word) bitmap_plot::plotter#0) ← (byte~) bitmap_plot::$1 to:bitmap_plot::@return bitmap_plot::@return: scope:[bitmap_plot] from bitmap_plot [704] return to:@return (void()) bitmap_line_ydxi((byte) bitmap_line_ydxi::y , (byte) bitmap_line_ydxi::x , (byte) bitmap_line_ydxi::y1 , (byte) bitmap_line_ydxi::yd , (byte) bitmap_line_ydxi::xd) bitmap_line_ydxi: scope:[bitmap_line_ydxi] from bitmap_line::@14 bitmap_line::@4 [705] (byte) bitmap_line_ydxi::y1#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y1#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y1#0 ) [705] (byte) bitmap_line_ydxi::yd#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::yd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::yd#0 ) [705] (byte) bitmap_line_ydxi::y#6 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::y#1 bitmap_line::@4/(byte) bitmap_line_ydxi::y#0 ) [705] (byte) bitmap_line_ydxi::x#5 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::x#1 bitmap_line::@4/(byte) bitmap_line_ydxi::x#0 ) [705] (byte) bitmap_line_ydxi::xd#2 ← phi( bitmap_line::@14/(byte) bitmap_line_ydxi::xd#1 bitmap_line::@4/(byte) bitmap_line_ydxi::xd#0 ) [706] (byte) bitmap_line_ydxi::e#0 ← (byte) bitmap_line_ydxi::xd#2 >> (byte) 1 to:bitmap_line_ydxi::@1 bitmap_line_ydxi::@1: scope:[bitmap_line_ydxi] from bitmap_line_ydxi bitmap_line_ydxi::@2 [707] (byte) bitmap_line_ydxi::e#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::e#0 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::e#6 ) [707] (byte) bitmap_line_ydxi::y#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::y#6 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::y#2 ) [707] (byte) bitmap_line_ydxi::x#3 ← phi( bitmap_line_ydxi/(byte) bitmap_line_ydxi::x#5 bitmap_line_ydxi::@2/(byte) bitmap_line_ydxi::x#6 ) [708] (byte) bitmap_plot::x#2 ← (byte) bitmap_line_ydxi::x#3 [709] (byte) bitmap_plot::y#2 ← (byte) bitmap_line_ydxi::y#3 [710] call bitmap_plot to:bitmap_line_ydxi::@4 bitmap_line_ydxi::@4: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@1 [711] (byte) bitmap_line_ydxi::y#2 ← ++ (byte) bitmap_line_ydxi::y#3 [712] (byte) bitmap_line_ydxi::e#1 ← (byte) bitmap_line_ydxi::e#3 + (byte) bitmap_line_ydxi::xd#2 [713] if((byte) bitmap_line_ydxi::yd#5>=(byte) bitmap_line_ydxi::e#1) goto bitmap_line_ydxi::@2 to:bitmap_line_ydxi::@3 bitmap_line_ydxi::@3: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@4 [714] (byte) bitmap_line_ydxi::x#2 ← ++ (byte) bitmap_line_ydxi::x#3 [715] (byte) bitmap_line_ydxi::e#2 ← (byte) bitmap_line_ydxi::e#1 - (byte) bitmap_line_ydxi::yd#5 to:bitmap_line_ydxi::@2 bitmap_line_ydxi::@2: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@3 bitmap_line_ydxi::@4 [716] (byte) bitmap_line_ydxi::e#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::e#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::e#1 ) [716] (byte) bitmap_line_ydxi::x#6 ← phi( bitmap_line_ydxi::@3/(byte) bitmap_line_ydxi::x#2 bitmap_line_ydxi::@4/(byte) bitmap_line_ydxi::x#3 ) [717] (byte~) bitmap_line_ydxi::$6 ← (byte) bitmap_line_ydxi::y1#6 + (byte) 1 [718] if((byte) bitmap_line_ydxi::y#2!=(byte~) bitmap_line_ydxi::$6) goto bitmap_line_ydxi::@1 to:bitmap_line_ydxi::@return bitmap_line_ydxi::@return: scope:[bitmap_line_ydxi] from bitmap_line_ydxi::@2 [719] return to:@return (void()) bitmap_line_xdyd((byte) bitmap_line_xdyd::x , (byte) bitmap_line_xdyd::y , (byte) bitmap_line_xdyd::x1 , (byte) bitmap_line_xdyd::xd , (byte) bitmap_line_xdyd::yd) bitmap_line_xdyd: scope:[bitmap_line_xdyd] from bitmap_line::@12 bitmap_line::@9 [720] (byte) bitmap_line_xdyd::x1#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x1#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x1#1 ) [720] (byte) bitmap_line_xdyd::xd#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::xd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::xd#1 ) [720] (byte) bitmap_line_xdyd::y#5 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::y#0 bitmap_line::@12/(byte) bitmap_line_xdyd::y#1 ) [720] (byte) bitmap_line_xdyd::x#6 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::x#0 bitmap_line::@12/(byte) bitmap_line_xdyd::x#1 ) [720] (byte) bitmap_line_xdyd::yd#2 ← phi( bitmap_line::@9/(byte) bitmap_line_xdyd::yd#0 bitmap_line::@12/(byte) bitmap_line_xdyd::yd#1 ) [721] (byte) bitmap_line_xdyd::e#0 ← (byte) bitmap_line_xdyd::yd#2 >> (byte) 1 to:bitmap_line_xdyd::@1 bitmap_line_xdyd::@1: scope:[bitmap_line_xdyd] from bitmap_line_xdyd bitmap_line_xdyd::@2 [722] (byte) bitmap_line_xdyd::e#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::e#0 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::e#6 ) [722] (byte) bitmap_line_xdyd::y#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::y#5 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::y#6 ) [722] (byte) bitmap_line_xdyd::x#3 ← phi( bitmap_line_xdyd/(byte) bitmap_line_xdyd::x#6 bitmap_line_xdyd::@2/(byte) bitmap_line_xdyd::x#2 ) [723] (byte) bitmap_plot::x#1 ← (byte) bitmap_line_xdyd::x#3 [724] (byte) bitmap_plot::y#1 ← (byte) bitmap_line_xdyd::y#3 [725] call bitmap_plot to:bitmap_line_xdyd::@4 bitmap_line_xdyd::@4: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@1 [726] (byte) bitmap_line_xdyd::x#2 ← ++ (byte) bitmap_line_xdyd::x#3 [727] (byte) bitmap_line_xdyd::e#1 ← (byte) bitmap_line_xdyd::e#3 + (byte) bitmap_line_xdyd::yd#2 [728] if((byte) bitmap_line_xdyd::xd#5>=(byte) bitmap_line_xdyd::e#1) goto bitmap_line_xdyd::@2 to:bitmap_line_xdyd::@3 bitmap_line_xdyd::@3: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@4 [729] (byte) bitmap_line_xdyd::y#2 ← -- (byte) bitmap_line_xdyd::y#3 [730] (byte) bitmap_line_xdyd::e#2 ← (byte) bitmap_line_xdyd::e#1 - (byte) bitmap_line_xdyd::xd#5 to:bitmap_line_xdyd::@2 bitmap_line_xdyd::@2: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@3 bitmap_line_xdyd::@4 [731] (byte) bitmap_line_xdyd::e#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::e#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::e#1 ) [731] (byte) bitmap_line_xdyd::y#6 ← phi( bitmap_line_xdyd::@3/(byte) bitmap_line_xdyd::y#2 bitmap_line_xdyd::@4/(byte) bitmap_line_xdyd::y#3 ) [732] (byte~) bitmap_line_xdyd::$6 ← (byte) bitmap_line_xdyd::x1#6 + (byte) 1 [733] if((byte) bitmap_line_xdyd::x#2!=(byte~) bitmap_line_xdyd::$6) goto bitmap_line_xdyd::@1 to:bitmap_line_xdyd::@return bitmap_line_xdyd::@return: scope:[bitmap_line_xdyd] from bitmap_line_xdyd::@2 [734] return to:@return (void()) bitmap_line_ydxd((byte) bitmap_line_ydxd::y , (byte) bitmap_line_ydxd::x , (byte) bitmap_line_ydxd::y1 , (byte) bitmap_line_ydxd::yd , (byte) bitmap_line_ydxd::xd) bitmap_line_ydxd: scope:[bitmap_line_ydxd] from bitmap_line::@10 bitmap_line::@6 [735] (byte) bitmap_line_ydxd::y1#6 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y1#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y1#1 ) [735] (byte) bitmap_line_ydxd::yd#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::yd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::yd#1 ) [735] (byte) bitmap_line_ydxd::y#7 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::y#0 bitmap_line::@6/(byte) bitmap_line_ydxd::y#1 ) [735] (byte) bitmap_line_ydxd::x#5 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::x#0 bitmap_line::@6/(byte) bitmap_line_ydxd::x#1 ) [735] (byte) bitmap_line_ydxd::xd#2 ← phi( bitmap_line::@10/(byte) bitmap_line_ydxd::xd#0 bitmap_line::@6/(byte) bitmap_line_ydxd::xd#1 ) [736] (byte) bitmap_line_ydxd::e#0 ← (byte) bitmap_line_ydxd::xd#2 >> (byte) 1 to:bitmap_line_ydxd::@1 bitmap_line_ydxd::@1: scope:[bitmap_line_ydxd] from bitmap_line_ydxd bitmap_line_ydxd::@2 [737] (byte) bitmap_line_ydxd::e#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::e#0 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::e#6 ) [737] (byte) bitmap_line_ydxd::y#2 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::y#7 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::y#3 ) [737] (byte) bitmap_line_ydxd::x#3 ← phi( bitmap_line_ydxd/(byte) bitmap_line_ydxd::x#5 bitmap_line_ydxd::@2/(byte) bitmap_line_ydxd::x#6 ) [738] (byte) bitmap_plot::x#3 ← (byte) bitmap_line_ydxd::x#3 [739] (byte) bitmap_plot::y#3 ← (byte) bitmap_line_ydxd::y#2 [740] call bitmap_plot to:bitmap_line_ydxd::@4 bitmap_line_ydxd::@4: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@1 [741] (byte) bitmap_line_ydxd::y#3 ← ++ (byte) bitmap_line_ydxd::y#2 [742] (byte) bitmap_line_ydxd::e#1 ← (byte) bitmap_line_ydxd::e#3 + (byte) bitmap_line_ydxd::xd#2 [743] if((byte) bitmap_line_ydxd::yd#5>=(byte) bitmap_line_ydxd::e#1) goto bitmap_line_ydxd::@2 to:bitmap_line_ydxd::@3 bitmap_line_ydxd::@3: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@4 [744] (byte) bitmap_line_ydxd::x#2 ← -- (byte) bitmap_line_ydxd::x#3 [745] (byte) bitmap_line_ydxd::e#2 ← (byte) bitmap_line_ydxd::e#1 - (byte) bitmap_line_ydxd::yd#5 to:bitmap_line_ydxd::@2 bitmap_line_ydxd::@2: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@3 bitmap_line_ydxd::@4 [746] (byte) bitmap_line_ydxd::e#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::e#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::e#1 ) [746] (byte) bitmap_line_ydxd::x#6 ← phi( bitmap_line_ydxd::@3/(byte) bitmap_line_ydxd::x#2 bitmap_line_ydxd::@4/(byte) bitmap_line_ydxd::x#3 ) [747] (byte~) bitmap_line_ydxd::$6 ← (byte) bitmap_line_ydxd::y1#6 + (byte) 1 [748] if((byte) bitmap_line_ydxd::y#3!=(byte~) bitmap_line_ydxd::$6) goto bitmap_line_ydxd::@1 to:bitmap_line_ydxd::@return bitmap_line_ydxd::@return: scope:[bitmap_line_ydxd] from bitmap_line_ydxd::@2 [749] return to:@return (void()) bitmap_clear() bitmap_clear: scope:[bitmap_clear] from gfx_init_vic_bitmap::@3 [750] (word) bitmap_clear::bitmap#0 ← *((const to_nomodify byte*) bitmap_plot_xhi) w= *((const to_nomodify byte*) bitmap_plot_xlo) [751] (byte*) bitmap_clear::bitmap#5 ← (byte*)(word) bitmap_clear::bitmap#0 to:bitmap_clear::@1 bitmap_clear::@1: scope:[bitmap_clear] from bitmap_clear bitmap_clear::@3 [752] (byte) bitmap_clear::y#4 ← phi( bitmap_clear/(byte) 0 bitmap_clear::@3/(byte) bitmap_clear::y#1 ) [752] (byte*) bitmap_clear::bitmap#3 ← phi( bitmap_clear/(byte*) bitmap_clear::bitmap#5 bitmap_clear::@3/(byte*) bitmap_clear::bitmap#1 ) to:bitmap_clear::@2 bitmap_clear::@2: scope:[bitmap_clear] from bitmap_clear::@1 bitmap_clear::@2 [753] (byte) bitmap_clear::x#2 ← phi( bitmap_clear::@1/(byte) 0 bitmap_clear::@2/(byte) bitmap_clear::x#1 ) [753] (byte*) bitmap_clear::bitmap#2 ← phi( bitmap_clear::@1/(byte*) bitmap_clear::bitmap#3 bitmap_clear::@2/(byte*) bitmap_clear::bitmap#1 ) [754] *((byte*) bitmap_clear::bitmap#2) ← (byte) 0 [755] (byte*) bitmap_clear::bitmap#1 ← ++ (byte*) bitmap_clear::bitmap#2 [756] (byte) bitmap_clear::x#1 ← ++ (byte) bitmap_clear::x#2 [757] if((byte) bitmap_clear::x#1!=(byte) $c8) goto bitmap_clear::@2 to:bitmap_clear::@3 bitmap_clear::@3: scope:[bitmap_clear] from bitmap_clear::@2 [758] (byte) bitmap_clear::y#1 ← ++ (byte) bitmap_clear::y#4 [759] if((byte) bitmap_clear::y#1!=(byte) $28) goto bitmap_clear::@1 to:bitmap_clear::@return bitmap_clear::@return: scope:[bitmap_clear] from bitmap_clear::@3 [760] return to:@return (void()) bitmap_init((byte*) bitmap_init::bitmap) bitmap_init: scope:[bitmap_init] from gfx_init_vic_bitmap [761] phi() to:bitmap_init::@1 bitmap_init::@1: scope:[bitmap_init] from bitmap_init bitmap_init::@2 [762] (byte) bitmap_init::bits#3 ← phi( bitmap_init/(byte) $80 bitmap_init::@2/(byte) bitmap_init::bits#4 ) [762] (byte) bitmap_init::x#2 ← phi( bitmap_init/(byte) 0 bitmap_init::@2/(byte) bitmap_init::x#1 ) [763] (byte~) bitmap_init::$0 ← (byte) bitmap_init::x#2 & (byte) $f8 [764] *((const to_nomodify byte*) bitmap_plot_xlo + (byte) bitmap_init::x#2) ← (byte~) bitmap_init::$0 [765] *((const to_nomodify byte*) bitmap_plot_xhi + (byte) bitmap_init::x#2) ← >(const nomodify byte*) VIC_BITMAP [766] *((const to_nomodify byte*) bitmap_plot_bit + (byte) bitmap_init::x#2) ← (byte) bitmap_init::bits#3 [767] (byte) bitmap_init::bits#1 ← (byte) bitmap_init::bits#3 >> (byte) 1 [768] if((byte) bitmap_init::bits#1!=(byte) 0) goto bitmap_init::@6 to:bitmap_init::@2 bitmap_init::@6: scope:[bitmap_init] from bitmap_init::@1 [769] phi() to:bitmap_init::@2 bitmap_init::@2: scope:[bitmap_init] from bitmap_init::@1 bitmap_init::@6 [770] (byte) bitmap_init::bits#4 ← phi( bitmap_init::@6/(byte) bitmap_init::bits#1 bitmap_init::@1/(byte) $80 ) [771] (byte) bitmap_init::x#1 ← ++ (byte) bitmap_init::x#2 [772] if((byte) bitmap_init::x#1!=(byte) 0) goto bitmap_init::@1 to:bitmap_init::@3 bitmap_init::@3: scope:[bitmap_init] from bitmap_init::@2 bitmap_init::@4 [773] (byte*) bitmap_init::yoffs#2 ← phi( bitmap_init::@2/(byte*) 0 bitmap_init::@4/(byte*) bitmap_init::yoffs#4 ) [773] (byte) bitmap_init::y#2 ← phi( bitmap_init::@2/(byte) 0 bitmap_init::@4/(byte) bitmap_init::y#1 ) [774] (byte~) bitmap_init::$10 ← (byte) bitmap_init::y#2 & (byte) 7 [775] (byte~) bitmap_init::$7 ← < (byte*) bitmap_init::yoffs#2 [776] (byte~) bitmap_init::$8 ← (byte~) bitmap_init::$10 | (byte~) bitmap_init::$7 [777] *((const to_nomodify byte*) bitmap_plot_ylo + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$8 [778] (byte~) bitmap_init::$9 ← > (byte*) bitmap_init::yoffs#2 [779] *((const to_nomodify byte*) bitmap_plot_yhi + (byte) bitmap_init::y#2) ← (byte~) bitmap_init::$9 [780] if((byte~) bitmap_init::$10!=(byte) 7) goto bitmap_init::@4 to:bitmap_init::@5 bitmap_init::@5: scope:[bitmap_init] from bitmap_init::@3 [781] (byte*) bitmap_init::yoffs#1 ← (byte*) bitmap_init::yoffs#2 + (word)(number) $28*(number) 8 to:bitmap_init::@4 bitmap_init::@4: scope:[bitmap_init] from bitmap_init::@3 bitmap_init::@5 [782] (byte*) bitmap_init::yoffs#4 ← phi( bitmap_init::@3/(byte*) bitmap_init::yoffs#2 bitmap_init::@5/(byte*) bitmap_init::yoffs#1 ) [783] (byte) bitmap_init::y#1 ← ++ (byte) bitmap_init::y#2 [784] if((byte) bitmap_init::y#1!=(byte) 0) goto bitmap_init::@3 to:bitmap_init::@return bitmap_init::@return: scope:[bitmap_init] from bitmap_init::@4 [785] return to:@return (void()) gfx_init_charset() gfx_init_charset: scope:[gfx_init_charset] from gfx_init::@5 [786] *((const nomodify byte*) PROCPORT) ← (byte) $32 to:gfx_init_charset::@1 gfx_init_charset::@1: scope:[gfx_init_charset] from gfx_init_charset gfx_init_charset::@3 [787] (byte) gfx_init_charset::c#4 ← phi( gfx_init_charset/(byte) 0 gfx_init_charset::@3/(byte) gfx_init_charset::c#1 ) [787] (byte*) gfx_init_charset::charset#3 ← phi( gfx_init_charset/(const nomodify byte*) VIC_CHARSET_ROM gfx_init_charset::@3/(byte*) gfx_init_charset::charset#1 ) [787] (byte*) gfx_init_charset::chargen#3 ← phi( gfx_init_charset/(const nomodify byte*) CHARGEN gfx_init_charset::@3/(byte*) gfx_init_charset::chargen#1 ) to:gfx_init_charset::@2 gfx_init_charset::@2: scope:[gfx_init_charset] from gfx_init_charset::@1 gfx_init_charset::@2 [788] (byte) gfx_init_charset::l#2 ← phi( gfx_init_charset::@1/(byte) 0 gfx_init_charset::@2/(byte) gfx_init_charset::l#1 ) [788] (byte*) gfx_init_charset::charset#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::charset#3 gfx_init_charset::@2/(byte*) gfx_init_charset::charset#1 ) [788] (byte*) gfx_init_charset::chargen#2 ← phi( gfx_init_charset::@1/(byte*) gfx_init_charset::chargen#3 gfx_init_charset::@2/(byte*) gfx_init_charset::chargen#1 ) [789] *((byte*) gfx_init_charset::charset#2) ← *((byte*) gfx_init_charset::chargen#2) [790] (byte*) gfx_init_charset::charset#1 ← ++ (byte*) gfx_init_charset::charset#2 [791] (byte*) gfx_init_charset::chargen#1 ← ++ (byte*) gfx_init_charset::chargen#2 [792] (byte) gfx_init_charset::l#1 ← ++ (byte) gfx_init_charset::l#2 [793] if((byte) gfx_init_charset::l#1!=(byte) 8) goto gfx_init_charset::@2 to:gfx_init_charset::@3 gfx_init_charset::@3: scope:[gfx_init_charset] from gfx_init_charset::@2 [794] (byte) gfx_init_charset::c#1 ← ++ (byte) gfx_init_charset::c#4 [795] if((byte) gfx_init_charset::c#1!=(byte) 0) goto gfx_init_charset::@1 to:gfx_init_charset::@4 gfx_init_charset::@4: scope:[gfx_init_charset] from gfx_init_charset::@3 [796] *((const nomodify byte*) PROCPORT) ← (byte) $37 to:gfx_init_charset::@return gfx_init_charset::@return: scope:[gfx_init_charset] from gfx_init_charset::@4 [797] return to:@return (void()) gfx_init_screen4() gfx_init_screen4: scope:[gfx_init_screen4] from gfx_init::@4 [798] phi() to:gfx_init_screen4::@1 gfx_init_screen4::@1: scope:[gfx_init_screen4] from gfx_init_screen4 gfx_init_screen4::@3 [799] (byte) gfx_init_screen4::cy#4 ← phi( gfx_init_screen4/(byte) 0 gfx_init_screen4::@3/(byte) gfx_init_screen4::cy#1 ) [799] (byte*) gfx_init_screen4::ch#3 ← phi( gfx_init_screen4/(const nomodify byte*) VIC_SCREEN4 gfx_init_screen4::@3/(byte*) gfx_init_screen4::ch#1 ) to:gfx_init_screen4::@2 gfx_init_screen4::@2: scope:[gfx_init_screen4] from gfx_init_screen4::@1 gfx_init_screen4::@2 [800] (byte) gfx_init_screen4::cx#2 ← phi( gfx_init_screen4::@1/(byte) 0 gfx_init_screen4::@2/(byte) gfx_init_screen4::cx#1 ) [800] (byte*) gfx_init_screen4::ch#2 ← phi( gfx_init_screen4::@1/(byte*) gfx_init_screen4::ch#3 gfx_init_screen4::@2/(byte*) gfx_init_screen4::ch#1 ) [801] *((byte*) gfx_init_screen4::ch#2) ← (byte) 0 [802] (byte*) gfx_init_screen4::ch#1 ← ++ (byte*) gfx_init_screen4::ch#2 [803] (byte) gfx_init_screen4::cx#1 ← ++ (byte) gfx_init_screen4::cx#2 [804] if((byte) gfx_init_screen4::cx#1!=(byte) $28) goto gfx_init_screen4::@2 to:gfx_init_screen4::@3 gfx_init_screen4::@3: scope:[gfx_init_screen4] from gfx_init_screen4::@2 [805] (byte) gfx_init_screen4::cy#1 ← ++ (byte) gfx_init_screen4::cy#4 [806] if((byte) gfx_init_screen4::cy#1!=(byte) $19) goto gfx_init_screen4::@1 to:gfx_init_screen4::@return gfx_init_screen4::@return: scope:[gfx_init_screen4] from gfx_init_screen4::@3 [807] return to:@return (void()) gfx_init_screen3() gfx_init_screen3: scope:[gfx_init_screen3] from gfx_init::@3 [808] phi() to:gfx_init_screen3::@1 gfx_init_screen3::@1: scope:[gfx_init_screen3] from gfx_init_screen3 gfx_init_screen3::@3 [809] (byte*) gfx_init_screen3::ch#3 ← phi( gfx_init_screen3/(const nomodify byte*) VIC_SCREEN3 gfx_init_screen3::@3/(byte*) gfx_init_screen3::ch#1 ) [809] (byte) gfx_init_screen3::cy#4 ← phi( gfx_init_screen3/(byte) 0 gfx_init_screen3::@3/(byte) gfx_init_screen3::cy#1 ) to:gfx_init_screen3::@2 gfx_init_screen3::@2: scope:[gfx_init_screen3] from gfx_init_screen3::@1 gfx_init_screen3::@2 [810] (byte*) gfx_init_screen3::ch#2 ← phi( gfx_init_screen3::@1/(byte*) gfx_init_screen3::ch#3 gfx_init_screen3::@2/(byte*) gfx_init_screen3::ch#1 ) [810] (byte) gfx_init_screen3::cx#2 ← phi( gfx_init_screen3::@1/(byte) 0 gfx_init_screen3::@2/(byte) gfx_init_screen3::cx#1 ) [811] (byte~) gfx_init_screen3::$0 ← (byte) gfx_init_screen3::cx#2 & (byte) 3 [812] (byte~) gfx_init_screen3::$1 ← (byte~) gfx_init_screen3::$0 << (byte) 4 [813] (byte~) gfx_init_screen3::$2 ← (byte) gfx_init_screen3::cy#4 & (byte) 3 [814] (byte~) gfx_init_screen3::$3 ← (byte~) gfx_init_screen3::$1 | (byte~) gfx_init_screen3::$2 [815] *((byte*) gfx_init_screen3::ch#2) ← (byte~) gfx_init_screen3::$3 [816] (byte*) gfx_init_screen3::ch#1 ← ++ (byte*) gfx_init_screen3::ch#2 [817] (byte) gfx_init_screen3::cx#1 ← ++ (byte) gfx_init_screen3::cx#2 [818] if((byte) gfx_init_screen3::cx#1!=(byte) $28) goto gfx_init_screen3::@2 to:gfx_init_screen3::@3 gfx_init_screen3::@3: scope:[gfx_init_screen3] from gfx_init_screen3::@2 [819] (byte) gfx_init_screen3::cy#1 ← ++ (byte) gfx_init_screen3::cy#4 [820] if((byte) gfx_init_screen3::cy#1!=(byte) $19) goto gfx_init_screen3::@1 to:gfx_init_screen3::@return gfx_init_screen3::@return: scope:[gfx_init_screen3] from gfx_init_screen3::@3 [821] return to:@return (void()) gfx_init_screen2() gfx_init_screen2: scope:[gfx_init_screen2] from gfx_init::@2 [822] phi() to:gfx_init_screen2::@1 gfx_init_screen2::@1: scope:[gfx_init_screen2] from gfx_init_screen2 gfx_init_screen2::@3 [823] (byte*) gfx_init_screen2::ch#3 ← phi( gfx_init_screen2/(const nomodify byte*) VIC_SCREEN2 gfx_init_screen2::@3/(byte*) gfx_init_screen2::ch#1 ) [823] (byte) gfx_init_screen2::cy#4 ← phi( gfx_init_screen2/(byte) 0 gfx_init_screen2::@3/(byte) gfx_init_screen2::cy#1 ) to:gfx_init_screen2::@2 gfx_init_screen2::@2: scope:[gfx_init_screen2] from gfx_init_screen2::@1 gfx_init_screen2::@2 [824] (byte*) gfx_init_screen2::ch#2 ← phi( gfx_init_screen2::@1/(byte*) gfx_init_screen2::ch#3 gfx_init_screen2::@2/(byte*) gfx_init_screen2::ch#1 ) [824] (byte) gfx_init_screen2::cx#2 ← phi( gfx_init_screen2::@1/(byte) 0 gfx_init_screen2::@2/(byte) gfx_init_screen2::cx#1 ) [825] (byte~) gfx_init_screen2::$0 ← (byte) gfx_init_screen2::cx#2 + (byte) gfx_init_screen2::cy#4 [826] (byte) gfx_init_screen2::col#0 ← (byte~) gfx_init_screen2::$0 & (byte) $f [827] (byte) gfx_init_screen2::col2#0 ← (byte) $f - (byte) gfx_init_screen2::col#0 [828] (byte~) gfx_init_screen2::$3 ← (byte) gfx_init_screen2::col#0 << (byte) 4 [829] (byte~) gfx_init_screen2::$4 ← (byte~) gfx_init_screen2::$3 | (byte) gfx_init_screen2::col2#0 [830] *((byte*) gfx_init_screen2::ch#2) ← (byte~) gfx_init_screen2::$4 [831] (byte*) gfx_init_screen2::ch#1 ← ++ (byte*) gfx_init_screen2::ch#2 [832] (byte) gfx_init_screen2::cx#1 ← ++ (byte) gfx_init_screen2::cx#2 [833] if((byte) gfx_init_screen2::cx#1!=(byte) $28) goto gfx_init_screen2::@2 to:gfx_init_screen2::@3 gfx_init_screen2::@3: scope:[gfx_init_screen2] from gfx_init_screen2::@2 [834] (byte) gfx_init_screen2::cy#1 ← ++ (byte) gfx_init_screen2::cy#4 [835] if((byte) gfx_init_screen2::cy#1!=(byte) $19) goto gfx_init_screen2::@1 to:gfx_init_screen2::@return gfx_init_screen2::@return: scope:[gfx_init_screen2] from gfx_init_screen2::@3 [836] return to:@return (void()) gfx_init_screen1() gfx_init_screen1: scope:[gfx_init_screen1] from gfx_init::@1 [837] phi() to:gfx_init_screen1::@1 gfx_init_screen1::@1: scope:[gfx_init_screen1] from gfx_init_screen1 gfx_init_screen1::@3 [838] (byte*) gfx_init_screen1::ch#3 ← phi( gfx_init_screen1/(const nomodify byte*) VIC_SCREEN1 gfx_init_screen1::@3/(byte*) gfx_init_screen1::ch#1 ) [838] (byte) gfx_init_screen1::cy#4 ← phi( gfx_init_screen1/(byte) 0 gfx_init_screen1::@3/(byte) gfx_init_screen1::cy#1 ) to:gfx_init_screen1::@2 gfx_init_screen1::@2: scope:[gfx_init_screen1] from gfx_init_screen1::@1 gfx_init_screen1::@2 [839] (byte*) gfx_init_screen1::ch#2 ← phi( gfx_init_screen1::@1/(byte*) gfx_init_screen1::ch#3 gfx_init_screen1::@2/(byte*) gfx_init_screen1::ch#1 ) [839] (byte) gfx_init_screen1::cx#2 ← phi( gfx_init_screen1::@1/(byte) 0 gfx_init_screen1::@2/(byte) gfx_init_screen1::cx#1 ) [840] (byte~) gfx_init_screen1::$0 ← (byte) gfx_init_screen1::cx#2 + (byte) gfx_init_screen1::cy#4 [841] (byte~) gfx_init_screen1::$1 ← (byte~) gfx_init_screen1::$0 & (byte) $f [842] *((byte*) gfx_init_screen1::ch#2) ← (byte~) gfx_init_screen1::$1 [843] (byte*) gfx_init_screen1::ch#1 ← ++ (byte*) gfx_init_screen1::ch#2 [844] (byte) gfx_init_screen1::cx#1 ← ++ (byte) gfx_init_screen1::cx#2 [845] if((byte) gfx_init_screen1::cx#1!=(byte) $28) goto gfx_init_screen1::@2 to:gfx_init_screen1::@3 gfx_init_screen1::@3: scope:[gfx_init_screen1] from gfx_init_screen1::@2 [846] (byte) gfx_init_screen1::cy#1 ← ++ (byte) gfx_init_screen1::cy#4 [847] if((byte) gfx_init_screen1::cy#1!=(byte) $19) goto gfx_init_screen1::@1 to:gfx_init_screen1::@return gfx_init_screen1::@return: scope:[gfx_init_screen1] from gfx_init_screen1::@3 [848] return to:@return (void()) gfx_init_screen0() gfx_init_screen0: scope:[gfx_init_screen0] from gfx_init [849] phi() to:gfx_init_screen0::@1 gfx_init_screen0::@1: scope:[gfx_init_screen0] from gfx_init_screen0 gfx_init_screen0::@3 [850] (byte*) gfx_init_screen0::ch#3 ← phi( gfx_init_screen0/(const nomodify byte*) VIC_SCREEN0 gfx_init_screen0::@3/(byte*) gfx_init_screen0::ch#1 ) [850] (byte) gfx_init_screen0::cy#4 ← phi( gfx_init_screen0/(byte) 0 gfx_init_screen0::@3/(byte) gfx_init_screen0::cy#1 ) to:gfx_init_screen0::@2 gfx_init_screen0::@2: scope:[gfx_init_screen0] from gfx_init_screen0::@1 gfx_init_screen0::@2 [851] (byte*) gfx_init_screen0::ch#2 ← phi( gfx_init_screen0::@1/(byte*) gfx_init_screen0::ch#3 gfx_init_screen0::@2/(byte*) gfx_init_screen0::ch#1 ) [851] (byte) gfx_init_screen0::cx#2 ← phi( gfx_init_screen0::@1/(byte) 0 gfx_init_screen0::@2/(byte) gfx_init_screen0::cx#1 ) [852] (byte~) gfx_init_screen0::$0 ← (byte) gfx_init_screen0::cy#4 & (byte) $f [853] (byte~) gfx_init_screen0::$1 ← (byte~) gfx_init_screen0::$0 << (byte) 4 [854] (byte~) gfx_init_screen0::$2 ← (byte) gfx_init_screen0::cx#2 & (byte) $f [855] (byte~) gfx_init_screen0::$3 ← (byte~) gfx_init_screen0::$1 | (byte~) gfx_init_screen0::$2 [856] *((byte*) gfx_init_screen0::ch#2) ← (byte~) gfx_init_screen0::$3 [857] (byte*) gfx_init_screen0::ch#1 ← ++ (byte*) gfx_init_screen0::ch#2 [858] (byte) gfx_init_screen0::cx#1 ← ++ (byte) gfx_init_screen0::cx#2 [859] if((byte) gfx_init_screen0::cx#1!=(byte) $28) goto gfx_init_screen0::@2 to:gfx_init_screen0::@3 gfx_init_screen0::@3: scope:[gfx_init_screen0] from gfx_init_screen0::@2 [860] (byte) gfx_init_screen0::cy#1 ← ++ (byte) gfx_init_screen0::cy#4 [861] if((byte) gfx_init_screen0::cy#1!=(byte) $19) goto gfx_init_screen0::@1 to:gfx_init_screen0::@return gfx_init_screen0::@return: scope:[gfx_init_screen0] from gfx_init_screen0::@3 [862] return to:@return (void()) keyboard_init() keyboard_init: scope:[keyboard_init] from main [863] *((const nomodify byte*) CIA1_PORT_A_DDR) ← (byte) $ff [864] *((const nomodify byte*) CIA1_PORT_B_DDR) ← (byte) 0 to:keyboard_init::@return keyboard_init::@return: scope:[keyboard_init] from keyboard_init [865] return to:@return