
void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] conio_screen_width = 0
  [2] conio_screen_height = 0
  [3] conio_screen_layer = 1
  [4] conio_width = 0
  [5] conio_height = 0
  [6] conio_rowshift = 0
  [7] conio_rowskip = 0
  [8] call conio_x16_init
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  [9] phi()
  [10] call main
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [11] return 
  to:@return

void conio_x16_init()
conio_x16_init: scope:[conio_x16_init]  from __start::__init1
  [12] conio_x16_init::line#0 = *conio_x16_init::BASIC_CURSOR_LINE
  [13] call vera_layer_mode_text
  to:conio_x16_init::@3
conio_x16_init::@3: scope:[conio_x16_init]  from conio_x16_init
  [14] phi()
  [15] call screensize
  to:conio_x16_init::@4
conio_x16_init::@4: scope:[conio_x16_init]  from conio_x16_init::@3
  [16] phi()
  [17] call screenlayer
  to:conio_x16_init::@5
conio_x16_init::@5: scope:[conio_x16_init]  from conio_x16_init::@4
  [18] phi()
  [19] call vera_layer_set_textcolor
  to:conio_x16_init::@6
conio_x16_init::@6: scope:[conio_x16_init]  from conio_x16_init::@5
  [20] phi()
  [21] call vera_layer_set_backcolor
  to:conio_x16_init::@7
conio_x16_init::@7: scope:[conio_x16_init]  from conio_x16_init::@6
  [22] phi()
  [23] call vera_layer_set_mapbase
  to:conio_x16_init::@8
conio_x16_init::@8: scope:[conio_x16_init]  from conio_x16_init::@7
  [24] phi()
  [25] call vera_layer_set_mapbase
  to:conio_x16_init::@9
conio_x16_init::@9: scope:[conio_x16_init]  from conio_x16_init::@8
  [26] if(conio_x16_init::line#0<conio_screen_height) goto conio_x16_init::@1
  to:conio_x16_init::@2
conio_x16_init::@2: scope:[conio_x16_init]  from conio_x16_init::@9
  [27] conio_x16_init::line#1 = conio_screen_height - 1
  to:conio_x16_init::@1
conio_x16_init::@1: scope:[conio_x16_init]  from conio_x16_init::@2 conio_x16_init::@9
  [28] conio_x16_init::line#3 = phi( conio_x16_init::@2/conio_x16_init::line#1, conio_x16_init::@9/conio_x16_init::line#0 )
  [29] gotoxy::y#1 = conio_x16_init::line#3
  [30] call gotoxy
  to:conio_x16_init::@return
conio_x16_init::@return: scope:[conio_x16_init]  from conio_x16_init::@1
  [31] return 
  to:@return

__stackcall void cputc(char c)
cputc: scope:[cputc]  from printf_str::@2
  [32] CONIO_SCREEN_BANK#12 = phi( )
  [32] CONIO_SCREEN_TEXT#12 = phi( )
  [33] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C)
  [34] vera_layer_get_color::layer#0 = conio_screen_layer
  [35] call vera_layer_get_color
  [36] vera_layer_get_color::return#0 = vera_layer_get_color::return#3
  to:cputc::@7
