
void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] xr = 0
  [2] yr = 0
  [3] zr = 0
  [4] pp = 0
  [5] xp = 0
  [6] yp = 0
  [7] psp1 = 0
  [8] psp2 = 0
  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 main()
main: scope:[main]  from __start::@1
  asm { sei  }
  [13] call sprites_init
  to:main::@1
main::@1: scope:[main]  from main
  [14] psp1 = (unsigned int)mulf_sqr1
  [15] psp2 = (unsigned int)mulf_sqr2
  [16] call debug_print_init
  to:main::@2
main::@2: scope:[main]  from main::@1
  [17] phi()
  [18] call anim
  to:main::@return
main::@return: scope:[main]  from main::@2
  [19] return 
  to:@return

void sprites_init()
sprites_init: scope:[sprites_init]  from main
  [20] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff
  to:sprites_init::@1
sprites_init::@1: scope:[sprites_init]  from sprites_init sprites_init::@1
  [21] sprites_init::i#2 = phi( sprites_init/0, sprites_init::@1/sprites_init::i#1 )
  [22] sprites_init::sprites_ptr#0[sprites_init::i#2] = (char)SPRITE/$40
  [23] SPRITES_COLOR[sprites_init::i#2] = GREEN
  [24] sprites_init::i#1 = ++ sprites_init::i#2
  [25] if(sprites_init::i#1!=8) goto sprites_init::@1
  to:sprites_init::@return
sprites_init::@return: scope:[sprites_init]  from sprites_init::@1
  [26] return 
  to:@return

void debug_print_init()
debug_print_init: scope:[debug_print_init]  from main::@1
  [27] phi()
  [28] call print_cls
  to:debug_print_init::@4
debug_print_init::@4: scope:[debug_print_init]  from debug_print_init
  [29] phi()
  [30] call print_str_at
  to:debug_print_init::@5
debug_print_init::@5: scope:[debug_print_init]  from debug_print_init::@4
  [31] phi()
  [32] call print_str_at
  to:debug_print_init::@6
debug_print_init::@6: scope:[debug_print_init]  from debug_print_init::@5
  [33] phi()
  [34] call print_str_at
  to:debug_print_init::@7
debug_print_init::@7: scope:[debug_print_init]  from debug_print_init::@6
  [35] phi()
  [36] call print_str_at
  to:debug_print_init::@8
debug_print_init::@8: scope:[debug_print_init]  from debug_print_init::@7
  [37] phi()
  [38] call print_str_at
  to:debug_print_init::@9
debug_print_init::@9: scope:[debug_print_init]  from debug_print_init::@8
  [39] phi()
  [40] call print_str_at
  to:debug_print_init::@10
debug_print_init::@10: scope:[debug_print_init]  from debug_print_init::@9
  [41] phi()
  [42] call print_str_at
  to:debug_print_init::@11
debug_print_init::@11: scope:[debug_print_init]  from debug_print_init::@10
  [43] phi()
  [44] call print_str_at
  to:debug_print_init::@12
debug_print_init::@12: scope:[debug_print_init]  from debug_print_init::@11
  [45] phi()
  [46] call print_str_at
  to:debug_print_init::@13
debug_print_init::@13: scope:[debug_print_init]  from debug_print_init::@12
  [47] phi()
  [48] call print_str_at
  to:debug_print_init::@14
debug_print_init::@14: scope:[debug_print_init]  from debug_print_init::@13
  [49] phi()
  [50] call print_str_at
  to:debug_print_init::@15
debug_print_init::@15: scope:[debug_print_init]  from debug_print_init::@14
  [51] phi()
  [52] call print_str_at
  to:debug_print_init::@1
debug_print_init::@1: scope:[debug_print_init]  from debug_print_init::@15 debug_print_init::@3
  [53] debug_print_init::i#2 = phi( debug_print_init::@15/0, debug_print_init::@3/debug_print_init::i#1 )
  [53] debug_print_init::c#2 = phi( debug_print_init::@15/4, debug_print_init::@3/debug_print_init::c#1 )
  [54] print_schar_at::at#0 = debug_print_init::at_line#0 + debug_print_init::c#2
  [55] print_schar_at::b#1 = xs[debug_print_init::i#2]
  [56] call print_schar_at
  to:debug_print_init::@16
debug_print_init::@16: scope:[debug_print_init]  from debug_print_init::@1
  [57] print_schar_at::at#1 = debug_print_init::at_line#0+$28*1 + debug_print_init::c#2
  [58] print_schar_at::b#2 = ys[debug_print_init::i#2]
  [59] call print_schar_at
  to:debug_print_init::@17
debug_print_init::@17: scope:[debug_print_init]  from debug_print_init::@16
  [60] print_schar_at::at#2 = debug_print_init::at_line#0+$28*2 + debug_print_init::c#2
  [61] print_schar_at::b#3 = zs[debug_print_init::i#2]
  [62] call print_schar_at
  to:debug_print_init::@2
debug_print_init::@2: scope:[debug_print_init]  from debug_print_init::@17 debug_print_init::@2
  [63] debug_print_init::j#2 = phi( debug_print_init::@17/0, debug_print_init::@2/debug_print_init::j#1 )
  [64] debug_print_init::col#0 = 8 + debug_print_init::i#2
  [65] debug_print_init::$41 = debug_print_init::at_cols#0 + debug_print_init::c#2
  [66] debug_print_init::$41[debug_print_init::j#2] = debug_print_init::col#0
  [67] debug_print_init::$44 = debug_print_init::at_cols#0+$28*1 + debug_print_init::c#2
  [68] debug_print_init::$44[debug_print_init::j#2] = debug_print_init::col#0
  [69] debug_print_init::$47 = debug_print_init::at_cols#0+$28*2 + debug_print_init::c#2
  [70] debug_print_init::$47[debug_print_init::j#2] = debug_print_init::col#0
  [71] debug_print_init::$50 = debug_print_init::at_cols#0+$28*3 + debug_print_init::c#2
  [72] debug_print_init::$50[debug_print_init::j#2] = debug_print_init::col#0
  [73] debug_print_init::$53 = debug_print_init::at_cols#0+$28*4 + debug_print_init::c#2
  [74] debug_print_init::$53[debug_print_init::j#2] = debug_print_init::col#0
  [75] debug_print_init::$56 = debug_print_init::at_cols#0+$28*5 + debug_print_init::c#2
  [76] debug_print_init::$56[debug_print_init::j#2] = debug_print_init::col#0
  [77] debug_print_init::$59 = debug_print_init::at_cols#0+$28*6 + debug_print_init::c#2
  [78] debug_print_init::$59[debug_print_init::j#2] = debug_print_init::col#0
  [79] debug_print_init::$62 = debug_print_init::at_cols#0+(unsigned int)$28*7 + debug_print_init::c#2
  [80] debug_print_init::$62[debug_print_init::j#2] = debug_print_init::col#0
  [81] debug_print_init::$65 = debug_print_init::at_cols#0+(unsigned int)$28*8 + debug_print_init::c#2
  [82] debug_print_init::$65[debug_print_init::j#2] = debug_print_init::col#0
  [83] debug_print_init::j#1 = ++ debug_print_init::j#2
  [84] if(debug_print_init::j#1!=4) goto debug_print_init::@2
  to:debug_print_init::@3
debug_print_init::@3: scope:[debug_print_init]  from debug_print_init::@2
  [85] debug_print_init::c#1 = debug_print_init::c#2 + 4
  [86] debug_print_init::i#1 = ++ debug_print_init::i#2
  [87] if(debug_print_init::i#1!=8) goto debug_print_init::@1
  to:debug_print_init::@return
debug_print_init::@return: scope:[debug_print_init]  from debug_print_init::@3
  [88] return 
  to:@return

void anim()
anim: scope:[anim]  from main::@2
  [89] phi()
  to:anim::@1
anim::@1: scope:[anim]  from anim anim::@10
  [90] sy#11 = phi( anim/0, anim::@10/sy#2 )
  [90] sx#11 = phi( anim/0, anim::@10/sx#2 )
  to:anim::@2
anim::@2: scope:[anim]  from anim::@1 anim::@2
  [91] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$ff) goto anim::@2
  to:anim::@3
anim::@3: scope:[anim]  from anim::@2 anim::@3
  [92] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fe) goto anim::@3
  to:anim::@4
anim::@4: scope:[anim]  from anim::@3 anim::@4
  [93] if(*((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_RASTER)!=$fd) goto anim::@4
  to:anim::@5
anim::@5: scope:[anim]  from anim::@4
  [94] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  [95] calculate_matrix::sx#0 = sx#11
  [96] calculate_matrix::sy#0 = sy#11
  [97] call calculate_matrix
  to:anim::@8
anim::@8: scope:[anim]  from anim::@5
  [98] phi()
  [99] call store_matrix
  to:anim::@6
anim::@6: scope:[anim]  from anim::@8 anim::@9
  [100] anim::i#2 = phi( anim::@9/anim::i#1, anim::@8/0 )
  [101] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = ++ *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR)
  [102] rotate_matrix::x#0 = xs[anim::i#2]
  [103] rotate_matrix::y#0 = ys[anim::i#2]
  [104] rotate_matrix::z#0 = zs[anim::i#2]
  [105] call rotate_matrix
  to:anim::@9
anim::@9: scope:[anim]  from anim::@6
  [106] xrs[anim::i#2] = xr
  [107] yrs[anim::i#2] = yr
  [108] zrs[anim::i#2] = zr
  [109] pps[anim::i#2] = pp
  [110] xps[anim::i#2] = xp
  [111] yps[anim::i#2] = yp
  [112] anim::i2#0 = anim::i#2 << 1
  [113] anim::$13 = (char)xp
  [114] anim::$9 = $80 + anim::$13
  [115] SPRITES_XPOS[anim::i2#0] = anim::$9
  [116] anim::$14 = (char)yp
  [117] anim::$10 = $80 + anim::$14
  [118] SPRITES_YPOS[anim::i2#0] = anim::$10
  [119] anim::i#1 = ++ anim::i#2
  [120] if(anim::i#1!=8) goto anim::@6
  to:anim::@7
anim::@7: scope:[anim]  from anim::@9
  [121] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_GREY
  [122] call debug_print
  to:anim::@10
anim::@10: scope:[anim]  from anim::@7
  [123] *((char *)VICII+OFFSET_STRUCT_MOS6569_VICII_BORDER_COLOR) = LIGHT_BLUE
  [124] sx#2 = sx#11 + 2
  [125] sy#2 = sy#11 - 3
  to:anim::@1

void print_cls()
print_cls: scope:[print_cls]  from debug_print_init
  [126] phi()
  [127] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [128] return 
  to:@return

void print_str_at(char *str , char *at)
print_str_at: scope:[print_str_at]  from debug_print_init::@10 debug_print_init::@11 debug_print_init::@12 debug_print_init::@13 debug_print_init::@14 debug_print_init::@15 debug_print_init::@4 debug_print_init::@5 debug_print_init::@6 debug_print_init::@7 debug_print_init::@8 debug_print_init::@9
  [129] print_str_at::at#15 = phi( debug_print_init::@10/SCREEN+(unsigned int)$28*$13, debug_print_init::@11/SCREEN+(unsigned int)$28*$14, debug_print_init::@12/SCREEN+(unsigned int)$28*$15, debug_print_init::@13/SCREEN+(unsigned int)$28*$16, debug_print_init::@14/SCREEN+(unsigned int)$28*$17, debug_print_init::@15/SCREEN+(unsigned int)$28*$18, debug_print_init::@4/SCREEN+$22, debug_print_init::@5/SCREEN+$28*1+$22, debug_print_init::@6/SCREEN+$28*2+$22, debug_print_init::@7/SCREEN+(unsigned int)$28*$10, debug_print_init::@8/SCREEN+(unsigned int)$28*$11, debug_print_init::@9/SCREEN+(unsigned int)$28*$12 )
  [129] print_str_at::str#15 = phi( debug_print_init::@10/debug_print_init::str6, debug_print_init::@11/debug_print_init::str7, debug_print_init::@12/debug_print_init::str8, debug_print_init::@13/debug_print_init::str9, debug_print_init::@14/debug_print_init::str10, debug_print_init::@15/debug_print_init::str11, debug_print_init::@4/debug_print_init::str, debug_print_init::@5/debug_print_init::str1, debug_print_init::@6/debug_print_init::str2, debug_print_init::@7/debug_print_init::str3, debug_print_init::@8/debug_print_init::str4, debug_print_init::@9/debug_print_init::str5 )
  to:print_str_at::@1
print_str_at::@1: scope:[print_str_at]  from print_str_at print_str_at::@2
  [130] print_str_at::at#13 = phi( print_str_at/print_str_at::at#15, print_str_at::@2/print_str_at::at#0 )
  [130] print_str_at::str#13 = phi( print_str_at/print_str_at::str#15, print_str_at::@2/print_str_at::str#0 )
  [131] if(0!=*print_str_at::str#13) goto print_str_at::@2
  to:print_str_at::@return
print_str_at::@return: scope:[print_str_at]  from print_str_at::@1
  [132] return 
  to:@return
print_str_at::@2: scope:[print_str_at]  from print_str_at::@1
  [133] *print_str_at::at#13 = *print_str_at::str#13
  [134] print_str_at::at#0 = ++ print_str_at::at#13
  [135] print_str_at::str#0 = ++ print_str_at::str#13
  to:print_str_at::@1

void print_schar_at(signed char b , char *at)
print_schar_at: scope:[print_schar_at]  from debug_print::@1 debug_print::@12 debug_print::@13 debug_print::@14 debug_print::@15 debug_print::@16 debug_print::print_schar_pos1 debug_print::print_schar_pos10 debug_print::print_schar_pos11 debug_print::print_schar_pos12 debug_print::print_schar_pos2 debug_print::print_schar_pos3 debug_print::print_schar_pos4 debug_print::print_schar_pos5 debug_print::print_schar_pos6 debug_print::print_schar_pos7 debug_print::print_schar_pos8 debug_print::print_schar_pos9 debug_print_init::@1 debug_print_init::@16 debug_print_init::@17
  [136] print_schar_at::at#21 = phi( debug_print::@1/print_schar_at::at#15, debug_print::@12/print_schar_at::at#16, debug_print::@13/print_schar_at::at#17, debug_print::@14/print_schar_at::at#18, debug_print::@15/print_schar_at::at#19, debug_print::@16/print_schar_at::at#20, debug_print::print_schar_pos1/print_screen#0+debug_print::print_schar_pos1_col#0, debug_print::print_schar_pos10/print_screen#0+debug_print::print_schar_pos10_row#0*$28+debug_print::print_schar_pos10_col#0, debug_print::print_schar_pos11/print_screen#0+debug_print::print_schar_pos11_row#0*$28+debug_print::print_schar_pos11_col#0, debug_print::print_schar_pos12/print_screen#0+debug_print::print_schar_pos12_row#0*$28+debug_print::print_schar_pos12_col#0, debug_print::print_schar_pos2/print_screen#0+debug_print::print_schar_pos2_row#0*$28+debug_print::print_schar_pos2_col#0, debug_print::print_schar_pos3/print_screen#0+debug_print::print_schar_pos3_row#0*$28+debug_print::print_schar_pos3_col#0, debug_print::print_schar_pos4/print_screen#0+debug_print::print_schar_pos4_row#0*$28+debug_print::print_schar_pos4_col#0, debug_print::print_schar_pos5/print_screen#0+debug_print::print_schar_pos5_row#0*$28+debug_print::print_schar_pos5_col#0, debug_print::print_schar_pos6/print_screen#0+debug_print::print_schar_pos6_row#0*$28+debug_print::print_schar_pos6_col#0, debug_print::print_schar_pos7/print_screen#0+debug_print::print_schar_pos7_row#0*$28+debug_print::print_schar_pos7_col#0, debug_print::print_schar_pos8/print_screen#0+debug_print::print_schar_pos8_row#0*$28+debug_print::print_schar_pos8_col#0, debug_print::print_schar_pos9/print_screen#0+debug_print::print_schar_pos9_row#0*$28+debug_print::print_schar_pos9_col#0, debug_print_init::@1/print_schar_at::at#0, debug_print_init::@16/print_schar_at::at#1, debug_print_init::@17/print_schar_at::at#2 )
  [136] print_schar_at::b#22 = phi( debug_print::@1/print_schar_at::b#16, debug_print::@12/print_schar_at::b#17, debug_print::@13/print_schar_at::b#18, debug_print::@14/print_schar_at::b#19, debug_print::@15/print_schar_at::b#20, debug_print::@16/print_schar_at::b#21, debug_print::print_schar_pos1/print_schar_at::b#4, debug_print::print_schar_pos10/print_schar_at::b#13, debug_print::print_schar_pos11/print_schar_at::b#14, debug_print::print_schar_pos12/print_schar_at::b#15, debug_print::print_schar_pos2/print_schar_at::b#5, debug_print::print_schar_pos3/sz, debug_print::print_schar_pos4/print_schar_at::b#7, debug_print::print_schar_pos5/print_schar_at::b#8, debug_print::print_schar_pos6/print_schar_at::b#9, debug_print::print_schar_pos7/print_schar_at::b#10, debug_print::print_schar_pos8/print_schar_at::b#11, debug_print::print_schar_pos9/print_schar_at::b#12, debug_print_init::@1/print_schar_at::b#1, debug_print_init::@16/print_schar_at::b#2, debug_print_init::@17/print_schar_at::b#3 )
  [137] if(print_schar_at::b#22<0) goto print_schar_at::@1
  to:print_schar_at::@3
print_schar_at::@3: scope:[print_schar_at]  from print_schar_at
  [138] print_char_at::at#1 = print_schar_at::at#21
  [139] call print_char_at
  to:print_schar_at::@2
print_schar_at::@2: scope:[print_schar_at]  from print_schar_at::@3 print_schar_at::@4
  [140] print_schar_at::b#24 = phi( print_schar_at::@4/print_schar_at::b#0, print_schar_at::@3/print_schar_at::b#22 )
  [141] print_uchar_at::at#0 = print_schar_at::at#21 + 1
  [142] print_uchar_at::b#0 = (char)print_schar_at::b#24
  [143] call print_uchar_at
  to:print_schar_at::@return
print_schar_at::@return: scope:[print_schar_at]  from print_schar_at::@2
  [144] return 
  to:@return
print_schar_at::@1: scope:[print_schar_at]  from print_schar_at
  [145] print_char_at::at#0 = print_schar_at::at#21
  [146] call print_char_at
  to:print_schar_at::@4
print_schar_at::@4: scope:[print_schar_at]  from print_schar_at::@1
  [147] print_schar_at::b#0 = - print_schar_at::b#22
  to:print_schar_at::@2

void calculate_matrix(signed char sx , signed char sy , signed char sz)
calculate_matrix: scope:[calculate_matrix]  from anim::@5
  [148] calculate_matrix::t1#0 = calculate_matrix::sy#0
  [149] calculate_matrix::t2#0 = calculate_matrix::sy#0
  [150] calculate_matrix::t3#0 = calculate_matrix::sx#0
  [151] calculate_matrix::t4#0 = calculate_matrix::sx#0
  [152] calculate_matrix::t5#0 = calculate_matrix::sx#0 + calculate_matrix::t2#0
  [153] calculate_matrix::t6#0 = calculate_matrix::sx#0 - calculate_matrix::t1#0
  [154] calculate_matrix::t7#0 = calculate_matrix::sx#0 + calculate_matrix::t1#0
  [155] calculate_matrix::t8#0 = calculate_matrix::t2#0 - calculate_matrix::sx#0
  [156] calculate_matrix::t9#0 = calculate_matrix::sy#0 - calculate_matrix::sx#0
  [157] calculate_matrix::t10#0 = calculate_matrix::sy#0 + calculate_matrix::sx#0
  [158] calculate_matrix::$10 = COSH[calculate_matrix::t1#0] + COSH[calculate_matrix::t2#0]
  [159] *rotation_matrix = calculate_matrix::$10
  [160] calculate_matrix::$11 = SINH[calculate_matrix::t1#0] - SINH[calculate_matrix::t2#0]
  [161] *(rotation_matrix+1) = calculate_matrix::$11
  [162] calculate_matrix::$12 = SINH[calculate_matrix::sy#0] + SINH[calculate_matrix::sy#0]
  [163] *(rotation_matrix+2) = calculate_matrix::$12
  [164] calculate_matrix::$13 = SINH[calculate_matrix::t3#0] - SINH[calculate_matrix::t4#0]
  [165] calculate_matrix::$14 = calculate_matrix::$13 + COSQ[calculate_matrix::t6#0]
  [166] calculate_matrix::$15 = calculate_matrix::$14 - COSQ[calculate_matrix::t5#0]
  [167] calculate_matrix::$16 = calculate_matrix::$15 + COSQ[calculate_matrix::t8#0]
  [168] calculate_matrix::$17 = calculate_matrix::$16 - COSQ[calculate_matrix::t7#0]
  [169] *(rotation_matrix+3) = calculate_matrix::$17
  [170] calculate_matrix::$18 = COSH[calculate_matrix::t3#0] + COSH[calculate_matrix::t4#0]
  [171] calculate_matrix::$19 = calculate_matrix::$18 + SINQ[calculate_matrix::t5#0]
  [172] calculate_matrix::$20 = calculate_matrix::$19 - SINQ[calculate_matrix::t6#0]
  [173] calculate_matrix::$21 = calculate_matrix::$20 - SINQ[calculate_matrix::t7#0]
  [174] calculate_matrix::$22 = calculate_matrix::$21 - SINQ[calculate_matrix::t8#0]
  [175] *(rotation_matrix+4) = calculate_matrix::$22
  [176] calculate_matrix::$23 = SINH[calculate_matrix::t9#0] - SINH[calculate_matrix::t10#0]
  [177] *(rotation_matrix+5) = calculate_matrix::$23
  [178] calculate_matrix::$24 = COSH[calculate_matrix::t4#0] - COSH[calculate_matrix::t3#0]
  [179] calculate_matrix::$25 = calculate_matrix::$24 + SINQ[calculate_matrix::t6#0]
  [180] calculate_matrix::$26 = calculate_matrix::$25 - SINQ[calculate_matrix::t5#0]
  [181] calculate_matrix::$27 = calculate_matrix::$26 - SINQ[calculate_matrix::t8#0]
  [182] calculate_matrix::$28 = calculate_matrix::$27 - SINQ[calculate_matrix::t7#0]
  [183] *(rotation_matrix+6) = calculate_matrix::$28
  [184] calculate_matrix::$29 = SINH[calculate_matrix::t3#0] + SINH[calculate_matrix::t4#0]
  [185] calculate_matrix::$30 = calculate_matrix::$29 + COSQ[calculate_matrix::t6#0]
  [186] calculate_matrix::$31 = calculate_matrix::$30 - COSQ[calculate_matrix::t5#0]
  [187] calculate_matrix::$32 = calculate_matrix::$31 + COSQ[calculate_matrix::t7#0]
  [188] calculate_matrix::$33 = calculate_matrix::$32 - COSQ[calculate_matrix::t8#0]
  [189] *(rotation_matrix+7) = calculate_matrix::$33
  [190] calculate_matrix::$34 = COSH[calculate_matrix::t9#0] + COSH[calculate_matrix::t10#0]
  [191] *(rotation_matrix+8) = calculate_matrix::$34
  to:calculate_matrix::@return
calculate_matrix::@return: scope:[calculate_matrix]  from calculate_matrix
  [192] return 
  to:@return

void store_matrix()
store_matrix: scope:[store_matrix]  from anim::@8
  asm { ldarotation_matrix+0 starotate_matrix.A1+1 eor#$ff starotate_matrix.A2+1 ldarotation_matrix+1 starotate_matrix.B1+1 eor#$ff starotate_matrix.B2+1 ldarotation_matrix+2 starotate_matrix.C1+1 eor#$ff starotate_matrix.C2+1 ldarotation_matrix+3 starotate_matrix.D1+1 eor#$ff starotate_matrix.D2+1 ldarotation_matrix+4 starotate_matrix.E1+1 eor#$ff starotate_matrix.E2+1 ldarotation_matrix+5 starotate_matrix.F1+1 eor#$ff starotate_matrix.F2+1 ldarotation_matrix+6 starotate_matrix.G1+1 eor#$ff starotate_matrix.G2+1 ldarotation_matrix+7 starotate_matrix.H1+1 eor#$ff starotate_matrix.H2+1 ldarotation_matrix+8 starotate_matrix.I1+1 eor#$ff starotate_matrix.I2+1  }
  to:store_matrix::@return
store_matrix::@return: scope:[store_matrix]  from store_matrix
  [194] return 
  to:@return

void rotate_matrix(signed char x , signed char y , signed char z)
rotate_matrix: scope:[rotate_matrix]  from anim::@6
  [195] xr = rotate_matrix::x#0
  [196] yr = rotate_matrix::y#0
  [197] zr = rotate_matrix::z#0
  asm { ldxzr C1: ldamulf_sqr1,x sec C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x sec F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x sec I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 clc G1: adcmulf_sqr1,x sec G2: sbcmulf_sqr2,x clc H1: adcmulf_sqr1,y sec H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapp stapsp1 eor#$ff stapsp2 C3: lda#0 clc A1: adcmulf_sqr1,x sec A2: sbcmulf_sqr2,x clc B1: adcmulf_sqr1,y sec B2: sbcmulf_sqr2,y staxr staXX+1 clc F3: lda#0 clc D1: adcmulf_sqr1,x sec D2: sbcmulf_sqr2,x clc E1: adcmulf_sqr1,y sec E2: sbcmulf_sqr2,y stayr tay lda(psp1),y sec sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sec sbc(psp2),y staxp  }
  to:rotate_matrix::@return
rotate_matrix::@return: scope:[rotate_matrix]  from rotate_matrix
  [199] return 
  to:@return

void debug_print()
debug_print: scope:[debug_print]  from anim::@7
  [200] debug_print::print_schar_pos1_sb#0 = sx#11
  to:debug_print::print_schar_pos1
debug_print::print_schar_pos1: scope:[debug_print]  from debug_print
  [201] print_schar_at::b#4 = debug_print::print_schar_pos1_sb#0
  [202] call print_schar_at
  to:debug_print::@2
debug_print::@2: scope:[debug_print]  from debug_print::print_schar_pos1
  [203] debug_print::print_schar_pos2_sb#0 = sy#11
  to:debug_print::print_schar_pos2
debug_print::print_schar_pos2: scope:[debug_print]  from debug_print::@2
  [204] print_schar_at::b#5 = debug_print::print_schar_pos2_sb#0
  [205] call print_schar_at
  to:debug_print::print_schar_pos3
debug_print::print_schar_pos3: scope:[debug_print]  from debug_print::print_schar_pos2
  [206] phi()
  [207] call print_schar_at
  to:debug_print::@3
debug_print::@3: scope:[debug_print]  from debug_print::print_schar_pos3
  [208] debug_print::print_schar_pos4_sb#0 = *rotation_matrix
  to:debug_print::print_schar_pos4
debug_print::print_schar_pos4: scope:[debug_print]  from debug_print::@3
  [209] print_schar_at::b#7 = debug_print::print_schar_pos4_sb#0
  [210] call print_schar_at
  to:debug_print::@4
debug_print::@4: scope:[debug_print]  from debug_print::print_schar_pos4
  [211] debug_print::print_schar_pos5_sb#0 = *(rotation_matrix+1)
  to:debug_print::print_schar_pos5
debug_print::print_schar_pos5: scope:[debug_print]  from debug_print::@4
  [212] print_schar_at::b#8 = debug_print::print_schar_pos5_sb#0
  [213] call print_schar_at
  to:debug_print::@5
debug_print::@5: scope:[debug_print]  from debug_print::print_schar_pos5
  [214] debug_print::print_schar_pos6_sb#0 = *(rotation_matrix+2)
  to:debug_print::print_schar_pos6
debug_print::print_schar_pos6: scope:[debug_print]  from debug_print::@5
  [215] print_schar_at::b#9 = debug_print::print_schar_pos6_sb#0
  [216] call print_schar_at
  to:debug_print::@6
debug_print::@6: scope:[debug_print]  from debug_print::print_schar_pos6
  [217] debug_print::print_schar_pos7_sb#0 = *(rotation_matrix+3)
  to:debug_print::print_schar_pos7
debug_print::print_schar_pos7: scope:[debug_print]  from debug_print::@6
  [218] print_schar_at::b#10 = debug_print::print_schar_pos7_sb#0
  [219] call print_schar_at
  to:debug_print::@7
debug_print::@7: scope:[debug_print]  from debug_print::print_schar_pos7
  [220] debug_print::print_schar_pos8_sb#0 = *(rotation_matrix+4)
  to:debug_print::print_schar_pos8
debug_print::print_schar_pos8: scope:[debug_print]  from debug_print::@7
  [221] print_schar_at::b#11 = debug_print::print_schar_pos8_sb#0
  [222] call print_schar_at
  to:debug_print::@8
debug_print::@8: scope:[debug_print]  from debug_print::print_schar_pos8
  [223] debug_print::print_schar_pos9_sb#0 = *(rotation_matrix+5)
  to:debug_print::print_schar_pos9
debug_print::print_schar_pos9: scope:[debug_print]  from debug_print::@8
  [224] print_schar_at::b#12 = debug_print::print_schar_pos9_sb#0
  [225] call print_schar_at
  to:debug_print::@9
debug_print::@9: scope:[debug_print]  from debug_print::print_schar_pos9
  [226] debug_print::print_schar_pos10_sb#0 = *(rotation_matrix+6)
  to:debug_print::print_schar_pos10
debug_print::print_schar_pos10: scope:[debug_print]  from debug_print::@9
  [227] print_schar_at::b#13 = debug_print::print_schar_pos10_sb#0
  [228] call print_schar_at
  to:debug_print::@10
debug_print::@10: scope:[debug_print]  from debug_print::print_schar_pos10
  [229] debug_print::print_schar_pos11_sb#0 = *(rotation_matrix+7)
  to:debug_print::print_schar_pos11
debug_print::print_schar_pos11: scope:[debug_print]  from debug_print::@10
  [230] print_schar_at::b#14 = debug_print::print_schar_pos11_sb#0
  [231] call print_schar_at
  to:debug_print::@11
debug_print::@11: scope:[debug_print]  from debug_print::print_schar_pos11
  [232] debug_print::print_schar_pos12_sb#0 = *(rotation_matrix+8)
  to:debug_print::print_schar_pos12
debug_print::print_schar_pos12: scope:[debug_print]  from debug_print::@11
  [233] print_schar_at::b#15 = debug_print::print_schar_pos12_sb#0
  [234] call print_schar_at
  to:debug_print::@1
debug_print::@1: scope:[debug_print]  from debug_print::@17 debug_print::print_schar_pos12
  [235] debug_print::i#2 = phi( debug_print::print_schar_pos12/0, debug_print::@17/debug_print::i#1 )
  [235] debug_print::c#2 = phi( debug_print::print_schar_pos12/4, debug_print::@17/debug_print::c#1 )
  [236] print_schar_at::at#15 = debug_print::at_line#0 + debug_print::c#2
  [237] print_schar_at::b#16 = xrs[debug_print::i#2]
  [238] call print_schar_at
  to:debug_print::@12
debug_print::@12: scope:[debug_print]  from debug_print::@1
  [239] print_schar_at::at#16 = debug_print::at_line#0+$28*1 + debug_print::c#2
  [240] print_schar_at::b#17 = yrs[debug_print::i#2]
  [241] call print_schar_at
  to:debug_print::@13
debug_print::@13: scope:[debug_print]  from debug_print::@12
  [242] print_schar_at::at#17 = debug_print::at_line#0+$28*2 + debug_print::c#2
  [243] print_schar_at::b#18 = zrs[debug_print::i#2]
  [244] call print_schar_at
  to:debug_print::@14
debug_print::@14: scope:[debug_print]  from debug_print::@13
  [245] print_schar_at::at#18 = debug_print::at_line#0+$28*3 + debug_print::c#2
  [246] print_schar_at::b#19 = pps[debug_print::i#2]
  [247] call print_schar_at
  to:debug_print::@15
debug_print::@15: scope:[debug_print]  from debug_print::@14
  [248] print_schar_at::at#19 = debug_print::at_line#0+$28*4 + debug_print::c#2
  [249] print_schar_at::b#20 = xps[debug_print::i#2]
  [250] call print_schar_at
  to:debug_print::@16
debug_print::@16: scope:[debug_print]  from debug_print::@15
  [251] print_schar_at::at#20 = debug_print::at_line#0+$28*5 + debug_print::c#2
  [252] print_schar_at::b#21 = yps[debug_print::i#2]
  [253] call print_schar_at
  to:debug_print::@17
debug_print::@17: scope:[debug_print]  from debug_print::@16
  [254] debug_print::c#1 = debug_print::c#2 + 4
  [255] debug_print::i#1 = ++ debug_print::i#2
  [256] if(debug_print::i#1!=8) goto debug_print::@1
  to:debug_print::@return
debug_print::@return: scope:[debug_print]  from debug_print::@17
  [257] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [258] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [259] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [260] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [261] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [262] *memset::dst#2 = memset::c#0
  [263] memset::dst#1 = ++ memset::dst#2
  to:memset::@1

void print_char_at(char ch , char *at)
print_char_at: scope:[print_char_at]  from print_schar_at::@1 print_schar_at::@3 print_uchar_at print_uchar_at::@1
  [264] print_char_at::at#4 = phi( print_schar_at::@1/print_char_at::at#0, print_schar_at::@3/print_char_at::at#1, print_uchar_at/print_char_at::at#2, print_uchar_at::@1/print_char_at::at#3 )
  [264] print_char_at::ch#4 = phi( print_schar_at::@1/'-', print_schar_at::@3/' ', print_uchar_at/print_char_at::ch#2, print_uchar_at::@1/print_char_at::ch#3 )
  [265] *print_char_at::at#4 = print_char_at::ch#4
  to:print_char_at::@return
print_char_at::@return: scope:[print_char_at]  from print_char_at
  [266] return 
  to:@return

void print_uchar_at(char b , char *at)
print_uchar_at: scope:[print_uchar_at]  from print_schar_at::@2
  [267] print_uchar_at::$0 = print_uchar_at::b#0 >> 4
  [268] print_char_at::ch#2 = print_hextab[print_uchar_at::$0]
  [269] print_char_at::at#2 = print_uchar_at::at#0
  [270] call print_char_at
  to:print_uchar_at::@1
print_uchar_at::@1: scope:[print_uchar_at]  from print_uchar_at
  [271] print_uchar_at::$2 = print_uchar_at::b#0 & $f
  [272] print_char_at::at#3 = print_uchar_at::at#0 + 1
  [273] print_char_at::ch#3 = print_hextab[print_uchar_at::$2]
  [274] call print_char_at
  to:print_uchar_at::@return
print_uchar_at::@return: scope:[print_uchar_at]  from print_uchar_at::@1
  [275] return 
  to:@return
