1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00
kickc/src/test/ref/c64dtv-gfxexplorer.cfg

1708 lines
119 KiB
INI

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