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