1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00

Working on 16-bit rotation comparison

This commit is contained in:
jespergravgaard 2018-11-17 16:49:55 +01:00
parent 2a25f8d79d
commit 264f854133
7 changed files with 2584 additions and 11334 deletions

View File

@ -0,0 +1,4 @@
lda {z1}
sec
sbc #{c1}
sta {z1}

View File

@ -0,0 +1,2 @@
inc {z1}
inc {z1}

View File

@ -28,7 +28,7 @@ void main() {
*psp1 = (word)mulf_sqr1;
*psp2 = (word)mulf_sqr2;
debug_print_init();
//debug_print_init();
//calculate_matrix(1,1,1);
@ -36,9 +36,9 @@ void main() {
}
// Positions to rotate
signed byte[8] xs = { -95, 95, 00, 00, 00, 00, 00, 63};
signed byte[8] ys = { 00, 00, -95, 95, 00, 00, 00, 00};
signed byte[8] zs = { 00, 00, 00, 00, -95, 95, -00, 00};
signed byte[8] xs = { -52, -52, -52, 0, 0, 52, 52, 52};
signed byte[8] ys = { -52, 0, 52, -52, 52, -52, 0, 52};
signed byte[8] zs = { 52, 52, 52, 52, 52, 52, 52, 52};
// Rotated positions
signed byte[8] xrs;
signed byte[8] yrs;
@ -58,8 +58,11 @@ void anim() {
//signed byte xmax = 0;
while(true) {
while(*RASTER!=$ff) {}
//while(*RASTER!=$fe) {}
//while(*RASTER!=$fd) {}
(*BORDERCOL)++;
calculate_matrix_16(sx,sy,sz);
//calculate_matrix_16(sx,sy,sz);
calculate_matrix(sx,sy,sz);
store_matrix();
for(byte i: 0..7) {
(*BORDERCOL)++;
@ -73,16 +76,16 @@ void anim() {
xps[i] = *xp;
yps[i] = *yp;
byte i2 = i<<1;
SPRITES_XPOS[i2] = $80+(byte)((*xr));
SPRITES_YPOS[i2] = $80+(byte)((*yr));
SPRITES_XPOS[i2] = $80+(byte)((*xp));
SPRITES_YPOS[i2] = $80+(byte)((*yp));
}
*BORDERCOL = LIGHT_GREY;
debug_print();
//debug_print();
*BORDERCOL = LIGHT_BLUE;
// Increment angles
sx -=1;
sy +=1;
sz -=1;
sx +=2;
sy -=3;
//sz +=1;
}
}
@ -163,7 +166,7 @@ void sprites_init() {
byte* sprites_ptr = SCREEN+$3f8;
for(byte i: 0..7) {
sprites_ptr[i] = (byte)(SPRITE/$40);
SPRITES_COLS[i] = 8+i;
SPRITES_COLS[i] = GREEN; //8+i;
}
}
@ -201,15 +204,14 @@ void calculate_matrix(signed byte sx, signed byte sy, signed byte sz) {
void calculate_matrix_16(signed byte sx, signed byte sy, signed byte sz) {
signed byte t1 = sy-sz;
signed byte t2 = sy+sz;
signed word cosh_t1 = (signed word){ COSH_HI[t1], COSH_LO[t1] };
signed word cosh_t2 = (signed word){ COSH_HI[t2], COSH_LO[t2] };
rotation_matrix[0] = (signed byte)>(cosh_t1 + cosh_t2);
rotation_matrix[0] = round_hi(cosh_t1 + cosh_t2);
signed word sinh_t1 = (signed word){ SINH_HI[t1], SINH_LO[t1] };
signed word sinh_t2 = (signed word){ SINH_HI[t2], SINH_LO[t2] };
rotation_matrix[1] = (signed byte)>(sinh_t1 - sinh_t2);
rotation_matrix[1] = round_hi(sinh_t1 - sinh_t2);
signed word sinh_sy = (signed word){ SINH_HI[sy], SINH_LO[sy] };
rotation_matrix[2] = (signed byte)>(sinh_sy+sinh_sy);
rotation_matrix[2] = round_hi(sinh_sy+sinh_sy);
signed byte t3 = sx+sz;
signed byte t4 = sx-sz;
signed byte t5 = sx+t2; // = sx+sy+sz
@ -222,24 +224,30 @@ void calculate_matrix_16(signed byte sx, signed byte sy, signed byte sz) {
signed word cosq_t6 = (signed word){ COSQ_HI[t6], COSH_LO[t6] };
signed word cosq_t7 = (signed word){ COSQ_HI[t7], COSH_LO[t7] };
signed word cosq_t8 = (signed word){ COSQ_HI[t8], COSH_LO[t8] };
rotation_matrix[3] = (signed byte)>(sinh_t3 - sinh_t4 + cosq_t6 - cosq_t5 + cosq_t8 - cosq_t7);
rotation_matrix[7] = (signed byte)>(sinh_t3 + sinh_t4 + cosq_t6 - cosq_t5 + cosq_t7 - cosq_t8);
rotation_matrix[3] = round_hi(sinh_t3 - sinh_t4 + cosq_t6 - cosq_t5 + cosq_t8 - cosq_t7);
rotation_matrix[7] = round_hi(sinh_t3 + sinh_t4 + cosq_t6 - cosq_t5 + cosq_t7 - cosq_t8);
signed word cosh_t3 = (signed word){ COSH_HI[t3], COSH_LO[t3] };
signed word cosh_t4 = (signed word){ COSH_HI[t4], COSH_LO[t4] };
signed word sinq_t5 = (signed word){ SINQ_HI[t5], SINH_LO[t5] };
signed word sinq_t6 = (signed word){ SINQ_HI[t6], SINH_LO[t6] };
signed word sinq_t7 = (signed word){ SINQ_HI[t7], SINH_LO[t7] };
signed word sinq_t8 = (signed word){ SINQ_HI[t8], SINH_LO[t8] };
rotation_matrix[4] = (signed byte)>( cosh_t3 + cosh_t4 + sinq_t5 - sinq_t6 - sinq_t7 - sinq_t8);
rotation_matrix[6] = (signed byte)>( cosh_t4 - cosh_t3 + sinq_t6 - sinq_t5 - sinq_t7 - sinq_t8);
rotation_matrix[4] = round_hi( cosh_t3 + cosh_t4 + sinq_t5 - sinq_t6 - sinq_t7 - sinq_t8);
rotation_matrix[6] = round_hi( cosh_t4 - cosh_t3 + sinq_t6 - sinq_t5 - sinq_t7 - sinq_t8);
signed byte t9 = sy-sx;
signed byte t10 = sy+sx;
signed word sinh_t9 = (signed word){ SINH_HI[t9], SINH_LO[t9] };
signed word sinh_t10 = (signed word){ SINH_HI[t10], SINH_LO[t10] };
rotation_matrix[5] = (signed byte)>( sinh_t9 - sinh_t10);
rotation_matrix[5] = round_hi( sinh_t9 - sinh_t10);
signed word cosh_t9 = (signed word){ COSH_HI[t9], COSH_LO[t9] };
signed word cosh_t10 = (signed word){ COSH_HI[t10], COSH_LO[t10] };
rotation_matrix[8] = (signed byte)>( cosh_t9 + cosh_t10 );
rotation_matrix[8] = round_hi( cosh_t9 + cosh_t10 );
}
// Returns the rounded high byte of the passed signed word.
// Examines the lower byte to determine whether to round up or down
signed byte round_hi(signed word val) {
return (signed byte)>(val+$80);
}

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
@begin: scope:[] from
[0] phi()
to:@29
@29: scope:[] from @begin
to:@30
@30: scope:[] from @begin
kickasm(location (const byte*) mulf_sqr1#0) {{ .for(var i=0;i<$200;i++) {
.if(i<=159) { .byte round((i*i)/256) }
.if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) }
@ -94,458 +94,143 @@
}}
[11] call main
to:@end
@end: scope:[] from @29
@end: scope:[] from @30
[12] phi()
main: scope:[main] from @29
main: scope:[main] from @30
asm { sei }
[14] call sprites_init
to:main::@1
main::@1: scope:[main] from main
[15] *((const word*) psp1#0) ← ((word))(const byte*) mulf_sqr1#0
[16] *((const word*) psp2#0) ← ((word))(const byte*) mulf_sqr2#0
[17] call debug_print_init
to:main::@2
main::@2: scope:[main] from main::@1
[18] phi()
[19] call anim
[17] call anim
to:main::@return
main::@return: scope:[main] from main::@2
[20] return
main::@return: scope:[main] from main::@1
[18] return
to:@return
anim: scope:[anim] from main::@2
[21] phi()
anim: scope:[anim] from main::@1
[19] phi()
to:anim::@1
anim::@1: scope:[anim] from anim anim::@18
[22] (signed byte) sz#10 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@18/(signed byte) sz#3 )
[22] (signed byte) sy#10 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@18/(signed byte) sy#3 )
[22] (signed byte) sx#10 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@18/(signed byte) sx#3 )
anim::@1: scope:[anim] from anim anim::@13
[20] (signed byte) sy#10 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@13/(signed byte) sy#3 )
[20] (signed byte) sx#10 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@13/(signed byte) sx#3 )
to:anim::@4
anim::@4: scope:[anim] from anim::@1 anim::@4
[23] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto anim::@4
[21] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto anim::@4
to:anim::@6
anim::@6: scope:[anim] from anim::@4
[24] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0)
[25] (signed byte) calculate_matrix_16::sx#0 ← (signed byte) sx#10
[26] (signed byte) calculate_matrix_16::sy#0 ← (signed byte) sy#10
[27] (signed byte) calculate_matrix_16::sz#0 ← (signed byte) sz#10
[28] call calculate_matrix_16
[22] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0)
[23] (signed byte) calculate_matrix::sx#0 ← (signed byte) sx#10
[24] (signed byte) calculate_matrix::sy#0 ← (signed byte) sy#10
[25] call calculate_matrix
to:anim::@15
anim::@15: scope:[anim] from anim::@6
[29] phi()
[30] call store_matrix
[26] phi()
[27] call store_matrix
to:anim::@7
anim::@7: scope:[anim] from anim::@15 anim::@17
[31] (byte) anim::i#2 ← phi( anim::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@17/(byte) anim::i#1 )
[32] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0)
[33] (signed byte) rotate_matrix::x#0 ← *((const signed byte[8]) xs#0 + (byte) anim::i#2)
[34] (signed byte) rotate_matrix::y#0 ← *((const signed byte[8]) ys#0 + (byte) anim::i#2)
[35] (signed byte) rotate_matrix::z#0 ← *((const signed byte[8]) zs#0 + (byte) anim::i#2)
[36] call rotate_matrix
[28] (byte) anim::i#2 ← phi( anim::@15/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@17/(byte) anim::i#1 )
[29] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0)
[30] (signed byte) rotate_matrix::x#0 ← *((const signed byte[8]) xs#0 + (byte) anim::i#2)
[31] (signed byte) rotate_matrix::y#0 ← *((const signed byte[8]) ys#0 + (byte) anim::i#2)
[32] (signed byte) rotate_matrix::z#0 ← *((const signed byte[8]) zs#0 + (byte) anim::i#2)
[33] call rotate_matrix
to:anim::@17
anim::@17: scope:[anim] from anim::@7
[37] *((const signed byte[8]) xrs#0 + (byte) anim::i#2) ← *((const signed byte*) xr#0)
[38] *((const signed byte[8]) yrs#0 + (byte) anim::i#2) ← *((const signed byte*) yr#0)
[39] *((const signed byte[8]) zrs#0 + (byte) anim::i#2) ← *((const signed byte*) zr#0)
[40] *((const signed byte[8]) pps#0 + (byte) anim::i#2) ← *((const signed byte*) pp#0)
[41] *((const signed byte[8]) xps#0 + (byte) anim::i#2) ← *((const signed byte*) xp#0)
[42] *((const signed byte[8]) yps#0 + (byte) anim::i#2) ← *((const signed byte*) yp#0)
[43] (byte) anim::i2#0 ← (byte) anim::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
[44] (byte/word/signed word/dword/signed dword~) anim::$6 ← (byte/word/signed word/dword/signed dword) 128 + (byte)*((const signed byte*) xr#0)
[45] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$6
[46] (byte/word/signed word/dword/signed dword~) anim::$8 ← (byte/word/signed word/dword/signed dword) 128 + (byte)*((const signed byte*) yr#0)
[47] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$8
[48] (byte) anim::i#1 ← ++ (byte) anim::i#2
[49] if((byte) anim::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto anim::@7
[34] *((const signed byte[8]) xrs#0 + (byte) anim::i#2) ← *((const signed byte*) xr#0)
[35] *((const signed byte[8]) yrs#0 + (byte) anim::i#2) ← *((const signed byte*) yr#0)
[36] *((const signed byte[8]) zrs#0 + (byte) anim::i#2) ← *((const signed byte*) zr#0)
[37] *((const signed byte[8]) pps#0 + (byte) anim::i#2) ← *((const signed byte*) pp#0)
[38] *((const signed byte[8]) xps#0 + (byte) anim::i#2) ← *((const signed byte*) xp#0)
[39] *((const signed byte[8]) yps#0 + (byte) anim::i#2) ← *((const signed byte*) yp#0)
[40] (byte) anim::i2#0 ← (byte) anim::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
[41] (byte/word/signed word/dword/signed dword~) anim::$6 ← (byte/word/signed word/dword/signed dword) 128 + (byte)*((const signed byte*) xp#0)
[42] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$6
[43] (byte/word/signed word/dword/signed dword~) anim::$8 ← (byte/word/signed word/dword/signed dword) 128 + (byte)*((const signed byte*) yp#0)
[44] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$8
[45] (byte) anim::i#1 ← ++ (byte) anim::i#2
[46] if((byte) anim::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto anim::@7
to:anim::@13
anim::@13: scope:[anim] from anim::@17
[50] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_GREY#0
[51] call debug_print
to:anim::@18
anim::@18: scope:[anim] from anim::@13
[52] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0
[53] (signed byte) sx#3 ← (signed byte) sx#10 - (byte/signed byte/word/signed word/dword/signed dword) 1
[54] (signed byte) sy#3 ← (signed byte) sy#10 + (byte/signed byte/word/signed word/dword/signed dword) 1
[55] (signed byte) sz#3 ← (signed byte) sz#10 - (byte/signed byte/word/signed word/dword/signed dword) 1
[47] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_GREY#0
[48] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0
[49] (signed byte) sx#3 ← (signed byte) sx#10 + (byte/signed byte/word/signed word/dword/signed dword) 2
[50] (signed byte) sy#3 ← (signed byte) sy#10 - (byte/signed byte/word/signed word/dword/signed dword) 3
to:anim::@1
debug_print: scope:[debug_print] from anim::@13
[56] (signed byte) print_sbyte_at::b#4 ← (signed byte) sx#10
[57] call print_sbyte_at
to:debug_print::@3
debug_print::@3: scope:[debug_print] from debug_print
[58] (signed byte) print_sbyte_at::b#5 ← (signed byte) sy#10
[59] call print_sbyte_at
to:debug_print::@4
debug_print::@4: scope:[debug_print] from debug_print::@3
[60] (signed byte) print_sbyte_at::b#6 ← (signed byte) sz#10
[61] call print_sbyte_at
to:debug_print::@5
debug_print::@5: scope:[debug_print] from debug_print::@4
[62] (signed byte) print_sbyte_at::b#7 ← *((const signed byte[9]) rotation_matrix#0)
[63] call print_sbyte_at
to:debug_print::@6
debug_print::@6: scope:[debug_print] from debug_print::@5
[64] (signed byte) print_sbyte_at::b#8 ← *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1)
[65] call print_sbyte_at
to:debug_print::@7
debug_print::@7: scope:[debug_print] from debug_print::@6
[66] (signed byte) print_sbyte_at::b#9 ← *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 2)
[67] call print_sbyte_at
to:debug_print::@8
debug_print::@8: scope:[debug_print] from debug_print::@7
[68] (signed byte) print_sbyte_at::b#10 ← *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 3)
[69] call print_sbyte_at
to:debug_print::@9
debug_print::@9: scope:[debug_print] from debug_print::@8
[70] (signed byte) print_sbyte_at::b#11 ← *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 4)
[71] call print_sbyte_at
to:debug_print::@10
debug_print::@10: scope:[debug_print] from debug_print::@9
[72] (signed byte) print_sbyte_at::b#12 ← *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5)
[73] call print_sbyte_at
to:debug_print::@11
debug_print::@11: scope:[debug_print] from debug_print::@10
[74] (signed byte) print_sbyte_at::b#13 ← *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 6)
[75] call print_sbyte_at
to:debug_print::@12
debug_print::@12: scope:[debug_print] from debug_print::@11
[76] (signed byte) print_sbyte_at::b#14 ← *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 7)
[77] call print_sbyte_at
to:debug_print::@13
debug_print::@13: scope:[debug_print] from debug_print::@12
[78] (signed byte) print_sbyte_at::b#15 ← *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8)
[79] call print_sbyte_at
to:debug_print::@1
debug_print::@1: scope:[debug_print] from debug_print::@13 debug_print::@20
[80] (byte) debug_print::i#2 ← phi( debug_print::@13/(byte/signed byte/word/signed word/dword/signed dword) 0 debug_print::@20/(byte) debug_print::i#1 )
[80] (byte) debug_print::c#2 ← phi( debug_print::@13/(byte/signed byte/word/signed word/dword/signed dword) 4 debug_print::@20/(byte) debug_print::c#1 )
[81] (byte*) print_sbyte_at::at#15 ← (const byte*) debug_print::at_line#0 + (byte) debug_print::c#2
[82] (signed byte) print_sbyte_at::b#16 ← *((const signed byte[8]) xrs#0 + (byte) debug_print::i#2)
[83] call print_sbyte_at
to:debug_print::@15
debug_print::@15: scope:[debug_print] from debug_print::@1
[84] (byte*) print_sbyte_at::at#16 ← (const byte*) debug_print::at_line#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print::c#2
[85] (signed byte) print_sbyte_at::b#17 ← *((const signed byte[8]) yrs#0 + (byte) debug_print::i#2)
[86] call print_sbyte_at
to:debug_print::@16
debug_print::@16: scope:[debug_print] from debug_print::@15
[87] (byte*) print_sbyte_at::at#17 ← (const byte*) debug_print::at_line#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print::c#2
[88] (signed byte) print_sbyte_at::b#18 ← *((const signed byte[8]) zrs#0 + (byte) debug_print::i#2)
[89] call print_sbyte_at
to:debug_print::@17
debug_print::@17: scope:[debug_print] from debug_print::@16
[90] (byte*) print_sbyte_at::at#18 ← (const byte*) debug_print::at_line#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print::c#2
[91] (signed byte) print_sbyte_at::b#19 ← *((const signed byte[8]) pps#0 + (byte) debug_print::i#2)
[92] call print_sbyte_at
to:debug_print::@18
debug_print::@18: scope:[debug_print] from debug_print::@17
[93] (byte*) print_sbyte_at::at#19 ← (const byte*) debug_print::at_line#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print::c#2
[94] (signed byte) print_sbyte_at::b#20 ← *((const signed byte[8]) xps#0 + (byte) debug_print::i#2)
[95] call print_sbyte_at
to:debug_print::@19
debug_print::@19: scope:[debug_print] from debug_print::@18
[96] (byte*) print_sbyte_at::at#20 ← (const byte*) debug_print::at_line#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print::c#2
[97] (signed byte) print_sbyte_at::b#21 ← *((const signed byte[8]) yps#0 + (byte) debug_print::i#2)
[98] call print_sbyte_at
to:debug_print::@20
debug_print::@20: scope:[debug_print] from debug_print::@19
[99] (byte) debug_print::c#1 ← (byte) debug_print::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4
[100] (byte) debug_print::i#1 ← ++ (byte) debug_print::i#2
[101] if((byte) debug_print::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print::@1
to:debug_print::@return
debug_print::@return: scope:[debug_print] from debug_print::@20
[102] return
to:@return
print_sbyte_at: scope:[print_sbyte_at] from debug_print debug_print::@1 debug_print::@10 debug_print::@11 debug_print::@12 debug_print::@13 debug_print::@15 debug_print::@16 debug_print::@17 debug_print::@18 debug_print::@19 debug_print::@3 debug_print::@4 debug_print::@5 debug_print::@6 debug_print::@7 debug_print::@8 debug_print::@9 debug_print_init::@1 debug_print_init::@18 debug_print_init::@19
[103] (byte*) print_sbyte_at::at#21 ← phi( debug_print/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 37 debug_print::@1/(byte*) print_sbyte_at::at#15 debug_print::@10/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5+(byte/signed byte/word/signed word/dword/signed dword) 37 debug_print::@11/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 6+(byte/signed byte/word/signed word/dword/signed dword) 29 debug_print::@12/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 6+(byte/signed byte/word/signed word/dword/signed dword) 33 debug_print::@13/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 6+(byte/signed byte/word/signed word/dword/signed dword) 37 debug_print::@15/(byte*) print_sbyte_at::at#16 debug_print::@16/(byte*) print_sbyte_at::at#17 debug_print::@17/(byte*) print_sbyte_at::at#18 debug_print::@18/(byte*) print_sbyte_at::at#19 debug_print::@19/(byte*) print_sbyte_at::at#20 debug_print::@3/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 37 debug_print::@4/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 37 debug_print::@5/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4+(byte/signed byte/word/signed word/dword/signed dword) 29 debug_print::@6/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4+(byte/signed byte/word/signed word/dword/signed dword) 33 debug_print::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4+(byte/signed byte/word/signed word/dword/signed dword) 37 debug_print::@8/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5+(byte/signed byte/word/signed word/dword/signed dword) 29 debug_print::@9/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5+(byte/signed byte/word/signed word/dword/signed dword) 33 debug_print_init::@1/(byte*) print_sbyte_at::at#0 debug_print_init::@18/(byte*) print_sbyte_at::at#1 debug_print_init::@19/(byte*) print_sbyte_at::at#2 )
[103] (signed byte) print_sbyte_at::b#22 ← phi( debug_print/(signed byte) print_sbyte_at::b#4 debug_print::@1/(signed byte) print_sbyte_at::b#16 debug_print::@10/(signed byte) print_sbyte_at::b#12 debug_print::@11/(signed byte) print_sbyte_at::b#13 debug_print::@12/(signed byte) print_sbyte_at::b#14 debug_print::@13/(signed byte) print_sbyte_at::b#15 debug_print::@15/(signed byte) print_sbyte_at::b#17 debug_print::@16/(signed byte) print_sbyte_at::b#18 debug_print::@17/(signed byte) print_sbyte_at::b#19 debug_print::@18/(signed byte) print_sbyte_at::b#20 debug_print::@19/(signed byte) print_sbyte_at::b#21 debug_print::@3/(signed byte) print_sbyte_at::b#5 debug_print::@4/(signed byte) print_sbyte_at::b#6 debug_print::@5/(signed byte) print_sbyte_at::b#7 debug_print::@6/(signed byte) print_sbyte_at::b#8 debug_print::@7/(signed byte) print_sbyte_at::b#9 debug_print::@8/(signed byte) print_sbyte_at::b#10 debug_print::@9/(signed byte) print_sbyte_at::b#11 debug_print_init::@1/(signed byte) print_sbyte_at::b#1 debug_print_init::@18/(signed byte) print_sbyte_at::b#2 debug_print_init::@19/(signed byte) print_sbyte_at::b#3 )
[104] if((signed byte) print_sbyte_at::b#22<(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sbyte_at::@1
to:print_sbyte_at::@3
print_sbyte_at::@3: scope:[print_sbyte_at] from print_sbyte_at
[105] (byte*) print_char_at::at#1 ← (byte*) print_sbyte_at::at#21
[106] call print_char_at
to:print_sbyte_at::@2
print_sbyte_at::@2: scope:[print_sbyte_at] from print_sbyte_at::@3 print_sbyte_at::@5
[107] (signed byte) print_sbyte_at::b#24 ← phi( print_sbyte_at::@5/(signed byte) print_sbyte_at::b#0 print_sbyte_at::@3/(signed byte) print_sbyte_at::b#22 )
[108] (byte*) print_byte_at::at#0 ← (byte*) print_sbyte_at::at#21 + (byte/signed byte/word/signed word/dword/signed dword) 1
[109] call print_byte_at
to:print_sbyte_at::@return
print_sbyte_at::@return: scope:[print_sbyte_at] from print_sbyte_at::@2
[110] return
to:@return
print_sbyte_at::@1: scope:[print_sbyte_at] from print_sbyte_at
[111] (byte*) print_char_at::at#0 ← (byte*) print_sbyte_at::at#21
[112] call print_char_at
to:print_sbyte_at::@5
print_sbyte_at::@5: scope:[print_sbyte_at] from print_sbyte_at::@1
[113] (signed byte) print_sbyte_at::b#0 ← - (signed byte) print_sbyte_at::b#22
to:print_sbyte_at::@2
print_char_at: scope:[print_char_at] from print_byte_at print_byte_at::@1 print_sbyte_at::@1 print_sbyte_at::@3
[114] (byte*) print_char_at::at#4 ← phi( print_byte_at/(byte*) print_char_at::at#2 print_byte_at::@1/(byte*) print_char_at::at#3 print_sbyte_at::@1/(byte*) print_char_at::at#0 print_sbyte_at::@3/(byte*) print_char_at::at#1 )
[114] (byte) print_char_at::ch#4 ← phi( print_byte_at/(byte) print_char_at::ch#2 print_byte_at::@1/(byte) print_char_at::ch#3 print_sbyte_at::@1/(byte) '-' print_sbyte_at::@3/(byte) ' ' )
[115] *((byte*) print_char_at::at#4) ← (byte) print_char_at::ch#4
to:print_char_at::@return
print_char_at::@return: scope:[print_char_at] from print_char_at
[116] return
to:@return
print_byte_at: scope:[print_byte_at] from print_sbyte_at::@2
[117] (byte~) print_byte_at::$0 ← (byte)(signed byte) print_sbyte_at::b#24 >> (byte/signed byte/word/signed word/dword/signed dword) 4
[118] (byte) print_char_at::ch#2 ← *((const byte[]) print_hextab#0 + (byte~) print_byte_at::$0)
[119] (byte*) print_char_at::at#2 ← (byte*) print_byte_at::at#0
[120] call print_char_at
to:print_byte_at::@1
print_byte_at::@1: scope:[print_byte_at] from print_byte_at
[121] (byte~) print_byte_at::$2 ← (byte)(signed byte) print_sbyte_at::b#24 & (byte/signed byte/word/signed word/dword/signed dword) 15
[122] (byte*) print_char_at::at#3 ← (byte*) print_byte_at::at#0 + (byte/signed byte/word/signed word/dword/signed dword) 1
[123] (byte) print_char_at::ch#3 ← *((const byte[]) print_hextab#0 + (byte~) print_byte_at::$2)
[124] call print_char_at
to:print_byte_at::@return
print_byte_at::@return: scope:[print_byte_at] from print_byte_at::@1
[125] return
to:@return
rotate_matrix: scope:[rotate_matrix] from anim::@7
[126] *((const signed byte*) xr#0) ← (signed byte) rotate_matrix::x#0
[127] *((const signed byte*) yr#0) ← (signed byte) rotate_matrix::y#0
[128] *((const signed byte*) zr#0) ← (signed byte) rotate_matrix::z#0
[51] *((const signed byte*) xr#0) ← (signed byte) rotate_matrix::x#0
[52] *((const signed byte*) yr#0) ← (signed byte) rotate_matrix::y#0
[53] *((const signed byte*) zr#0) ← (signed byte) 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
[130] return
[55] return
to:@return
store_matrix: scope:[store_matrix] from anim::@15
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
[132] return
[57] return
to:@return
calculate_matrix_16: scope:[calculate_matrix_16] from anim::@6
[133] (signed byte) calculate_matrix_16::t1#0 ← (signed byte) calculate_matrix_16::sy#0 - (signed byte) calculate_matrix_16::sz#0
[134] (signed byte) calculate_matrix_16::t2#0 ← (signed byte) calculate_matrix_16::sy#0 + (signed byte) calculate_matrix_16::sz#0
[135] (word~) calculate_matrix_16::$74 ← *((const byte*) COSH_HI#0 + (signed byte) calculate_matrix_16::t1#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t1#0)
[136] (word~) calculate_matrix_16::$75 ← *((const byte*) COSH_HI#0 + (signed byte) calculate_matrix_16::t2#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t2#0)
[137] (signed word~) calculate_matrix_16::$4 ← (signed word)(word~) calculate_matrix_16::$74 + (signed word)(word~) calculate_matrix_16::$75
[138] (byte~) calculate_matrix_16::$5 ← > (signed word~) calculate_matrix_16::$4
[139] *((const signed byte[9]) rotation_matrix#0) ← (signed byte)(byte~) calculate_matrix_16::$5
[140] (word~) calculate_matrix_16::$76 ← *((const byte*) SINH_HI#0 + (signed byte) calculate_matrix_16::t1#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t1#0)
[141] (word~) calculate_matrix_16::$77 ← *((const byte*) SINH_HI#0 + (signed byte) calculate_matrix_16::t2#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t2#0)
[142] (signed word~) calculate_matrix_16::$9 ← (signed word)(word~) calculate_matrix_16::$76 - (signed word)(word~) calculate_matrix_16::$77
[143] (byte~) calculate_matrix_16::$10 ← > (signed word~) calculate_matrix_16::$9
[144] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (signed byte)(byte~) calculate_matrix_16::$10
[145] (word~) calculate_matrix_16::$78 ← *((const byte*) SINH_HI#0 + (signed byte) calculate_matrix_16::sy#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::sy#0)
[146] (signed word~) calculate_matrix_16::$13 ← (signed word)(word~) calculate_matrix_16::$78 + (signed word)(word~) calculate_matrix_16::$78
[147] (byte~) calculate_matrix_16::$14 ← > (signed word~) calculate_matrix_16::$13
[148] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (signed byte)(byte~) calculate_matrix_16::$14
[149] (signed byte) calculate_matrix_16::t3#0 ← (signed byte) calculate_matrix_16::sx#0 + (signed byte) calculate_matrix_16::sz#0
[150] (signed byte) calculate_matrix_16::t4#0 ← (signed byte) calculate_matrix_16::sx#0 - (signed byte) calculate_matrix_16::sz#0
[151] (signed byte) calculate_matrix_16::t5#0 ← (signed byte) calculate_matrix_16::sx#0 + (signed byte) calculate_matrix_16::t2#0
[152] (signed byte) calculate_matrix_16::t6#0 ← (signed byte) calculate_matrix_16::sx#0 - (signed byte) calculate_matrix_16::t1#0
[153] (signed byte) calculate_matrix_16::t7#0 ← (signed byte) calculate_matrix_16::sx#0 + (signed byte) calculate_matrix_16::t1#0
[154] (signed byte) calculate_matrix_16::t8#0 ← (signed byte) calculate_matrix_16::t2#0 - (signed byte) calculate_matrix_16::sx#0
[155] (word~) calculate_matrix_16::$79 ← *((const byte*) SINH_HI#0 + (signed byte) calculate_matrix_16::t3#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t3#0)
[156] (word~) calculate_matrix_16::$80 ← *((const byte*) SINH_HI#0 + (signed byte) calculate_matrix_16::t4#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t4#0)
[157] (word~) calculate_matrix_16::$81 ← *((const byte*) COSQ_HI#0 + (signed byte) calculate_matrix_16::t5#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t5#0)
[158] (word~) calculate_matrix_16::$82 ← *((const byte*) COSQ_HI#0 + (signed byte) calculate_matrix_16::t6#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t6#0)
[159] (word~) calculate_matrix_16::$83 ← *((const byte*) COSQ_HI#0 + (signed byte) calculate_matrix_16::t7#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t7#0)
[160] (word~) calculate_matrix_16::$84 ← *((const byte*) COSQ_HI#0 + (signed byte) calculate_matrix_16::t8#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t8#0)
[161] (signed word~) calculate_matrix_16::$28 ← (signed word)(word~) calculate_matrix_16::$79 - (signed word)(word~) calculate_matrix_16::$80
[162] (signed word~) calculate_matrix_16::$29 ← (signed word~) calculate_matrix_16::$28 + (signed word)(word~) calculate_matrix_16::$82
[163] (signed word~) calculate_matrix_16::$30 ← (signed word~) calculate_matrix_16::$29 - (signed word)(word~) calculate_matrix_16::$81
[164] (signed word~) calculate_matrix_16::$31 ← (signed word~) calculate_matrix_16::$30 + (signed word)(word~) calculate_matrix_16::$84
[165] (signed word~) calculate_matrix_16::$32 ← (signed word~) calculate_matrix_16::$31 - (signed word)(word~) calculate_matrix_16::$83
[166] (byte~) calculate_matrix_16::$33 ← > (signed word~) calculate_matrix_16::$32
[167] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (signed byte)(byte~) calculate_matrix_16::$33
[168] (signed word~) calculate_matrix_16::$35 ← (signed word)(word~) calculate_matrix_16::$79 + (signed word)(word~) calculate_matrix_16::$80
[169] (signed word~) calculate_matrix_16::$36 ← (signed word~) calculate_matrix_16::$35 + (signed word)(word~) calculate_matrix_16::$82
[170] (signed word~) calculate_matrix_16::$37 ← (signed word~) calculate_matrix_16::$36 - (signed word)(word~) calculate_matrix_16::$81
[171] (signed word~) calculate_matrix_16::$38 ← (signed word~) calculate_matrix_16::$37 + (signed word)(word~) calculate_matrix_16::$83
[172] (signed word~) calculate_matrix_16::$39 ← (signed word~) calculate_matrix_16::$38 - (signed word)(word~) calculate_matrix_16::$84
[173] (byte~) calculate_matrix_16::$40 ← > (signed word~) calculate_matrix_16::$39
[174] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 7) ← (signed byte)(byte~) calculate_matrix_16::$40
[175] (word~) calculate_matrix_16::$85 ← *((const byte*) COSH_HI#0 + (signed byte) calculate_matrix_16::t3#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t3#0)
[176] (word~) calculate_matrix_16::$86 ← *((const byte*) COSH_HI#0 + (signed byte) calculate_matrix_16::t4#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t4#0)
[177] (word~) calculate_matrix_16::$87 ← *((const byte*) SINQ_HI#0 + (signed byte) calculate_matrix_16::t5#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t5#0)
[178] (word~) calculate_matrix_16::$88 ← *((const byte*) SINQ_HI#0 + (signed byte) calculate_matrix_16::t6#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t6#0)
[179] (word~) calculate_matrix_16::$89 ← *((const byte*) SINQ_HI#0 + (signed byte) calculate_matrix_16::t7#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t7#0)
[180] (word~) calculate_matrix_16::$90 ← *((const byte*) SINQ_HI#0 + (signed byte) calculate_matrix_16::t8#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t8#0)
[181] (signed word~) calculate_matrix_16::$48 ← (signed word)(word~) calculate_matrix_16::$85 + (signed word)(word~) calculate_matrix_16::$86
[182] (signed word~) calculate_matrix_16::$49 ← (signed word~) calculate_matrix_16::$48 + (signed word)(word~) calculate_matrix_16::$87
[183] (signed word~) calculate_matrix_16::$50 ← (signed word~) calculate_matrix_16::$49 - (signed word)(word~) calculate_matrix_16::$88
[184] (signed word~) calculate_matrix_16::$51 ← (signed word~) calculate_matrix_16::$50 - (signed word)(word~) calculate_matrix_16::$89
[185] (signed word~) calculate_matrix_16::$52 ← (signed word~) calculate_matrix_16::$51 - (signed word)(word~) calculate_matrix_16::$90
[186] (byte~) calculate_matrix_16::$53 ← > (signed word~) calculate_matrix_16::$52
[187] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (signed byte)(byte~) calculate_matrix_16::$53
[188] (signed word~) calculate_matrix_16::$55 ← (signed word)(word~) calculate_matrix_16::$86 - (signed word)(word~) calculate_matrix_16::$85
[189] (signed word~) calculate_matrix_16::$56 ← (signed word~) calculate_matrix_16::$55 + (signed word)(word~) calculate_matrix_16::$88
[190] (signed word~) calculate_matrix_16::$57 ← (signed word~) calculate_matrix_16::$56 - (signed word)(word~) calculate_matrix_16::$87
[191] (signed word~) calculate_matrix_16::$58 ← (signed word~) calculate_matrix_16::$57 - (signed word)(word~) calculate_matrix_16::$89
[192] (signed word~) calculate_matrix_16::$59 ← (signed word~) calculate_matrix_16::$58 - (signed word)(word~) calculate_matrix_16::$90
[193] (byte~) calculate_matrix_16::$60 ← > (signed word~) calculate_matrix_16::$59
[194] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (signed byte)(byte~) calculate_matrix_16::$60
[195] (signed byte) calculate_matrix_16::t9#0 ← (signed byte) calculate_matrix_16::sy#0 - (signed byte) calculate_matrix_16::sx#0
[196] (signed byte) calculate_matrix_16::t10#0 ← (signed byte) calculate_matrix_16::sy#0 + (signed byte) calculate_matrix_16::sx#0
[197] (word~) calculate_matrix_16::$91 ← *((const byte*) SINH_HI#0 + (signed byte) calculate_matrix_16::t9#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t9#0)
[198] (word~) calculate_matrix_16::$92 ← *((const byte*) SINH_HI#0 + (signed byte) calculate_matrix_16::t10#0) w= *((const byte*) SINH_LO#0 + (signed byte) calculate_matrix_16::t10#0)
[199] (signed word~) calculate_matrix_16::$66 ← (signed word)(word~) calculate_matrix_16::$91 - (signed word)(word~) calculate_matrix_16::$92
[200] (byte~) calculate_matrix_16::$67 ← > (signed word~) calculate_matrix_16::$66
[201] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5) ← (signed byte)(byte~) calculate_matrix_16::$67
[202] (word~) calculate_matrix_16::$93 ← *((const byte*) COSH_HI#0 + (signed byte) calculate_matrix_16::t9#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t9#0)
[203] (word~) calculate_matrix_16::$94 ← *((const byte*) COSH_HI#0 + (signed byte) calculate_matrix_16::t10#0) w= *((const byte*) COSH_LO#0 + (signed byte) calculate_matrix_16::t10#0)
[204] (signed word~) calculate_matrix_16::$71 ← (signed word)(word~) calculate_matrix_16::$93 + (signed word)(word~) calculate_matrix_16::$94
[205] (byte~) calculate_matrix_16::$72 ← > (signed word~) calculate_matrix_16::$71
[206] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8) ← (signed byte)(byte~) calculate_matrix_16::$72
to:calculate_matrix_16::@return
calculate_matrix_16::@return: scope:[calculate_matrix_16] from calculate_matrix_16
[207] return
to:@return
debug_print_init: scope:[debug_print_init] from main::@1
[208] phi()
[209] call print_cls
to:debug_print_init::@5
debug_print_init::@5: scope:[debug_print_init] from debug_print_init
[210] phi()
[211] call print_str_at
to:debug_print_init::@6
debug_print_init::@6: scope:[debug_print_init] from debug_print_init::@5
[212] phi()
[213] call print_str_at
to:debug_print_init::@7
debug_print_init::@7: scope:[debug_print_init] from debug_print_init::@6
[214] phi()
[215] call print_str_at
to:debug_print_init::@8
debug_print_init::@8: scope:[debug_print_init] from debug_print_init::@7
[216] phi()
[217] call print_str_at
to:debug_print_init::@9
debug_print_init::@9: scope:[debug_print_init] from debug_print_init::@8
[218] phi()
[219] call print_str_at
to:debug_print_init::@10
debug_print_init::@10: scope:[debug_print_init] from debug_print_init::@9
[220] phi()
[221] call print_str_at
to:debug_print_init::@11
debug_print_init::@11: scope:[debug_print_init] from debug_print_init::@10
[222] phi()
[223] call print_str_at
to:debug_print_init::@12
debug_print_init::@12: scope:[debug_print_init] from debug_print_init::@11
[224] phi()
[225] call print_str_at
to:debug_print_init::@13
debug_print_init::@13: scope:[debug_print_init] from debug_print_init::@12
[226] phi()
[227] call print_str_at
to:debug_print_init::@14
debug_print_init::@14: scope:[debug_print_init] from debug_print_init::@13
[228] phi()
[229] call print_str_at
to:debug_print_init::@15
debug_print_init::@15: scope:[debug_print_init] from debug_print_init::@14
[230] phi()
[231] call print_str_at
to:debug_print_init::@16
debug_print_init::@16: scope:[debug_print_init] from debug_print_init::@15
[232] phi()
[233] call print_str_at
to:debug_print_init::@1
debug_print_init::@1: scope:[debug_print_init] from debug_print_init::@16 debug_print_init::@3
[234] (byte) debug_print_init::i#2 ← phi( debug_print_init::@16/(byte/signed byte/word/signed word/dword/signed dword) 0 debug_print_init::@3/(byte) debug_print_init::i#1 )
[234] (byte) debug_print_init::c#2 ← phi( debug_print_init::@16/(byte/signed byte/word/signed word/dword/signed dword) 4 debug_print_init::@3/(byte) debug_print_init::c#1 )
[235] (byte*) print_sbyte_at::at#0 ← (const byte*) debug_print_init::at_line#0 + (byte) debug_print_init::c#2
[236] (signed byte) print_sbyte_at::b#1 ← *((const signed byte[8]) xs#0 + (byte) debug_print_init::i#2)
[237] call print_sbyte_at
to:debug_print_init::@18
debug_print_init::@18: scope:[debug_print_init] from debug_print_init::@1
[238] (byte*) print_sbyte_at::at#1 ← (const byte*) debug_print_init::at_line#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2
[239] (signed byte) print_sbyte_at::b#2 ← *((const signed byte[8]) ys#0 + (byte) debug_print_init::i#2)
[240] call print_sbyte_at
to:debug_print_init::@19
debug_print_init::@19: scope:[debug_print_init] from debug_print_init::@18
[241] (byte*) print_sbyte_at::at#2 ← (const byte*) debug_print_init::at_line#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2
[242] (signed byte) print_sbyte_at::b#3 ← *((const signed byte[8]) zs#0 + (byte) debug_print_init::i#2)
[243] call print_sbyte_at
to:debug_print_init::@2
debug_print_init::@2: scope:[debug_print_init] from debug_print_init::@19 debug_print_init::@2
[244] (byte) debug_print_init::j#2 ← phi( debug_print_init::@2/(byte) debug_print_init::j#1 debug_print_init::@19/(byte/signed byte/word/signed word/dword/signed dword) 0 )
[245] (byte) debug_print_init::col#0 ← (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::i#2
[246] (byte*~) debug_print_init::$59 ← (const byte*) debug_print_init::at_cols#0 + (byte) debug_print_init::c#2
[247] (byte*~) debug_print_init::$60 ← (byte*~) debug_print_init::$59 + (byte) debug_print_init::j#2
[248] *((byte*~) debug_print_init::$60) ← (byte) debug_print_init::col#0
[249] (byte*~) debug_print_init::$63 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) debug_print_init::c#2
[250] (byte*~) debug_print_init::$64 ← (byte*~) debug_print_init::$63 + (byte) debug_print_init::j#2
[251] *((byte*~) debug_print_init::$64) ← (byte) debug_print_init::col#0
[252] (byte*~) debug_print_init::$67 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2 + (byte) debug_print_init::c#2
[253] (byte*~) debug_print_init::$68 ← (byte*~) debug_print_init::$67 + (byte) debug_print_init::j#2
[254] *((byte*~) debug_print_init::$68) ← (byte) debug_print_init::col#0
[255] (byte*~) debug_print_init::$71 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 3 + (byte) debug_print_init::c#2
[256] (byte*~) debug_print_init::$72 ← (byte*~) debug_print_init::$71 + (byte) debug_print_init::j#2
[257] *((byte*~) debug_print_init::$72) ← (byte) debug_print_init::col#0
[258] (byte*~) debug_print_init::$75 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 4 + (byte) debug_print_init::c#2
[259] (byte*~) debug_print_init::$76 ← (byte*~) debug_print_init::$75 + (byte) debug_print_init::j#2
[260] *((byte*~) debug_print_init::$76) ← (byte) debug_print_init::col#0
[261] (byte*~) debug_print_init::$79 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5 + (byte) debug_print_init::c#2
[262] (byte*~) debug_print_init::$80 ← (byte*~) debug_print_init::$79 + (byte) debug_print_init::j#2
[263] *((byte*~) debug_print_init::$80) ← (byte) debug_print_init::col#0
[264] (byte*~) debug_print_init::$83 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 6 + (byte) debug_print_init::c#2
[265] (byte*~) debug_print_init::$84 ← (byte*~) debug_print_init::$83 + (byte) debug_print_init::j#2
[266] *((byte*~) debug_print_init::$84) ← (byte) debug_print_init::col#0
[267] (byte*~) debug_print_init::$87 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 7 + (byte) debug_print_init::c#2
[268] (byte*~) debug_print_init::$88 ← (byte*~) debug_print_init::$87 + (byte) debug_print_init::j#2
[269] *((byte*~) debug_print_init::$88) ← (byte) debug_print_init::col#0
[270] (byte*~) debug_print_init::$91 ← (const byte*) debug_print_init::at_cols#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) debug_print_init::c#2
[271] (byte*~) debug_print_init::$92 ← (byte*~) debug_print_init::$91 + (byte) debug_print_init::j#2
[272] *((byte*~) debug_print_init::$92) ← (byte) debug_print_init::col#0
[273] (byte) debug_print_init::j#1 ← ++ (byte) debug_print_init::j#2
[274] if((byte) debug_print_init::j#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto debug_print_init::@2
to:debug_print_init::@3
debug_print_init::@3: scope:[debug_print_init] from debug_print_init::@2
[275] (byte) debug_print_init::c#1 ← (byte) debug_print_init::c#2 + (byte/signed byte/word/signed word/dword/signed dword) 4
[276] (byte) debug_print_init::i#1 ← ++ (byte) debug_print_init::i#2
[277] if((byte) debug_print_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto debug_print_init::@1
to:debug_print_init::@return
debug_print_init::@return: scope:[debug_print_init] from debug_print_init::@3
[278] return
to:@return
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::@16 debug_print_init::@5 debug_print_init::@6 debug_print_init::@7 debug_print_init::@8 debug_print_init::@9
[279] (byte*) print_str_at::at#15 ← phi( debug_print_init::@10/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 18 debug_print_init::@11/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 19 debug_print_init::@12/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 20 debug_print_init::@13/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 21 debug_print_init::@14/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 22 debug_print_init::@15/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 23 debug_print_init::@16/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 24 debug_print_init::@5/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 34 debug_print_init::@6/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 34 debug_print_init::@7/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 34 debug_print_init::@8/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 16 debug_print_init::@9/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 17 )
[279] (byte*) print_str_at::str#15 ← phi( debug_print_init::@10/(const string) debug_print_init::str5 debug_print_init::@11/(const string) debug_print_init::str6 debug_print_init::@12/(const string) debug_print_init::str7 debug_print_init::@13/(const string) debug_print_init::str8 debug_print_init::@14/(const string) debug_print_init::str9 debug_print_init::@15/(const string) debug_print_init::str10 debug_print_init::@16/(const string) debug_print_init::str11 debug_print_init::@5/(const string) debug_print_init::str debug_print_init::@6/(const string) debug_print_init::str1 debug_print_init::@7/(const string) debug_print_init::str2 debug_print_init::@8/(const string) debug_print_init::str3 debug_print_init::@9/(const string) debug_print_init::str4 )
to:print_str_at::@1
print_str_at::@1: scope:[print_str_at] from print_str_at print_str_at::@2
[280] (byte*) print_str_at::at#13 ← phi( print_str_at/(byte*) print_str_at::at#15 print_str_at::@2/(byte*) print_str_at::at#0 )
[280] (byte*) print_str_at::str#13 ← phi( print_str_at/(byte*) print_str_at::str#15 print_str_at::@2/(byte*) print_str_at::str#0 )
[281] if(*((byte*) print_str_at::str#13)!=(byte) '@') goto print_str_at::@2
to:print_str_at::@return
print_str_at::@return: scope:[print_str_at] from print_str_at::@1
[282] return
to:@return
print_str_at::@2: scope:[print_str_at] from print_str_at::@1
[283] *((byte*) print_str_at::at#13) ← *((byte*) print_str_at::str#13)
[284] (byte*) print_str_at::at#0 ← ++ (byte*) print_str_at::at#13
[285] (byte*) print_str_at::str#0 ← ++ (byte*) print_str_at::str#13
to:print_str_at::@1
print_cls: scope:[print_cls] from debug_print_init
[286] phi()
to:print_cls::@1
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
[287] (byte*) print_cls::sc#2 ← phi( print_cls/(const byte*) print_screen#0 print_cls::@1/(byte*) print_cls::sc#1 )
[288] *((byte*) print_cls::sc#2) ← (byte) ' '
[289] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2
[290] if((byte*) print_cls::sc#1!=(const byte*) print_screen#0+(word/signed word/dword/signed dword) 1000) goto print_cls::@1
to:print_cls::@return
print_cls::@return: scope:[print_cls] from print_cls::@1
[291] return
calculate_matrix: scope:[calculate_matrix] from anim::@6
[58] (signed byte) calculate_matrix::t1#0 ← (signed byte) calculate_matrix::sy#0 - (const signed byte) sz#0
[59] (signed byte) calculate_matrix::t2#0 ← (signed byte) calculate_matrix::sy#0 + (const signed byte) sz#0
[60] (signed byte) calculate_matrix::t3#0 ← (signed byte) calculate_matrix::sx#0
[61] (signed byte) calculate_matrix::t4#0 ← (signed byte) calculate_matrix::sx#0
[62] (signed byte) calculate_matrix::t5#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t2#0
[63] (signed byte) calculate_matrix::t6#0 ← (signed byte) calculate_matrix::sx#0 - (signed byte) calculate_matrix::t1#0
[64] (signed byte) calculate_matrix::t7#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t1#0
[65] (signed byte) calculate_matrix::t8#0 ← (signed byte) calculate_matrix::t2#0 - (signed byte) calculate_matrix::sx#0
[66] (signed byte) calculate_matrix::t9#0 ← (signed byte) calculate_matrix::sy#0 - (signed byte) calculate_matrix::sx#0
[67] (signed byte) calculate_matrix::t10#0 ← (signed byte) calculate_matrix::sy#0 + (signed byte) calculate_matrix::sx#0
[68] (signed byte~) calculate_matrix::$10 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t1#0) + *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t2#0)
[69] *((const signed byte[9]) rotation_matrix#0) ← (signed byte~) calculate_matrix::$10
[70] (signed byte~) calculate_matrix::$11 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t1#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t2#0)
[71] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (signed byte~) calculate_matrix::$11
[72] (signed byte~) calculate_matrix::$12 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::sy#0) + *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::sy#0)
[73] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (signed byte~) calculate_matrix::$12
[74] (signed byte~) calculate_matrix::$13 ← *((const signed byte*) SINH#0+(const signed byte) sz#0 + (signed byte) calculate_matrix::t3#0) - *((const signed byte*) SINH#0+-(const signed byte) sz#0 + (signed byte) calculate_matrix::t4#0)
[75] (signed byte~) calculate_matrix::$14 ← (signed byte~) calculate_matrix::$13 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0)
[76] (signed byte~) calculate_matrix::$15 ← (signed byte~) calculate_matrix::$14 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0)
[77] (signed byte~) calculate_matrix::$16 ← (signed byte~) calculate_matrix::$15 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0)
[78] (signed byte~) calculate_matrix::$17 ← (signed byte~) calculate_matrix::$16 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0)
[79] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (signed byte~) calculate_matrix::$17
[80] (signed byte~) calculate_matrix::$18 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t3#0) + *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t4#0)
[81] (signed byte~) calculate_matrix::$19 ← (signed byte~) calculate_matrix::$18 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0)
[82] (signed byte~) calculate_matrix::$20 ← (signed byte~) calculate_matrix::$19 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0)
[83] (signed byte~) calculate_matrix::$21 ← (signed byte~) calculate_matrix::$20 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0)
[84] (signed byte~) calculate_matrix::$22 ← (signed byte~) calculate_matrix::$21 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0)
[85] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (signed byte~) calculate_matrix::$22
[86] (signed byte~) calculate_matrix::$23 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t9#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t10#0)
[87] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5) ← (signed byte~) calculate_matrix::$23
[88] (signed byte~) calculate_matrix::$24 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t4#0) - *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t3#0)
[89] (signed byte~) calculate_matrix::$25 ← (signed byte~) calculate_matrix::$24 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0)
[90] (signed byte~) calculate_matrix::$26 ← (signed byte~) calculate_matrix::$25 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0)
[91] (signed byte~) calculate_matrix::$27 ← (signed byte~) calculate_matrix::$26 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0)
[92] (signed byte~) calculate_matrix::$28 ← (signed byte~) calculate_matrix::$27 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0)
[93] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (signed byte~) calculate_matrix::$28
[94] (signed byte~) calculate_matrix::$29 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t3#0) + *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t4#0)
[95] (signed byte~) calculate_matrix::$30 ← (signed byte~) calculate_matrix::$29 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0)
[96] (signed byte~) calculate_matrix::$31 ← (signed byte~) calculate_matrix::$30 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0)
[97] (signed byte~) calculate_matrix::$32 ← (signed byte~) calculate_matrix::$31 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0)
[98] (signed byte~) calculate_matrix::$33 ← (signed byte~) calculate_matrix::$32 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0)
[99] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 7) ← (signed byte~) calculate_matrix::$33
[100] (signed byte~) calculate_matrix::$34 ← *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t9#0) + *((const signed byte*) COSH#0 + (signed byte) calculate_matrix::t10#0)
[101] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8) ← (signed byte~) calculate_matrix::$34
to:calculate_matrix::@return
calculate_matrix::@return: scope:[calculate_matrix] from calculate_matrix
[102] return
to:@return
sprites_init: scope:[sprites_init] from main
[292] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) 255
[103] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) 255
to:sprites_init::@1
sprites_init::@1: scope:[sprites_init] from sprites_init sprites_init::@1
[293] (byte) sprites_init::i#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::i#1 )
[294] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) 64
[295] (byte/signed word/word/dword/signed dword~) sprites_init::$3 ← (byte/signed byte/word/signed word/dword/signed dword) 8 + (byte) sprites_init::i#2
[296] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (byte/signed word/word/dword/signed dword~) sprites_init::$3
[297] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2
[298] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1
[104] (byte) sprites_init::i#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::i#1 )
[105] *((const byte*) sprites_init::sprites_ptr#0 + (byte) sprites_init::i#2) ← ((byte))(const byte*) SPRITE#0/(byte/signed byte/word/signed word/dword/signed dword) 64
[106] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0
[107] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2
[108] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1
to:sprites_init::@return
sprites_init::@return: scope:[sprites_init] from sprites_init::@1
[299] return
[109] return
to:@return

File diff suppressed because one or more lines are too long

View File

@ -1,14 +1,14 @@
(label) @29
(label) @30
(label) @begin
(label) @end
(byte*) BORDERCOL
(const byte*) BORDERCOL#0 BORDERCOL = ((byte*))(word/dword/signed dword) 53280
(byte*) COSH_HI
(const byte*) COSH_HI#0 COSH_HI = (const byte*) SINH_HI#0+(byte/signed byte/word/signed word/dword/signed dword) 64
(byte*) COSH_LO
(const byte*) COSH_LO#0 COSH_LO = (const byte*) SINH_LO#0+(byte/signed byte/word/signed word/dword/signed dword) 64
(byte*) COSQ_HI
(const byte*) COSQ_HI#0 COSQ_HI = (const byte*) SINQ_HI#0+(byte/signed byte/word/signed word/dword/signed dword) 64
(signed byte*) COSH
(const signed byte*) COSH#0 COSH = (const signed byte*) SINH#0+(byte/signed byte/word/signed word/dword/signed dword) 64
(signed byte*) COSQ
(const signed byte*) COSQ#0 COSQ = (const signed byte*) SINQ#0+(byte/signed byte/word/signed word/dword/signed dword) 64
(byte) GREEN
(const byte) GREEN#0 GREEN = (byte/signed byte/word/signed word/dword/signed dword) 5
(byte) LIGHT_BLUE
(const byte) LIGHT_BLUE#0 LIGHT_BLUE = (byte/signed byte/word/signed word/dword/signed dword) 14
(byte) LIGHT_GREY
@ -17,8 +17,6 @@
(const signed byte*) PERSP_Z#0 PERSP_Z = ((signed byte*))(word/signed word/dword/signed dword) 10240
(byte*) RASTER
(const byte*) RASTER#0 RASTER = ((byte*))(word/dword/signed dword) 53266
(byte*) SCREEN
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(signed byte*) SINH
(const signed byte*) SINH#0 SINH = ((signed byte*))(word/signed word/dword/signed dword) 8192
(byte*) SINH_HI
@ -48,216 +46,68 @@
(label) anim::@13
(label) anim::@15
(label) anim::@17
(label) anim::@18
(label) anim::@4
(label) anim::@6
(label) anim::@7
(byte) anim::i
(byte) anim::i#1 i zp ZP_BYTE:5 151.5
(byte) anim::i#2 i zp ZP_BYTE:5 71.29411764705881
(byte) anim::i#1 i zp ZP_BYTE:4 151.5
(byte) anim::i#2 i zp ZP_BYTE:4 71.29411764705881
(byte) anim::i2
(byte) anim::i2#0 reg byte x 75.75
(void()) calculate_matrix_16((signed byte) calculate_matrix_16::sx , (signed byte) calculate_matrix_16::sy , (signed byte) calculate_matrix_16::sz)
(byte~) calculate_matrix_16::$10 reg byte a 2.0
(signed word~) calculate_matrix_16::$13 $13 zp ZP_WORD:7 4.0
(byte~) calculate_matrix_16::$14 reg byte a 2.0
(signed word~) calculate_matrix_16::$28 $28 zp ZP_WORD:22 4.0
(signed word~) calculate_matrix_16::$29 $29 zp ZP_WORD:22 4.0
(signed word~) calculate_matrix_16::$30 $30 zp ZP_WORD:22 4.0
(signed word~) calculate_matrix_16::$31 $31 zp ZP_WORD:22 4.0
(signed word~) calculate_matrix_16::$32 $32 zp ZP_WORD:22 4.0
(byte~) calculate_matrix_16::$33 reg byte a 2.0
(signed word~) calculate_matrix_16::$35 $35 zp ZP_WORD:7 4.0
(signed word~) calculate_matrix_16::$36 $36 zp ZP_WORD:16 4.0
(signed word~) calculate_matrix_16::$37 $37 zp ZP_WORD:14 4.0
(signed word~) calculate_matrix_16::$38 $38 zp ZP_WORD:18 4.0
(signed word~) calculate_matrix_16::$39 $39 zp ZP_WORD:20 4.0
(signed word~) calculate_matrix_16::$4 $4 zp ZP_WORD:7 4.0
(byte~) calculate_matrix_16::$40 reg byte a 2.0
(signed word~) calculate_matrix_16::$48 $48 zp ZP_WORD:22 4.0
(signed word~) calculate_matrix_16::$49 $49 zp ZP_WORD:22 4.0
(byte~) calculate_matrix_16::$5 reg byte a 2.0
(signed word~) calculate_matrix_16::$50 $50 zp ZP_WORD:22 4.0
(signed word~) calculate_matrix_16::$51 $51 zp ZP_WORD:22 4.0
(signed word~) calculate_matrix_16::$52 $52 zp ZP_WORD:22 4.0
(byte~) calculate_matrix_16::$53 reg byte a 2.0
(signed word~) calculate_matrix_16::$55 $55 zp ZP_WORD:7 4.0
(signed word~) calculate_matrix_16::$56 $56 zp ZP_WORD:16 4.0
(signed word~) calculate_matrix_16::$57 $57 zp ZP_WORD:14 4.0
(signed word~) calculate_matrix_16::$58 $58 zp ZP_WORD:18 4.0
(signed word~) calculate_matrix_16::$59 $59 zp ZP_WORD:20 4.0
(byte~) calculate_matrix_16::$60 reg byte a 2.0
(signed word~) calculate_matrix_16::$66 $66 zp ZP_WORD:7 4.0
(byte~) calculate_matrix_16::$67 reg byte a 2.0
(signed word~) calculate_matrix_16::$71 $71 zp ZP_WORD:7 4.0
(byte~) calculate_matrix_16::$72 reg byte a 2.0
(word~) calculate_matrix_16::$74 $74 zp ZP_WORD:7 1.0
(word~) calculate_matrix_16::$75 $75 zp ZP_WORD:10 2.0
(word~) calculate_matrix_16::$76 $76 zp ZP_WORD:7 1.0
(word~) calculate_matrix_16::$77 $77 zp ZP_WORD:10 2.0
(word~) calculate_matrix_16::$78 $78 zp ZP_WORD:7 2.0
(word~) calculate_matrix_16::$79 $79 zp ZP_WORD:7 0.15384615384615385
(word~) calculate_matrix_16::$80 $80 zp ZP_WORD:10 0.16666666666666666
(word~) calculate_matrix_16::$81 $81 zp ZP_WORD:14 0.15384615384615385
(word~) calculate_matrix_16::$82 $82 zp ZP_WORD:16 0.18181818181818182
(word~) calculate_matrix_16::$83 $83 zp ZP_WORD:18 0.16666666666666666
(word~) calculate_matrix_16::$84 $84 zp ZP_WORD:20 0.16666666666666666
(word~) calculate_matrix_16::$85 $85 zp ZP_WORD:7 0.15384615384615385
(word~) calculate_matrix_16::$86 $86 zp ZP_WORD:10 0.16666666666666666
(word~) calculate_matrix_16::$87 $87 zp ZP_WORD:14 0.15384615384615385
(word~) calculate_matrix_16::$88 $88 zp ZP_WORD:16 0.18181818181818182
(word~) calculate_matrix_16::$89 $89 zp ZP_WORD:18 0.16666666666666666
(signed word~) calculate_matrix_16::$9 $9 zp ZP_WORD:7 4.0
(word~) calculate_matrix_16::$90 $90 zp ZP_WORD:20 0.16666666666666666
(word~) calculate_matrix_16::$91 $91 zp ZP_WORD:7 1.0
(word~) calculate_matrix_16::$92 $92 zp ZP_WORD:10 2.0
(word~) calculate_matrix_16::$93 $93 zp ZP_WORD:7 1.0
(word~) calculate_matrix_16::$94 $94 zp ZP_WORD:10 2.0
(label) calculate_matrix_16::@return
(signed word) calculate_matrix_16::cosh_t1
(signed word) calculate_matrix_16::cosh_t10
(signed word) calculate_matrix_16::cosh_t2
(signed word) calculate_matrix_16::cosh_t3
(signed word) calculate_matrix_16::cosh_t4
(signed word) calculate_matrix_16::cosh_t9
(signed word) calculate_matrix_16::cosq_t5
(signed word) calculate_matrix_16::cosq_t6
(signed word) calculate_matrix_16::cosq_t7
(signed word) calculate_matrix_16::cosq_t8
(signed word) calculate_matrix_16::sinh_sy
(signed word) calculate_matrix_16::sinh_t1
(signed word) calculate_matrix_16::sinh_t10
(signed word) calculate_matrix_16::sinh_t2
(signed word) calculate_matrix_16::sinh_t3
(signed word) calculate_matrix_16::sinh_t4
(signed word) calculate_matrix_16::sinh_t9
(signed word) calculate_matrix_16::sinq_t5
(signed word) calculate_matrix_16::sinq_t6
(signed word) calculate_matrix_16::sinq_t7
(signed word) calculate_matrix_16::sinq_t8
(signed byte) calculate_matrix_16::sx
(signed byte) calculate_matrix_16::sx#0 sx zp ZP_BYTE:2 0.40909090909090895
(signed byte) calculate_matrix_16::sy
(signed byte) calculate_matrix_16::sy#0 sy zp ZP_BYTE:3 0.35384615384615387
(signed byte) calculate_matrix_16::sz
(signed byte) calculate_matrix_16::sz#0 reg byte x 1.0555555555555558
(signed byte) calculate_matrix_16::t1
(signed byte) calculate_matrix_16::t1#0 t1 zp ZP_BYTE:5 0.7
(signed byte) calculate_matrix_16::t10
(signed byte) calculate_matrix_16::t10#0 reg byte y 1.4285714285714284
(signed byte) calculate_matrix_16::t2
(signed byte) calculate_matrix_16::t2#0 t2 zp ZP_BYTE:6 0.7
(signed byte) calculate_matrix_16::t3
(signed byte) calculate_matrix_16::t3#0 t3 zp ZP_BYTE:9 0.38461538461538464
(signed byte) calculate_matrix_16::t4
(signed byte) calculate_matrix_16::t4#0 reg byte x 0.38461538461538464
(signed byte) calculate_matrix_16::t5
(signed byte) calculate_matrix_16::t5#0 t5 zp ZP_BYTE:12 0.38461538461538464
(signed byte) calculate_matrix_16::t6
(signed byte) calculate_matrix_16::t6#0 t6 zp ZP_BYTE:13 0.38461538461538464
(signed byte) calculate_matrix_16::t7
(signed byte) calculate_matrix_16::t7#0 t7 zp ZP_BYTE:5 0.38461538461538464
(signed byte) calculate_matrix_16::t8
(signed byte) calculate_matrix_16::t8#0 t8 zp ZP_BYTE:6 0.38461538461538464
(signed byte) calculate_matrix_16::t9
(signed byte) calculate_matrix_16::t9#0 reg byte x 1.4285714285714284
(void()) debug_print()
(label) debug_print::@1
(label) debug_print::@10
(label) debug_print::@11
(label) debug_print::@12
(label) debug_print::@13
(label) debug_print::@15
(label) debug_print::@16
(label) debug_print::@17
(label) debug_print::@18
(label) debug_print::@19
(label) debug_print::@20
(label) debug_print::@3
(label) debug_print::@4
(label) debug_print::@5
(label) debug_print::@6
(label) debug_print::@7
(label) debug_print::@8
(label) debug_print::@9
(label) debug_print::@return
(byte*) debug_print::at_line
(const byte*) debug_print::at_line#0 at_line = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 19*(byte/signed byte/word/signed word/dword/signed dword) 40
(byte) debug_print::c
(byte) debug_print::c#1 c zp ZP_BYTE:5 67.33333333333333
(byte) debug_print::c#2 c zp ZP_BYTE:5 42.52631578947369
(byte) debug_print::i
(byte) debug_print::i#1 i zp ZP_BYTE:6 151.5
(byte) debug_print::i#2 i zp ZP_BYTE:6 40.4
(void()) debug_print_init()
(byte*~) debug_print_init::$59 $59 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$60 $60 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$63 $63 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$64 $64 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$67 $67 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$68 $68 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$71 $71 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$72 $72 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$75 $75 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$76 $76 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$79 $79 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$80 $80 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$83 $83 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$84 $84 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$87 $87 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$88 $88 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$91 $91 zp ZP_WORD:7 202.0
(byte*~) debug_print_init::$92 $92 zp ZP_WORD:7 202.0
(label) debug_print_init::@1
(label) debug_print_init::@10
(label) debug_print_init::@11
(label) debug_print_init::@12
(label) debug_print_init::@13
(label) debug_print_init::@14
(label) debug_print_init::@15
(label) debug_print_init::@16
(label) debug_print_init::@18
(label) debug_print_init::@19
(label) debug_print_init::@2
(label) debug_print_init::@3
(label) debug_print_init::@5
(label) debug_print_init::@6
(label) debug_print_init::@7
(label) debug_print_init::@8
(label) debug_print_init::@9
(label) debug_print_init::@return
(byte*) debug_print_init::COLS
(const byte*) debug_print_init::COLS#0 COLS = ((byte*))(word/dword/signed dword) 55296
(byte*) debug_print_init::at_cols
(const byte*) debug_print_init::at_cols#0 at_cols = (const byte*) debug_print_init::COLS#0+(byte/signed byte/word/signed word/dword/signed dword) 16*(byte/signed byte/word/signed word/dword/signed dword) 40
(byte*) debug_print_init::at_line
(const byte*) debug_print_init::at_line#0 at_line = (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 16*(byte/signed byte/word/signed word/dword/signed dword) 40
(byte) debug_print_init::c
(byte) debug_print_init::c#1 c zp ZP_BYTE:2 7.333333333333333
(byte) debug_print_init::c#2 c zp ZP_BYTE:2 23.512195121951223
(byte) debug_print_init::col
(byte) debug_print_init::col#0 col zp ZP_BYTE:4 37.40740740740741
(byte) debug_print_init::i
(byte) debug_print_init::i#1 i zp ZP_BYTE:3 16.5
(byte) debug_print_init::i#2 i zp ZP_BYTE:3 3.7142857142857144
(byte) debug_print_init::j
(byte) debug_print_init::j#1 reg byte x 151.5
(byte) debug_print_init::j#2 reg byte x 38.31034482758621
(const string) debug_print_init::str str = (string) "sx@"
(const string) debug_print_init::str1 str1 = (string) "sy@"
(const string) debug_print_init::str10 str10 = (string) "xp@"
(const string) debug_print_init::str11 str11 = (string) "yp@"
(const string) debug_print_init::str2 str2 = (string) "sz@"
(const string) debug_print_init::str3 str3 = (string) "x@"
(const string) debug_print_init::str4 str4 = (string) "y@"
(const string) debug_print_init::str5 str5 = (string) "z@"
(const string) debug_print_init::str6 str6 = (string) "xr@"
(const string) debug_print_init::str7 str7 = (string) "yr@"
(const string) debug_print_init::str8 str8 = (string) "zr@"
(const string) debug_print_init::str9 str9 = (string) "pp@"
(void()) calculate_matrix((signed byte) calculate_matrix::sx , (signed byte) calculate_matrix::sy , (signed byte) calculate_matrix::sz)
(signed byte~) calculate_matrix::$10 reg byte a 4.0
(signed byte~) calculate_matrix::$11 reg byte a 4.0
(signed byte~) calculate_matrix::$12 reg byte a 4.0
(signed byte~) calculate_matrix::$13 reg byte a 4.0
(signed byte~) calculate_matrix::$14 reg byte a 4.0
(signed byte~) calculate_matrix::$15 reg byte a 4.0
(signed byte~) calculate_matrix::$16 reg byte a 4.0
(signed byte~) calculate_matrix::$17 reg byte a 4.0
(signed byte~) calculate_matrix::$18 reg byte a 4.0
(signed byte~) calculate_matrix::$19 reg byte a 4.0
(signed byte~) calculate_matrix::$20 reg byte a 4.0
(signed byte~) calculate_matrix::$21 reg byte a 4.0
(signed byte~) calculate_matrix::$22 reg byte a 4.0
(signed byte~) calculate_matrix::$23 reg byte a 4.0
(signed byte~) calculate_matrix::$24 reg byte a 4.0
(signed byte~) calculate_matrix::$25 reg byte a 4.0
(signed byte~) calculate_matrix::$26 reg byte a 4.0
(signed byte~) calculate_matrix::$27 reg byte a 4.0
(signed byte~) calculate_matrix::$28 reg byte a 4.0
(signed byte~) calculate_matrix::$29 reg byte a 4.0
(signed byte~) calculate_matrix::$30 reg byte a 4.0
(signed byte~) calculate_matrix::$31 reg byte a 4.0
(signed byte~) calculate_matrix::$32 reg byte a 4.0
(signed byte~) calculate_matrix::$33 reg byte a 4.0
(signed byte~) calculate_matrix::$34 reg byte a 4.0
(label) calculate_matrix::@return
(signed byte) calculate_matrix::sx
(signed byte) calculate_matrix::sx#0 reg byte x 2.4545454545454546
(signed byte) calculate_matrix::sy
(signed byte) calculate_matrix::sy#0 sy zp ZP_BYTE:3 1.5333333333333332
(signed byte) calculate_matrix::sz
(signed byte) calculate_matrix::t1
(signed byte) calculate_matrix::t1#0 t1 zp ZP_BYTE:4 0.8333333333333333
(signed byte) calculate_matrix::t10
(signed byte) calculate_matrix::t10#0 t10 zp ZP_BYTE:12 0.18181818181818182
(signed byte) calculate_matrix::t2
(signed byte) calculate_matrix::t2#0 reg byte y 0.9090909090909092
(signed byte) calculate_matrix::t3
(signed byte) calculate_matrix::t3#0 t3 zp ZP_BYTE:5 0.29411764705882354
(signed byte) calculate_matrix::t4
(signed byte) calculate_matrix::t4#0 t4 zp ZP_BYTE:6 0.30303030303030304
(signed byte) calculate_matrix::t5
(signed byte) calculate_matrix::t5#0 t5 zp ZP_BYTE:7 0.29411764705882354
(signed byte) calculate_matrix::t6
(signed byte) calculate_matrix::t6#0 t6 zp ZP_BYTE:8 0.3125
(signed byte) calculate_matrix::t7
(signed byte) calculate_matrix::t7#0 t7 zp ZP_BYTE:9 0.30303030303030304
(signed byte) calculate_matrix::t8
(signed byte) calculate_matrix::t8#0 t8 zp ZP_BYTE:10 0.30303030303030304
(signed byte) calculate_matrix::t9
(signed byte) calculate_matrix::t9#0 t9 zp ZP_BYTE:11 0.1764705882352941
(void()) main()
(label) main::@1
(label) main::@2
(label) main::@return
(byte*) mulf_sqr1
(const byte*) mulf_sqr1#0 mulf_sqr1 = ((byte*))(word/signed word/dword/signed dword) 9216
@ -267,90 +117,6 @@
(const signed byte*) pp#0 pp = ((signed byte*))(byte/word/signed word/dword/signed dword) 243
(signed byte[8]) pps
(const signed byte[8]) pps#0 pps = { fill( 8, 0) }
(void()) print_byte_at((byte) print_byte_at::b , (byte*) print_byte_at::at)
(byte~) print_byte_at::$0 reg byte a 4.0
(byte~) print_byte_at::$2 reg byte x 2.0
(label) print_byte_at::@1
(label) print_byte_at::@return
(byte*) print_byte_at::at
(byte*) print_byte_at::at#0 at zp ZP_WORD:7 1.0
(byte) print_byte_at::b
(void()) print_char_at((byte) print_char_at::ch , (byte*) print_char_at::at)
(label) print_char_at::@return
(byte*) print_char_at::at
(byte*) print_char_at::at#0 at zp ZP_WORD:7 4.0
(byte*) print_char_at::at#1 at zp ZP_WORD:7 4.0
(byte*) print_char_at::at#2 at zp ZP_WORD:7 4.0
(byte*) print_char_at::at#3 at zp ZP_WORD:7 2.0
(byte*) print_char_at::at#4 at zp ZP_WORD:7 10.0
(byte) print_char_at::ch
(byte) print_char_at::ch#2 ch zp ZP_BYTE:9 2.0
(byte) print_char_at::ch#3 ch zp ZP_BYTE:9 4.0
(byte) print_char_at::ch#4 ch zp ZP_BYTE:9 6.0
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
(byte*) print_cls::sc
(byte*) print_cls::sc#1 sc zp ZP_WORD:7 16.5
(byte*) print_cls::sc#2 sc zp ZP_WORD:7 16.5
(byte[]) print_hextab
(const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef"
(void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at)
(label) print_sbyte_at::@1
(label) print_sbyte_at::@2
(label) print_sbyte_at::@3
(label) print_sbyte_at::@5
(label) print_sbyte_at::@return
(byte*) print_sbyte_at::at
(byte*) print_sbyte_at::at#0 at zp ZP_WORD:7 11.0
(byte*) print_sbyte_at::at#1 at zp ZP_WORD:7 11.0
(byte*) print_sbyte_at::at#15 at zp ZP_WORD:7 101.0
(byte*) print_sbyte_at::at#16 at zp ZP_WORD:7 101.0
(byte*) print_sbyte_at::at#17 at zp ZP_WORD:7 101.0
(byte*) print_sbyte_at::at#18 at zp ZP_WORD:7 101.0
(byte*) print_sbyte_at::at#19 at zp ZP_WORD:7 101.0
(byte*) print_sbyte_at::at#2 at zp ZP_WORD:7 11.0
(byte*) print_sbyte_at::at#20 at zp ZP_WORD:7 101.0
(byte*) print_sbyte_at::at#21 at zp ZP_WORD:7 80.625
(signed byte) print_sbyte_at::b
(signed byte) print_sbyte_at::b#0 reg byte x 4.0
(signed byte) print_sbyte_at::b#1 reg byte x 22.0
(signed byte) print_sbyte_at::b#10 reg byte x 4.0
(signed byte) print_sbyte_at::b#11 reg byte x 4.0
(signed byte) print_sbyte_at::b#12 reg byte x 4.0
(signed byte) print_sbyte_at::b#13 reg byte x 4.0
(signed byte) print_sbyte_at::b#14 reg byte x 4.0
(signed byte) print_sbyte_at::b#15 reg byte x 4.0
(signed byte) print_sbyte_at::b#16 reg byte x 202.0
(signed byte) print_sbyte_at::b#17 reg byte x 202.0
(signed byte) print_sbyte_at::b#18 reg byte x 202.0
(signed byte) print_sbyte_at::b#19 reg byte x 202.0
(signed byte) print_sbyte_at::b#2 reg byte x 22.0
(signed byte) print_sbyte_at::b#20 reg byte x 202.0
(signed byte) print_sbyte_at::b#21 reg byte x 202.0
(signed byte) print_sbyte_at::b#22 reg byte x 111.49999999999991
(signed byte) print_sbyte_at::b#24 reg byte x 0.6666666666666666
(signed byte) print_sbyte_at::b#3 reg byte x 22.0
(signed byte) print_sbyte_at::b#4 reg byte x 4.0
(signed byte) print_sbyte_at::b#5 reg byte x 4.0
(signed byte) print_sbyte_at::b#6 reg byte x 4.0
(signed byte) print_sbyte_at::b#7 reg byte x 4.0
(signed byte) print_sbyte_at::b#8 reg byte x 4.0
(signed byte) print_sbyte_at::b#9 reg byte x 4.0
(byte*) print_screen
(const byte*) print_screen#0 print_screen = ((byte*))(word/signed word/dword/signed dword) 1024
(void()) print_str_at((byte*) print_str_at::str , (byte*) print_str_at::at)
(label) print_str_at::@1
(label) print_str_at::@2
(label) print_str_at::@return
(byte*) print_str_at::at
(byte*) print_str_at::at#0 at zp ZP_WORD:10 11.0
(byte*) print_str_at::at#13 at zp ZP_WORD:10 11.666666666666666
(byte*) print_str_at::at#15 at zp ZP_WORD:10 2.0
(byte*) print_str_at::str
(byte*) print_str_at::str#0 str zp ZP_WORD:7 22.0
(byte*) print_str_at::str#13 str zp ZP_WORD:7 11.5
(byte*) print_str_at::str#15 str zp ZP_WORD:7 2.0
(word*) psp1
(const word*) psp1#0 psp1 = ((word*))(byte/word/signed word/dword/signed dword) 246
(word*) psp2
@ -358,7 +124,7 @@
(void()) rotate_matrix((signed byte) rotate_matrix::x , (signed byte) rotate_matrix::y , (signed byte) rotate_matrix::z)
(label) rotate_matrix::@return
(signed byte) rotate_matrix::x
(signed byte) rotate_matrix::x#0 x zp ZP_BYTE:6 34.33333333333333
(signed byte) rotate_matrix::x#0 x zp ZP_BYTE:5 34.33333333333333
(signed byte) rotate_matrix::y
(signed byte) rotate_matrix::y#0 reg byte y 34.33333333333333
(signed byte) rotate_matrix::z
@ -366,27 +132,25 @@
(signed byte[9]) rotation_matrix
(const signed byte[9]) rotation_matrix#0 rotation_matrix = { fill( 9, 0) }
(void()) sprites_init()
(byte/signed word/word/dword/signed dword~) sprites_init::$3 reg byte a 22.0
(label) sprites_init::@1
(label) sprites_init::@return
(byte*) sprites_init::SCREEN
(const byte*) sprites_init::SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
(byte) sprites_init::i
(byte) sprites_init::i#1 reg byte x 16.5
(byte) sprites_init::i#2 reg byte x 13.75
(byte) sprites_init::i#2 reg byte x 14.666666666666666
(byte*) sprites_init::sprites_ptr
(const byte*) sprites_init::sprites_ptr#0 sprites_ptr = (const byte*) sprites_init::SCREEN#0+(word/signed word/dword/signed dword) 1016
(void()) store_matrix()
(label) store_matrix::@return
(signed byte) sx
(signed byte) sx#10 sx zp ZP_BYTE:2 0.44871794871794873
(signed byte) sx#3 sx zp ZP_BYTE:2 7.333333333333333
(signed byte) sx#10 sx zp ZP_BYTE:2 1.1379310344827585
(signed byte) sx#3 sx zp ZP_BYTE:2 11.0
(signed byte) sy
(signed byte) sy#10 sy zp ZP_BYTE:3 0.44303797468354433
(signed byte) sy#3 sy zp ZP_BYTE:3 11.0
(signed byte) sy#10 sy zp ZP_BYTE:3 1.0999999999999999
(signed byte) sy#3 sy zp ZP_BYTE:3 22.0
(signed byte) sz
(signed byte) sz#10 sz zp ZP_BYTE:4 0.43750000000000006
(signed byte) sz#3 sz zp ZP_BYTE:4 22.0
(const signed byte) sz#0 sz = (byte/signed byte/word/signed word/dword/signed dword) 0
(signed byte*) xp
(const signed byte*) xp#0 xp = ((signed byte*))(byte/word/signed word/dword/signed dword) 244
(signed byte[8]) xps
@ -396,7 +160,7 @@
(signed byte[8]) xrs
(const signed byte[8]) xrs#0 xrs = { fill( 8, 0) }
(signed byte[8]) xs
(const signed byte[8]) xs#0 xs = { -(byte/signed byte/word/signed word/dword/signed dword) 95, (byte/signed byte/word/signed word/dword/signed dword) 95, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 63 }
(const signed byte[8]) xs#0 xs = { -(byte/signed byte/word/signed word/dword/signed dword) 52, -(byte/signed byte/word/signed word/dword/signed dword) 52, -(byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52 }
(signed byte*) yp
(const signed byte*) yp#0 yp = ((signed byte*))(byte/word/signed word/dword/signed dword) 245
(signed byte[8]) yps
@ -406,50 +170,55 @@
(signed byte[8]) yrs
(const signed byte[8]) yrs#0 yrs = { fill( 8, 0) }
(signed byte[8]) ys
(const signed byte[8]) ys#0 ys = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, -(byte/signed byte/word/signed word/dword/signed dword) 95, (byte/signed byte/word/signed word/dword/signed dword) 95, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
(const signed byte[8]) ys#0 ys = { -(byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 52, -(byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52, -(byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 52 }
(signed byte*) zr
(const signed byte*) zr#0 zr = ((signed byte*))(byte/word/signed word/dword/signed dword) 242
(signed byte[8]) zrs
(const signed byte[8]) zrs#0 zrs = { fill( 8, 0) }
(signed byte[8]) zs
(const signed byte[8]) zs#0 zs = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, -(byte/signed byte/word/signed word/dword/signed dword) 95, (byte/signed byte/word/signed word/dword/signed dword) 95, -(byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
(const signed byte[8]) zs#0 zs = { (byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52, (byte/signed byte/word/signed word/dword/signed dword) 52 }
zp ZP_BYTE:2 [ sx#10 sx#3 calculate_matrix_16::sx#0 debug_print_init::c#2 debug_print_init::c#1 ]
zp ZP_BYTE:3 [ sy#10 sy#3 calculate_matrix_16::sy#0 debug_print_init::i#2 debug_print_init::i#1 ]
zp ZP_BYTE:4 [ sz#10 sz#3 debug_print_init::col#0 ]
zp ZP_BYTE:5 [ anim::i#2 anim::i#1 debug_print::c#2 debug_print::c#1 calculate_matrix_16::t1#0 calculate_matrix_16::t7#0 ]
zp ZP_BYTE:6 [ debug_print::i#2 debug_print::i#1 rotate_matrix::x#0 calculate_matrix_16::t2#0 calculate_matrix_16::t8#0 ]
zp ZP_WORD:7 [ print_sbyte_at::at#21 print_sbyte_at::at#15 print_sbyte_at::at#16 print_sbyte_at::at#17 print_sbyte_at::at#18 print_sbyte_at::at#19 print_sbyte_at::at#20 print_sbyte_at::at#0 print_sbyte_at::at#1 print_sbyte_at::at#2 print_char_at::at#4 print_char_at::at#2 print_char_at::at#3 print_char_at::at#0 print_char_at::at#1 print_byte_at::at#0 print_str_at::str#13 print_str_at::str#15 print_str_at::str#0 print_cls::sc#2 print_cls::sc#1 calculate_matrix_16::$74 calculate_matrix_16::$4 calculate_matrix_16::$76 calculate_matrix_16::$9 calculate_matrix_16::$78 calculate_matrix_16::$13 calculate_matrix_16::$79 calculate_matrix_16::$35 calculate_matrix_16::$85 calculate_matrix_16::$55 calculate_matrix_16::$91 calculate_matrix_16::$66 calculate_matrix_16::$93 calculate_matrix_16::$71 debug_print_init::$59 debug_print_init::$60 debug_print_init::$63 debug_print_init::$64 debug_print_init::$67 debug_print_init::$68 debug_print_init::$71 debug_print_init::$72 debug_print_init::$75 debug_print_init::$76 debug_print_init::$79 debug_print_init::$80 debug_print_init::$83 debug_print_init::$84 debug_print_init::$87 debug_print_init::$88 debug_print_init::$91 debug_print_init::$92 ]
reg byte x [ print_sbyte_at::b#24 print_sbyte_at::b#0 print_sbyte_at::b#22 print_sbyte_at::b#4 print_sbyte_at::b#16 print_sbyte_at::b#12 print_sbyte_at::b#13 print_sbyte_at::b#14 print_sbyte_at::b#15 print_sbyte_at::b#17 print_sbyte_at::b#18 print_sbyte_at::b#19 print_sbyte_at::b#20 print_sbyte_at::b#21 print_sbyte_at::b#5 print_sbyte_at::b#6 print_sbyte_at::b#7 print_sbyte_at::b#8 print_sbyte_at::b#9 print_sbyte_at::b#10 print_sbyte_at::b#11 print_sbyte_at::b#1 print_sbyte_at::b#2 print_sbyte_at::b#3 ]
zp ZP_BYTE:9 [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 calculate_matrix_16::t3#0 ]
reg byte x [ debug_print_init::j#2 debug_print_init::j#1 ]
zp ZP_WORD:10 [ print_str_at::at#13 print_str_at::at#15 print_str_at::at#0 calculate_matrix_16::$75 calculate_matrix_16::$77 calculate_matrix_16::$80 calculate_matrix_16::$86 calculate_matrix_16::$92 calculate_matrix_16::$94 ]
zp ZP_BYTE:2 [ sx#10 sx#3 ]
zp ZP_BYTE:3 [ sy#10 sy#3 calculate_matrix::sy#0 ]
zp ZP_BYTE:4 [ anim::i#2 anim::i#1 calculate_matrix::t1#0 ]
reg byte x [ sprites_init::i#2 sprites_init::i#1 ]
reg byte x [ calculate_matrix_16::sz#0 ]
reg byte x [ calculate_matrix::sx#0 ]
zp ZP_BYTE:5 [ rotate_matrix::x#0 calculate_matrix::t3#0 ]
reg byte y [ rotate_matrix::y#0 ]
reg byte x [ rotate_matrix::z#0 ]
reg byte x [ anim::i2#0 ]
reg byte a [ anim::$6 ]
reg byte a [ anim::$8 ]
reg byte a [ print_byte_at::$0 ]
reg byte x [ print_byte_at::$2 ]
reg byte a [ calculate_matrix_16::$5 ]
reg byte a [ calculate_matrix_16::$10 ]
reg byte a [ calculate_matrix_16::$14 ]
reg byte x [ calculate_matrix_16::t4#0 ]
zp ZP_BYTE:12 [ calculate_matrix_16::t5#0 ]
zp ZP_BYTE:13 [ calculate_matrix_16::t6#0 ]
zp ZP_WORD:14 [ calculate_matrix_16::$81 calculate_matrix_16::$37 calculate_matrix_16::$87 calculate_matrix_16::$57 ]
zp ZP_WORD:16 [ calculate_matrix_16::$82 calculate_matrix_16::$36 calculate_matrix_16::$88 calculate_matrix_16::$56 ]
zp ZP_WORD:18 [ calculate_matrix_16::$83 calculate_matrix_16::$38 calculate_matrix_16::$89 calculate_matrix_16::$58 ]
zp ZP_WORD:20 [ calculate_matrix_16::$84 calculate_matrix_16::$39 calculate_matrix_16::$90 calculate_matrix_16::$59 ]
zp ZP_WORD:22 [ calculate_matrix_16::$28 calculate_matrix_16::$29 calculate_matrix_16::$30 calculate_matrix_16::$31 calculate_matrix_16::$32 calculate_matrix_16::$48 calculate_matrix_16::$49 calculate_matrix_16::$50 calculate_matrix_16::$51 calculate_matrix_16::$52 ]
reg byte a [ calculate_matrix_16::$33 ]
reg byte a [ calculate_matrix_16::$40 ]
reg byte a [ calculate_matrix_16::$53 ]
reg byte a [ calculate_matrix_16::$60 ]
reg byte x [ calculate_matrix_16::t9#0 ]
reg byte y [ calculate_matrix_16::t10#0 ]
reg byte a [ calculate_matrix_16::$67 ]
reg byte a [ calculate_matrix_16::$72 ]
reg byte a [ sprites_init::$3 ]
reg byte y [ calculate_matrix::t2#0 ]
zp ZP_BYTE:6 [ calculate_matrix::t4#0 ]
zp ZP_BYTE:7 [ calculate_matrix::t5#0 ]
zp ZP_BYTE:8 [ calculate_matrix::t6#0 ]
zp ZP_BYTE:9 [ calculate_matrix::t7#0 ]
zp ZP_BYTE:10 [ calculate_matrix::t8#0 ]
zp ZP_BYTE:11 [ calculate_matrix::t9#0 ]
zp ZP_BYTE:12 [ calculate_matrix::t10#0 ]
reg byte a [ calculate_matrix::$10 ]
reg byte a [ calculate_matrix::$11 ]
reg byte a [ calculate_matrix::$12 ]
reg byte a [ calculate_matrix::$13 ]
reg byte a [ calculate_matrix::$14 ]
reg byte a [ calculate_matrix::$15 ]
reg byte a [ calculate_matrix::$16 ]
reg byte a [ calculate_matrix::$17 ]
reg byte a [ calculate_matrix::$18 ]
reg byte a [ calculate_matrix::$19 ]
reg byte a [ calculate_matrix::$20 ]
reg byte a [ calculate_matrix::$21 ]
reg byte a [ calculate_matrix::$22 ]
reg byte a [ calculate_matrix::$23 ]
reg byte a [ calculate_matrix::$24 ]
reg byte a [ calculate_matrix::$25 ]
reg byte a [ calculate_matrix::$26 ]
reg byte a [ calculate_matrix::$27 ]
reg byte a [ calculate_matrix::$28 ]
reg byte a [ calculate_matrix::$29 ]
reg byte a [ calculate_matrix::$30 ]
reg byte a [ calculate_matrix::$31 ]
reg byte a [ calculate_matrix::$32 ]
reg byte a [ calculate_matrix::$33 ]
reg byte a [ calculate_matrix::$34 ]