
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::toD0181
main::toD0181: scope:[main]  from main::@2
  [9] phi()
  to:main::@5
main::@5: scope:[main]  from main::toD0181
  [10] *D018 = main::toD0181_return#0
  to:main::@3
main::@3: scope:[main]  from main::@4 main::@5
  [11] c2B#1 = phi( main::@5/0, main::@4/c2B#2 )
  [11] c2A#1 = phi( main::@5/0, main::@4/c2A#2 )
  [11] c1B#1 = phi( main::@5/0, main::@4/c1B#2 )
  [11] c1A#1 = phi( main::@5/0, main::@4/c1A#2 )
  to:main::@4
main::@4: scope:[main]  from main::@3
  [12] phi()
  [13] call doplasma
  to:main::@3

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

void doplasma(char *screen)
doplasma: scope:[doplasma]  from main::@4
  [45] doplasma::c1a#0 = c1A#1
  [46] doplasma::c1b#0 = c1B#1
  to:doplasma::@1
doplasma::@1: scope:[doplasma]  from doplasma doplasma::@2
  [47] doplasma::yprev#2 = phi( doplasma/0, doplasma::@2/doplasma::yprev#4 )
  [47] doplasma::c1b#2 = phi( doplasma/doplasma::c1b#0, doplasma::@2/doplasma::c1b#1 )
  [47] doplasma::c1a#2 = phi( doplasma/doplasma::c1a#0, doplasma::@2/doplasma::c1a#1 )
  [47] doplasma::i#2 = phi( doplasma/0, doplasma::@2/doplasma::i#1 )
  [48] if(doplasma::i#2<$19) goto doplasma::@2
  to:doplasma::@3
doplasma::@3: scope:[doplasma]  from doplasma::@1
  [49] c1A#2 = c1A#1 + 3
  [50] c1B#2 = c1B#1 - 5
  [51] doplasma::c2a#0 = c2A#1
  [52] doplasma::c2b#0 = c2B#1
  to:doplasma::@4
doplasma::@4: scope:[doplasma]  from doplasma::@3 doplasma::@5
  [53] doplasma::c2b#2 = phi( doplasma::@3/doplasma::c2b#0, doplasma::@5/doplasma::c2b#1 )
  [53] doplasma::c2a#2 = phi( doplasma::@3/doplasma::c2a#0, doplasma::@5/doplasma::c2a#1 )
  [53] doplasma::i1#2 = phi( doplasma::@3/0, doplasma::@5/doplasma::i1#1 )
  [54] if(doplasma::i1#2<$28) goto doplasma::@5
  to:doplasma::@6
doplasma::@6: scope:[doplasma]  from doplasma::@4
  [55] c2A#2 = c2A#1 + 2
  [56] c2B#2 = c2B#1 - 3
  to:doplasma::@7
doplasma::@7: scope:[doplasma]  from doplasma::@10 doplasma::@6
  [57] doplasma::i2#2 = phi( doplasma::@10/doplasma::i2#1, doplasma::@6/0 )
  [58] if(doplasma::i2#2<$28) goto doplasma::@8
  to:doplasma::@return
doplasma::@return: scope:[doplasma]  from doplasma::@7
  [59] return 
  to:@return
doplasma::@8: scope:[doplasma]  from doplasma::@7
  [60] doplasma::val#0 = doplasma::xbuf[doplasma::i2#2]
  to:doplasma::@9
doplasma::@9: scope:[doplasma]  from doplasma::@8
  [61] doplasma::val#1 = doplasma::val#0 + *doplasma::ybuf
  [62] SCREEN1[doplasma::i2#2] = doplasma::val#1
  to:doplasma::@10_1
doplasma::@10_1: scope:[doplasma]  from doplasma::@9
  [63] doplasma::val#5 = doplasma::val#1 + *(doplasma::ybuf+1)
  [64] (SCREEN1+1*$28)[doplasma::i2#2] = doplasma::val#5
  to:doplasma::@10_2
doplasma::@10_2: scope:[doplasma]  from doplasma::@10_1
  [65] doplasma::val#7 = doplasma::val#5 + *(doplasma::ybuf+2)
  [66] (SCREEN1+2*$28)[doplasma::i2#2] = doplasma::val#7
  to:doplasma::@10_3
doplasma::@10_3: scope:[doplasma]  from doplasma::@10_2
  [67] doplasma::val#10 = doplasma::val#7 + *(doplasma::ybuf+3)
  [68] (SCREEN1+3*$28)[doplasma::i2#2] = doplasma::val#10
  to:doplasma::@10_4
doplasma::@10_4: scope:[doplasma]  from doplasma::@10_3
  [69] doplasma::val#11 = doplasma::val#10 + *(doplasma::ybuf+4)
  [70] (SCREEN1+4*$28)[doplasma::i2#2] = doplasma::val#11
  to:doplasma::@10_5
doplasma::@10_5: scope:[doplasma]  from doplasma::@10_4
  [71] doplasma::val#13 = doplasma::val#11 + *(doplasma::ybuf+5)
  [72] (SCREEN1+5*$28)[doplasma::i2#2] = doplasma::val#13
  to:doplasma::@10_6
doplasma::@10_6: scope:[doplasma]  from doplasma::@10_5
  [73] doplasma::val#15 = doplasma::val#13 + *(doplasma::ybuf+6)
  [74] (SCREEN1+6*$28)[doplasma::i2#2] = doplasma::val#15
  to:doplasma::@10_7
doplasma::@10_7: scope:[doplasma]  from doplasma::@10_6
  [75] doplasma::val#17 = doplasma::val#15 + *(doplasma::ybuf+7)
  [76] (SCREEN1+7*$28)[doplasma::i2#2] = doplasma::val#17
  to:doplasma::@10_8
doplasma::@10_8: scope:[doplasma]  from doplasma::@10_7
  [77] doplasma::val#19 = doplasma::val#17 + *(doplasma::ybuf+8)
  [78] (SCREEN1+8*$28)[doplasma::i2#2] = doplasma::val#19
  to:doplasma::@10_9
doplasma::@10_9: scope:[doplasma]  from doplasma::@10_8
  [79] doplasma::val#21 = doplasma::val#19 + *(doplasma::ybuf+9)
  [80] (SCREEN1+9*$28)[doplasma::i2#2] = doplasma::val#21
  to:doplasma::@10_10
doplasma::@10_10: scope:[doplasma]  from doplasma::@10_9
  [81] doplasma::val#23 = doplasma::val#21 + *(doplasma::ybuf+$a)
  [82] (SCREEN1+$a*$28)[doplasma::i2#2] = doplasma::val#23
  to:doplasma::@10_11
doplasma::@10_11: scope:[doplasma]  from doplasma::@10_10
  [83] doplasma::val#25 = doplasma::val#23 + *(doplasma::ybuf+$b)
  [84] (SCREEN1+$b*$28)[doplasma::i2#2] = doplasma::val#25
  to:doplasma::@10_12
doplasma::@10_12: scope:[doplasma]  from doplasma::@10_11
  [85] doplasma::val#27 = doplasma::val#25 + *(doplasma::ybuf+$c)
  [86] (SCREEN1+$c*$28)[doplasma::i2#2] = doplasma::val#27
  to:doplasma::@10_13
doplasma::@10_13: scope:[doplasma]  from doplasma::@10_12
  [87] doplasma::val#29 = doplasma::val#27 + *(doplasma::ybuf+$d)
  [88] (SCREEN1+$d*$28)[doplasma::i2#2] = doplasma::val#29
  to:doplasma::@10_14
doplasma::@10_14: scope:[doplasma]  from doplasma::@10_13
  [89] doplasma::val#31 = doplasma::val#29 + *(doplasma::ybuf+$e)
  [90] (SCREEN1+$e*$28)[doplasma::i2#2] = doplasma::val#31
  to:doplasma::@10_15
doplasma::@10_15: scope:[doplasma]  from doplasma::@10_14
  [91] doplasma::val#33 = doplasma::val#31 + *(doplasma::ybuf+$f)
  [92] (SCREEN1+$f*$28)[doplasma::i2#2] = doplasma::val#33
  to:doplasma::@10_16
doplasma::@10_16: scope:[doplasma]  from doplasma::@10_15
  [93] doplasma::val#35 = doplasma::val#33 + *(doplasma::ybuf+$10)
  [94] (SCREEN1+$10*$28)[doplasma::i2#2] = doplasma::val#35
  to:doplasma::@10_17
doplasma::@10_17: scope:[doplasma]  from doplasma::@10_16
  [95] doplasma::val#37 = doplasma::val#35 + *(doplasma::ybuf+$11)
  [96] (SCREEN1+$11*$28)[doplasma::i2#2] = doplasma::val#37
  to:doplasma::@10_18
doplasma::@10_18: scope:[doplasma]  from doplasma::@10_17
  [97] doplasma::val#39 = doplasma::val#37 + *(doplasma::ybuf+$12)
  [98] (SCREEN1+$12*$28)[doplasma::i2#2] = doplasma::val#39
  to:doplasma::@10_19
doplasma::@10_19: scope:[doplasma]  from doplasma::@10_18
  [99] doplasma::val#41 = doplasma::val#39 + *(doplasma::ybuf+$13)
  [100] (SCREEN1+$13*$28)[doplasma::i2#2] = doplasma::val#41
  to:doplasma::@10_20
doplasma::@10_20: scope:[doplasma]  from doplasma::@10_19
  [101] doplasma::val#43 = doplasma::val#41 + *(doplasma::ybuf+$14)
  [102] (SCREEN1+$14*$28)[doplasma::i2#2] = doplasma::val#43
  to:doplasma::@10_21
doplasma::@10_21: scope:[doplasma]  from doplasma::@10_20
  [103] doplasma::val#45 = doplasma::val#43 + *(doplasma::ybuf+$15)
  [104] (SCREEN1+$15*$28)[doplasma::i2#2] = doplasma::val#45
  to:doplasma::@10_22
doplasma::@10_22: scope:[doplasma]  from doplasma::@10_21
  [105] doplasma::val#47 = doplasma::val#45 + *(doplasma::ybuf+$16)
  [106] (SCREEN1+$16*$28)[doplasma::i2#2] = doplasma::val#47
  to:doplasma::@10_23
doplasma::@10_23: scope:[doplasma]  from doplasma::@10_22
  [107] doplasma::val#49 = doplasma::val#47 + *(doplasma::ybuf+$17)
  [108] (SCREEN1+$17*$28)[doplasma::i2#2] = doplasma::val#49
  to:doplasma::@10_24
doplasma::@10_24: scope:[doplasma]  from doplasma::@10_23
  [109] doplasma::val#51 = doplasma::val#49 + *(doplasma::ybuf+$18)
  [110] (SCREEN1+$18*$28)[doplasma::i2#2] = doplasma::val#51
  to:doplasma::@10
doplasma::@10: scope:[doplasma]  from doplasma::@10_24
  [111] doplasma::i2#1 = ++ doplasma::i2#2
  to:doplasma::@7
doplasma::@5: scope:[doplasma]  from doplasma::@4
  [112] doplasma::$4 = SINTABLE[doplasma::c2a#2] + SINTABLE[doplasma::c2b#2]
  [113] doplasma::xbuf[doplasma::i1#2] = doplasma::$4
  [114] doplasma::c2a#1 = doplasma::c2a#2 + 3
  [115] doplasma::c2b#1 = doplasma::c2b#2 + 7
  [116] doplasma::i1#1 = ++ doplasma::i1#2
  to:doplasma::@4
doplasma::@2: scope:[doplasma]  from doplasma::@1
  [117] doplasma::yprev#1 = SINTABLE[doplasma::c1a#2] + SINTABLE[doplasma::c1b#2]
  [118] doplasma::$2 = doplasma::yprev#1 - doplasma::yprev#2
  [119] doplasma::ybuf[doplasma::i#2] = doplasma::$2
  [120] doplasma::c1a#1 = doplasma::c1a#2 + 4
  [121] doplasma::c1b#1 = doplasma::c1b#2 + 9
  [122] doplasma::i#1 = ++ doplasma::i#2
  [123] doplasma::yprev#4 = doplasma::yprev#1
  to:doplasma::@1

void print_cls()
print_cls: scope:[print_cls]  from makecharset::@11
  [124] phi()
  [125] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [126] return 
  to:@return

void print_char(char ch)
print_char: scope:[print_char]  from makecharset::@9
  [127] *print_char_cursor#19 = print_char::ch#0
  [128] print_char_cursor#0 = ++ print_char_cursor#19
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [129] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [130] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [131] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [132] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [133] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [134] *memset::dst#2 = memset::c#0
  [135] memset::dst#1 = ++ memset::dst#2
  to:memset::@1