cputc::@7: scope:[cputc]  from cputc
  [37] cputc::color#0 = vera_layer_get_color::return#0
  [38] cputc::$15 = conio_screen_layer << 1
  [39] cputc::conio_addr#0 = CONIO_SCREEN_TEXT#12 + conio_line_text[cputc::$15]
  [40] cputc::$2 = conio_cursor_x[conio_screen_layer] << 1
  [41] cputc::conio_addr#1 = cputc::conio_addr#0 + cputc::$2
  [42] if(cputc::c#0=='
') goto cputc::@1
  to:cputc::@2
cputc::@2: scope:[cputc]  from cputc::@7
  [43] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
  [44] cputc::$4 = byte0  cputc::conio_addr#1
  [45] *VERA_ADDRX_L = cputc::$4
  [46] cputc::$5 = byte1  cputc::conio_addr#1
  [47] *VERA_ADDRX_M = cputc::$5
  [48] cputc::$6 = CONIO_SCREEN_BANK#12 | VERA_INC_1
  [49] *VERA_ADDRX_H = cputc::$6
  [50] *VERA_DATA0 = cputc::c#0
  [51] *VERA_DATA0 = cputc::color#0
  [52] conio_cursor_x[conio_screen_layer] = ++ conio_cursor_x[conio_screen_layer]
  [53] cputc::scroll_enable#0 = conio_scroll_enable[conio_screen_layer]
  [54] if(0!=cputc::scroll_enable#0) goto cputc::@5
  to:cputc::@3
cputc::@3: scope:[cputc]  from cputc::@2
  [55] cputc::$16 = (unsigned int)conio_cursor_x[conio_screen_layer]
  [56] if(cputc::$16!=conio_width) goto cputc::@return
  to:cputc::@4
cputc::@4: scope:[cputc]  from cputc::@3
  [57] phi()
  [58] call cputln
  to:cputc::@return
cputc::@return: scope:[cputc]  from cputc::@1 cputc::@3 cputc::@4 cputc::@5 cputc::@6
  [59] return 
  to:@return
cputc::@5: scope:[cputc]  from cputc::@2
  [60] if(conio_cursor_x[conio_screen_layer]!=conio_screen_width) goto cputc::@return
  to:cputc::@6
cputc::@6: scope:[cputc]  from cputc::@5
  [61] phi()
  [62] call cputln
  to:cputc::@return
cputc::@1: scope:[cputc]  from cputc::@7
  [63] phi()
  [64] call cputln
  to:cputc::@return

void main()
main: scope:[main]  from __start::@1
  [65] phi()
  [66] call memcpy_in_vram
  to:main::@19
main::@19: scope:[main]  from main
  [67] phi()
  [68] call vera_layer_mode_tile
  to:main::@20
main::@20: scope:[main]  from main::@19
  [69] phi()
  [70] call screenlayer
  to:main::textcolor1
main::textcolor1: scope:[main]  from main::@20
  [71] vera_layer_set_textcolor::layer#1 = conio_screen_layer
  [72] call vera_layer_set_textcolor
  to:main::bgcolor1
main::bgcolor1: scope:[main]  from main::textcolor1
  [73] vera_layer_set_backcolor::layer#1 = conio_screen_layer
  [74] call vera_layer_set_backcolor
  to:main::@16
main::@16: scope:[main]  from main::bgcolor1
  [75] phi()
  [76] call clrscr
  to:main::@21
main::@21: scope:[main]  from main::@16
  [77] phi()
  [78] call vera_layer_mode_tile
  to:main::@22
main::@22: scope:[main]  from main::@21
  [79] phi()
  [80] call memcpy_to_vram
  to:main::@1
main::@1: scope:[main]  from main::@22 main::@23
  [81] main::t#5 = phi( main::@22/1, main::@23/main::t#1 )
  [81] main::tilebase#7 = phi( main::@22/(char *) 0+$100, main::@23/main::tilebase#2 )
  to:main::@2
main::@2: scope:[main]  from main::@1 main::@2
  [82] main::p#2 = phi( main::@1/0, main::@2/main::p#1 )
  [83] main::tiles[main::p#2] = main::tiles[main::p#2] + 1
  [84] main::p#1 = ++ main::p#2
  [85] if(main::p#1!=0) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@2
  [86] memcpy_to_vram::vdest#1 = (void *)main::tilebase#7
  [87] call memcpy_to_vram
  to:main::@23
main::@23: scope:[main]  from main::@3
  [88] main::tilebase#2 = main::tilebase#7 + $100
  [89] main::t#1 = ++ main::t#5
  [90] if(main::t#1!=0) goto main::@1
  to:main::@4
main::@4: scope:[main]  from main::@23
  [91] phi()
  [92] call vera_tile_area
  to:main::@5
main::@5: scope:[main]  from main::@4 main::@7
  [93] main::r#5 = phi( main::@4/0, main::@7/main::r#1 )
  [93] main::row#9 = phi( main::@4/1, main::@7/main::row#1 )
  [93] main::tile#10 = phi( main::@4/0, main::@7/main::tile#12 )
  to:main::@6
main::@6: scope:[main]  from main::@24 main::@5
  [94] main::c#2 = phi( main::@24/main::c#1, main::@5/0 )
  [94] main::column#2 = phi( main::@24/main::column#1, main::@5/0 )
  [94] main::tile#6 = phi( main::@24/main::tile#12, main::@5/main::tile#10 )
  [95] vera_tile_area::tileindex#1 = main::tile#6
  [96] vera_tile_area::x#1 = main::column#2
  [97] vera_tile_area::y#1 = main::row#9
  [98] call vera_tile_area
  to:main::@24
main::@24: scope:[main]  from main::@6
  [99] main::column#1 = main::column#2 + 2
  [100] main::tile#1 = ++ main::tile#6
  [101] main::tile#12 = main::tile#1 & $ff
  [102] main::c#1 = ++ main::c#2
  [103] if(main::c#1!=$14) goto main::@6
  to:main::@7
main::@7: scope:[main]  from main::@24
  [104] main::row#1 = main::row#9 + 2
  [105] main::r#1 = ++ main::r#5
  [106] if(main::r#1!=$c) goto main::@5
  to:main::@8
main::@8: scope:[main]  from main::@7
  [107] phi()
  [108] call gotoxy
  to:main::@25
main::@25: scope:[main]  from main::@8
  [109] phi()
  [110] call printf_str
  to:main::@26
main::@26: scope:[main]  from main::@25
  [111] phi()
  [112] call printf_str
  to:main::@27
main::@27: scope:[main]  from main::@26
  [113] phi()
  [114] call printf_str
  to:main::@28
main::@28: scope:[main]  from main::@27
  [115] phi()
  [116] call printf_str
  to:main::@29
main::@29: scope:[main]  from main::@28
  [117] phi()
  [118] call printf_str
  to:main::@30
main::@30: scope:[main]  from main::@29
  [119] phi()
  [120] call printf_str
  to:main::@31
main::@31: scope:[main]  from main::@30
  [121] phi()
  [122] call printf_str
  to:main::@32
main::@32: scope:[main]  from main::@31
  [123] phi()
  [124] call printf_str
  to:main::vera_layer_show1
main::vera_layer_show1: scope:[main]  from main::@32
  [125] *VERA_DC_VIDEO = *VERA_DC_VIDEO | *vera_layer_enable
  to:main::@9
main::@9: scope:[main]  from main::@33 main::vera_layer_show1
  [126] phi()
  [127] call kbhit
  [128] kbhit::return#2 = kbhit::return#1
  to:main::@33
main::@33: scope:[main]  from main::@9
  [129] main::$35 = kbhit::return#2
  [130] if(0==main::$35) goto main::@9
  to:main::@10
main::@10: scope:[main]  from main::@33
  [131] phi()
  [132] call vera_tile_area
  to:main::@11
main::@11: scope:[main]  from main::@10 main::@13
  [133] main::r1#5 = phi( main::@13/main::r1#1, main::@10/0 )
  [133] main::row#10 = phi( main::@13/main::row#3, main::@10/0 )
  [133] main::tile#11 = phi( main::@13/main::tile#13, main::@10/0 )
  to:main::@12
main::@12: scope:[main]  from main::@11 main::@34
  [134] main::c1#2 = phi( main::@11/0, main::@34/main::c1#1 )
  [134] main::column1#2 = phi( main::@11/0, main::@34/main::column1#1 )
  [134] main::tile#8 = phi( main::@11/main::tile#11, main::@34/main::tile#13 )
  [135] vera_tile_area::tileindex#3 = main::tile#8
  [136] vera_tile_area::x#3 = main::column1#2
  [137] vera_tile_area::y#3 = main::row#10
  [138] call vera_tile_area
  to:main::@34
main::@34: scope:[main]  from main::@12
  [139] main::column1#1 = main::column1#2 + 2
  [140] main::tile#4 = ++ main::tile#8
  [141] main::tile#13 = main::tile#4 & $ff
  [142] main::c1#1 = ++ main::c1#2
  [143] if(main::c1#1!=$14) goto main::@12
  to:main::@13
main::@13: scope:[main]  from main::@34
  [144] main::row#3 = main::row#10 + 2
  [145] main::r1#1 = ++ main::r1#5
  [146] if(main::r1#1!=$c) goto main::@11
  to:main::@14
main::@14: scope:[main]  from main::@13 main::@35
  [147] phi()
  [148] call kbhit
  [149] kbhit::return#3 = kbhit::return#1
  to:main::@35
main::@35: scope:[main]  from main::@14
  [150] main::$40 = kbhit::return#3
  [151] if(0==main::$40) goto main::@14
  to:main::@15
main::@15: scope:[main]  from main::@35
  [152] phi()
  [153] call vera_tile_area
  to:main::vera_layer_hide1
main::vera_layer_hide1: scope:[main]  from main::@15
  [154] main::vera_layer_hide1_$0 = ~ *vera_layer_enable
  [155] *VERA_DC_VIDEO = *VERA_DC_VIDEO & main::vera_layer_hide1_$0
  to:main::@17
main::@17: scope:[main]  from main::vera_layer_hide1
  [156] phi()
  [157] call memcpy_in_vram
  to:main::@36
main::@36: scope:[main]  from main::@17
  [158] phi()
  [159] call vera_layer_mode_tile
  to:main::@37
main::@37: scope:[main]  from main::@36
  [160] phi()
  [161] call vera_layer_mode_tile
  to:main::@38
main::@38: scope:[main]  from main::@37
  [162] phi()
  [163] call screenlayer
  to:main::textcolor2
main::textcolor2: scope:[main]  from main::@38
  [164] vera_layer_set_textcolor::layer#2 = conio_screen_layer
  [165] call vera_layer_set_textcolor
  to:main::bgcolor2
main::bgcolor2: scope:[main]  from main::textcolor2
  [166] vera_layer_set_backcolor::layer#2 = conio_screen_layer
  [167] call vera_layer_set_backcolor
  to:main::@18
main::@18: scope:[main]  from main::bgcolor2
  [168] phi()
  [169] call clrscr
  to:main::@return
main::@return: scope:[main]  from main::@18
  [170] return 
  to:@return

void vera_layer_mode_text(char layer , unsigned long mapbase_address , unsigned long tilebase_address , unsigned int mapwidth , unsigned int mapheight , char tilewidth , char tileheight , unsigned int color_mode)
vera_layer_mode_text: scope:[vera_layer_mode_text]  from conio_x16_init
  [171] phi()
  [172] call vera_layer_mode_tile
  to:vera_layer_mode_text::@1
vera_layer_mode_text::@1: scope:[vera_layer_mode_text]  from vera_layer_mode_text
  [173] phi()
  [174] call vera_layer_set_text_color_mode
  to:vera_layer_mode_text::@return
vera_layer_mode_text::@return: scope:[vera_layer_mode_text]  from vera_layer_mode_text::@1
  [175] return 
  to:@return

void screensize(char *x , char *y)
screensize: scope:[screensize]  from conio_x16_init::@3
  [176] screensize::hscale#0 = *VERA_DC_HSCALE >> 7
  [177] screensize::$1 = $28 << screensize::hscale#0
  [178] *screensize::x#0 = screensize::$1
  [179] screensize::vscale#0 = *VERA_DC_VSCALE >> 7
  [180] screensize::$3 = $1e << screensize::vscale#0
  [181] *screensize::y#0 = screensize::$3
  to:screensize::@return
screensize::@return: scope:[screensize]  from screensize
  [182] return 
  to:@return

void screenlayer(char layer)
screenlayer: scope:[screenlayer]  from conio_x16_init::@4 main::@20 main::@38
  [183] conio_screen_layer = 1
  [184] vera_layer_get_mapbase_bank::layer#0 = conio_screen_layer
  [185] call vera_layer_get_mapbase_bank
  [186] vera_layer_get_mapbase_bank::return#2 = vera_layer_get_mapbase_bank::return#0
  to:screenlayer::@3
screenlayer::@3: scope:[screenlayer]  from screenlayer
  [187] CONIO_SCREEN_BANK#15 = vera_layer_get_mapbase_bank::return#2
  [188] vera_layer_get_mapbase_offset::layer#0 = conio_screen_layer
  [189] call vera_layer_get_mapbase_offset
  [190] vera_layer_get_mapbase_offset::return#2 = vera_layer_get_mapbase_offset::return#0
  to:screenlayer::@4
screenlayer::@4: scope:[screenlayer]  from screenlayer::@3
  [191] CONIO_SCREEN_TEXT#17 = vera_layer_get_mapbase_offset::return#2
  [192] screenlayer::vera_layer_get_width1_layer#0 = conio_screen_layer
  to:screenlayer::vera_layer_get_width1
screenlayer::vera_layer_get_width1: scope:[screenlayer]  from screenlayer::@4
  [193] screenlayer::vera_layer_get_width1_$2 = screenlayer::vera_layer_get_width1_layer#0 << 1
  [194] screenlayer::vera_layer_get_width1_config#0 = vera_layer_config[screenlayer::vera_layer_get_width1_$2]
  [195] screenlayer::vera_layer_get_width1_$0 = *screenlayer::vera_layer_get_width1_config#0 & VERA_LAYER_WIDTH_MASK
  [196] screenlayer::vera_layer_get_width1_$1 = screenlayer::vera_layer_get_width1_$0 >> 4
  [197] screenlayer::vera_layer_get_width1_$3 = screenlayer::vera_layer_get_width1_$1 << 1
  [198] screenlayer::vera_layer_get_width1_return#0 = VERA_LAYER_WIDTH[screenlayer::vera_layer_get_width1_$3]
  to:screenlayer::vera_layer_get_width1_@return
screenlayer::vera_layer_get_width1_@return: scope:[screenlayer]  from screenlayer::vera_layer_get_width1
  [199] screenlayer::vera_layer_get_width1_return#1 = screenlayer::vera_layer_get_width1_return#0
  to:screenlayer::@1
screenlayer::@1: scope:[screenlayer]  from screenlayer::vera_layer_get_width1_@return
  [200] screenlayer::$2 = screenlayer::vera_layer_get_width1_return#1
  [201] conio_width = screenlayer::$2
  [202] vera_layer_get_rowshift::layer#0 = conio_screen_layer
  [203] call vera_layer_get_rowshift
  [204] vera_layer_get_rowshift::return#2 = vera_layer_get_rowshift::return#0
  to:screenlayer::@5
screenlayer::@5: scope:[screenlayer]  from screenlayer::@1
  [205] screenlayer::$3 = vera_layer_get_rowshift::return#2
  [206] conio_rowshift = screenlayer::$3
  [207] vera_layer_get_rowskip::layer#0 = conio_screen_layer
  [208] call vera_layer_get_rowskip
  [209] vera_layer_get_rowskip::return#2 = vera_layer_get_rowskip::return#0
  to:screenlayer::@6
screenlayer::@6: scope:[screenlayer]  from screenlayer::@5
  [210] screenlayer::$4 = vera_layer_get_rowskip::return#2
  [211] conio_rowskip = screenlayer::$4
  [212] screenlayer::vera_layer_get_height1_layer#0 = conio_screen_layer
  to:screenlayer::vera_layer_get_height1
screenlayer::vera_layer_get_height1: scope:[screenlayer]  from screenlayer::@6
  [213] screenlayer::vera_layer_get_height1_$2 = screenlayer::vera_layer_get_height1_layer#0 << 1
  [214] screenlayer::vera_layer_get_height1_config#0 = vera_layer_config[screenlayer::vera_layer_get_height1_$2]
  [215] screenlayer::vera_layer_get_height1_$0 = *screenlayer::vera_layer_get_height1_config#0 & VERA_LAYER_HEIGHT_MASK
  [216] screenlayer::vera_layer_get_height1_$1 = screenlayer::vera_layer_get_height1_$0 >> 6
  [217] screenlayer::vera_layer_get_height1_$3 = screenlayer::vera_layer_get_height1_$1 << 1
  [218] screenlayer::vera_layer_get_height1_return#0 = VERA_LAYER_HEIGHT[screenlayer::vera_layer_get_height1_$3]
  to:screenlayer::vera_layer_get_height1_@return
screenlayer::vera_layer_get_height1_@return: scope:[screenlayer]  from screenlayer::vera_layer_get_height1
  [219] screenlayer::vera_layer_get_height1_return#1 = screenlayer::vera_layer_get_height1_return#0
  to:screenlayer::@2
screenlayer::@2: scope:[screenlayer]  from screenlayer::vera_layer_get_height1_@return
  [220] screenlayer::$5 = screenlayer::vera_layer_get_height1_return#1
  [221] conio_height = screenlayer::$5
  to:screenlayer::@return
screenlayer::@return: scope:[screenlayer]  from screenlayer::@2
  [222] return 
  to:@return

char vera_layer_set_textcolor(char layer , char color)
vera_layer_set_textcolor: scope:[vera_layer_set_textcolor]  from conio_x16_init::@5 main::textcolor1 main::textcolor2
  [223] vera_layer_set_textcolor::layer#3 = phi( conio_x16_init::@5/1, main::textcolor1/vera_layer_set_textcolor::layer#1, main::textcolor2/vera_layer_set_textcolor::layer#2 )
  [224] vera_layer_textcolor[vera_layer_set_textcolor::layer#3] = WHITE
  to:vera_layer_set_textcolor::@return
vera_layer_set_textcolor::@return: scope:[vera_layer_set_textcolor]  from vera_layer_set_textcolor
  [225] return 
  to:@return

char vera_layer_set_backcolor(char layer , char color)
vera_layer_set_backcolor: scope:[vera_layer_set_backcolor]  from conio_x16_init::@6 main::bgcolor1 main::bgcolor2
  [226] vera_layer_set_backcolor::color#3 = phi( conio_x16_init::@6/BLUE, main::bgcolor1/BLACK, main::bgcolor2/BLUE )
  [226] vera_layer_set_backcolor::layer#3 = phi( conio_x16_init::@6/1, main::bgcolor1/vera_layer_set_backcolor::layer#1, main::bgcolor2/vera_layer_set_backcolor::layer#2 )
  [227] vera_layer_backcolor[vera_layer_set_backcolor::layer#3] = vera_layer_set_backcolor::color#3
  to:vera_layer_set_backcolor::@return
vera_layer_set_backcolor::@return: scope:[vera_layer_set_backcolor]  from vera_layer_set_backcolor
  [228] return 
  to:@return

void vera_layer_set_mapbase(char layer , char mapbase)
vera_layer_set_mapbase: scope:[vera_layer_set_mapbase]  from conio_x16_init::@7 conio_x16_init::@8 vera_layer_mode_tile::@27
  [229] vera_layer_set_mapbase::mapbase#3 = phi( conio_x16_init::@7/$20, conio_x16_init::@8/0, vera_layer_mode_tile::@27/vera_layer_set_mapbase::mapbase#0 )
  [229] vera_layer_set_mapbase::layer#3 = phi( conio_x16_init::@7/0, conio_x16_init::@8/1, vera_layer_mode_tile::@27/vera_layer_set_mapbase::layer#0 )
  [230] vera_layer_set_mapbase::$0 = vera_layer_set_mapbase::layer#3 << 1
  [231] vera_layer_set_mapbase::addr#0 = vera_layer_mapbase[vera_layer_set_mapbase::$0]
  [232] *vera_layer_set_mapbase::addr#0 = vera_layer_set_mapbase::mapbase#3
  to:vera_layer_set_mapbase::@return
vera_layer_set_mapbase::@return: scope:[vera_layer_set_mapbase]  from vera_layer_set_mapbase
  [233] return 
  to:@return

void gotoxy(char x , char y)
gotoxy: scope:[gotoxy]  from conio_x16_init::@1 cscroll::@5 main::@8
  [234] gotoxy::y#4 = phi( conio_x16_init::@1/gotoxy::y#1, cscroll::@5/gotoxy::y#2, main::@8/$32 )
  [235] if(gotoxy::y#4<=conio_screen_height) goto gotoxy::@4
  to:gotoxy::@1
gotoxy::@4: scope:[gotoxy]  from gotoxy
  [236] phi()
  to:gotoxy::@1
gotoxy::@1: scope:[gotoxy]  from gotoxy gotoxy::@4
  [237] gotoxy::y#5 = phi( gotoxy::@4/gotoxy::y#4, gotoxy/0 )
  [238] if(0<conio_screen_width) goto gotoxy::@2
  to:gotoxy::@3
gotoxy::@3: scope:[gotoxy]  from gotoxy::@1
  [239] phi()
  to:gotoxy::@2
gotoxy::@2: scope:[gotoxy]  from gotoxy::@1 gotoxy::@3
  [240] conio_cursor_x[conio_screen_layer] = 0
  [241] conio_cursor_y[conio_screen_layer] = gotoxy::y#5
  [242] gotoxy::$6 = (unsigned int)gotoxy::y#5
  [243] gotoxy::line_offset#0 = gotoxy::$6 << conio_rowshift
  [244] gotoxy::$5 = conio_screen_layer << 1
  [245] conio_line_text[gotoxy::$5] = gotoxy::line_offset#0
  to:gotoxy::@return
gotoxy::@return: scope:[gotoxy]  from gotoxy::@2
  [246] return 
  to:@return

char vera_layer_get_color(char layer)
vera_layer_get_color: scope:[vera_layer_get_color]  from clearline cputc
  [247] vera_layer_get_color::layer#2 = phi( clearline/vera_layer_get_color::layer#1, cputc/vera_layer_get_color::layer#0 )
  [248] vera_layer_get_color::$3 = vera_layer_get_color::layer#2 << 1
  [249] vera_layer_get_color::addr#0 = vera_layer_config[vera_layer_get_color::$3]
  [250] vera_layer_get_color::$0 = *vera_layer_get_color::addr#0 & VERA_LAYER_CONFIG_256C
  [251] if(0!=vera_layer_get_color::$0) goto vera_layer_get_color::@1
  to:vera_layer_get_color::@2
vera_layer_get_color::@2: scope:[vera_layer_get_color]  from vera_layer_get_color
  [252] vera_layer_get_color::$1 = vera_layer_backcolor[vera_layer_get_color::layer#2] << 4
  [253] vera_layer_get_color::return#2 = vera_layer_get_color::$1 | vera_layer_textcolor[vera_layer_get_color::layer#2]
  to:vera_layer_get_color::@return
vera_layer_get_color::@return: scope:[vera_layer_get_color]  from vera_layer_get_color::@1 vera_layer_get_color::@2
  [254] vera_layer_get_color::return#3 = phi( vera_layer_get_color::@1/vera_layer_get_color::return#1, vera_layer_get_color::@2/vera_layer_get_color::return#2 )
  [255] return 
  to:@return
vera_layer_get_color::@1: scope:[vera_layer_get_color]  from vera_layer_get_color
  [256] vera_layer_get_color::return#1 = vera_layer_textcolor[vera_layer_get_color::layer#2]
  to:vera_layer_get_color::@return

void cputln()
cputln: scope:[cputln]  from cputc::@1 cputc::@4 cputc::@6
  [257] cputln::$2 = conio_screen_layer << 1
  [258] cputln::temp#0 = conio_line_text[cputln::$2]
  [259] cputln::temp#1 = cputln::temp#0 + conio_rowskip
  [260] cputln::$3 = conio_screen_layer << 1
  [261] conio_line_text[cputln::$3] = cputln::temp#1
  [262] conio_cursor_x[conio_screen_layer] = 0
  [263] conio_cursor_y[conio_screen_layer] = ++ conio_cursor_y[conio_screen_layer]
  [264] call cscroll
  to:cputln::@return
cputln::@return: scope:[cputln]  from cputln
  [265] return 
  to:@return

void memcpy_in_vram(char dest_bank , void *dest , char dest_increment , char src_bank , void *src , char src_increment , unsigned int num)
memcpy_in_vram: scope:[memcpy_in_vram]  from insertup::@2 main main::@17
  [266] memcpy_in_vram::num#4 = phi( insertup::@2/memcpy_in_vram::num#0, main/$100*8, main::@17/$100*8 )
  [266] memcpy_in_vram::dest_bank#3 = phi( insertup::@2/0, main/1, main::@17/0 )
  [266] memcpy_in_vram::dest#3 = phi( insertup::@2/memcpy_in_vram::dest#0, main/(void *)(char *) 61440, main::@17/(void *)(char *) 63488 )
  [266] memcpy_in_vram::src_bank#3 = phi( insertup::@2/0, main/0, main::@17/1 )
  [266] memcpy_in_vram::src#3 = phi( insertup::@2/memcpy_in_vram::src#4, main/(void *)(char *) 63488, main::@17/(void *)(char *) 61440 )
  [267] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
  [268] memcpy_in_vram::$0 = byte0  memcpy_in_vram::src#3
  [269] *VERA_ADDRX_L = memcpy_in_vram::$0
  [270] memcpy_in_vram::$1 = byte1  memcpy_in_vram::src#3
  [271] *VERA_ADDRX_M = memcpy_in_vram::$1
  [272] memcpy_in_vram::$2 = VERA_INC_1 | memcpy_in_vram::src_bank#3
  [273] *VERA_ADDRX_H = memcpy_in_vram::$2
  [274] *VERA_CTRL = *VERA_CTRL | VERA_ADDRSEL
  [275] memcpy_in_vram::$3 = byte0  memcpy_in_vram::dest#3
  [276] *VERA_ADDRX_L = memcpy_in_vram::$3
  [277] memcpy_in_vram::$4 = byte1  memcpy_in_vram::dest#3
  [278] *VERA_ADDRX_M = memcpy_in_vram::$4
  [279] memcpy_in_vram::$5 = VERA_INC_1 | memcpy_in_vram::dest_bank#3
  [280] *VERA_ADDRX_H = memcpy_in_vram::$5
  to:memcpy_in_vram::@1
memcpy_in_vram::@1: scope:[memcpy_in_vram]  from memcpy_in_vram memcpy_in_vram::@2
  [281] memcpy_in_vram::i#2 = phi( memcpy_in_vram/0, memcpy_in_vram::@2/memcpy_in_vram::i#1 )
  [282] if(memcpy_in_vram::i#2<memcpy_in_vram::num#4) goto memcpy_in_vram::@2
  to:memcpy_in_vram::@return
memcpy_in_vram::@return: scope:[memcpy_in_vram]  from memcpy_in_vram::@1
  [283] return 
  to:@return
memcpy_in_vram::@2: scope:[memcpy_in_vram]  from memcpy_in_vram::@1
  [284] *VERA_DATA1 = *VERA_DATA0
  [285] memcpy_in_vram::i#1 = ++ memcpy_in_vram::i#2
  to:memcpy_in_vram::@1

void vera_layer_mode_tile(char layer , unsigned long mapbase_address , unsigned long tilebase_address , unsigned int mapwidth , unsigned int mapheight , char tilewidth , char tileheight , char color_depth)
vera_layer_mode_tile: scope:[vera_layer_mode_tile]  from main::@19 main::@21 main::@36 main::@37 vera_layer_mode_text
  [286] vera_layer_mode_tile::tileheight#10 = phi( main::@19/8, main::@21/$10, main::@36/8, main::@37/8, vera_layer_mode_text/vera_layer_mode_text::tileheight#0 )
  [286] vera_layer_mode_tile::tilewidth#10 = phi( main::@19/8, main::@21/$10, main::@36/8, main::@37/8, vera_layer_mode_text/vera_layer_mode_text::tilewidth#0 )
  [286] vera_layer_mode_tile::tilebase_address#10 = phi( main::@19/$1f000, main::@21/0, main::@36/$f800, main::@37/$f800, vera_layer_mode_text/vera_layer_mode_text::tilebase_address#0 )
  [286] vera_layer_mode_tile::mapbase_address#10 = phi( main::@19/$10000, main::@21/$14000, main::@36/0, main::@37/0, vera_layer_mode_text/vera_layer_mode_text::mapbase_address#0 )
  [286] vera_layer_mode_tile::mapheight#10 = phi( main::@19/$40, main::@21/$40, main::@36/$80, main::@37/$80, vera_layer_mode_text/vera_layer_mode_text::mapheight#0 )
  [286] vera_layer_mode_tile::layer#10 = phi( main::@19/1, main::@21/0, main::@36/1, main::@37/0, vera_layer_mode_text/vera_layer_mode_text::layer#0 )
  [286] vera_layer_mode_tile::mapwidth#10 = phi( main::@19/$80, main::@21/$40, main::@36/$80, main::@37/$80, vera_layer_mode_text/vera_layer_mode_text::mapwidth#0 )
  [286] vera_layer_mode_tile::color_depth#5 = phi( main::@19/1, main::@21/8, main::@36/1, main::@37/1, vera_layer_mode_text/1 )
  [287] if(vera_layer_mode_tile::color_depth#5==1) goto vera_layer_mode_tile::@5
  to:vera_layer_mode_tile::@1
vera_layer_mode_tile::@1: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile
  [288] if(vera_layer_mode_tile::color_depth#5==2) goto vera_layer_mode_tile::@5
  to:vera_layer_mode_tile::@2
vera_layer_mode_tile::@2: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@1
  [289] if(vera_layer_mode_tile::color_depth#5==4) goto vera_layer_mode_tile::@5
  to:vera_layer_mode_tile::@3
vera_layer_mode_tile::@3: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@2
  [290] if(vera_layer_mode_tile::color_depth#5!=8) goto vera_layer_mode_tile::@5
  to:vera_layer_mode_tile::@4
vera_layer_mode_tile::@4: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@3
  [291] phi()
  to:vera_layer_mode_tile::@5
vera_layer_mode_tile::@5: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile vera_layer_mode_tile::@1 vera_layer_mode_tile::@2 vera_layer_mode_tile::@3 vera_layer_mode_tile::@4
  [292] vera_layer_mode_tile::config#17 = phi( vera_layer_mode_tile::@3/0, vera_layer_mode_tile/VERA_LAYER_COLOR_DEPTH_1BPP, vera_layer_mode_tile::@1/VERA_LAYER_COLOR_DEPTH_2BPP, vera_layer_mode_tile::@2/VERA_LAYER_COLOR_DEPTH_4BPP, vera_layer_mode_tile::@4/VERA_LAYER_COLOR_DEPTH_8BPP )
  [293] if(vera_layer_mode_tile::mapwidth#10==$20) goto vera_layer_mode_tile::@9
  to:vera_layer_mode_tile::@6
vera_layer_mode_tile::@6: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@5
  [294] if(vera_layer_mode_tile::mapwidth#10==$40) goto vera_layer_mode_tile::@10
  to:vera_layer_mode_tile::@7
vera_layer_mode_tile::@7: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@6
  [295] if(vera_layer_mode_tile::mapwidth#10==$80) goto vera_layer_mode_tile::@11
  to:vera_layer_mode_tile::@8
vera_layer_mode_tile::@8: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@7
  [296] if(vera_layer_mode_tile::mapwidth#10!=$100) goto vera_layer_mode_tile::@13
  to:vera_layer_mode_tile::@12
vera_layer_mode_tile::@12: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@8
  [297] vera_layer_mode_tile::config#8 = vera_layer_mode_tile::config#17 | VERA_LAYER_WIDTH_256
  [298] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 9
  [299] vera_layer_mode_tile::$14 = vera_layer_mode_tile::layer#10 << 1
  [300] vera_layer_rowskip[vera_layer_mode_tile::$14] = $200
  to:vera_layer_mode_tile::@13
vera_layer_mode_tile::@13: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@10 vera_layer_mode_tile::@11 vera_layer_mode_tile::@12 vera_layer_mode_tile::@8 vera_layer_mode_tile::@9
  [301] vera_layer_mode_tile::config#21 = phi( vera_layer_mode_tile::@8/vera_layer_mode_tile::config#17, vera_layer_mode_tile::@9/vera_layer_mode_tile::config#17, vera_layer_mode_tile::@10/vera_layer_mode_tile::config#6, vera_layer_mode_tile::@11/vera_layer_mode_tile::config#7, vera_layer_mode_tile::@12/vera_layer_mode_tile::config#8 )
  [302] if(vera_layer_mode_tile::mapheight#10==$20) goto vera_layer_mode_tile::@20
  to:vera_layer_mode_tile::@14
vera_layer_mode_tile::@14: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@13
  [303] if(vera_layer_mode_tile::mapheight#10==$40) goto vera_layer_mode_tile::@17
  to:vera_layer_mode_tile::@15
vera_layer_mode_tile::@15: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@14
  [304] if(vera_layer_mode_tile::mapheight#10==$80) goto vera_layer_mode_tile::@18
  to:vera_layer_mode_tile::@16
vera_layer_mode_tile::@16: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@15
  [305] if(vera_layer_mode_tile::mapheight#10!=$100) goto vera_layer_mode_tile::@20
  to:vera_layer_mode_tile::@19
vera_layer_mode_tile::@19: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@16
  [306] vera_layer_mode_tile::config#12 = vera_layer_mode_tile::config#21 | VERA_LAYER_HEIGHT_256
  to:vera_layer_mode_tile::@20
vera_layer_mode_tile::@20: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@13 vera_layer_mode_tile::@16 vera_layer_mode_tile::@17 vera_layer_mode_tile::@18 vera_layer_mode_tile::@19
  [307] vera_layer_mode_tile::config#25 = phi( vera_layer_mode_tile::@16/vera_layer_mode_tile::config#21, vera_layer_mode_tile::@13/vera_layer_mode_tile::config#21, vera_layer_mode_tile::@17/vera_layer_mode_tile::config#10, vera_layer_mode_tile::@18/vera_layer_mode_tile::config#11, vera_layer_mode_tile::@19/vera_layer_mode_tile::config#12 )
  [308] vera_layer_set_config::layer#0 = vera_layer_mode_tile::layer#10
  [309] vera_layer_set_config::config#0 = vera_layer_mode_tile::config#25
  [310] call vera_layer_set_config
  to:vera_layer_mode_tile::@27
vera_layer_mode_tile::@27: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@20
  [311] vera_layer_mode_tile::$1 = word0  vera_layer_mode_tile::mapbase_address#10
  [312] vera_layer_mode_tile::$17 = vera_layer_mode_tile::layer#10 << 1
  [313] vera_mapbase_offset[vera_layer_mode_tile::$17] = vera_layer_mode_tile::$1
  [314] vera_layer_mode_tile::$2 = byte2  vera_layer_mode_tile::mapbase_address#10
  [315] vera_mapbase_bank[vera_layer_mode_tile::layer#10] = vera_layer_mode_tile::$2
  [316] vera_layer_mode_tile::$18 = vera_layer_mode_tile::layer#10 << 2
  [317] vera_mapbase_address[vera_layer_mode_tile::$18] = vera_layer_mode_tile::mapbase_address#10
  [318] vera_layer_mode_tile::mapbase_address#0 = vera_layer_mode_tile::mapbase_address#10 >> 1
  [319] vera_layer_mode_tile::mapbase#0 = byte1  vera_layer_mode_tile::mapbase_address#0
  [320] vera_layer_set_mapbase::layer#0 = vera_layer_mode_tile::layer#10
  [321] vera_layer_set_mapbase::mapbase#0 = vera_layer_mode_tile::mapbase#0
  [322] call vera_layer_set_mapbase
  to:vera_layer_mode_tile::@28
vera_layer_mode_tile::@28: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@27
  [323] vera_layer_mode_tile::$6 = word0  vera_layer_mode_tile::tilebase_address#10
  [324] vera_tilebase_offset[vera_layer_mode_tile::$17] = vera_layer_mode_tile::$6
  [325] vera_layer_mode_tile::$7 = byte2  vera_layer_mode_tile::tilebase_address#10
  [326] vera_tilebase_bank[vera_layer_mode_tile::layer#10] = vera_layer_mode_tile::$7
  [327] vera_tilebase_address[vera_layer_mode_tile::$18] = vera_layer_mode_tile::tilebase_address#10
  [328] vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::tilebase_address#10 >> 1
  [329] vera_layer_mode_tile::tilebase#0 = byte1  vera_layer_mode_tile::tilebase_address#0
  [330] vera_layer_mode_tile::tilebase#1 = vera_layer_mode_tile::tilebase#0 & VERA_LAYER_TILEBASE_MASK
  [331] if(vera_layer_mode_tile::tilewidth#10==8) goto vera_layer_mode_tile::@23
  to:vera_layer_mode_tile::@21
vera_layer_mode_tile::@21: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@28
  [332] if(vera_layer_mode_tile::tilewidth#10!=$10) goto vera_layer_mode_tile::@23
  to:vera_layer_mode_tile::@22
vera_layer_mode_tile::@22: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@21
  [333] vera_layer_mode_tile::tilebase#3 = vera_layer_mode_tile::tilebase#1 | VERA_TILEBASE_WIDTH_16
  to:vera_layer_mode_tile::@23
vera_layer_mode_tile::@23: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@21 vera_layer_mode_tile::@22 vera_layer_mode_tile::@28
  [334] vera_layer_mode_tile::tilebase#12 = phi( vera_layer_mode_tile::@21/vera_layer_mode_tile::tilebase#1, vera_layer_mode_tile::@28/vera_layer_mode_tile::tilebase#1, vera_layer_mode_tile::@22/vera_layer_mode_tile::tilebase#3 )
  [335] if(vera_layer_mode_tile::tileheight#10==8) goto vera_layer_mode_tile::@26
  to:vera_layer_mode_tile::@24
vera_layer_mode_tile::@24: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@23
  [336] if(vera_layer_mode_tile::tileheight#10!=$10) goto vera_layer_mode_tile::@26
  to:vera_layer_mode_tile::@25
vera_layer_mode_tile::@25: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@24
  [337] vera_layer_mode_tile::tilebase#5 = vera_layer_mode_tile::tilebase#12 | VERA_TILEBASE_HEIGHT_16
  to:vera_layer_mode_tile::@26
vera_layer_mode_tile::@26: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@23 vera_layer_mode_tile::@24 vera_layer_mode_tile::@25
  [338] vera_layer_mode_tile::tilebase#10 = phi( vera_layer_mode_tile::@24/vera_layer_mode_tile::tilebase#12, vera_layer_mode_tile::@23/vera_layer_mode_tile::tilebase#12, vera_layer_mode_tile::@25/vera_layer_mode_tile::tilebase#5 )
  [339] vera_layer_set_tilebase::layer#0 = vera_layer_mode_tile::layer#10
  [340] vera_layer_set_tilebase::tilebase#0 = vera_layer_mode_tile::tilebase#10
  [341] call vera_layer_set_tilebase
  to:vera_layer_mode_tile::@return
vera_layer_mode_tile::@return: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@26
  [342] return 
  to:@return
vera_layer_mode_tile::@18: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@15
  [343] vera_layer_mode_tile::config#11 = vera_layer_mode_tile::config#21 | VERA_LAYER_HEIGHT_128
  to:vera_layer_mode_tile::@20
vera_layer_mode_tile::@17: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@14
  [344] vera_layer_mode_tile::config#10 = vera_layer_mode_tile::config#21 | VERA_LAYER_HEIGHT_64
  to:vera_layer_mode_tile::@20
vera_layer_mode_tile::@11: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@7
  [345] vera_layer_mode_tile::config#7 = vera_layer_mode_tile::config#17 | VERA_LAYER_WIDTH_128
  [346] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 8
  [347] vera_layer_mode_tile::$13 = vera_layer_mode_tile::layer#10 << 1
  [348] vera_layer_rowskip[vera_layer_mode_tile::$13] = $100
  to:vera_layer_mode_tile::@13
vera_layer_mode_tile::@10: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@6
  [349] vera_layer_mode_tile::config#6 = vera_layer_mode_tile::config#17 | VERA_LAYER_WIDTH_64
  [350] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 7
  [351] vera_layer_mode_tile::$12 = vera_layer_mode_tile::layer#10 << 1
  [352] vera_layer_rowskip[vera_layer_mode_tile::$12] = $80
  to:vera_layer_mode_tile::@13
vera_layer_mode_tile::@9: scope:[vera_layer_mode_tile]  from vera_layer_mode_tile::@5
  [353] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 6
  [354] vera_layer_mode_tile::$11 = vera_layer_mode_tile::layer#10 << 1
  [355] vera_layer_rowskip[vera_layer_mode_tile::$11] = $40
  to:vera_layer_mode_tile::@13

void clrscr()
clrscr: scope:[clrscr]  from main::@16 main::@18
  [356] clrscr::line_text#0 = (char *)CONIO_SCREEN_TEXT#17
  [357] vera_layer_get_backcolor::layer#0 = conio_screen_layer
  [358] call vera_layer_get_backcolor
  [359] vera_layer_get_backcolor::return#0 = vera_layer_get_backcolor::return#1
  to:clrscr::@7
clrscr::@7: scope:[clrscr]  from clrscr
  [360] clrscr::$0 = vera_layer_get_backcolor::return#0
  [361] clrscr::$1 = clrscr::$0 << 4
  [362] vera_layer_get_textcolor::layer#0 = conio_screen_layer
  [363] call vera_layer_get_textcolor
  [364] vera_layer_get_textcolor::return#0 = vera_layer_get_textcolor::return#1
  to:clrscr::@8
clrscr::@8: scope:[clrscr]  from clrscr::@7
  [365] clrscr::$2 = vera_layer_get_textcolor::return#0
  [366] clrscr::color#0 = clrscr::$1 | clrscr::$2
  to:clrscr::@1
clrscr::@1: scope:[clrscr]  from clrscr::@6 clrscr::@8
  [367] clrscr::line_text#2 = phi( clrscr::@6/clrscr::line_text#1, clrscr::@8/clrscr::line_text#0 )
  [367] clrscr::l#2 = phi( clrscr::@6/clrscr::l#1, clrscr::@8/0 )
  [368] if(clrscr::l#2<conio_height) goto clrscr::@2
  to:clrscr::@3
clrscr::@3: scope:[clrscr]  from clrscr::@1
  [369] conio_cursor_x[conio_screen_layer] = 0
  [370] conio_cursor_y[conio_screen_layer] = 0
  [371] clrscr::$9 = conio_screen_layer << 1
  [372] conio_line_text[clrscr::$9] = 0
  to:clrscr::@return
clrscr::@return: scope:[clrscr]  from clrscr::@3
  [373] return 
  to:@return
clrscr::@2: scope:[clrscr]  from clrscr::@1
  [374] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
  [375] clrscr::$5 = byte0  clrscr::line_text#2
  [376] *VERA_ADDRX_L = clrscr::$5
  [377] clrscr::$6 = byte1  clrscr::line_text#2
  [378] *VERA_ADDRX_M = clrscr::$6
  [379] clrscr::$7 = CONIO_SCREEN_BANK#15 | VERA_INC_1
  [380] *VERA_ADDRX_H = clrscr::$7
  to:clrscr::@4
clrscr::@4: scope:[clrscr]  from clrscr::@2 clrscr::@5
  [381] clrscr::c#2 = phi( clrscr::@2/0, clrscr::@5/clrscr::c#1 )
  [382] if(clrscr::c#2<conio_width) goto clrscr::@5
  to:clrscr::@6
clrscr::@6: scope:[clrscr]  from clrscr::@4
  [383] clrscr::line_text#1 = clrscr::line_text#2 + conio_rowskip
  [384] clrscr::l#1 = ++ clrscr::l#2
  to:clrscr::@1
clrscr::@5: scope:[clrscr]  from clrscr::@4
  [385] *VERA_DATA0 = ' '
  [386] *VERA_DATA0 = clrscr::color#0
  [387] clrscr::c#1 = ++ clrscr::c#2
  to:clrscr::@4

void memcpy_to_vram(char vbank , void *vdest , void *src , unsigned int num)
memcpy_to_vram: scope:[memcpy_to_vram]  from main::@22 main::@3
  [388] memcpy_to_vram::vdest#2 = phi( main::@22/(void *)(char *) 0, main::@3/memcpy_to_vram::vdest#1 )
  [389] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
  [390] memcpy_to_vram::$0 = byte0  memcpy_to_vram::vdest#2
  [391] *VERA_ADDRX_L = memcpy_to_vram::$0
  [392] memcpy_to_vram::$1 = byte1  memcpy_to_vram::vdest#2
  [393] *VERA_ADDRX_M = memcpy_to_vram::$1
  [394] *VERA_ADDRX_H = VERA_INC_1
  to:memcpy_to_vram::@1
memcpy_to_vram::@1: scope:[memcpy_to_vram]  from memcpy_to_vram memcpy_to_vram::@2
  [395] memcpy_to_vram::s#2 = phi( memcpy_to_vram/(char *)(void *)main::tiles, memcpy_to_vram::@2/memcpy_to_vram::s#1 )
  [396] if(memcpy_to_vram::s#2!=memcpy_to_vram::end#0) goto memcpy_to_vram::@2
  to:memcpy_to_vram::@return
memcpy_to_vram::@return: scope:[memcpy_to_vram]  from memcpy_to_vram::@1
  [397] return 
  to:@return
memcpy_to_vram::@2: scope:[memcpy_to_vram]  from memcpy_to_vram::@1
  [398] *VERA_DATA0 = *memcpy_to_vram::s#2
  [399] memcpy_to_vram::s#1 = ++ memcpy_to_vram::s#2
  to:memcpy_to_vram::@1

void vera_tile_area(char layer , unsigned int tileindex , char x , char y , char w , char h , char hflip , char vflip , char offset)
vera_tile_area: scope:[vera_tile_area]  from main::@10 main::@12 main::@15 main::@4 main::@6
  [400] vera_tile_area::w#11 = phi( main::@10/$28, main::@12/2, main::@15/$28, main::@4/$28, main::@6/1 )
  [400] vera_tile_area::h#6 = phi( main::@10/$1e, main::@12/2, main::@15/$1e, main::@4/$1e, main::@6/1 )
  [400] vera_tile_area::x#5 = phi( main::@10/0, main::@12/vera_tile_area::x#3, main::@15/0, main::@4/0, main::@6/vera_tile_area::x#1 )
  [400] vera_tile_area::y#5 = phi( main::@10/0, main::@12/vera_tile_area::y#3, main::@15/0, main::@4/0, main::@6/vera_tile_area::y#1 )
  [400] vera_tile_area::tileindex#5 = phi( main::@10/0, main::@12/vera_tile_area::tileindex#3, main::@15/0, main::@4/0, main::@6/vera_tile_area::tileindex#1 )
  [401] vera_tile_area::mapbase#0 = *vera_mapbase_address
  [402] vera_tile_area::shift#0 = *vera_layer_rowshift
  [403] vera_tile_area::rowskip#0 = 1 << vera_tile_area::shift#0
  [404] vera_tile_area::hflip#0 = *vera_layer_hflip
  [405] vera_tile_area::vflip#0 = *vera_layer_vflip
  [406] vera_tile_area::index_l#0 = byte0  vera_tile_area::tileindex#5
  [407] vera_tile_area::index_h#0 = byte1  vera_tile_area::tileindex#5
  [408] vera_tile_area::index_h#1 = vera_tile_area::index_h#0 | vera_tile_area::hflip#0
  [409] vera_tile_area::index_h#2 = vera_tile_area::index_h#1 | vera_tile_area::vflip#0
  [410] vera_tile_area::$10 = (unsigned int)vera_tile_area::y#5
  [411] vera_tile_area::$4 = vera_tile_area::$10 << vera_tile_area::shift#0
  [412] vera_tile_area::mapbase#1 = vera_tile_area::mapbase#0 + vera_tile_area::$4
  [413] vera_tile_area::$5 = vera_tile_area::x#5 << 1
  [414] vera_tile_area::mapbase#2 = vera_tile_area::mapbase#1 + vera_tile_area::$5
  to:vera_tile_area::@1
vera_tile_area::@1: scope:[vera_tile_area]  from vera_tile_area vera_tile_area::@4
  [415] vera_tile_area::mapbase#10 = phi( vera_tile_area/vera_tile_area::mapbase#2, vera_tile_area::@4/vera_tile_area::mapbase#3 )
  [415] vera_tile_area::r#2 = phi( vera_tile_area/0, vera_tile_area::@4/vera_tile_area::r#1 )
  [416] if(vera_tile_area::r#2<vera_tile_area::h#6) goto vera_tile_area::vera_vram_address01
  to:vera_tile_area::@return
vera_tile_area::@return: scope:[vera_tile_area]  from vera_tile_area::@1
  [417] return 
  to:@return
vera_tile_area::vera_vram_address01: scope:[vera_tile_area]  from vera_tile_area::@1
  [418] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
  [419] vera_tile_area::vera_vram_address01_$0 = byte0  vera_tile_area::mapbase#10
  [420] *VERA_ADDRX_L = vera_tile_area::vera_vram_address01_$0
  [421] vera_tile_area::vera_vram_address01_$1 = byte1  vera_tile_area::mapbase#10
  [422] *VERA_ADDRX_M = vera_tile_area::vera_vram_address01_$1
  [423] vera_tile_area::vera_vram_address01_$2 = byte2  vera_tile_area::mapbase#10
  [424] vera_tile_area::vera_vram_address01_$3 = vera_tile_area::vera_vram_address01_$2 | VERA_INC_1
  [425] *VERA_ADDRX_H = vera_tile_area::vera_vram_address01_$3
  to:vera_tile_area::@2
vera_tile_area::@2: scope:[vera_tile_area]  from vera_tile_area::@3 vera_tile_area::vera_vram_address01
  [426] vera_tile_area::c#2 = phi( vera_tile_area::@3/vera_tile_area::c#1, vera_tile_area::vera_vram_address01/0 )
  [427] if(vera_tile_area::c#2<vera_tile_area::w#11) goto vera_tile_area::@3
  to:vera_tile_area::@4
vera_tile_area::@4: scope:[vera_tile_area]  from vera_tile_area::@2
  [428] vera_tile_area::mapbase#3 = vera_tile_area::mapbase#10 + vera_tile_area::rowskip#0
  [429] vera_tile_area::r#1 = ++ vera_tile_area::r#2
  to:vera_tile_area::@1
vera_tile_area::@3: scope:[vera_tile_area]  from vera_tile_area::@2
  [430] *VERA_DATA0 = vera_tile_area::index_l#0
  [431] *VERA_DATA0 = vera_tile_area::index_h#2
  [432] vera_tile_area::c#1 = ++ vera_tile_area::c#2
  to:vera_tile_area::@2

void printf_str(void (*putc)(char) , const char *s)
printf_str: scope:[printf_str]  from main::@25 main::@26 main::@27 main::@28 main::@29 main::@30 main::@31 main::@32
  [433] printf_str::s#10 = phi( main::@25/main::s, main::@26/main::s1, main::@27/main::s2, main::@28/main::s3, main::@29/main::s4, main::@30/main::s5, main::@31/main::s6, main::@32/main::s7 )
  to:printf_str::@1
printf_str::@1: scope:[printf_str]  from printf_str printf_str::@2
  [434] printf_str::s#9 = phi( printf_str/printf_str::s#10, printf_str::@2/printf_str::s#0 )
  [435] printf_str::c#1 = *printf_str::s#9
  [436] printf_str::s#0 = ++ printf_str::s#9
  [437] if(0!=printf_str::c#1) goto printf_str::@2
  to:printf_str::@return
printf_str::@return: scope:[printf_str]  from printf_str::@1
  [438] return 
  to:@return
printf_str::@2: scope:[printf_str]  from printf_str::@1
  [439] stackpush(char) = printf_str::c#1
  [440] callexecute cputc 
  sideeffect stackpullbytes(1)
  to:printf_str::@1

char kbhit()
kbhit: scope:[kbhit]  from main::@14 main::@9
  [442] kbhit::ch = 0
  kickasm( uses kbhit::chptr uses kbhit::IN_DEV uses kbhit::GETIN) {{ jsr _kbhit
        bne L3

        jmp continue1

        .var via1 = $9f60                  //VIA#1
        .var d1pra = via1+1

    _kbhit:
        ldy     d1pra       // The count of keys pressed is stored in RAM bank 0.
        stz     d1pra       // Set d1pra to zero to access RAM bank 0.
        lda     $A00A       // Get number of characters from this address in the ROM of the CX16 (ROM 38).
        sty     d1pra       // Set d1pra to previous value.
        rts

    L3:
        ldy     IN_DEV          // Save current input device
        stz     IN_DEV          // Keyboard
        phy
        jsr     GETIN           // Read char, and return in .A
        ply
        sta     chptr           // Store the character read in ch
        sty     IN_DEV          // Restore input device
        ldx     #>$0000
        rts

    continue1:
        nop
      }}
  [444] kbhit::return#0 = kbhit::ch
  to:kbhit::@return
kbhit::@return: scope:[kbhit]  from kbhit
  [445] kbhit::return#1 = kbhit::return#0
  [446] return 
  to:@return

void vera_layer_set_text_color_mode(char layer , char color_mode)
vera_layer_set_text_color_mode: scope:[vera_layer_set_text_color_mode]  from vera_layer_mode_text::@1
  [447] vera_layer_set_text_color_mode::addr#0 = *(vera_layer_config+vera_layer_mode_text::layer#0*SIZEOF_POINTER)
  [448] *vera_layer_set_text_color_mode::addr#0 = *vera_layer_set_text_color_mode::addr#0 & ~VERA_LAYER_CONFIG_256C
  [449] *vera_layer_set_text_color_mode::addr#0 = *vera_layer_set_text_color_mode::addr#0
  to:vera_layer_set_text_color_mode::@return
vera_layer_set_text_color_mode::@return: scope:[vera_layer_set_text_color_mode]  from vera_layer_set_text_color_mode
  [450] return 
  to:@return

char vera_layer_get_mapbase_bank(char layer)
vera_layer_get_mapbase_bank: scope:[vera_layer_get_mapbase_bank]  from screenlayer
  [451] vera_layer_get_mapbase_bank::return#0 = vera_mapbase_bank[vera_layer_get_mapbase_bank::layer#0]
  to:vera_layer_get_mapbase_bank::@return
vera_layer_get_mapbase_bank::@return: scope:[vera_layer_get_mapbase_bank]  from vera_layer_get_mapbase_bank
  [452] return 
  to:@return

unsigned int vera_layer_get_mapbase_offset(char layer)
vera_layer_get_mapbase_offset: scope:[vera_layer_get_mapbase_offset]  from screenlayer::@3
  [453] vera_layer_get_mapbase_offset::$0 = vera_layer_get_mapbase_offset::layer#0 << 1
  [454] vera_layer_get_mapbase_offset::return#0 = vera_mapbase_offset[vera_layer_get_mapbase_offset::$0]
  to:vera_layer_get_mapbase_offset::@return
vera_layer_get_mapbase_offset::@return: scope:[vera_layer_get_mapbase_offset]  from vera_layer_get_mapbase_offset
  [455] return 
  to:@return

char vera_layer_get_rowshift(char layer)
vera_layer_get_rowshift: scope:[vera_layer_get_rowshift]  from screenlayer::@1
  [456] vera_layer_get_rowshift::return#0 = vera_layer_rowshift[vera_layer_get_rowshift::layer#0]
  to:vera_layer_get_rowshift::@return
vera_layer_get_rowshift::@return: scope:[vera_layer_get_rowshift]  from vera_layer_get_rowshift
  [457] return 
  to:@return

unsigned int vera_layer_get_rowskip(char layer)
vera_layer_get_rowskip: scope:[vera_layer_get_rowskip]  from screenlayer::@5
  [458] vera_layer_get_rowskip::$0 = vera_layer_get_rowskip::layer#0 << 1
  [459] vera_layer_get_rowskip::return#0 = vera_layer_rowskip[vera_layer_get_rowskip::$0]
  to:vera_layer_get_rowskip::@return
vera_layer_get_rowskip::@return: scope:[vera_layer_get_rowskip]  from vera_layer_get_rowskip
  [460] return 
  to:@return

void cscroll()
cscroll: scope:[cscroll]  from cputln
  [461] if(conio_cursor_y[conio_screen_layer]<conio_screen_height) goto cscroll::@return
  to:cscroll::@1
cscroll::@1: scope:[cscroll]  from cscroll
  [462] if(0!=conio_scroll_enable[conio_screen_layer]) goto cscroll::@4
  to:cscroll::@2
cscroll::@2: scope:[cscroll]  from cscroll::@1
  [463] if(conio_cursor_y[conio_screen_layer]<conio_height) goto cscroll::@return
  to:cscroll::@3
cscroll::@3: scope:[cscroll]  from cscroll::@2
  [464] phi()
  to:cscroll::@return
cscroll::@return: scope:[cscroll]  from cscroll cscroll::@2 cscroll::@3 cscroll::@5
  [465] return 
  to:@return
cscroll::@4: scope:[cscroll]  from cscroll::@1
  [466] phi()
  [467] call insertup
  to:cscroll::@5
cscroll::@5: scope:[cscroll]  from cscroll::@4
  [468] gotoxy::y#2 = conio_screen_height - 1
  [469] call gotoxy
  to:cscroll::@return

void vera_layer_set_config(char layer , char config)
vera_layer_set_config: scope:[vera_layer_set_config]  from vera_layer_mode_tile::@20
  [470] vera_layer_set_config::$0 = vera_layer_set_config::layer#0 << 1
  [471] vera_layer_set_config::addr#0 = vera_layer_config[vera_layer_set_config::$0]
  [472] *vera_layer_set_config::addr#0 = vera_layer_set_config::config#0
  to:vera_layer_set_config::@return
vera_layer_set_config::@return: scope:[vera_layer_set_config]  from vera_layer_set_config
  [473] return 
  to:@return

void vera_layer_set_tilebase(char layer , char tilebase)
vera_layer_set_tilebase: scope:[vera_layer_set_tilebase]  from vera_layer_mode_tile::@26
  [474] vera_layer_set_tilebase::$0 = vera_layer_set_tilebase::layer#0 << 1
  [475] vera_layer_set_tilebase::addr#0 = vera_layer_tilebase[vera_layer_set_tilebase::$0]
  [476] *vera_layer_set_tilebase::addr#0 = vera_layer_set_tilebase::tilebase#0
  to:vera_layer_set_tilebase::@return
vera_layer_set_tilebase::@return: scope:[vera_layer_set_tilebase]  from vera_layer_set_tilebase
  [477] return 
  to:@return

char vera_layer_get_backcolor(char layer)
vera_layer_get_backcolor: scope:[vera_layer_get_backcolor]  from clrscr
  [478] vera_layer_get_backcolor::return#1 = vera_layer_backcolor[vera_layer_get_backcolor::layer#0]
  to:vera_layer_get_backcolor::@return
vera_layer_get_backcolor::@return: scope:[vera_layer_get_backcolor]  from vera_layer_get_backcolor
  [479] return 
  to:@return

char vera_layer_get_textcolor(char layer)
vera_layer_get_textcolor: scope:[vera_layer_get_textcolor]  from clrscr::@7
  [480] vera_layer_get_textcolor::return#1 = vera_layer_textcolor[vera_layer_get_textcolor::layer#0]
  to:vera_layer_get_textcolor::@return
vera_layer_get_textcolor::@return: scope:[vera_layer_get_textcolor]  from vera_layer_get_textcolor
  [481] return 
  to:@return

void insertup()
insertup: scope:[insertup]  from cscroll::@4
  [482] insertup::cy#0 = conio_cursor_y[conio_screen_layer]
  [483] insertup::width#0 = conio_screen_width << 1
  to:insertup::@1
insertup::@1: scope:[insertup]  from insertup insertup::@4
  [484] insertup::i#2 = phi( insertup/1, insertup::@4/insertup::i#1 )
  [485] if(insertup::i#2<=insertup::cy#0) goto insertup::@2
  to:insertup::@3
insertup::@3: scope:[insertup]  from insertup::@1
  [486] phi()
  [487] call clearline
  to:insertup::@return
insertup::@return: scope:[insertup]  from insertup::@3
  [488] return 
  to:@return
insertup::@2: scope:[insertup]  from insertup::@1
  [489] insertup::$3 = insertup::i#2 - 1
  [490] insertup::line#0 = insertup::$3 << conio_rowshift
  [491] insertup::start#0 = CONIO_SCREEN_TEXT#12 + insertup::line#0
  [492] memcpy_in_vram::src#0 = insertup::start#0 + conio_rowskip
  [493] memcpy_in_vram::dest#0 = (void *)insertup::start#0
  [494] memcpy_in_vram::num#0 = insertup::width#0
  [495] memcpy_in_vram::src#4 = (void *)memcpy_in_vram::src#0
  [496] call memcpy_in_vram
  to:insertup::@4
insertup::@4: scope:[insertup]  from insertup::@2
  [497] insertup::i#1 = ++ insertup::i#2
  to:insertup::@1

void clearline()
clearline: scope:[clearline]  from insertup::@3
  [498] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
  [499] clearline::$5 = conio_screen_layer << 1
  [500] clearline::addr#0 = CONIO_SCREEN_TEXT#12 + conio_line_text[clearline::$5]
  [501] clearline::$1 = byte0  clearline::addr#0
  [502] *VERA_ADDRX_L = clearline::$1
  [503] clearline::$2 = byte1  clearline::addr#0
  [504] *VERA_ADDRX_M = clearline::$2
  [505] *VERA_ADDRX_H = VERA_INC_1
  [506] vera_layer_get_color::layer#1 = conio_screen_layer
  [507] call vera_layer_get_color
  [508] vera_layer_get_color::return#4 = vera_layer_get_color::return#3
  to:clearline::@4
clearline::@4: scope:[clearline]  from clearline
  [509] clearline::color#0 = vera_layer_get_color::return#4
  to:clearline::@1
clearline::@1: scope:[clearline]  from clearline::@2 clearline::@4
  [510] clearline::c#2 = phi( clearline::@2/clearline::c#1, clearline::@4/0 )
  [511] if(clearline::c#2<conio_screen_width) goto clearline::@2
  to:clearline::@3
clearline::@3: scope:[clearline]  from clearline::@1
  [512] conio_cursor_x[conio_screen_layer] = 0
  to:clearline::@return
clearline::@return: scope:[clearline]  from clearline::@3
  [513] return 
  to:@return
clearline::@2: scope:[clearline]  from clearline::@1
  [514] *VERA_DATA0 = ' '
  [515] *VERA_DATA0 = clearline::color#0
  [516] clearline::c#1 = ++ clearline::c#2
  to:clearline::@1
