
void main()
main: scope:[main]  from
  [0] phi()
  [1] call init
  to:main::@1
main::@1: scope:[main]  from main main::@1 main::@2
  [2] sin_idx_y#15 = phi( main::@1/sin_idx_y#15, main/0, main::@2/sin_idx_y#12 )
  [2] sin_idx_x#15 = phi( main::@1/sin_idx_x#15, main/0, main::@2/sin_idx_x#12 )
  [3] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto main::@1
  to:main::@2
main::@2: scope:[main]  from main::@1
  [4] phi()
  [5] call anim
  to:main::@1

void init()
init: scope:[init]  from main
  [6] phi()
  [7] call clear_screen
  to:init::@1
init::@1: scope:[init]  from init init::@1
  [8] init::i#2 = phi( init::@1/init::i#1, init/0 )
  [9] COLS[init::i#2] = 0
  [10] (COLS+$28)[init::i#2] = $b
  [11] init::i#1 = ++ init::i#2
  [12] if(init::i#1!=$28) goto init::@1
  to:init::@2
init::@2: scope:[init]  from init::@1
  [13] phi()
  [14] call place_sprites
  to:init::@3
init::@3: scope:[init]  from init::@2
  [15] phi()
  [16] call gen_sprites
  to:init::@4
init::@4: scope:[init]  from init::@3
  [17] phi()
  [18] call progress_init
  to:init::@5
init::@5: scope:[init]  from init::@4
  [19] phi()
  [20] call gen_sintab
  to:init::@6
init::@6: scope:[init]  from init::@5
  [21] phi()
  [22] call progress_init
  to:init::@7
init::@7: scope:[init]  from init::@6
  [23] phi()
  [24] call gen_sintab
  to:init::@8
init::@8: scope:[init]  from init::@7
  [25] phi()
  [26] call clear_screen
  to:init::@return
init::@return: scope:[init]  from init::@8
  [27] return 
  to:@return

void anim()
anim: scope:[anim]  from main::@2
  [28] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  [29] anim::xidx#0 = sin_idx_x#15
  [30] anim::yidx#0 = sin_idx_y#15
  to:anim::@3
anim::@3: scope:[anim]  from anim anim::@5
  [31] anim::j#2 = phi( anim/0, anim::@5/anim::j#1 )
  [31] anim::yidx#3 = phi( anim/anim::yidx#0, anim::@5/anim::yidx#6 )
  [31] anim::j2#2 = phi( anim/$c, anim::@5/anim::j2#1 )
  [31] anim::x_msb#2 = phi( anim/0, anim::@5/anim::x_msb#1 )
  [31] anim::xidx#3 = phi( anim/anim::xidx#0, anim::@5/anim::xidx#5 )
  [32] anim::x#0 = $1e + sintab_x[anim::xidx#3]
  [33] anim::$7 = anim::x_msb#2 << 1
  [34] anim::$8 = byte1  anim::x#0
  [35] anim::x_msb#1 = anim::$7 | anim::$8
  [36] anim::$10 = byte0  anim::x#0
  [37] SPRITES_XPOS[anim::j2#2] = anim::$10
  [38] SPRITES_YPOS[anim::j2#2] = sintab_y[anim::yidx#3]
  [39] anim::xidx#1 = anim::xidx#3 + $a
  [40] if(anim::xidx#1<sinlen_x) goto anim::@4
  to:anim::@6
anim::@6: scope:[anim]  from anim::@3
  [41] anim::xidx#2 = anim::xidx#1 - sinlen_x
  to:anim::@4
anim::@4: scope:[anim]  from anim::@3 anim::@6
  [42] anim::xidx#5 = phi( anim::@3/anim::xidx#1, anim::@6/anim::xidx#2 )
  [43] anim::yidx#1 = anim::yidx#3 + 8
  [44] if(anim::yidx#1<sinlen_y) goto anim::@5
  to:anim::@7
anim::@7: scope:[anim]  from anim::@4
  [45] anim::yidx#2 = anim::yidx#1 - sinlen_y
  to:anim::@5
anim::@5: scope:[anim]  from anim::@4 anim::@7
  [46] anim::yidx#6 = phi( anim::@4/anim::yidx#1, anim::@7/anim::yidx#2 )
  [47] anim::j2#1 = anim::j2#2 - 2
  [48] anim::j#1 = ++ anim::j#2
  [49] if(anim::j#1!=7) goto anim::@3
  to:anim::@8
anim::@8: scope:[anim]  from anim::@5
  [50] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_XMSB) = anim::x_msb#1
  [51] sin_idx_x#2 = ++ sin_idx_x#15
  [52] if(sin_idx_x#2<sinlen_x) goto anim::@9
  to:anim::@1
anim::@9: scope:[anim]  from anim::@8
  [53] phi()
  to:anim::@1
anim::@1: scope:[anim]  from anim::@8 anim::@9
  [54] sin_idx_x#12 = phi( anim::@8/0, anim::@9/sin_idx_x#2 )
  [55] sin_idx_y#2 = ++ sin_idx_y#15
  [56] if(sin_idx_y#2<sinlen_y) goto anim::@10
  to:anim::@2
anim::@10: scope:[anim]  from anim::@1
  [57] phi()
  to:anim::@2
anim::@2: scope:[anim]  from anim::@1 anim::@10
  [58] sin_idx_y#12 = phi( anim::@10/sin_idx_y#2, anim::@1/0 )
  [59] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = -- *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  to:anim::@return
anim::@return: scope:[anim]  from anim::@2
  [60] return 
  to:@return

void clear_screen()
clear_screen: scope:[clear_screen]  from init init::@8
  [61] phi()
  to:clear_screen::@1
clear_screen::@1: scope:[clear_screen]  from clear_screen clear_screen::@2
  [62] clear_screen::sc#2 = phi( clear_screen/SCREEN, clear_screen::@2/clear_screen::sc#1 )
  [63] if(clear_screen::sc#2<SCREEN+$3e8) goto clear_screen::@2
  to:clear_screen::@return
clear_screen::@return: scope:[clear_screen]  from clear_screen::@1
  [64] return 
  to:@return
clear_screen::@2: scope:[clear_screen]  from clear_screen::@1
  [65] *clear_screen::sc#2 = ' '
  [66] clear_screen::sc#1 = ++ clear_screen::sc#2
  to:clear_screen::@1

void place_sprites()
place_sprites: scope:[place_sprites]  from init::@2
  [67] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $7f
  [68] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_EXPAND_X) = $7f
  [69] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_EXPAND_Y) = $7f
  to:place_sprites::@1
place_sprites::@1: scope:[place_sprites]  from place_sprites place_sprites::@1
  [70] place_sprites::col#2 = phi( place_sprites/5, place_sprites::@1/place_sprites::col#1 )
  [70] place_sprites::j2#3 = phi( place_sprites/0, place_sprites::@1/place_sprites::j2#2 )
  [70] place_sprites::spr_x#2 = phi( place_sprites/$3c, place_sprites::@1/place_sprites::spr_x#1 )
  [70] place_sprites::j#2 = phi( place_sprites/0, place_sprites::@1/place_sprites::j#1 )
  [70] place_sprites::spr_id#2 = phi( place_sprites/(char)(unsigned int)sprites/$40, place_sprites::@1/place_sprites::spr_id#1 )
  [71] place_sprites::sprites_ptr[place_sprites::j#2] = place_sprites::spr_id#2
  [72] place_sprites::spr_id#1 = ++ place_sprites::spr_id#2
  [73] SPRITES_XPOS[place_sprites::j2#3] = place_sprites::spr_x#2
  [74] SPRITES_YPOS[place_sprites::j2#3] = $50
  [75] SPRITES_COLOR[place_sprites::j#2] = place_sprites::col#2
  [76] place_sprites::spr_x#1 = place_sprites::spr_x#2 + $20
  [77] place_sprites::col#1 = place_sprites::col#2 ^ 7^5
  [78] place_sprites::j2#1 = ++ place_sprites::j2#3
  [79] place_sprites::j2#2 = ++ place_sprites::j2#1
  [80] place_sprites::j#1 = ++ place_sprites::j#2
  [81] if(place_sprites::j#1!=7) goto place_sprites::@1
  to:place_sprites::@return
place_sprites::@return: scope:[place_sprites]  from place_sprites::@1
  [82] return 
  to:@return

void gen_sprites()
gen_sprites: scope:[gen_sprites]  from init::@3
  [83] phi()
  to:gen_sprites::@1
gen_sprites::@1: scope:[gen_sprites]  from gen_sprites gen_sprites::@2
  [84] gen_sprites::spr#2 = phi( gen_sprites/sprites, gen_sprites::@2/gen_sprites::spr#1 )
  [84] gen_sprites::i#2 = phi( gen_sprites/0, gen_sprites::@2/gen_sprites::i#1 )
  [85] gen_chargen_sprite::ch#0 = gen_sprites::cml[gen_sprites::i#2]
  [86] gen_chargen_sprite::sprite#0 = gen_sprites::spr#2
  [87] call gen_chargen_sprite
  to:gen_sprites::@2
gen_sprites::@2: scope:[gen_sprites]  from gen_sprites::@1
  [88] gen_sprites::spr#1 = gen_sprites::spr#2 + $40
  [89] gen_sprites::i#1 = ++ gen_sprites::i#2
  [90] if(gen_sprites::i#1!=7) goto gen_sprites::@1
  to:gen_sprites::@return
gen_sprites::@return: scope:[gen_sprites]  from gen_sprites::@2
  [91] return 
  to:@return

void progress_init(char *line)
progress_init: scope:[progress_init]  from init::@4 init::@6
  [92] progress_init::line#2 = phi( init::@4/SCREEN, init::@6/SCREEN+$28 )
  [93] progress_cursor#23 = progress_init::line#2
  to:progress_init::@return
progress_init::@return: scope:[progress_init]  from progress_init
  [94] return 
  to:@return

void gen_sintab(char *sintab , char length , char min , char max)
gen_sintab: scope:[gen_sintab]  from init::@5 init::@7
  [95] gen_sintab::sintab#13 = phi( init::@5/sintab_x, init::@7/sintab_y )
  [95] gen_sintab::length#10 = phi( init::@5/sinlen_x, init::@7/sinlen_y )
  [95] gen_sintab::min#2 = phi( init::@5/0, init::@7/$32 )
  [95] gen_sintab::max#2 = phi( init::@5/$ff, init::@7/$d0 )
  [96] setFAC::w#0 = (unsigned int)gen_sintab::max#2
  [97] call setFAC
  to:gen_sintab::@3
gen_sintab::@3: scope:[gen_sintab]  from gen_sintab
  [98] phi()
  [99] call setARGtoFAC
  to:gen_sintab::@4
gen_sintab::@4: scope:[gen_sintab]  from gen_sintab::@3
  [100] setFAC::w#1 = (unsigned int)gen_sintab::min#2
  [101] call setFAC
  to:gen_sintab::@5
gen_sintab::@5: scope:[gen_sintab]  from gen_sintab::@4
  [102] phi()
  [103] call setMEMtoFAC
  to:gen_sintab::@6
gen_sintab::@6: scope:[gen_sintab]  from gen_sintab::@5
  [104] phi()
  [105] call subFACfromARG
  to:gen_sintab::@7
gen_sintab::@7: scope:[gen_sintab]  from gen_sintab::@6
  [106] phi()
  [107] call setMEMtoFAC
  to:gen_sintab::@8
gen_sintab::@8: scope:[gen_sintab]  from gen_sintab::@7
  [108] phi()
  [109] call setFAC
  to:gen_sintab::@9
gen_sintab::@9: scope:[gen_sintab]  from gen_sintab::@8
  [110] phi()
  [111] call divMEMbyFAC
  to:gen_sintab::@10
gen_sintab::@10: scope:[gen_sintab]  from gen_sintab::@9
  [112] phi()
  [113] call setMEMtoFAC
  to:gen_sintab::@11
gen_sintab::@11: scope:[gen_sintab]  from gen_sintab::@10
  [114] phi()
  [115] call addMEMtoFAC
  to:gen_sintab::@12
gen_sintab::@12: scope:[gen_sintab]  from gen_sintab::@11
  [116] phi()
  [117] call setMEMtoFAC
  to:gen_sintab::@1
gen_sintab::@1: scope:[gen_sintab]  from gen_sintab::@12 gen_sintab::@22
  [118] progress_cursor#12 = phi( gen_sintab::@12/progress_cursor#23, gen_sintab::@22/progress_cursor#10 )
  [118] progress_idx#13 = phi( gen_sintab::@12/0, gen_sintab::@22/progress_idx#11 )
  [118] gen_sintab::i#10 = phi( gen_sintab::@12/0, gen_sintab::@22/gen_sintab::i#1 )
  [119] if(gen_sintab::i#10<gen_sintab::length#10) goto gen_sintab::@2
  to:gen_sintab::@return
gen_sintab::@return: scope:[gen_sintab]  from gen_sintab::@1
  [120] return 
  to:@return
gen_sintab::@2: scope:[gen_sintab]  from gen_sintab::@1
  [121] setFAC::w#3 = (unsigned int)gen_sintab::i#10
  [122] call setFAC
  to:gen_sintab::@13
gen_sintab::@13: scope:[gen_sintab]  from gen_sintab::@2
  [123] phi()
  [124] call mulFACbyMEM
  to:gen_sintab::@14
gen_sintab::@14: scope:[gen_sintab]  from gen_sintab::@13
  [125] phi()
  [126] call setMEMtoFAC
  to:gen_sintab::@15
gen_sintab::@15: scope:[gen_sintab]  from gen_sintab::@14
  [127] setFAC::w#4 = (unsigned int)gen_sintab::length#10
  [128] call setFAC
  to:gen_sintab::@16
gen_sintab::@16: scope:[gen_sintab]  from gen_sintab::@15
  [129] phi()
  [130] call divMEMbyFAC
  to:gen_sintab::@17
gen_sintab::@17: scope:[gen_sintab]  from gen_sintab::@16
  [131] phi()
  [132] call sinFAC
  to:gen_sintab::@18
gen_sintab::@18: scope:[gen_sintab]  from gen_sintab::@17
  [133] phi()
  [134] call mulFACbyMEM
  to:gen_sintab::@19
gen_sintab::@19: scope:[gen_sintab]  from gen_sintab::@18
  [135] phi()
  [136] call addMEMtoFAC
  to:gen_sintab::@20
gen_sintab::@20: scope:[gen_sintab]  from gen_sintab::@19
  [137] phi()
  [138] call getFAC
  [139] getFAC::return#2 = getFAC::return#0
  to:gen_sintab::@21
gen_sintab::@21: scope:[gen_sintab]  from gen_sintab::@20
  [140] gen_sintab::$20 = getFAC::return#2
  [141] gen_sintab::sintab#13[gen_sintab::i#10] = (char)gen_sintab::$20
  [142] call progress_inc
  to:gen_sintab::@22
gen_sintab::@22: scope:[gen_sintab]  from gen_sintab::@21
  [143] gen_sintab::i#1 = ++ gen_sintab::i#10
  to:gen_sintab::@1

void gen_chargen_sprite(char ch , char *sprite)
gen_chargen_sprite: scope:[gen_chargen_sprite]  from gen_sprites::@1
  [144] gen_chargen_sprite::$14 = (unsigned int)gen_chargen_sprite::ch#0
  [145] gen_chargen_sprite::$0 = gen_chargen_sprite::$14 << 3
  [146] gen_chargen_sprite::chargen#0 = CHARGEN + gen_chargen_sprite::$0
  asm { sei  }
  [148] *PROCPORT = $32
  to:gen_chargen_sprite::@1
gen_chargen_sprite::@1: scope:[gen_chargen_sprite]  from gen_chargen_sprite gen_chargen_sprite::@8
  [149] gen_chargen_sprite::sprite#11 = phi( gen_chargen_sprite/gen_chargen_sprite::sprite#0, gen_chargen_sprite::@8/gen_chargen_sprite::sprite#2 )
  [149] gen_chargen_sprite::y#2 = phi( gen_chargen_sprite/0, gen_chargen_sprite::@8/gen_chargen_sprite::y#1 )
  [150] gen_chargen_sprite::bits#0 = gen_chargen_sprite::chargen#0[gen_chargen_sprite::y#2]
  to:gen_chargen_sprite::@2
gen_chargen_sprite::@2: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@1 gen_chargen_sprite::@7
  [151] gen_chargen_sprite::x#6 = phi( gen_chargen_sprite::@1/0, gen_chargen_sprite::@7/gen_chargen_sprite::x#1 )
  [151] gen_chargen_sprite::sprite#10 = phi( gen_chargen_sprite::@1/gen_chargen_sprite::sprite#11, gen_chargen_sprite::@7/gen_chargen_sprite::sprite#4 )
  [151] gen_chargen_sprite::s_gen_cnt#4 = phi( gen_chargen_sprite::@1/0, gen_chargen_sprite::@7/gen_chargen_sprite::s_gen_cnt#5 )
  [151] gen_chargen_sprite::s_gen#5 = phi( gen_chargen_sprite::@1/0, gen_chargen_sprite::@7/gen_chargen_sprite::s_gen#6 )
  [151] gen_chargen_sprite::bits#2 = phi( gen_chargen_sprite::@1/gen_chargen_sprite::bits#0, gen_chargen_sprite::@7/gen_chargen_sprite::bits#1 )
  [152] gen_chargen_sprite::$2 = gen_chargen_sprite::bits#2 & $80
  [153] if(gen_chargen_sprite::$2==0) goto gen_chargen_sprite::@3
  to:gen_chargen_sprite::@10
gen_chargen_sprite::@10: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@2
  [154] phi()
  to:gen_chargen_sprite::@3
gen_chargen_sprite::@3: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@10 gen_chargen_sprite::@2
  [155] gen_chargen_sprite::c#3 = phi( gen_chargen_sprite::@10/1, gen_chargen_sprite::@2/0 )
  to:gen_chargen_sprite::@4
gen_chargen_sprite::@4: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@3 gen_chargen_sprite::@5
  [156] gen_chargen_sprite::sprite#3 = phi( gen_chargen_sprite::@3/gen_chargen_sprite::sprite#10, gen_chargen_sprite::@5/gen_chargen_sprite::sprite#4 )
  [156] gen_chargen_sprite::b#2 = phi( gen_chargen_sprite::@3/0, gen_chargen_sprite::@5/gen_chargen_sprite::b#1 )
  [156] gen_chargen_sprite::s_gen_cnt#3 = phi( gen_chargen_sprite::@3/gen_chargen_sprite::s_gen_cnt#4, gen_chargen_sprite::@5/gen_chargen_sprite::s_gen_cnt#5 )
  [156] gen_chargen_sprite::s_gen#3 = phi( gen_chargen_sprite::@3/gen_chargen_sprite::s_gen#5, gen_chargen_sprite::@5/gen_chargen_sprite::s_gen#6 )
  [157] gen_chargen_sprite::$5 = gen_chargen_sprite::s_gen#3 << 1
  [158] gen_chargen_sprite::s_gen#1 = gen_chargen_sprite::$5 | gen_chargen_sprite::c#3
  [159] gen_chargen_sprite::s_gen_cnt#1 = ++ gen_chargen_sprite::s_gen_cnt#3
  [160] if(gen_chargen_sprite::s_gen_cnt#1!=8) goto gen_chargen_sprite::@5
  to:gen_chargen_sprite::@6
gen_chargen_sprite::@6: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@4
  [161] *gen_chargen_sprite::sprite#3 = gen_chargen_sprite::s_gen#1
  [162] gen_chargen_sprite::sprite#3[3] = gen_chargen_sprite::s_gen#1
  [163] gen_chargen_sprite::sprite#3[6] = gen_chargen_sprite::s_gen#1
  [164] gen_chargen_sprite::sprite#1 = ++ gen_chargen_sprite::sprite#3
  to:gen_chargen_sprite::@5
gen_chargen_sprite::@5: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@4 gen_chargen_sprite::@6
  [165] gen_chargen_sprite::sprite#4 = phi( gen_chargen_sprite::@4/gen_chargen_sprite::sprite#3, gen_chargen_sprite::@6/gen_chargen_sprite::sprite#1 )
  [165] gen_chargen_sprite::s_gen_cnt#5 = phi( gen_chargen_sprite::@4/gen_chargen_sprite::s_gen_cnt#1, gen_chargen_sprite::@6/0 )
  [165] gen_chargen_sprite::s_gen#6 = phi( gen_chargen_sprite::@4/gen_chargen_sprite::s_gen#1, gen_chargen_sprite::@6/0 )
  [166] gen_chargen_sprite::b#1 = ++ gen_chargen_sprite::b#2
  [167] if(gen_chargen_sprite::b#1!=3) goto gen_chargen_sprite::@4
  to:gen_chargen_sprite::@7
gen_chargen_sprite::@7: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@5
  [168] gen_chargen_sprite::bits#1 = gen_chargen_sprite::bits#2 << 1
  [169] gen_chargen_sprite::x#1 = ++ gen_chargen_sprite::x#6
  [170] if(gen_chargen_sprite::x#1!=8) goto gen_chargen_sprite::@2
  to:gen_chargen_sprite::@8
gen_chargen_sprite::@8: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@7
  [171] gen_chargen_sprite::sprite#2 = gen_chargen_sprite::sprite#4 + 6
  [172] gen_chargen_sprite::y#1 = ++ gen_chargen_sprite::y#2
  [173] if(gen_chargen_sprite::y#1!=8) goto gen_chargen_sprite::@1
  to:gen_chargen_sprite::@9
gen_chargen_sprite::@9: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@8
  [174] *PROCPORT = $37
  asm { cli  }
  to:gen_chargen_sprite::@return
gen_chargen_sprite::@return: scope:[gen_chargen_sprite]  from gen_chargen_sprite::@9
  [176] return 
  to:@return

void setFAC(unsigned int w)
setFAC: scope:[setFAC]  from gen_sintab gen_sintab::@15 gen_sintab::@2 gen_sintab::@4 gen_sintab::@8
  [177] setFAC::prepareMEM1_mem#0 = phi( gen_sintab/setFAC::w#0, gen_sintab::@15/setFAC::w#4, gen_sintab::@2/setFAC::w#3, gen_sintab::@4/setFAC::w#1, gen_sintab::@8/2 )
  to:setFAC::prepareMEM1
setFAC::prepareMEM1: scope:[setFAC]  from setFAC
  [178] setFAC::prepareMEM1_$0 = byte0  setFAC::prepareMEM1_mem#0
  [179] *memLo = setFAC::prepareMEM1_$0
  [180] setFAC::prepareMEM1_$1 = byte1  setFAC::prepareMEM1_mem#0
  [181] *memHi = setFAC::prepareMEM1_$1
  to:setFAC::@1
setFAC::@1: scope:[setFAC]  from setFAC::prepareMEM1
  asm { ldymemLo ldamemHi jsr$b391  }
  to:setFAC::@return
setFAC::@return: scope:[setFAC]  from setFAC::@1
  [183] return 
  to:@return

void setARGtoFAC()
setARGtoFAC: scope:[setARGtoFAC]  from gen_sintab::@3
  asm { jsr$bc0f  }
  to:setARGtoFAC::@return
setARGtoFAC::@return: scope:[setARGtoFAC]  from setARGtoFAC
  [185] return 
  to:@return

void setMEMtoFAC(char *mem)
setMEMtoFAC: scope:[setMEMtoFAC]  from gen_sintab::@10 gen_sintab::@12 gen_sintab::@14 gen_sintab::@5 gen_sintab::@7
  [186] setMEMtoFAC::mem#5 = phi( gen_sintab::@10/gen_sintab::f_amp, gen_sintab::@12/gen_sintab::f_min, gen_sintab::@14/gen_sintab::f_i, gen_sintab::@5/gen_sintab::f_min, gen_sintab::@7/gen_sintab::f_amp )
  to:setMEMtoFAC::prepareMEM1
setMEMtoFAC::prepareMEM1: scope:[setMEMtoFAC]  from setMEMtoFAC
  [187] setMEMtoFAC::prepareMEM1_$0 = byte0  (unsigned int)setMEMtoFAC::mem#5
  [188] *memLo = setMEMtoFAC::prepareMEM1_$0
  [189] setMEMtoFAC::prepareMEM1_$1 = byte1  (unsigned int)setMEMtoFAC::mem#5
  [190] *memHi = setMEMtoFAC::prepareMEM1_$1
  to:setMEMtoFAC::@1
setMEMtoFAC::@1: scope:[setMEMtoFAC]  from setMEMtoFAC::prepareMEM1
  asm { ldxmemLo ldymemHi jsr$bbd4  }
  to:setMEMtoFAC::@return
setMEMtoFAC::@return: scope:[setMEMtoFAC]  from setMEMtoFAC::@1
  [192] return 
  to:@return

void subFACfromARG()
subFACfromARG: scope:[subFACfromARG]  from gen_sintab::@6
  asm { jsr$b853  }
  to:subFACfromARG::@return
subFACfromARG::@return: scope:[subFACfromARG]  from subFACfromARG
  [194] return 
  to:@return

void divMEMbyFAC(char *mem)
divMEMbyFAC: scope:[divMEMbyFAC]  from gen_sintab::@16 gen_sintab::@9
  [195] divMEMbyFAC::mem#2 = phi( gen_sintab::@16/gen_sintab::f_i, gen_sintab::@9/gen_sintab::f_amp )
  to:divMEMbyFAC::prepareMEM1
divMEMbyFAC::prepareMEM1: scope:[divMEMbyFAC]  from divMEMbyFAC
  [196] divMEMbyFAC::prepareMEM1_$0 = byte0  (unsigned int)divMEMbyFAC::mem#2
  [197] *memLo = divMEMbyFAC::prepareMEM1_$0
  [198] divMEMbyFAC::prepareMEM1_$1 = byte1  (unsigned int)divMEMbyFAC::mem#2
  [199] *memHi = divMEMbyFAC::prepareMEM1_$1
  to:divMEMbyFAC::@1
divMEMbyFAC::@1: scope:[divMEMbyFAC]  from divMEMbyFAC::prepareMEM1
  asm { ldamemLo ldymemHi jsr$bb0f  }
  to:divMEMbyFAC::@return
divMEMbyFAC::@return: scope:[divMEMbyFAC]  from divMEMbyFAC::@1
  [201] return 
  to:@return

void addMEMtoFAC(char *mem)
addMEMtoFAC: scope:[addMEMtoFAC]  from gen_sintab::@11 gen_sintab::@19
  [202] phi()
  to:addMEMtoFAC::prepareMEM1
addMEMtoFAC::prepareMEM1: scope:[addMEMtoFAC]  from addMEMtoFAC
  [203] *memLo = byte0 (unsigned int)gen_sintab::f_min
  [204] *memHi = byte1 (unsigned int)gen_sintab::f_min
  to:addMEMtoFAC::@1
addMEMtoFAC::@1: scope:[addMEMtoFAC]  from addMEMtoFAC::prepareMEM1
  asm { ldamemLo ldymemHi jsr$b867  }
  to:addMEMtoFAC::@return
addMEMtoFAC::@return: scope:[addMEMtoFAC]  from addMEMtoFAC::@1
  [206] return 
  to:@return

void mulFACbyMEM(char *mem)
mulFACbyMEM: scope:[mulFACbyMEM]  from gen_sintab::@13 gen_sintab::@18
  [207] mulFACbyMEM::mem#2 = phi( gen_sintab::@13/gen_sintab::f_2pi, gen_sintab::@18/gen_sintab::f_amp )
  to:mulFACbyMEM::prepareMEM1
mulFACbyMEM::prepareMEM1: scope:[mulFACbyMEM]  from mulFACbyMEM
  [208] mulFACbyMEM::prepareMEM1_$0 = byte0  (unsigned int)mulFACbyMEM::mem#2
  [209] *memLo = mulFACbyMEM::prepareMEM1_$0
  [210] mulFACbyMEM::prepareMEM1_$1 = byte1  (unsigned int)mulFACbyMEM::mem#2
  [211] *memHi = mulFACbyMEM::prepareMEM1_$1
  to:mulFACbyMEM::@1
mulFACbyMEM::@1: scope:[mulFACbyMEM]  from mulFACbyMEM::prepareMEM1
  asm { ldamemLo ldymemHi jsr$ba28  }
  to:mulFACbyMEM::@return
mulFACbyMEM::@return: scope:[mulFACbyMEM]  from mulFACbyMEM::@1
  [213] return 
  to:@return

void sinFAC()
sinFAC: scope:[sinFAC]  from gen_sintab::@17
  asm { jsr$e26b  }
  to:sinFAC::@return
sinFAC::@return: scope:[sinFAC]  from sinFAC
  [215] return 
  to:@return

unsigned int getFAC()
getFAC: scope:[getFAC]  from gen_sintab::@20
  asm { jsr$b1aa stymemLo stamemHi  }
  [217] getFAC::return#0 = *memHi w= *memLo
  to:getFAC::@return
getFAC::@return: scope:[getFAC]  from getFAC
  [218] return 
  to:@return

void progress_inc()
progress_inc: scope:[progress_inc]  from gen_sintab::@21
  [219] progress_idx#9 = ++ progress_idx#13
  [220] if(progress_idx#9!=8) goto progress_inc::@1
  to:progress_inc::@2
progress_inc::@2: scope:[progress_inc]  from progress_inc
  [221] *progress_cursor#12 = *(progress_inc::progress_chars+8)
  [222] progress_cursor#9 = ++ progress_cursor#12
  to:progress_inc::@1
progress_inc::@1: scope:[progress_inc]  from progress_inc progress_inc::@2
  [223] progress_cursor#10 = phi( progress_inc/progress_cursor#12, progress_inc::@2/progress_cursor#9 )
  [223] progress_idx#11 = phi( progress_inc/progress_idx#9, progress_inc::@2/0 )
  [224] *progress_cursor#10 = progress_inc::progress_chars[progress_idx#11]
  to:progress_inc::@return
progress_inc::@return: scope:[progress_inc]  from progress_inc::@1
  [225] return 
  to:@return
