
void main()
main: scope:[main]  from
  asm { sei  }
  [1] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = BLUE
  [2] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BG_COLOR) = BLUE
  to:main::@1
main::@1: scope:[main]  from main main::@1
  [3] main::col#2 = phi( main/COLS, main::@1/main::col#1 )
  [4] *main::col#2 = BLACK
  [5] main::col#1 = ++ main::col#2
  [6] if(main::col#1!=COLS+$3e8+1) goto main::@1
  to:main::@2
main::@2: scope:[main]  from main::@1
  [7] phi()
  [8] call makecharset
  to:main::@3
main::@3: scope:[main]  from main::@2 main::@6
  [9] c2B#10 = phi( main::@6/c2B#3, main::@2/0 )
  [9] c2A#10 = phi( main::@6/c2A#3, main::@2/0 )
  [9] c1B#10 = phi( main::@6/c1B#3, main::@2/0 )
  [9] c1A#10 = phi( main::@6/c1A#3, main::@2/0 )
  to:main::@4
main::@4: scope:[main]  from main::@3
  [10] phi()
  [11] call doplasma
  to:main::toD0181
main::toD0181: scope:[main]  from main::@4
  [12] phi()
  to:main::@5
main::@5: scope:[main]  from main::toD0181
  [13] *D018 = main::toD0181_return#0
  [14] call doplasma
  to:main::toD0182
main::toD0182: scope:[main]  from main::@5
  [15] phi()
  to:main::@6
main::@6: scope:[main]  from main::toD0182
  [16] *D018 = main::toD0182_return#0
  to:main::@3

void makecharset(char *charset)
makecharset: scope:[makecharset]  from main::@2
  [17] phi()
  to:makecharset::sid_rnd_init1
makecharset::sid_rnd_init1: scope:[makecharset]  from makecharset
  [18] *((unsigned int *)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff
  [19] *((char *)SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL) = SID_CONTROL_NOISE
  to:makecharset::@11
makecharset::@11: scope:[makecharset]  from makecharset::sid_rnd_init1
  [20] phi()
  [21] call print_cls
  to:makecharset::@1
makecharset::@1: scope:[makecharset]  from makecharset::@10 makecharset::@11
  [22] print_char_cursor#19 = phi( makecharset::@10/print_char_cursor#31, makecharset::@11/print_screen#0 )
  [22] makecharset::c#2 = phi( makecharset::@10/makecharset::c#1, makecharset::@11/0 )
  [23] if(makecharset::c#2<$100) goto makecharset::@2
  to:makecharset::@return
makecharset::@return: scope:[makecharset]  from makecharset::@1
  [24] return 
  to:@return
makecharset::@2: scope:[makecharset]  from makecharset::@1
  [25] makecharset::$3 = byte0  makecharset::c#2
  [26] makecharset::s#0 = SINTABLE[makecharset::$3]
  to:makecharset::@3
makecharset::@3: scope:[makecharset]  from makecharset::@2 makecharset::@6
  [27] makecharset::i#2 = phi( makecharset::@2/0, makecharset::@6/makecharset::i#1 )
  [28] if(makecharset::i#2<8) goto makecharset::@5
  to:makecharset::@4
makecharset::@4: scope:[makecharset]  from makecharset::@3
  [29] makecharset::$12 = makecharset::c#2 & 7
  [30] if(makecharset::$12!=0) goto makecharset::@10
  to:makecharset::@9
makecharset::@9: scope:[makecharset]  from makecharset::@4
  [31] phi()
  [32] call print_char
  to:makecharset::@10
makecharset::@10: scope:[makecharset]  from makecharset::@4 makecharset::@9
  [33] print_char_cursor#31 = phi( makecharset::@9/print_char_cursor#0, makecharset::@4/print_char_cursor#19 )
  [34] makecharset::c#1 = ++ makecharset::c#2
  to:makecharset::@1
makecharset::@5: scope:[makecharset]  from makecharset::@3 makecharset::@7
  [35] makecharset::b#2 = phi( makecharset::@3/0, makecharset::@7/makecharset::b#6 )
  [35] makecharset::ii#2 = phi( makecharset::@3/0, makecharset::@7/makecharset::ii#1 )
  [36] if(makecharset::ii#2<8) goto makecharset::sid_rnd1
  to:makecharset::@6
makecharset::@6: scope:[makecharset]  from makecharset::@5
  [37] makecharset::$10 = makecharset::c#2 << 3
  [38] makecharset::$11 = makecharset::$10 + makecharset::i#2
  [39] makecharset::$16 = CHARSET + makecharset::$11
  [40] *makecharset::$16 = makecharset::b#2
  [41] makecharset::i#1 = ++ makecharset::i#2
  to:makecharset::@3
makecharset::sid_rnd1: scope:[makecharset]  from makecharset::@5
  [42] makecharset::sid_rnd1_return#0 = *((char *)SID+OFFSET_STRUCT_MOS6581_SID_CH3_OSC)
  to:makecharset::@12
makecharset::@12: scope:[makecharset]  from makecharset::sid_rnd1
  [43] makecharset::$7 = makecharset::sid_rnd1_return#0 & $ff
  [44] if(makecharset::$7<=makecharset::s#0) goto makecharset::@7
  to:makecharset::@8
makecharset::@8: scope:[makecharset]  from makecharset::@12
  [45] makecharset::b#1 = makecharset::b#2 | makecharset::bittab[makecharset::ii#2]
  to:makecharset::@7
makecharset::@7: scope:[makecharset]  from makecharset::@12 makecharset::@8
  [46] makecharset::b#6 = phi( makecharset::@12/makecharset::b#2, makecharset::@8/makecharset::b#1 )
  [47] makecharset::ii#1 = ++ makecharset::ii#2
  to:makecharset::@5

void doplasma(char *screen)
doplasma: scope:[doplasma]  from main::@4 main::@5
  [48] doplasma::screen#13 = phi( main::@4/SCREEN1, main::@5/SCREEN2 )
  [48] c2B#26 = phi( main::@4/c2B#10, main::@5/c2B#3 )
  [48] c2A#26 = phi( main::@4/c2A#10, main::@5/c2A#3 )
  [48] c1B#11 = phi( main::@4/c1B#10, main::@5/c1B#3 )
  [48] c1A#11 = phi( main::@4/c1A#10, main::@5/c1A#3 )
  [49] doplasma::c1a#0 = c1A#11
  [50] doplasma::c1b#0 = c1B#11
  to:doplasma::@1
doplasma::@1: scope:[doplasma]  from doplasma doplasma::@2
  [51] doplasma::c1b#2 = phi( doplasma/doplasma::c1b#0, doplasma::@2/doplasma::c1b#1 )
  [51] doplasma::c1a#2 = phi( doplasma/doplasma::c1a#0, doplasma::@2/doplasma::c1a#1 )
  [51] doplasma::i#2 = phi( doplasma/0, doplasma::@2/doplasma::i#1 )
  [52] if(doplasma::i#2<$19) goto doplasma::@2
  to:doplasma::@3
doplasma::@3: scope:[doplasma]  from doplasma::@1
  [53] c1A#3 = c1A#11 + 3
  [54] c1B#3 = c1B#11 - 5
  [55] doplasma::c2a#0 = c2A#26
  [56] doplasma::c2b#0 = c2B#26
  to:doplasma::@4
doplasma::@4: scope:[doplasma]  from doplasma::@3 doplasma::@5
  [57] doplasma::c2b#2 = phi( doplasma::@3/doplasma::c2b#0, doplasma::@5/doplasma::c2b#1 )
  [57] doplasma::c2a#2 = phi( doplasma::@3/doplasma::c2a#0, doplasma::@5/doplasma::c2a#1 )
  [57] doplasma::i1#2 = phi( doplasma::@3/0, doplasma::@5/doplasma::i1#1 )
  [58] if(doplasma::i1#2<$28) goto doplasma::@5
  to:doplasma::@6
doplasma::@6: scope:[doplasma]  from doplasma::@4
  [59] c2A#3 = c2A#26 + 2
  [60] c2B#3 = c2B#26 - 3
  to:doplasma::@7
doplasma::@7: scope:[doplasma]  from doplasma::@10 doplasma::@6
  [61] doplasma::screen#6 = phi( doplasma::@10/doplasma::screen#2, doplasma::@6/doplasma::screen#13 )
  [61] doplasma::ii#2 = phi( doplasma::@10/doplasma::ii#1, doplasma::@6/0 )
  [62] if(doplasma::ii#2<$19) goto doplasma::@8
  to:doplasma::@return
doplasma::@return: scope:[doplasma]  from doplasma::@7
  [63] return 
  to:@return
doplasma::@8: scope:[doplasma]  from doplasma::@7 doplasma::@9
  [64] doplasma::i2#2 = phi( doplasma::@9/doplasma::i2#1, doplasma::@7/0 )
  [65] if(doplasma::i2#2<$28) goto doplasma::@9
  to:doplasma::@10
doplasma::@10: scope:[doplasma]  from doplasma::@8
  [66] doplasma::screen#2 = doplasma::screen#6 + $28
  [67] doplasma::ii#1 = ++ doplasma::ii#2
  to:doplasma::@7
doplasma::@9: scope:[doplasma]  from doplasma::@8
  [68] doplasma::$6 = doplasma::xbuf[doplasma::i2#2] + doplasma::ybuf[doplasma::ii#2]
  [69] doplasma::screen#6[doplasma::i2#2] = doplasma::$6
  [70] doplasma::i2#1 = ++ doplasma::i2#2
  to:doplasma::@8
doplasma::@5: scope:[doplasma]  from doplasma::@4
  [71] doplasma::$3 = SINTABLE[doplasma::c2a#2] + SINTABLE[doplasma::c2b#2]
  [72] doplasma::xbuf[doplasma::i1#2] = doplasma::$3
  [73] doplasma::c2a#1 = doplasma::c2a#2 + 3
  [74] doplasma::c2b#1 = doplasma::c2b#2 + 7
  [75] doplasma::i1#1 = ++ doplasma::i1#2
  to:doplasma::@4
doplasma::@2: scope:[doplasma]  from doplasma::@1
  [76] doplasma::$1 = SINTABLE[doplasma::c1a#2] + SINTABLE[doplasma::c1b#2]
  [77] doplasma::ybuf[doplasma::i#2] = doplasma::$1
  [78] doplasma::c1a#1 = doplasma::c1a#2 + 4
  [79] doplasma::c1b#1 = doplasma::c1b#2 + 9
  [80] doplasma::i#1 = ++ doplasma::i#2
  to:doplasma::@1

void print_cls()
print_cls: scope:[print_cls]  from makecharset::@11
  [81] phi()
  [82] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [83] return 
  to:@return

void print_char(char ch)
print_char: scope:[print_char]  from makecharset::@9
  [84] *print_char_cursor#19 = print_char::ch#0
  [85] print_char_cursor#0 = ++ print_char_cursor#19
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [86] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [87] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [88] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [89] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [90] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [91] *memset::dst#2 = memset::c#0
  [92] memset::dst#1 = ++ memset::dst#2
  to:memset::@1
