mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-02-05 21:30:52 +00:00
Added working perspective to 3D rotation.
This commit is contained in:
parent
9b101f29bd
commit
808ed90f83
6
src/main/fragment/vbsaa_ge_vbsc1_then_la1.asm
Normal file
6
src/main/fragment/vbsaa_ge_vbsc1_then_la1.asm
Normal file
@ -0,0 +1,6 @@
|
||||
sec
|
||||
sbc #{c1}
|
||||
bvc !+
|
||||
eor #$80
|
||||
!:
|
||||
bpl {la1}
|
6
src/main/fragment/vbsaa_ge_vbsz1_then_la1.asm
Normal file
6
src/main/fragment/vbsaa_ge_vbsz1_then_la1.asm
Normal file
@ -0,0 +1,6 @@
|
||||
sec
|
||||
sbc {z1}
|
||||
bvc !+
|
||||
eor #$80
|
||||
!:
|
||||
bpl {la1}
|
2
src/main/fragment/vbsaa_le_vbsc1_then_la1.asm
Normal file
2
src/main/fragment/vbsaa_le_vbsc1_then_la1.asm
Normal file
@ -0,0 +1,2 @@
|
||||
cmp #{c1}
|
||||
beq {la1}
|
7
src/main/fragment/vbsaa_le_vbsz1_then_la1.asm
Normal file
7
src/main/fragment/vbsaa_le_vbsz1_then_la1.asm
Normal file
@ -0,0 +1,7 @@
|
||||
sec
|
||||
sbc {z1}
|
||||
beq {la1}
|
||||
bvc !+
|
||||
eor #$80
|
||||
!:
|
||||
bmi {la1}
|
@ -44,6 +44,11 @@ public class TestPrograms {
|
||||
AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test3DPerspective() throws IOException, URISyntaxException {
|
||||
compileAndCompare("examples/3d/perspective");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test3D() throws IOException, URISyntaxException {
|
||||
compileAndCompare("examples/3d/3d");
|
||||
|
@ -4,10 +4,25 @@
|
||||
// - Codebase64 Article http://codebase64.org/doku.php?id=base:3d_rotation
|
||||
import "c64"
|
||||
|
||||
// The rotated point - updated by calling rotate_matrix()
|
||||
signed byte* xr = $f0;
|
||||
signed byte* yr = $f1;
|
||||
signed byte* zr = $f2;
|
||||
|
||||
// The rotated point with perspective
|
||||
signed byte* xp = $f3;
|
||||
signed byte* yp = $f4;
|
||||
|
||||
// Pointers used to multiply perspective (d/z0-z) onto x- & y-coordinates. Points into mulf_sqr1 / mulf_sqr2
|
||||
word* psp1 = $f5;
|
||||
word* psp2 = $f7;
|
||||
|
||||
void main() {
|
||||
asm { sei }
|
||||
sprites_init();
|
||||
mulf_init();
|
||||
*psp1 = (word)mulf_sqr1;
|
||||
*psp2 = (word)mulf_sqr2;
|
||||
anim();
|
||||
}
|
||||
|
||||
@ -20,6 +35,8 @@ void anim() {
|
||||
signed byte sx = 0;
|
||||
signed byte sy = 0;
|
||||
signed byte sz = 0;
|
||||
//signed byte xmin = 0;
|
||||
//signed byte xmax = 0;
|
||||
while(true) {
|
||||
while(*RASTER!=$ff) {}
|
||||
(*BORDERCOL)++;
|
||||
@ -28,10 +45,12 @@ void anim() {
|
||||
for(byte i: 0..7) {
|
||||
(*BORDERCOL)++;
|
||||
rotate_matrix(xs[i], ys[i], zs[i]);
|
||||
//if(*xr<xmin) xmin = *xr;
|
||||
//if(*xr>xmax) xmax = *xr;
|
||||
byte i2 = i<<1;
|
||||
SPRITES_XPOS[i2] = $80+(byte)(*xr>>1);
|
||||
SPRITES_YPOS[i2] = $80+(byte)(*yr>>1);
|
||||
}
|
||||
SPRITES_XPOS[i2] = $80+(byte)(*xp);
|
||||
SPRITES_YPOS[i2] = $80+(byte)(*yp);
|
||||
}
|
||||
// Increment angles
|
||||
sz++;
|
||||
sy--;
|
||||
@ -123,11 +142,6 @@ void store_matrix() {
|
||||
}
|
||||
}
|
||||
|
||||
// The rotated point - updated by calling rotate()
|
||||
signed byte* xr = $f0;
|
||||
signed byte* yr = $f1;
|
||||
signed byte* zr = $f2;
|
||||
|
||||
// Rotate a 3D point (x,y,z) using the rotation matrix
|
||||
// The rotation matrix is prepared by calling prepare_matrix()
|
||||
// The passed points must be in the interval [-$3f;$3f].
|
||||
@ -151,30 +165,61 @@ void rotate_matrix(signed byte x, signed byte y, signed byte z) {
|
||||
I1: lda mulf_sqr1,x
|
||||
I2: sbc mulf_sqr2,x
|
||||
sta I3+1
|
||||
|
||||
ldx xr //x
|
||||
ldy yr //y
|
||||
|
||||
I3: lda #0 // I*z
|
||||
G1: adc mulf_sqr1,x
|
||||
G2: sbc mulf_sqr2,x
|
||||
H1: adc mulf_sqr1,y
|
||||
H2: sbc mulf_sqr2,y
|
||||
sta zr
|
||||
|
||||
sta PP+1
|
||||
PP: lda PERSP_Z
|
||||
sta psp1
|
||||
eor #$ff
|
||||
sta psp2
|
||||
|
||||
C3: lda #0 // C*z
|
||||
A1: adc mulf_sqr1,x
|
||||
A2: sbc mulf_sqr2,x
|
||||
B1: adc mulf_sqr1,y
|
||||
B2: sbc mulf_sqr2,y
|
||||
sta xr
|
||||
// divide x by 2 to get x below $3f for multiplication
|
||||
cmp #$80
|
||||
ror
|
||||
sta XX+1
|
||||
clc
|
||||
|
||||
F3: lda #0 // F*z
|
||||
D1: adc mulf_sqr1,x
|
||||
D2: sbc mulf_sqr2,x
|
||||
E1: adc mulf_sqr1,y
|
||||
E2: sbc mulf_sqr2,y
|
||||
sta yr
|
||||
I3: lda #0 // I*z
|
||||
G1: adc mulf_sqr1,x
|
||||
G2: sbc mulf_sqr2,x
|
||||
H1: adc mulf_sqr1,y
|
||||
H2: sbc mulf_sqr2,y
|
||||
sta zr
|
||||
|
||||
|
||||
// Calculate perspective for Y-position
|
||||
// divide y by 2 to get x below $3f for multiplication
|
||||
cmp #$80
|
||||
ror
|
||||
clc
|
||||
tay
|
||||
lda (psp1),y
|
||||
sbc (psp2),y
|
||||
sta yp
|
||||
|
||||
// Calculate perspective for X-position
|
||||
XX: ldy #0
|
||||
lda (psp1),y
|
||||
sbc (psp2),y
|
||||
sta xp
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Multiplication tables for seriously fast multiplication.
|
||||
// This version is optimized for speed over accuracy
|
||||
// - It can multiply signed numbers with no extra code - but only for numbers in [-$3f;$3f]
|
||||
@ -218,6 +263,24 @@ kickasm(pc SPRITE, resource "balloon.png") {{
|
||||
.byte pic.getSinglecolorByte(x,y)
|
||||
}}
|
||||
|
||||
// Perspective multiplication table containing (d/(z0-z)[z] for each z-value
|
||||
signed byte* PERSP_Z = $2400;
|
||||
|
||||
kickasm(pc PERSP_Z) {{
|
||||
{
|
||||
.var d = 256.0
|
||||
.var z0 = 6.0
|
||||
// These values of d/z0 result in table values from $20 to $40 (effectively max is $3f)
|
||||
.for(var z=0;z<$100;z++) {
|
||||
.if(z>127) {
|
||||
.byte round(d / (z0 - ((z - 256) / 64.0)));
|
||||
} else {
|
||||
.byte round(d / (z0 - (z / 64.0)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}}
|
||||
|
||||
// Sine and Cosine Tables
|
||||
// Angles: $00=0, $80=PI,$100=2*PI
|
||||
// Half Sine/Cosine: signed fixed [-$1f,$1f]
|
||||
@ -249,4 +312,3 @@ kickasm(pc COSQ) {{
|
||||
}
|
||||
}}
|
||||
|
||||
|
||||
|
138
src/test/kc/examples/3d/perspective.kc
Normal file
138
src/test/kc/examples/3d/perspective.kc
Normal file
@ -0,0 +1,138 @@
|
||||
// 3D Rotation using a Rotation Matrix
|
||||
// Based on:
|
||||
// - C= Hacking Magazine Issue 8. http://www.ffd2.com/fridge/chacking/c=hacking8.txt
|
||||
// - Codebase64 Article http://codebase64.org/doku.php?id=base:3d_rotation
|
||||
import "c64"
|
||||
import "print"
|
||||
|
||||
// The rotated point - updated by calling rotate()
|
||||
signed byte* xr = $f0;
|
||||
signed byte* yr = $f1;
|
||||
signed byte* zr = $f2;
|
||||
|
||||
// Pointers used to multiply perspective (d/z0-z) onto x- & y-coordinates. Points into mulf_sqr1 / mulf_sqr2.
|
||||
word* psp1 = $f3;
|
||||
word* psp2 = $f5;
|
||||
|
||||
void main() {
|
||||
asm { sei }
|
||||
mulf_init();
|
||||
*psp1 = (word)mulf_sqr1;
|
||||
*psp2 = (word)mulf_sqr2;
|
||||
print_cls();
|
||||
do_perspective($39, -$47, $36);
|
||||
/*
|
||||
signed byte xy = -$3f;
|
||||
do_perspective(xy, xy, -$3f);
|
||||
do_perspective(xy, xy, -$30);
|
||||
do_perspective(xy, xy, -$20);
|
||||
do_perspective(xy, xy, -$10);
|
||||
do_perspective(xy, xy, $00);
|
||||
do_perspective(xy, xy, $10);
|
||||
do_perspective(xy, xy, $20);
|
||||
do_perspective(xy, xy, $30);
|
||||
do_perspective(xy, xy, $3f);
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
void do_perspective(signed byte x, signed byte y, signed byte z) {
|
||||
print_str("(@");
|
||||
print_sbyte(x);
|
||||
print_str(",@");
|
||||
print_sbyte(y);
|
||||
print_str(",@");
|
||||
print_sbyte(z);
|
||||
print_str(") -> (@");
|
||||
perspective(x, y, z);
|
||||
print_byte((byte)*xr);
|
||||
print_str(",@");
|
||||
print_byte((byte)*yr);
|
||||
print_str(")@");
|
||||
print_ln();
|
||||
}
|
||||
|
||||
|
||||
// Apply perspective to a 3d-point. Result is returned in (*xr,*yr)
|
||||
// Implemented in assembler to utilize seriously fast multiplication
|
||||
void perspective(signed byte x, signed byte y, signed byte z) {
|
||||
*xr = x;
|
||||
*yr = y;
|
||||
*zr = z;
|
||||
asm {
|
||||
|
||||
// Update index in perspective lookup
|
||||
lda zr
|
||||
sta PP+1
|
||||
PP: lda PERSP_Z
|
||||
sta psp1
|
||||
eor #$ff
|
||||
sta psp2
|
||||
|
||||
// Calculate perspective for Y-position
|
||||
clc
|
||||
ldy yr
|
||||
lda (psp1),y
|
||||
sbc (psp2),y
|
||||
adc #$80
|
||||
sta yr
|
||||
|
||||
// Calculate perspective for X-position
|
||||
clc
|
||||
ldy xr
|
||||
lda (psp1),y
|
||||
sbc (psp2),y
|
||||
adc #$80
|
||||
sta xr
|
||||
}
|
||||
}
|
||||
|
||||
// Multiplication tables for seriously fast multiplication.
|
||||
// This version is optimized for speed over accuracy
|
||||
// - It can multiply signed numbers with no extra code - but only for numbers in [-$3f;$3f]
|
||||
// - It throws away the low part of the 32-bit result
|
||||
// - It return >a*b*4 to maximize precision (when passed maximal input values $3f*$3f the result is $3e)
|
||||
// See the following for information about the method
|
||||
// - http://codebase64.org/doku.php?id=base:seriously_fast_multiplication
|
||||
// - http://codebase64.org/doku.php?id=magazines:chacking16
|
||||
// mulf_sqr tables will contain f(x)=int(x*x) and g(x) = f(1-x).
|
||||
// f(x) = >(( x * x ))
|
||||
byte[512] align($100) mulf_sqr1;
|
||||
// g(x) = >((( 1 - x ) * ( 1 - x )))
|
||||
byte[512] align($100) mulf_sqr2;
|
||||
|
||||
// Initialize the mulf_sqr multiplication tables with f(x)=int(x*x) and g(x) = f(1-x)
|
||||
void mulf_init() {
|
||||
signed word sqr = 0;
|
||||
signed word add = 1;
|
||||
for( byte i:0..128) {
|
||||
byte val = >sqr;
|
||||
mulf_sqr1[i] = val;
|
||||
(mulf_sqr1+$100)[i] = val;
|
||||
mulf_sqr1[-i] = val;
|
||||
(mulf_sqr1+$100)[-i] = val;
|
||||
mulf_sqr2[i+1] = val;
|
||||
(mulf_sqr2+$100)[i+1] = val;
|
||||
mulf_sqr2[1-i] = val;
|
||||
(mulf_sqr2+$100)[1-i] = val;
|
||||
sqr += add;
|
||||
add +=2;
|
||||
}
|
||||
}
|
||||
|
||||
// Perspective multiplication table containing (d/(z0-z)[z] for each z-value
|
||||
signed byte* PERSP_Z = $2400;
|
||||
|
||||
kickasm(pc PERSP_Z) {{
|
||||
{
|
||||
.var d = 256.0
|
||||
.var z0 = 5.0
|
||||
.for(var z=0;z<$100;z++) {
|
||||
.if(z>127) {
|
||||
.byte round(d / (z0 - ((z - 256) / 64.0)));
|
||||
} else {
|
||||
.byte round(d / (z0 - (z / 64.0)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}}
|
@ -12,7 +12,12 @@
|
||||
.label xr = $f0
|
||||
.label yr = $f1
|
||||
.label zr = $f2
|
||||
.label xp = $f3
|
||||
.label yp = $f4
|
||||
.label psp1 = $f5
|
||||
.label psp2 = $f7
|
||||
.label SPRITE = $3000
|
||||
.label PERSP_Z = $2400
|
||||
.label COSH = $2000
|
||||
.label COSQ = $2200
|
||||
.label SINH = COSH+$40
|
||||
@ -22,6 +27,14 @@ main: {
|
||||
sei
|
||||
jsr sprites_init
|
||||
jsr mulf_init
|
||||
lda #<mulf_sqr1
|
||||
sta psp1
|
||||
lda #>mulf_sqr1
|
||||
sta psp1+1
|
||||
lda #<mulf_sqr2
|
||||
sta psp2
|
||||
lda #>mulf_sqr2
|
||||
sta psp2+1
|
||||
jsr anim
|
||||
rts
|
||||
}
|
||||
@ -58,17 +71,13 @@ anim: {
|
||||
lda i
|
||||
asl
|
||||
tax
|
||||
lda xr
|
||||
cmp #$80
|
||||
ror
|
||||
lda #$80
|
||||
clc
|
||||
adc #$80
|
||||
adc xp
|
||||
sta SPRITES_XPOS,x
|
||||
lda yr
|
||||
cmp #$80
|
||||
ror
|
||||
lda #$80
|
||||
clc
|
||||
adc #$80
|
||||
adc yp
|
||||
sta SPRITES_YPOS,x
|
||||
inc i
|
||||
lda i
|
||||
@ -113,28 +122,6 @@ rotate_matrix: {
|
||||
sta I3+1
|
||||
ldx xr
|
||||
ldy yr
|
||||
C3:
|
||||
lda #0
|
||||
A1:
|
||||
adc mulf_sqr1,x
|
||||
A2:
|
||||
sbc mulf_sqr2,x
|
||||
B1:
|
||||
adc mulf_sqr1,y
|
||||
B2:
|
||||
sbc mulf_sqr2,y
|
||||
sta xr
|
||||
F3:
|
||||
lda #0
|
||||
D1:
|
||||
adc mulf_sqr1,x
|
||||
D2:
|
||||
sbc mulf_sqr2,x
|
||||
E1:
|
||||
adc mulf_sqr1,y
|
||||
E2:
|
||||
sbc mulf_sqr2,y
|
||||
sta yr
|
||||
I3:
|
||||
lda #0
|
||||
G1:
|
||||
@ -146,6 +133,50 @@ rotate_matrix: {
|
||||
H2:
|
||||
sbc mulf_sqr2,y
|
||||
sta zr
|
||||
sta PP+1
|
||||
PP:
|
||||
lda PERSP_Z
|
||||
sta psp1
|
||||
eor #$ff
|
||||
sta psp2
|
||||
C3:
|
||||
lda #0
|
||||
A1:
|
||||
adc mulf_sqr1,x
|
||||
A2:
|
||||
sbc mulf_sqr2,x
|
||||
B1:
|
||||
adc mulf_sqr1,y
|
||||
B2:
|
||||
sbc mulf_sqr2,y
|
||||
sta xr
|
||||
cmp #$80
|
||||
ror
|
||||
sta XX+1
|
||||
clc
|
||||
F3:
|
||||
lda #0
|
||||
D1:
|
||||
adc mulf_sqr1,x
|
||||
D2:
|
||||
sbc mulf_sqr2,x
|
||||
E1:
|
||||
adc mulf_sqr1,y
|
||||
E2:
|
||||
sbc mulf_sqr2,y
|
||||
sta yr
|
||||
cmp #$80
|
||||
ror
|
||||
clc
|
||||
tay
|
||||
lda (psp1),y
|
||||
sbc (psp2),y
|
||||
sta yp
|
||||
XX:
|
||||
ldy #0
|
||||
lda (psp1),y
|
||||
sbc (psp2),y
|
||||
sta xp
|
||||
rts
|
||||
}
|
||||
store_matrix: {
|
||||
@ -439,6 +470,20 @@ sprites_init: {
|
||||
.for (var x=0;x<3; x++)
|
||||
.byte pic.getSinglecolorByte(x,y)
|
||||
|
||||
.pc = PERSP_Z "Inline"
|
||||
{
|
||||
.var d = 256.0
|
||||
.var z0 = 6.0
|
||||
// These values of d/z0 result in table values from $20 to $40 (effectively max is $3f)
|
||||
.for(var z=0;z<$100;z++) {
|
||||
.if(z>127) {
|
||||
.byte round(d / (z0 - ((z - 256) / 64.0)));
|
||||
} else {
|
||||
.byte round(d / (z0 - (z / 64.0)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pc = COSH "Inline"
|
||||
{
|
||||
.var min = -$1fff
|
||||
|
@ -6,6 +6,19 @@
|
||||
.for (var y=0; y<21; y++)
|
||||
.for (var x=0;x<3; x++)
|
||||
.byte pic.getSinglecolorByte(x,y)
|
||||
}}
|
||||
kickasm(location (const signed byte*) PERSP_Z#0) {{ {
|
||||
.var d = 256.0
|
||||
.var z0 = 6.0
|
||||
// These values of d/z0 result in table values from $20 to $40 (effectively max is $3f)
|
||||
.for(var z=0;z<$100;z++) {
|
||||
.if(z>127) {
|
||||
.byte round(d / (z0 - ((z - 256) / 64.0)));
|
||||
} else {
|
||||
.byte round(d / (z0 - (z / 64.0)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}}
|
||||
kickasm(location (const signed byte*) COSH#0) {{ {
|
||||
.var min = -$1fff
|
||||
@ -27,181 +40,180 @@
|
||||
}
|
||||
}
|
||||
}}
|
||||
[4] call main [ ] ( )
|
||||
[5] call main [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @10
|
||||
[5] phi() [ ] ( )
|
||||
[6] phi() [ ] ( )
|
||||
main: scope:[main] from @10
|
||||
asm { sei }
|
||||
[7] call sprites_init [ ] ( main:4 [ ] )
|
||||
[8] call sprites_init [ ] ( main:5 [ ] )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main
|
||||
[8] phi() [ ] ( main:4 [ ] )
|
||||
[9] call mulf_init [ ] ( main:4 [ ] )
|
||||
[9] phi() [ ] ( main:5 [ ] )
|
||||
[10] call mulf_init [ ] ( main:5 [ ] )
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1
|
||||
[10] phi() [ ] ( main:4 [ ] )
|
||||
[11] call anim [ ] ( main:4 [ ] )
|
||||
[11] *((const word*) psp1#0) ← ((word))(const byte[512]) mulf_sqr1#0 [ ] ( main:5 [ ] )
|
||||
[12] *((const word*) psp2#0) ← ((word))(const byte[512]) mulf_sqr2#0 [ ] ( main:5 [ ] )
|
||||
[13] call anim [ ] ( main:5 [ ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@2
|
||||
[12] return [ ] ( main:4 [ ] )
|
||||
[14] return [ ] ( main:5 [ ] )
|
||||
to:@return
|
||||
anim: scope:[anim] from main::@2
|
||||
[13] phi() [ ] ( main:4::anim:11 [ ] )
|
||||
[15] phi() [ ] ( main:5::anim:13 [ ] )
|
||||
to:anim::@1
|
||||
anim::@1: scope:[anim] from anim anim::@8
|
||||
[14] (signed byte) anim::sz#6 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@8/(signed byte) anim::sz#1 ) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[14] (signed byte) anim::sy#6 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@8/(signed byte) anim::sy#1 ) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[14] (signed byte) anim::sx#6 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@8/(signed byte) anim::sx#11 ) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[16] (signed byte) anim::sz#6 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@8/(signed byte) anim::sz#1 ) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[16] (signed byte) anim::sy#6 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@8/(signed byte) anim::sy#1 ) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[16] (signed byte) anim::sx#6 ← phi( anim/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@8/(signed byte) anim::sx#11 ) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
to:anim::@4
|
||||
anim::@4: scope:[anim] from anim::@1 anim::@4
|
||||
[15] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto anim::@4 [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[17] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto anim::@4 [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
to:anim::@6
|
||||
anim::@6: scope:[anim] from anim::@4
|
||||
[16] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[17] (signed byte) calculate_matrix::sx#0 ← (signed byte) anim::sx#6 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 ] )
|
||||
[18] (signed byte) calculate_matrix::sy#0 ← (signed byte) anim::sy#6 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 ] )
|
||||
[19] (signed byte) calculate_matrix::sz#0 ← (signed byte) anim::sz#6 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 ] )
|
||||
[20] call calculate_matrix [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[18] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0) [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[19] (signed byte) calculate_matrix::sx#0 ← (signed byte) anim::sx#6 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 ] )
|
||||
[20] (signed byte) calculate_matrix::sy#0 ← (signed byte) anim::sy#6 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 ] )
|
||||
[21] (signed byte) calculate_matrix::sz#0 ← (signed byte) anim::sz#6 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 ] )
|
||||
[22] call calculate_matrix [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
to:anim::@17
|
||||
anim::@17: scope:[anim] from anim::@6
|
||||
[21] phi() [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[22] call store_matrix [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[23] phi() [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[24] call store_matrix [ anim::sx#6 anim::sy#6 anim::sz#6 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
to:anim::@7
|
||||
anim::@7: scope:[anim] from anim::@17 anim::@19
|
||||
[23] (byte) anim::i#2 ← phi( anim::@17/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@19/(byte) anim::i#1 ) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
[24] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
[25] (signed byte) rotate_matrix::x#0 ← *((const signed byte[8]) xs#0 + (byte) anim::i#2) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 ] )
|
||||
[26] (signed byte) rotate_matrix::y#0 ← *((const signed byte[8]) ys#0 + (byte) anim::i#2) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] )
|
||||
[27] (signed byte) rotate_matrix::z#0 ← *((const signed byte[8]) zs#0 + (byte) anim::i#2) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] )
|
||||
[28] call rotate_matrix [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
[25] (byte) anim::i#2 ← phi( anim::@17/(byte/signed byte/word/signed word/dword/signed dword) 0 anim::@19/(byte) anim::i#1 ) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
[26] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
[27] (signed byte) rotate_matrix::x#0 ← *((const signed byte[8]) xs#0 + (byte) anim::i#2) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 ] )
|
||||
[28] (signed byte) rotate_matrix::y#0 ← *((const signed byte[8]) ys#0 + (byte) anim::i#2) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 ] )
|
||||
[29] (signed byte) rotate_matrix::z#0 ← *((const signed byte[8]) zs#0 + (byte) anim::i#2) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::x#0 rotate_matrix::y#0 rotate_matrix::z#0 ] )
|
||||
[30] call rotate_matrix [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
to:anim::@19
|
||||
anim::@19: scope:[anim] from anim::@7
|
||||
[29] (byte) anim::i2#0 ← (byte) anim::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] )
|
||||
[30] (signed byte~) anim::$5 ← *((const signed byte*) xr#0) >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$5 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$5 ] )
|
||||
[31] (byte/word/signed word/dword/signed dword~) anim::$7 ← (byte/word/signed word/dword/signed dword) 128 + (byte)(signed byte~) anim::$5 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$7 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$7 ] )
|
||||
[32] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$7 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] )
|
||||
[33] (signed byte~) anim::$8 ← *((const signed byte*) yr#0) >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$8 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$8 ] )
|
||||
[34] (byte/word/signed word/dword/signed dword~) anim::$10 ← (byte/word/signed word/dword/signed dword) 128 + (byte)(signed byte~) anim::$8 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$10 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$10 ] )
|
||||
[35] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$10 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
[36] (byte) anim::i#1 ← ++ (byte) anim::i#2 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] )
|
||||
[37] if((byte) anim::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto anim::@7 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] )
|
||||
[31] (byte) anim::i2#0 ← (byte) anim::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] )
|
||||
[32] (byte/word/signed word/dword/signed dword~) anim::$6 ← (byte/word/signed word/dword/signed dword) 128 + (byte)*((const signed byte*) xp#0) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$6 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$6 ] )
|
||||
[33] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$6 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 ] )
|
||||
[34] (byte/word/signed word/dword/signed dword~) anim::$8 ← (byte/word/signed word/dword/signed dword) 128 + (byte)*((const signed byte*) yp#0) [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$8 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 anim::i2#0 anim::$8 ] )
|
||||
[35] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte/word/signed word/dword/signed dword~) anim::$8 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
[36] (byte) anim::i#1 ← ++ (byte) anim::i#2 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] )
|
||||
[37] if((byte) anim::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto anim::@7 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#1 ] )
|
||||
to:anim::@14
|
||||
anim::@14: scope:[anim] from anim::@19
|
||||
[38] (signed byte) anim::sz#1 ← ++ (signed byte) anim::sz#6 [ anim::sx#6 anim::sy#6 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#6 anim::sz#1 ] )
|
||||
[39] (signed byte) anim::sy#1 ← -- (signed byte) anim::sy#6 [ anim::sx#6 anim::sy#1 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#1 anim::sz#1 ] )
|
||||
[40] (byte~) anim::$12 ← (signed byte) anim::sy#1 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#1 anim::sz#1 anim::$12 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#1 anim::sz#1 anim::$12 ] )
|
||||
[41] if((byte~) anim::$12!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::sx#6 anim::sy#1 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#6 anim::sy#1 anim::sz#1 ] )
|
||||
[38] (signed byte) anim::sz#1 ← ++ (signed byte) anim::sz#6 [ anim::sx#6 anim::sy#6 anim::sz#1 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#6 anim::sz#1 ] )
|
||||
[39] (signed byte) anim::sy#1 ← -- (signed byte) anim::sy#6 [ anim::sx#6 anim::sy#1 anim::sz#1 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#1 anim::sz#1 ] )
|
||||
[40] (byte~) anim::$10 ← (signed byte) anim::sy#1 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::sx#6 anim::sy#1 anim::sz#1 anim::$10 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#1 anim::sz#1 anim::$10 ] )
|
||||
[41] if((byte~) anim::$10!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::sx#6 anim::sy#1 anim::sz#1 ] ( main:5::anim:13 [ anim::sx#6 anim::sy#1 anim::sz#1 ] )
|
||||
to:anim::@15
|
||||
anim::@15: scope:[anim] from anim::@14
|
||||
[42] (signed byte) anim::sx#1 ← ++ (signed byte) anim::sx#6 [ anim::sy#1 anim::sz#1 anim::sx#1 ] ( main:4::anim:11 [ anim::sy#1 anim::sz#1 anim::sx#1 ] )
|
||||
[42] (signed byte) anim::sx#1 ← ++ (signed byte) anim::sx#6 [ anim::sy#1 anim::sz#1 anim::sx#1 ] ( main:5::anim:13 [ anim::sy#1 anim::sz#1 anim::sx#1 ] )
|
||||
to:anim::@8
|
||||
anim::@8: scope:[anim] from anim::@14 anim::@15
|
||||
[43] (signed byte) anim::sx#11 ← phi( anim::@14/(signed byte) anim::sx#6 anim::@15/(signed byte) anim::sx#1 ) [ anim::sx#11 anim::sy#1 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#11 anim::sy#1 anim::sz#1 ] )
|
||||
[44] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0 [ anim::sx#11 anim::sy#1 anim::sz#1 ] ( main:4::anim:11 [ anim::sx#11 anim::sy#1 anim::sz#1 ] )
|
||||
[43] (signed byte) anim::sx#11 ← phi( anim::@14/(signed byte) anim::sx#6 anim::@15/(signed byte) anim::sx#1 ) [ anim::sx#11 anim::sy#1 anim::sz#1 ] ( main:5::anim:13 [ anim::sx#11 anim::sy#1 anim::sz#1 ] )
|
||||
[44] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0 [ anim::sx#11 anim::sy#1 anim::sz#1 ] ( main:5::anim:13 [ anim::sx#11 anim::sy#1 anim::sz#1 ] )
|
||||
to:anim::@1
|
||||
rotate_matrix: scope:[rotate_matrix] from anim::@7
|
||||
[45] *((const signed byte*) xr#0) ← (signed byte) rotate_matrix::x#0 [ rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:4::anim:11::rotate_matrix:28 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::y#0 rotate_matrix::z#0 ] )
|
||||
[46] *((const signed byte*) yr#0) ← (signed byte) rotate_matrix::y#0 [ rotate_matrix::z#0 ] ( main:4::anim:11::rotate_matrix:28 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::z#0 ] )
|
||||
[47] *((const signed byte*) zr#0) ← (signed byte) rotate_matrix::z#0 [ ] ( main:4::anim:11::rotate_matrix:28 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
asm { clc ldxzr C1: ldamulf_sqr1,x C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr C3: lda#0 A1: adcmulf_sqr1,x A2: sbcmulf_sqr2,x B1: adcmulf_sqr1,y B2: sbcmulf_sqr2,y staxr F3: lda#0 D1: adcmulf_sqr1,x D2: sbcmulf_sqr2,x E1: adcmulf_sqr1,y E2: sbcmulf_sqr2,y stayr I3: lda#0 G1: adcmulf_sqr1,x G2: sbcmulf_sqr2,x H1: adcmulf_sqr1,y H2: sbcmulf_sqr2,y stazr }
|
||||
[45] *((const signed byte*) xr#0) ← (signed byte) rotate_matrix::x#0 [ rotate_matrix::y#0 rotate_matrix::z#0 ] ( main:5::anim:13::rotate_matrix:30 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::y#0 rotate_matrix::z#0 ] )
|
||||
[46] *((const signed byte*) yr#0) ← (signed byte) rotate_matrix::y#0 [ rotate_matrix::z#0 ] ( main:5::anim:13::rotate_matrix:30 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 rotate_matrix::z#0 ] )
|
||||
[47] *((const signed byte*) zr#0) ← (signed byte) rotate_matrix::z#0 [ ] ( main:5::anim:13::rotate_matrix:30 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
asm { clc ldxzr C1: ldamulf_sqr1,x C2: sbcmulf_sqr2,x staC3+1 F1: ldamulf_sqr1,x F2: sbcmulf_sqr2,x staF3+1 I1: ldamulf_sqr1,x I2: sbcmulf_sqr2,x staI3+1 ldxxr ldyyr I3: lda#0 G1: adcmulf_sqr1,x G2: sbcmulf_sqr2,x H1: adcmulf_sqr1,y H2: sbcmulf_sqr2,y stazr staPP+1 PP: ldaPERSP_Z stapsp1 eor#$ff stapsp2 C3: lda#0 A1: adcmulf_sqr1,x A2: sbcmulf_sqr2,x B1: adcmulf_sqr1,y B2: sbcmulf_sqr2,y staxr cmp#$80 ror staXX+1 clc F3: lda#0 D1: adcmulf_sqr1,x D2: sbcmulf_sqr2,x E1: adcmulf_sqr1,y E2: sbcmulf_sqr2,y stayr cmp#$80 ror clc tay lda(psp1),y sbc(psp2),y stayp XX: ldy#0 lda(psp1),y sbc(psp2),y staxp }
|
||||
to:rotate_matrix::@return
|
||||
rotate_matrix::@return: scope:[rotate_matrix] from rotate_matrix
|
||||
[49] return [ ] ( main:4::anim:11::rotate_matrix:28 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
[49] return [ ] ( main:5::anim:13::rotate_matrix:30 [ anim::sx#6 anim::sy#6 anim::sz#6 anim::i#2 ] )
|
||||
to:@return
|
||||
store_matrix: scope:[store_matrix] from anim::@17
|
||||
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
|
||||
[51] return [ ] ( main:4::anim:11::store_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[51] return [ ] ( main:5::anim:13::store_matrix:24 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
to:@return
|
||||
calculate_matrix: scope:[calculate_matrix] from anim::@6
|
||||
[52] (signed byte) calculate_matrix::t1#0 ← (signed byte) calculate_matrix::sy#0 - (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 ] )
|
||||
[53] (signed byte) calculate_matrix::t2#0 ← (signed byte) calculate_matrix::sy#0 + (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 ] )
|
||||
[54] (signed byte) calculate_matrix::t3#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 ] )
|
||||
[55] (signed byte) calculate_matrix::t4#0 ← (signed byte) calculate_matrix::sx#0 - (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 ] )
|
||||
[56] (signed byte) calculate_matrix::t5#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t2#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] )
|
||||
[57] (signed byte) calculate_matrix::t6#0 ← (signed byte) calculate_matrix::sx#0 - (signed byte) calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] )
|
||||
[58] (signed byte) calculate_matrix::t7#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] )
|
||||
[59] (signed byte) calculate_matrix::t8#0 ← (signed byte) calculate_matrix::t2#0 - (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] )
|
||||
[60] (signed byte) calculate_matrix::t9#0 ← (signed byte) calculate_matrix::sy#0 - (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] )
|
||||
[61] (signed byte) calculate_matrix::t10#0 ← (signed byte) calculate_matrix::sy#0 + (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[62] (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) [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] )
|
||||
[63] *((const signed byte[9]) rotation_matrix#0) ← (signed byte~) calculate_matrix::$10 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[64] (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) [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] )
|
||||
[65] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (signed byte~) calculate_matrix::$11 [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[66] (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) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] )
|
||||
[67] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (signed byte~) calculate_matrix::$12 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[68] (signed byte~) calculate_matrix::$13 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t3#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t4#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] )
|
||||
[69] (signed byte~) calculate_matrix::$14 ← (signed byte~) calculate_matrix::$13 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] )
|
||||
[70] (signed byte~) calculate_matrix::$15 ← (signed byte~) calculate_matrix::$14 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] )
|
||||
[71] (signed byte~) calculate_matrix::$16 ← (signed byte~) calculate_matrix::$15 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] )
|
||||
[72] (signed byte~) calculate_matrix::$17 ← (signed byte~) calculate_matrix::$16 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] )
|
||||
[73] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (signed byte~) calculate_matrix::$17 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[74] (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) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] )
|
||||
[75] (signed byte~) calculate_matrix::$19 ← (signed byte~) calculate_matrix::$18 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] )
|
||||
[76] (signed byte~) calculate_matrix::$20 ← (signed byte~) calculate_matrix::$19 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] )
|
||||
[77] (signed byte~) calculate_matrix::$21 ← (signed byte~) calculate_matrix::$20 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] )
|
||||
[78] (signed byte~) calculate_matrix::$22 ← (signed byte~) calculate_matrix::$21 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] )
|
||||
[79] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (signed byte~) calculate_matrix::$22 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[80] (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) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] )
|
||||
[81] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5) ← (signed byte~) calculate_matrix::$23 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[82] (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) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] )
|
||||
[83] (signed byte~) calculate_matrix::$25 ← (signed byte~) calculate_matrix::$24 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] )
|
||||
[84] (signed byte~) calculate_matrix::$26 ← (signed byte~) calculate_matrix::$25 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] )
|
||||
[85] (signed byte~) calculate_matrix::$27 ← (signed byte~) calculate_matrix::$26 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] )
|
||||
[86] (signed byte~) calculate_matrix::$28 ← (signed byte~) calculate_matrix::$27 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] )
|
||||
[87] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (signed byte~) calculate_matrix::$28 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[88] (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) [ calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] )
|
||||
[89] (signed byte~) calculate_matrix::$30 ← (signed byte~) calculate_matrix::$29 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] )
|
||||
[90] (signed byte~) calculate_matrix::$31 ← (signed byte~) calculate_matrix::$30 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] )
|
||||
[91] (signed byte~) calculate_matrix::$32 ← (signed byte~) calculate_matrix::$31 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] )
|
||||
[92] (signed byte~) calculate_matrix::$33 ← (signed byte~) calculate_matrix::$32 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] )
|
||||
[93] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 7) ← (signed byte~) calculate_matrix::$33 [ calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[94] (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) [ calculate_matrix::$34 ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::$34 ] )
|
||||
[95] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8) ← (signed byte~) calculate_matrix::$34 [ ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[52] (signed byte) calculate_matrix::t1#0 ← (signed byte) calculate_matrix::sy#0 - (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 ] )
|
||||
[53] (signed byte) calculate_matrix::t2#0 ← (signed byte) calculate_matrix::sy#0 + (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 ] )
|
||||
[54] (signed byte) calculate_matrix::t3#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::sz#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 ] )
|
||||
[55] (signed byte) calculate_matrix::t4#0 ← (signed byte) calculate_matrix::sx#0 - (signed byte) calculate_matrix::sz#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 ] )
|
||||
[56] (signed byte) calculate_matrix::t5#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t2#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 ] )
|
||||
[57] (signed byte) calculate_matrix::t6#0 ← (signed byte) calculate_matrix::sx#0 - (signed byte) calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 ] )
|
||||
[58] (signed byte) calculate_matrix::t7#0 ← (signed byte) calculate_matrix::sx#0 + (signed byte) calculate_matrix::t1#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 ] )
|
||||
[59] (signed byte) calculate_matrix::t8#0 ← (signed byte) calculate_matrix::t2#0 - (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 ] )
|
||||
[60] (signed byte) calculate_matrix::t9#0 ← (signed byte) calculate_matrix::sy#0 - (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sx#0 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 ] )
|
||||
[61] (signed byte) calculate_matrix::t10#0 ← (signed byte) calculate_matrix::sy#0 + (signed byte) calculate_matrix::sx#0 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[62] (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) [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$10 ] )
|
||||
[63] *((const signed byte[9]) rotation_matrix#0) ← (signed byte~) calculate_matrix::$10 [ calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t1#0 calculate_matrix::t2#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[64] (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) [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$11 ] )
|
||||
[65] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (signed byte~) calculate_matrix::$11 [ calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::sy#0 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[66] (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) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$12 ] )
|
||||
[67] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (signed byte~) calculate_matrix::$12 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[68] (signed byte~) calculate_matrix::$13 ← *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t3#0) - *((const signed byte*) SINH#0 + (signed byte) calculate_matrix::t4#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$13 ] )
|
||||
[69] (signed byte~) calculate_matrix::$14 ← (signed byte~) calculate_matrix::$13 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$14 ] )
|
||||
[70] (signed byte~) calculate_matrix::$15 ← (signed byte~) calculate_matrix::$14 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$15 ] )
|
||||
[71] (signed byte~) calculate_matrix::$16 ← (signed byte~) calculate_matrix::$15 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$16 ] )
|
||||
[72] (signed byte~) calculate_matrix::$17 ← (signed byte~) calculate_matrix::$16 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$17 ] )
|
||||
[73] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (signed byte~) calculate_matrix::$17 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[74] (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) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$18 ] )
|
||||
[75] (signed byte~) calculate_matrix::$19 ← (signed byte~) calculate_matrix::$18 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$19 ] )
|
||||
[76] (signed byte~) calculate_matrix::$20 ← (signed byte~) calculate_matrix::$19 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$20 ] )
|
||||
[77] (signed byte~) calculate_matrix::$21 ← (signed byte~) calculate_matrix::$20 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$21 ] )
|
||||
[78] (signed byte~) calculate_matrix::$22 ← (signed byte~) calculate_matrix::$21 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$22 ] )
|
||||
[79] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (signed byte~) calculate_matrix::$22 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[80] (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) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$23 ] )
|
||||
[81] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 5) ← (signed byte~) calculate_matrix::$23 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[82] (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) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$24 ] )
|
||||
[83] (signed byte~) calculate_matrix::$25 ← (signed byte~) calculate_matrix::$24 + *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$25 ] )
|
||||
[84] (signed byte~) calculate_matrix::$26 ← (signed byte~) calculate_matrix::$25 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$26 ] )
|
||||
[85] (signed byte~) calculate_matrix::$27 ← (signed byte~) calculate_matrix::$26 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$27 ] )
|
||||
[86] (signed byte~) calculate_matrix::$28 ← (signed byte~) calculate_matrix::$27 - *((const signed byte*) SINQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$28 ] )
|
||||
[87] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (signed byte~) calculate_matrix::$28 [ calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t3#0 calculate_matrix::t4#0 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[88] (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) [ calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t5#0 calculate_matrix::t6#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$29 ] )
|
||||
[89] (signed byte~) calculate_matrix::$30 ← (signed byte~) calculate_matrix::$29 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t6#0) [ calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t5#0 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$30 ] )
|
||||
[90] (signed byte~) calculate_matrix::$31 ← (signed byte~) calculate_matrix::$30 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t5#0) [ calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t7#0 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$31 ] )
|
||||
[91] (signed byte~) calculate_matrix::$32 ← (signed byte~) calculate_matrix::$31 + *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t7#0) [ calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t8#0 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$32 ] )
|
||||
[92] (signed byte~) calculate_matrix::$33 ← (signed byte~) calculate_matrix::$32 - *((const signed byte*) COSQ#0 + (signed byte) calculate_matrix::t8#0) [ calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t9#0 calculate_matrix::t10#0 calculate_matrix::$33 ] )
|
||||
[93] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 7) ← (signed byte~) calculate_matrix::$33 [ calculate_matrix::t9#0 calculate_matrix::t10#0 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::t9#0 calculate_matrix::t10#0 ] )
|
||||
[94] (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) [ calculate_matrix::$34 ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 calculate_matrix::$34 ] )
|
||||
[95] *((const signed byte[9]) rotation_matrix#0+(byte/signed byte/word/signed word/dword/signed dword) 8) ← (signed byte~) calculate_matrix::$34 [ ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
to:calculate_matrix::@return
|
||||
calculate_matrix::@return: scope:[calculate_matrix] from calculate_matrix
|
||||
[96] return [ ] ( main:4::anim:11::calculate_matrix:20 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
[96] return [ ] ( main:5::anim:13::calculate_matrix:22 [ anim::sx#6 anim::sy#6 anim::sz#6 ] )
|
||||
to:@return
|
||||
mulf_init: scope:[mulf_init] from main::@1
|
||||
[97] phi() [ ] ( main:4::mulf_init:9 [ ] )
|
||||
[97] phi() [ ] ( main:5::mulf_init:10 [ ] )
|
||||
to:mulf_init::@1
|
||||
mulf_init::@1: scope:[mulf_init] from mulf_init mulf_init::@1
|
||||
[98] (signed word) mulf_init::add#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 1 mulf_init::@1/(signed word) mulf_init::add#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[98] (byte) mulf_init::i#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(byte) mulf_init::i#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[98] (signed word) mulf_init::sqr#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(signed word) mulf_init::sqr#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[99] (byte) mulf_init::val#0 ← > (signed word) mulf_init::sqr#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[100] *((const byte[512]) mulf_sqr1#0 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[101] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[102] (byte~) mulf_init::$2 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] )
|
||||
[103] *((const byte[512]) mulf_sqr1#0 + (byte~) mulf_init::$2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[104] (byte~) mulf_init::$4 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] )
|
||||
[105] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte~) mulf_init::$4) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[106] *((const byte[512]) mulf_sqr2#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[107] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[108] (byte/signed word/word/dword/signed dword~) mulf_init::$8 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] )
|
||||
[109] *((const byte[512]) mulf_sqr2#0 + (byte/signed word/word/dword/signed dword~) mulf_init::$8) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[110] (byte/signed word/word/dword/signed dword~) mulf_init::$10 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] )
|
||||
[111] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256 + (byte/signed word/word/dword/signed dword~) mulf_init::$10) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:4::mulf_init:9 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[112] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ( main:4::mulf_init:9 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] )
|
||||
[113] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ( main:4::mulf_init:9 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] )
|
||||
[114] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:4::mulf_init:9 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] )
|
||||
[115] if((byte) mulf_init::i#1!=(byte/word/signed word/dword/signed dword) 129) goto mulf_init::@1 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:4::mulf_init:9 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] )
|
||||
[98] (signed word) mulf_init::add#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 1 mulf_init::@1/(signed word) mulf_init::add#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[98] (byte) mulf_init::i#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(byte) mulf_init::i#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[98] (signed word) mulf_init::sqr#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(signed word) mulf_init::sqr#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[99] (byte) mulf_init::val#0 ← > (signed word) mulf_init::sqr#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[100] *((const byte[512]) mulf_sqr1#0 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[101] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[102] (byte~) mulf_init::$2 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] )
|
||||
[103] *((const byte[512]) mulf_sqr1#0 + (byte~) mulf_init::$2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[104] (byte~) mulf_init::$4 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] )
|
||||
[105] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte~) mulf_init::$4) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[106] *((const byte[512]) mulf_sqr2#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[107] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[108] (byte/signed word/word/dword/signed dword~) mulf_init::$8 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] )
|
||||
[109] *((const byte[512]) mulf_sqr2#0 + (byte/signed word/word/dword/signed dword~) mulf_init::$8) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[110] (byte/signed word/word/dword/signed dword~) mulf_init::$10 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] )
|
||||
[111] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256 + (byte/signed word/word/dword/signed dword~) mulf_init::$10) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:5::mulf_init:10 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[112] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ( main:5::mulf_init:10 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] )
|
||||
[113] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ( main:5::mulf_init:10 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] )
|
||||
[114] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:5::mulf_init:10 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] )
|
||||
[115] if((byte) mulf_init::i#1!=(byte/word/signed word/dword/signed dword) 129) goto mulf_init::@1 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:5::mulf_init:10 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] )
|
||||
to:mulf_init::@return
|
||||
mulf_init::@return: scope:[mulf_init] from mulf_init::@1
|
||||
[116] return [ ] ( main:4::mulf_init:9 [ ] )
|
||||
[116] return [ ] ( main:5::mulf_init:10 [ ] )
|
||||
to:@return
|
||||
sprites_init: scope:[sprites_init] from main
|
||||
[117] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:4::sprites_init:7 [ ] )
|
||||
[117] *((const byte*) SPRITES_ENABLE#0) ← (byte/word/signed word/dword/signed dword) 255 [ ] ( main:5::sprites_init:8 [ ] )
|
||||
to:sprites_init::@1
|
||||
sprites_init::@1: scope:[sprites_init] from sprites_init sprites_init::@1
|
||||
[118] (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 ) [ sprites_init::i#2 ] ( main:4::sprites_init:7 [ sprites_init::i#2 ] )
|
||||
[119] *((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 [ sprites_init::i#2 ] ( main:4::sprites_init:7 [ sprites_init::i#2 ] )
|
||||
[120] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:4::sprites_init:7 [ sprites_init::i#2 ] )
|
||||
[121] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 [ sprites_init::i#1 ] ( main:4::sprites_init:7 [ sprites_init::i#1 ] )
|
||||
[122] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 [ sprites_init::i#1 ] ( main:4::sprites_init:7 [ sprites_init::i#1 ] )
|
||||
[118] (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 ) [ sprites_init::i#2 ] ( main:5::sprites_init:8 [ sprites_init::i#2 ] )
|
||||
[119] *((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 [ sprites_init::i#2 ] ( main:5::sprites_init:8 [ sprites_init::i#2 ] )
|
||||
[120] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::i#2) ← (const byte) GREEN#0 [ sprites_init::i#2 ] ( main:5::sprites_init:8 [ sprites_init::i#2 ] )
|
||||
[121] (byte) sprites_init::i#1 ← ++ (byte) sprites_init::i#2 [ sprites_init::i#1 ] ( main:5::sprites_init:8 [ sprites_init::i#1 ] )
|
||||
[122] if((byte) sprites_init::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto sprites_init::@1 [ sprites_init::i#1 ] ( main:5::sprites_init:8 [ sprites_init::i#1 ] )
|
||||
to:sprites_init::@return
|
||||
sprites_init::@return: scope:[sprites_init] from sprites_init::@1
|
||||
[123] return [ ] ( main:4::sprites_init:7 [ ] )
|
||||
[123] return [ ] ( main:5::sprites_init:8 [ ] )
|
||||
to:@return
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -11,6 +11,8 @@
|
||||
(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
|
||||
(signed byte*) PERSP_Z
|
||||
(const signed byte*) PERSP_Z#0 PERSP_Z = ((signed byte*))(word/signed word/dword/signed dword) 9216
|
||||
(byte*) RASTER
|
||||
(const byte*) RASTER#0 RASTER = ((byte*))(word/dword/signed dword) 53266
|
||||
(signed byte*) SINH
|
||||
@ -28,11 +30,9 @@
|
||||
(byte*) SPRITES_YPOS
|
||||
(const byte*) SPRITES_YPOS#0 SPRITES_YPOS = ((byte*))(word/dword/signed dword) 53249
|
||||
(void()) anim()
|
||||
(byte/word/signed word/dword/signed dword~) anim::$10 reg byte a 202.0
|
||||
(byte~) anim::$12 reg byte a 22.0
|
||||
(signed byte~) anim::$5 reg byte a 101.0
|
||||
(byte/word/signed word/dword/signed dword~) anim::$7 reg byte a 202.0
|
||||
(signed byte~) anim::$8 reg byte a 101.0
|
||||
(byte~) anim::$10 reg byte a 22.0
|
||||
(byte/word/signed word/dword/signed dword~) anim::$6 reg byte a 202.0
|
||||
(byte/word/signed word/dword/signed dword~) anim::$8 reg byte a 202.0
|
||||
(label) anim::@1
|
||||
(label) anim::@14
|
||||
(label) anim::@15
|
||||
@ -44,19 +44,19 @@
|
||||
(label) anim::@8
|
||||
(byte) anim::i
|
||||
(byte) anim::i#1 i zp ZP_BYTE:5 151.5
|
||||
(byte) anim::i#2 i zp ZP_BYTE:5 46.61538461538461
|
||||
(byte) anim::i#2 i zp ZP_BYTE:5 55.090909090909086
|
||||
(byte) anim::i2
|
||||
(byte) anim::i2#0 reg byte x 50.5
|
||||
(byte) anim::i2#0 reg byte x 75.75
|
||||
(signed byte) anim::sx
|
||||
(signed byte) anim::sx#1 sx zp ZP_BYTE:2 22.0
|
||||
(signed byte) anim::sx#11 sx zp ZP_BYTE:2 16.5
|
||||
(signed byte) anim::sx#6 sx zp ZP_BYTE:2 1.5714285714285714
|
||||
(signed byte) anim::sx#6 sx zp ZP_BYTE:2 1.6923076923076923
|
||||
(signed byte) anim::sy
|
||||
(signed byte) anim::sy#1 sy zp ZP_BYTE:3 5.5
|
||||
(signed byte) anim::sy#6 sy zp ZP_BYTE:3 1.32
|
||||
(signed byte) anim::sy#6 sy zp ZP_BYTE:3 1.4347826086956523
|
||||
(signed byte) anim::sz
|
||||
(signed byte) anim::sz#1 sz zp ZP_BYTE:4 3.142857142857143
|
||||
(signed byte) anim::sz#6 sz zp ZP_BYTE:4 1.375
|
||||
(signed byte) anim::sz#6 sz zp ZP_BYTE:4 1.5
|
||||
(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
|
||||
@ -136,6 +136,10 @@
|
||||
(const byte[512]) mulf_sqr1#0 mulf_sqr1 = { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2
|
||||
(const byte[512]) mulf_sqr2#0 mulf_sqr2 = { fill( 512, 0) }
|
||||
(word*) psp1
|
||||
(const word*) psp1#0 psp1 = ((word*))(byte/word/signed word/dword/signed dword) 245
|
||||
(word*) psp2
|
||||
(const word*) psp2#0 psp2 = ((word*))(byte/word/signed word/dword/signed dword) 247
|
||||
(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
|
||||
@ -158,10 +162,14 @@
|
||||
(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*) xp
|
||||
(const signed byte*) xp#0 xp = ((signed byte*))(byte/word/signed word/dword/signed dword) 243
|
||||
(signed byte*) xr
|
||||
(const signed byte*) xr#0 xr = ((signed byte*))(byte/word/signed word/dword/signed dword) 240
|
||||
(signed byte[8]) xs
|
||||
(const signed byte[8]) xs#0 xs = { -(byte/signed byte/word/signed word/dword/signed dword) 63, -(byte/signed byte/word/signed word/dword/signed dword) 63, -(byte/signed byte/word/signed word/dword/signed dword) 63, -(byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63 }
|
||||
(signed byte*) yp
|
||||
(const signed byte*) yp#0 yp = ((signed byte*))(byte/word/signed word/dword/signed dword) 244
|
||||
(signed byte*) yr
|
||||
(const signed byte*) yr#0 yr = ((signed byte*))(byte/word/signed word/dword/signed dword) 241
|
||||
(signed byte[8]) ys
|
||||
@ -185,11 +193,9 @@ zp ZP_BYTE:10 [ rotate_matrix::x#0 calculate_matrix::t2#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::$5 ]
|
||||
reg byte a [ anim::$7 ]
|
||||
reg byte a [ anim::$6 ]
|
||||
reg byte a [ anim::$8 ]
|
||||
reg byte a [ anim::$10 ]
|
||||
reg byte a [ anim::$12 ]
|
||||
zp ZP_BYTE:11 [ calculate_matrix::t3#0 ]
|
||||
zp ZP_BYTE:12 [ calculate_matrix::t4#0 ]
|
||||
zp ZP_BYTE:13 [ calculate_matrix::t5#0 ]
|
||||
|
301
src/test/ref/examples/3d/perspective.asm
Normal file
301
src/test/ref/examples/3d/perspective.asm
Normal file
@ -0,0 +1,301 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.label xr = $f0
|
||||
.label yr = $f1
|
||||
.label zr = $f2
|
||||
.label psp1 = $f3
|
||||
.label psp2 = $f5
|
||||
.label PERSP_Z = $2400
|
||||
.label print_char_cursor = 4
|
||||
.label print_line_cursor = 2
|
||||
jsr main
|
||||
main: {
|
||||
sei
|
||||
jsr mulf_init
|
||||
lda #<mulf_sqr1
|
||||
sta psp1
|
||||
lda #>mulf_sqr1
|
||||
sta psp1+1
|
||||
lda #<mulf_sqr2
|
||||
sta psp2
|
||||
lda #>mulf_sqr2
|
||||
sta psp2+1
|
||||
jsr print_cls
|
||||
jsr do_perspective
|
||||
rts
|
||||
}
|
||||
do_perspective: {
|
||||
.label y = -$47
|
||||
.label x = $39
|
||||
.label z = $36
|
||||
lda #<$400
|
||||
sta print_char_cursor
|
||||
lda #>$400
|
||||
sta print_char_cursor+1
|
||||
lda #<str
|
||||
sta print_str.str
|
||||
lda #>str
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
ldx #x
|
||||
jsr print_sbyte
|
||||
lda #<str1
|
||||
sta print_str.str
|
||||
lda #>str1
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
ldx #y
|
||||
jsr print_sbyte
|
||||
lda #<str2
|
||||
sta print_str.str
|
||||
lda #>str2
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
ldx #z
|
||||
jsr print_sbyte
|
||||
lda #<str3
|
||||
sta print_str.str
|
||||
lda #>str3
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
jsr perspective
|
||||
ldx xr
|
||||
jsr print_byte
|
||||
lda #<str4
|
||||
sta print_str.str
|
||||
lda #>str4
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
ldx yr
|
||||
jsr print_byte
|
||||
lda #<str5
|
||||
sta print_str.str
|
||||
lda #>str5
|
||||
sta print_str.str+1
|
||||
jsr print_str
|
||||
jsr print_ln
|
||||
rts
|
||||
str: .text "(@"
|
||||
str1: .text ",@"
|
||||
str2: .text ",@"
|
||||
str3: .text ") -> (@"
|
||||
str4: .text ",@"
|
||||
str5: .text ")@"
|
||||
}
|
||||
print_ln: {
|
||||
lda #<$400
|
||||
sta print_line_cursor
|
||||
lda #>$400
|
||||
sta print_line_cursor+1
|
||||
b1:
|
||||
lda print_line_cursor
|
||||
clc
|
||||
adc #$28
|
||||
sta print_line_cursor
|
||||
bcc !+
|
||||
inc print_line_cursor+1
|
||||
!:
|
||||
lda print_line_cursor+1
|
||||
cmp print_char_cursor+1
|
||||
bcc b1
|
||||
bne !+
|
||||
lda print_line_cursor
|
||||
cmp print_char_cursor
|
||||
bcc b1
|
||||
!:
|
||||
rts
|
||||
}
|
||||
print_str: {
|
||||
.label str = 2
|
||||
b1:
|
||||
ldy #0
|
||||
lda (str),y
|
||||
cmp #'@'
|
||||
bne b2
|
||||
rts
|
||||
b2:
|
||||
ldy #0
|
||||
lda (str),y
|
||||
sta (print_char_cursor),y
|
||||
inc print_char_cursor
|
||||
bne !+
|
||||
inc print_char_cursor+1
|
||||
!:
|
||||
inc str
|
||||
bne !+
|
||||
inc str+1
|
||||
!:
|
||||
jmp b1
|
||||
}
|
||||
print_byte: {
|
||||
txa
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
tay
|
||||
lda print_hextab,y
|
||||
jsr print_char
|
||||
txa
|
||||
and #$f
|
||||
tay
|
||||
lda print_hextab,y
|
||||
jsr print_char
|
||||
rts
|
||||
}
|
||||
print_char: {
|
||||
ldy #0
|
||||
sta (print_char_cursor),y
|
||||
inc print_char_cursor
|
||||
bne !+
|
||||
inc print_char_cursor+1
|
||||
!:
|
||||
rts
|
||||
}
|
||||
perspective: {
|
||||
lda #do_perspective.x
|
||||
sta xr
|
||||
lda #do_perspective.y
|
||||
sta yr
|
||||
lda #do_perspective.z
|
||||
sta zr
|
||||
sta PP+1
|
||||
PP:
|
||||
lda PERSP_Z
|
||||
sta psp1
|
||||
eor #$ff
|
||||
sta psp2
|
||||
clc
|
||||
ldy yr
|
||||
lda (psp1),y
|
||||
sbc (psp2),y
|
||||
adc #$80
|
||||
sta yr
|
||||
clc
|
||||
ldy xr
|
||||
lda (psp1),y
|
||||
sbc (psp2),y
|
||||
adc #$80
|
||||
sta xr
|
||||
rts
|
||||
}
|
||||
print_sbyte: {
|
||||
cpx #0
|
||||
bpl b1
|
||||
lda #'-'
|
||||
jsr print_char
|
||||
txa
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
tax
|
||||
b1:
|
||||
jsr print_byte
|
||||
rts
|
||||
}
|
||||
print_cls: {
|
||||
.label sc = 2
|
||||
lda #<$400
|
||||
sta sc
|
||||
lda #>$400
|
||||
sta sc+1
|
||||
b1:
|
||||
lda #' '
|
||||
ldy #0
|
||||
sta (sc),y
|
||||
inc sc
|
||||
bne !+
|
||||
inc sc+1
|
||||
!:
|
||||
lda sc+1
|
||||
cmp #>$400+$3e8
|
||||
bne b1
|
||||
lda sc
|
||||
cmp #<$400+$3e8
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
mulf_init: {
|
||||
.label val = 6
|
||||
.label sqr = 2
|
||||
.label add = 4
|
||||
lda #<1
|
||||
sta add
|
||||
lda #>1
|
||||
sta add+1
|
||||
tax
|
||||
sta sqr
|
||||
sta sqr+1
|
||||
b1:
|
||||
lda sqr+1
|
||||
sta val
|
||||
sta mulf_sqr1,x
|
||||
sta mulf_sqr1+$100,x
|
||||
txa
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
tay
|
||||
lda val
|
||||
sta mulf_sqr1,y
|
||||
txa
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
tay
|
||||
lda val
|
||||
sta mulf_sqr1+$100,y
|
||||
sta mulf_sqr2+1,x
|
||||
sta mulf_sqr2+$100+1,x
|
||||
txa
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1+1
|
||||
tay
|
||||
lda val
|
||||
sta mulf_sqr2,y
|
||||
txa
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1+1
|
||||
tay
|
||||
lda val
|
||||
sta mulf_sqr2+$100,y
|
||||
lda sqr
|
||||
clc
|
||||
adc add
|
||||
sta sqr
|
||||
lda sqr+1
|
||||
adc add+1
|
||||
sta sqr+1
|
||||
lda add
|
||||
clc
|
||||
adc #2
|
||||
sta add
|
||||
bcc !+
|
||||
inc add+1
|
||||
!:
|
||||
inx
|
||||
cpx #$81
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
print_hextab: .text "0123456789abcdef"
|
||||
.align $100
|
||||
mulf_sqr1: .fill $200, 0
|
||||
.align $100
|
||||
mulf_sqr2: .fill $200, 0
|
||||
.pc = PERSP_Z "Inline"
|
||||
{
|
||||
.var d = 256.0
|
||||
.var z0 = 5.0
|
||||
.for(var z=0;z<$100;z++) {
|
||||
.if(z>127) {
|
||||
.byte round(d / (z0 - ((z - 256) / 64.0)));
|
||||
} else {
|
||||
.byte round(d / (z0 - (z / 64.0)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
212
src/test/ref/examples/3d/perspective.cfg
Normal file
212
src/test/ref/examples/3d/perspective.cfg
Normal file
@ -0,0 +1,212 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi() [ ] ( )
|
||||
to:@21
|
||||
@21: scope:[] from @begin
|
||||
kickasm(location (const signed byte*) PERSP_Z#0) {{ {
|
||||
.var d = 256.0
|
||||
.var z0 = 5.0
|
||||
.for(var z=0;z<$100;z++) {
|
||||
.if(z>127) {
|
||||
.byte round(d / (z0 - ((z - 256) / 64.0)));
|
||||
} else {
|
||||
.byte round(d / (z0 - (z / 64.0)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}}
|
||||
[2] call main [ ] ( )
|
||||
to:@end
|
||||
@end: scope:[] from @21
|
||||
[3] phi() [ ] ( )
|
||||
main: scope:[main] from @21
|
||||
asm { sei }
|
||||
[5] call mulf_init [ ] ( main:2 [ ] )
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main
|
||||
[6] *((const word*) psp1#0) ← ((word))(const byte[512]) mulf_sqr1#0 [ ] ( main:2 [ ] )
|
||||
[7] *((const word*) psp2#0) ← ((word))(const byte[512]) mulf_sqr2#0 [ ] ( main:2 [ ] )
|
||||
[8] call print_cls [ ] ( main:2 [ ] )
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@1
|
||||
[9] phi() [ ] ( main:2 [ ] )
|
||||
[10] call do_perspective [ ] ( main:2 [ ] )
|
||||
to:main::@return
|
||||
main::@return: scope:[main] from main::@2
|
||||
[11] return [ ] ( main:2 [ ] )
|
||||
to:@return
|
||||
do_perspective: scope:[do_perspective] from main::@2
|
||||
[12] phi() [ ] ( main:2::do_perspective:10 [ ] )
|
||||
[13] call print_str [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
to:do_perspective::@1
|
||||
do_perspective::@1: scope:[do_perspective] from do_perspective
|
||||
[14] phi() [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
[15] call print_sbyte [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
to:do_perspective::@2
|
||||
do_perspective::@2: scope:[do_perspective] from do_perspective::@1
|
||||
[16] phi() [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
[17] call print_str [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
to:do_perspective::@3
|
||||
do_perspective::@3: scope:[do_perspective] from do_perspective::@2
|
||||
[18] phi() [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
[19] call print_sbyte [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
to:do_perspective::@4
|
||||
do_perspective::@4: scope:[do_perspective] from do_perspective::@3
|
||||
[20] phi() [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
[21] call print_str [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
to:do_perspective::@5
|
||||
do_perspective::@5: scope:[do_perspective] from do_perspective::@4
|
||||
[22] phi() [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
[23] call print_sbyte [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
to:do_perspective::@6
|
||||
do_perspective::@6: scope:[do_perspective] from do_perspective::@5
|
||||
[24] phi() [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
[25] call print_str [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
to:do_perspective::@7
|
||||
do_perspective::@7: scope:[do_perspective] from do_perspective::@6
|
||||
[26] phi() [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
[27] call perspective [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
to:do_perspective::@8
|
||||
do_perspective::@8: scope:[do_perspective] from do_perspective::@7
|
||||
[28] (byte~) print_byte::b#6 ← (byte)*((const signed byte*) xr#0) [ print_byte::b#6 print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_byte::b#6 print_char_cursor#2 ] )
|
||||
[29] call print_byte [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
to:do_perspective::@9
|
||||
do_perspective::@9: scope:[do_perspective] from do_perspective::@8
|
||||
[30] phi() [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
[31] call print_str [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
to:do_perspective::@10
|
||||
do_perspective::@10: scope:[do_perspective] from do_perspective::@9
|
||||
[32] (byte~) print_byte::b#5 ← (byte)*((const signed byte*) yr#0) [ print_byte::b#5 print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_byte::b#5 print_char_cursor#2 ] )
|
||||
[33] call print_byte [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
to:do_perspective::@11
|
||||
do_perspective::@11: scope:[do_perspective] from do_perspective::@10
|
||||
[34] phi() [ print_char_cursor#11 ] ( main:2::do_perspective:10 [ print_char_cursor#11 ] )
|
||||
[35] call print_str [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
to:do_perspective::@12
|
||||
do_perspective::@12: scope:[do_perspective] from do_perspective::@11
|
||||
[36] phi() [ print_char_cursor#2 ] ( main:2::do_perspective:10 [ print_char_cursor#2 ] )
|
||||
[37] call print_ln [ ] ( main:2::do_perspective:10 [ ] )
|
||||
to:do_perspective::@return
|
||||
do_perspective::@return: scope:[do_perspective] from do_perspective::@12
|
||||
[38] return [ ] ( main:2::do_perspective:10 [ ] )
|
||||
to:@return
|
||||
print_ln: scope:[print_ln] from do_perspective::@12
|
||||
[39] phi() [ print_char_cursor#2 ] ( main:2::do_perspective:10::print_ln:37 [ print_char_cursor#2 ] )
|
||||
to:print_ln::@1
|
||||
print_ln::@1: scope:[print_ln] from print_ln print_ln::@1
|
||||
[40] (byte*) print_line_cursor#11 ← phi( print_ln/((byte*))(word/signed word/dword/signed dword) 1024 print_ln::@1/(byte*) print_line_cursor#1 ) [ print_line_cursor#11 print_char_cursor#2 ] ( main:2::do_perspective:10::print_ln:37 [ print_line_cursor#11 print_char_cursor#2 ] )
|
||||
[41] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#11 + (byte/signed byte/word/signed word/dword/signed dword) 40 [ print_line_cursor#1 print_char_cursor#2 ] ( main:2::do_perspective:10::print_ln:37 [ print_line_cursor#1 print_char_cursor#2 ] )
|
||||
[42] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#2) goto print_ln::@1 [ print_line_cursor#1 print_char_cursor#2 ] ( main:2::do_perspective:10::print_ln:37 [ print_line_cursor#1 print_char_cursor#2 ] )
|
||||
to:print_ln::@return
|
||||
print_ln::@return: scope:[print_ln] from print_ln::@1
|
||||
[43] return [ ] ( main:2::do_perspective:10::print_ln:37 [ ] )
|
||||
to:@return
|
||||
print_str: scope:[print_str] from do_perspective do_perspective::@11 do_perspective::@2 do_perspective::@4 do_perspective::@6 do_perspective::@9
|
||||
[44] (byte*) print_char_cursor#71 ← phi( do_perspective/((byte*))(word/signed word/dword/signed dword) 1024 do_perspective::@11/(byte*) print_char_cursor#11 do_perspective::@2/(byte*) print_char_cursor#11 do_perspective::@4/(byte*) print_char_cursor#11 do_perspective::@6/(byte*) print_char_cursor#11 do_perspective::@9/(byte*) print_char_cursor#11 ) [ print_str::str#9 print_char_cursor#71 ] ( main:2::do_perspective:10::print_str:13 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:17 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:21 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:25 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:31 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:35 [ print_str::str#9 print_char_cursor#71 ] )
|
||||
[44] (byte*) print_str::str#9 ← phi( do_perspective/(const string) do_perspective::str do_perspective::@11/(const string) do_perspective::str5 do_perspective::@2/(const string) do_perspective::str1 do_perspective::@4/(const string) do_perspective::str2 do_perspective::@6/(const string) do_perspective::str3 do_perspective::@9/(const string) do_perspective::str4 ) [ print_str::str#9 print_char_cursor#71 ] ( main:2::do_perspective:10::print_str:13 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:17 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:21 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:25 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:31 [ print_str::str#9 print_char_cursor#71 ] main:2::do_perspective:10::print_str:35 [ print_str::str#9 print_char_cursor#71 ] )
|
||||
to:print_str::@1
|
||||
print_str::@1: scope:[print_str] from print_str print_str::@2
|
||||
[45] (byte*) print_char_cursor#2 ← phi( print_str/(byte*) print_char_cursor#71 print_str::@2/(byte*) print_char_cursor#1 ) [ print_char_cursor#2 print_str::str#7 ] ( main:2::do_perspective:10::print_str:13 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:17 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:21 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:25 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:31 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:35 [ print_char_cursor#2 print_str::str#7 ] )
|
||||
[45] (byte*) print_str::str#7 ← phi( print_str/(byte*) print_str::str#9 print_str::@2/(byte*) print_str::str#0 ) [ print_char_cursor#2 print_str::str#7 ] ( main:2::do_perspective:10::print_str:13 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:17 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:21 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:25 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:31 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:35 [ print_char_cursor#2 print_str::str#7 ] )
|
||||
[46] if(*((byte*) print_str::str#7)!=(byte) '@') goto print_str::@2 [ print_char_cursor#2 print_str::str#7 ] ( main:2::do_perspective:10::print_str:13 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:17 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:21 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:25 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:31 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:35 [ print_char_cursor#2 print_str::str#7 ] )
|
||||
to:print_str::@return
|
||||
print_str::@return: scope:[print_str] from print_str::@1
|
||||
[47] return [ print_char_cursor#2 ] ( main:2::do_perspective:10::print_str:13 [ print_char_cursor#2 ] main:2::do_perspective:10::print_str:17 [ print_char_cursor#2 ] main:2::do_perspective:10::print_str:21 [ print_char_cursor#2 ] main:2::do_perspective:10::print_str:25 [ print_char_cursor#2 ] main:2::do_perspective:10::print_str:31 [ print_char_cursor#2 ] main:2::do_perspective:10::print_str:35 [ print_char_cursor#2 ] )
|
||||
to:@return
|
||||
print_str::@2: scope:[print_str] from print_str::@1
|
||||
[48] *((byte*) print_char_cursor#2) ← *((byte*) print_str::str#7) [ print_char_cursor#2 print_str::str#7 ] ( main:2::do_perspective:10::print_str:13 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:17 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:21 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:25 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:31 [ print_char_cursor#2 print_str::str#7 ] main:2::do_perspective:10::print_str:35 [ print_char_cursor#2 print_str::str#7 ] )
|
||||
[49] (byte*) print_char_cursor#1 ← ++ (byte*) print_char_cursor#2 [ print_str::str#7 print_char_cursor#1 ] ( main:2::do_perspective:10::print_str:13 [ print_str::str#7 print_char_cursor#1 ] main:2::do_perspective:10::print_str:17 [ print_str::str#7 print_char_cursor#1 ] main:2::do_perspective:10::print_str:21 [ print_str::str#7 print_char_cursor#1 ] main:2::do_perspective:10::print_str:25 [ print_str::str#7 print_char_cursor#1 ] main:2::do_perspective:10::print_str:31 [ print_str::str#7 print_char_cursor#1 ] main:2::do_perspective:10::print_str:35 [ print_str::str#7 print_char_cursor#1 ] )
|
||||
[50] (byte*) print_str::str#0 ← ++ (byte*) print_str::str#7 [ print_str::str#0 print_char_cursor#1 ] ( main:2::do_perspective:10::print_str:13 [ print_str::str#0 print_char_cursor#1 ] main:2::do_perspective:10::print_str:17 [ print_str::str#0 print_char_cursor#1 ] main:2::do_perspective:10::print_str:21 [ print_str::str#0 print_char_cursor#1 ] main:2::do_perspective:10::print_str:25 [ print_str::str#0 print_char_cursor#1 ] main:2::do_perspective:10::print_str:31 [ print_str::str#0 print_char_cursor#1 ] main:2::do_perspective:10::print_str:35 [ print_str::str#0 print_char_cursor#1 ] )
|
||||
to:print_str::@1
|
||||
print_byte: scope:[print_byte] from do_perspective::@10 do_perspective::@8 print_sbyte::@1
|
||||
[51] (byte*) print_char_cursor#66 ← phi( do_perspective::@10/(byte*) print_char_cursor#2 do_perspective::@8/(byte*) print_char_cursor#2 print_sbyte::@1/(byte*) print_char_cursor#64 ) [ print_byte::b#3 print_char_cursor#66 ] ( main:2::do_perspective:10::print_byte:29 [ print_byte::b#3 print_char_cursor#66 ] main:2::do_perspective:10::print_byte:33 [ print_byte::b#3 print_char_cursor#66 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75 [ print_byte::b#3 print_char_cursor#66 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75 [ print_byte::b#3 print_char_cursor#66 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75 [ print_byte::b#3 print_char_cursor#66 ] )
|
||||
[51] (byte) print_byte::b#3 ← phi( do_perspective::@10/(byte~) print_byte::b#5 do_perspective::@8/(byte~) print_byte::b#6 print_sbyte::@1/(byte~) print_byte::b#7 ) [ print_byte::b#3 print_char_cursor#66 ] ( main:2::do_perspective:10::print_byte:29 [ print_byte::b#3 print_char_cursor#66 ] main:2::do_perspective:10::print_byte:33 [ print_byte::b#3 print_char_cursor#66 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75 [ print_byte::b#3 print_char_cursor#66 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75 [ print_byte::b#3 print_char_cursor#66 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75 [ print_byte::b#3 print_char_cursor#66 ] )
|
||||
[52] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte/signed byte/word/signed word/dword/signed dword) 4 [ print_byte::b#3 print_char_cursor#66 print_byte::$0 ] ( main:2::do_perspective:10::print_byte:29 [ print_byte::b#3 print_char_cursor#66 print_byte::$0 ] main:2::do_perspective:10::print_byte:33 [ print_byte::b#3 print_char_cursor#66 print_byte::$0 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75 [ print_byte::b#3 print_char_cursor#66 print_byte::$0 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75 [ print_byte::b#3 print_char_cursor#66 print_byte::$0 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75 [ print_byte::b#3 print_char_cursor#66 print_byte::$0 ] )
|
||||
[53] (byte) print_char::ch#1 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$0) [ print_byte::b#3 print_char_cursor#66 print_char::ch#1 ] ( main:2::do_perspective:10::print_byte:29 [ print_byte::b#3 print_char_cursor#66 print_char::ch#1 ] main:2::do_perspective:10::print_byte:33 [ print_byte::b#3 print_char_cursor#66 print_char::ch#1 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75 [ print_byte::b#3 print_char_cursor#66 print_char::ch#1 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75 [ print_byte::b#3 print_char_cursor#66 print_char::ch#1 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75 [ print_byte::b#3 print_char_cursor#66 print_char::ch#1 ] )
|
||||
[54] call print_char [ print_char_cursor#11 print_byte::b#3 ] ( main:2::do_perspective:10::print_byte:29 [ print_char_cursor#11 print_byte::b#3 ] main:2::do_perspective:10::print_byte:33 [ print_char_cursor#11 print_byte::b#3 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75 [ print_char_cursor#11 print_byte::b#3 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75 [ print_char_cursor#11 print_byte::b#3 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75 [ print_char_cursor#11 print_byte::b#3 ] )
|
||||
to:print_byte::@1
|
||||
print_byte::@1: scope:[print_byte] from print_byte
|
||||
[55] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte/signed byte/word/signed word/dword/signed dword) 15 [ print_char_cursor#11 print_byte::$2 ] ( main:2::do_perspective:10::print_byte:29 [ print_char_cursor#11 print_byte::$2 ] main:2::do_perspective:10::print_byte:33 [ print_char_cursor#11 print_byte::$2 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75 [ print_char_cursor#11 print_byte::$2 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75 [ print_char_cursor#11 print_byte::$2 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75 [ print_char_cursor#11 print_byte::$2 ] )
|
||||
[56] (byte) print_char::ch#2 ← *((const byte[]) print_hextab#0 + (byte~) print_byte::$2) [ print_char_cursor#11 print_char::ch#2 ] ( main:2::do_perspective:10::print_byte:29 [ print_char_cursor#11 print_char::ch#2 ] main:2::do_perspective:10::print_byte:33 [ print_char_cursor#11 print_char::ch#2 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75 [ print_char_cursor#11 print_char::ch#2 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75 [ print_char_cursor#11 print_char::ch#2 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75 [ print_char_cursor#11 print_char::ch#2 ] )
|
||||
[57] call print_char [ print_char_cursor#11 ] ( main:2::do_perspective:10::print_byte:29 [ print_char_cursor#11 ] main:2::do_perspective:10::print_byte:33 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75 [ print_char_cursor#11 ] )
|
||||
to:print_byte::@return
|
||||
print_byte::@return: scope:[print_byte] from print_byte::@1
|
||||
[58] return [ print_char_cursor#11 ] ( main:2::do_perspective:10::print_byte:29 [ print_char_cursor#11 ] main:2::do_perspective:10::print_byte:33 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75 [ print_char_cursor#11 ] )
|
||||
to:@return
|
||||
print_char: scope:[print_char] from print_byte print_byte::@1 print_sbyte::@2
|
||||
[59] (byte*) print_char_cursor#42 ← phi( print_byte/(byte*) print_char_cursor#66 print_byte::@1/(byte*) print_char_cursor#11 print_sbyte::@2/(byte*) print_char_cursor#2 ) [ print_char::ch#3 print_char_cursor#42 ] ( main:2::do_perspective:10::print_byte:29::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_byte:33::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_byte:29::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_byte:33::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:15::print_char:71 [ print_sbyte::b#4 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:19::print_char:71 [ print_sbyte::b#4 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:23::print_char:71 [ print_sbyte::b#4 print_char::ch#3 print_char_cursor#42 ] )
|
||||
[59] (byte) print_char::ch#3 ← phi( print_byte/(byte) print_char::ch#1 print_byte::@1/(byte) print_char::ch#2 print_sbyte::@2/(byte) '-' ) [ print_char::ch#3 print_char_cursor#42 ] ( main:2::do_perspective:10::print_byte:29::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_byte:33::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:54 [ print_byte::b#3 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_byte:29::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_byte:33::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:57 [ print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:15::print_char:71 [ print_sbyte::b#4 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:19::print_char:71 [ print_sbyte::b#4 print_char::ch#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:23::print_char:71 [ print_sbyte::b#4 print_char::ch#3 print_char_cursor#42 ] )
|
||||
[60] *((byte*) print_char_cursor#42) ← (byte) print_char::ch#3 [ print_char_cursor#42 ] ( main:2::do_perspective:10::print_byte:29::print_char:54 [ print_byte::b#3 print_char_cursor#42 ] main:2::do_perspective:10::print_byte:33::print_char:54 [ print_byte::b#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:54 [ print_byte::b#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:54 [ print_byte::b#3 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:54 [ print_byte::b#3 print_char_cursor#42 ] main:2::do_perspective:10::print_byte:29::print_char:57 [ print_char_cursor#42 ] main:2::do_perspective:10::print_byte:33::print_char:57 [ print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:57 [ print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:57 [ print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:57 [ print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:15::print_char:71 [ print_sbyte::b#4 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:19::print_char:71 [ print_sbyte::b#4 print_char_cursor#42 ] main:2::do_perspective:10::print_sbyte:23::print_char:71 [ print_sbyte::b#4 print_char_cursor#42 ] )
|
||||
[61] (byte*) print_char_cursor#11 ← ++ (byte*) print_char_cursor#42 [ print_char_cursor#11 ] ( main:2::do_perspective:10::print_byte:29::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_byte:33::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_byte:29::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_byte:33::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:15::print_char:71 [ print_sbyte::b#4 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19::print_char:71 [ print_sbyte::b#4 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23::print_char:71 [ print_sbyte::b#4 print_char_cursor#11 ] )
|
||||
to:print_char::@return
|
||||
print_char::@return: scope:[print_char] from print_char
|
||||
[62] return [ print_char_cursor#11 ] ( main:2::do_perspective:10::print_byte:29::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_byte:33::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:54 [ print_byte::b#3 print_char_cursor#11 ] main:2::do_perspective:10::print_byte:29::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_byte:33::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:15::print_byte:75::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19::print_byte:75::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23::print_byte:75::print_char:57 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:15::print_char:71 [ print_sbyte::b#4 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19::print_char:71 [ print_sbyte::b#4 print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23::print_char:71 [ print_sbyte::b#4 print_char_cursor#11 ] )
|
||||
to:@return
|
||||
perspective: scope:[perspective] from do_perspective::@7
|
||||
[63] *((const signed byte*) xr#0) ← (const signed byte) do_perspective::x#0 [ ] ( main:2::do_perspective:10::perspective:27 [ print_char_cursor#2 ] )
|
||||
[64] *((const signed byte*) yr#0) ← (const signed byte) do_perspective::y#0 [ ] ( main:2::do_perspective:10::perspective:27 [ print_char_cursor#2 ] )
|
||||
[65] *((const signed byte*) zr#0) ← (const signed byte) do_perspective::z#0 [ ] ( main:2::do_perspective:10::perspective:27 [ print_char_cursor#2 ] )
|
||||
asm { ldazr staPP+1 PP: ldaPERSP_Z stapsp1 eor#$ff stapsp2 clc ldyyr lda(psp1),y sbc(psp2),y adc#$80 stayr clc ldyxr lda(psp1),y sbc(psp2),y adc#$80 staxr }
|
||||
to:perspective::@return
|
||||
perspective::@return: scope:[perspective] from perspective
|
||||
[67] return [ ] ( main:2::do_perspective:10::perspective:27 [ print_char_cursor#2 ] )
|
||||
to:@return
|
||||
print_sbyte: scope:[print_sbyte] from do_perspective::@1 do_perspective::@3 do_perspective::@5
|
||||
[68] (signed byte) print_sbyte::b#4 ← phi( do_perspective::@1/(const signed byte) do_perspective::x#0 do_perspective::@3/(const signed byte) do_perspective::y#0 do_perspective::@5/(const signed byte) do_perspective::z#0 ) [ print_char_cursor#2 print_sbyte::b#4 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_char_cursor#2 print_sbyte::b#4 ] main:2::do_perspective:10::print_sbyte:19 [ print_char_cursor#2 print_sbyte::b#4 ] main:2::do_perspective:10::print_sbyte:23 [ print_char_cursor#2 print_sbyte::b#4 ] )
|
||||
[69] if((signed byte) print_sbyte::b#4>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto print_sbyte::@1 [ print_char_cursor#2 print_sbyte::b#4 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_char_cursor#2 print_sbyte::b#4 ] main:2::do_perspective:10::print_sbyte:19 [ print_char_cursor#2 print_sbyte::b#4 ] main:2::do_perspective:10::print_sbyte:23 [ print_char_cursor#2 print_sbyte::b#4 ] )
|
||||
to:print_sbyte::@2
|
||||
print_sbyte::@2: scope:[print_sbyte] from print_sbyte
|
||||
[70] phi() [ print_char_cursor#2 print_sbyte::b#4 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_char_cursor#2 print_sbyte::b#4 ] main:2::do_perspective:10::print_sbyte:19 [ print_char_cursor#2 print_sbyte::b#4 ] main:2::do_perspective:10::print_sbyte:23 [ print_char_cursor#2 print_sbyte::b#4 ] )
|
||||
[71] call print_char [ print_char_cursor#11 print_sbyte::b#4 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_char_cursor#11 print_sbyte::b#4 ] main:2::do_perspective:10::print_sbyte:19 [ print_char_cursor#11 print_sbyte::b#4 ] main:2::do_perspective:10::print_sbyte:23 [ print_char_cursor#11 print_sbyte::b#4 ] )
|
||||
to:print_sbyte::@4
|
||||
print_sbyte::@4: scope:[print_sbyte] from print_sbyte::@2
|
||||
[72] (signed byte) print_sbyte::b#0 ← - (signed byte) print_sbyte::b#4 [ print_char_cursor#11 print_sbyte::b#0 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_char_cursor#11 print_sbyte::b#0 ] main:2::do_perspective:10::print_sbyte:19 [ print_char_cursor#11 print_sbyte::b#0 ] main:2::do_perspective:10::print_sbyte:23 [ print_char_cursor#11 print_sbyte::b#0 ] )
|
||||
to:print_sbyte::@1
|
||||
print_sbyte::@1: scope:[print_sbyte] from print_sbyte print_sbyte::@4
|
||||
[73] (byte*) print_char_cursor#64 ← phi( print_sbyte/(byte*) print_char_cursor#2 print_sbyte::@4/(byte*) print_char_cursor#11 ) [ print_char_cursor#64 print_sbyte::b#5 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_char_cursor#64 print_sbyte::b#5 ] main:2::do_perspective:10::print_sbyte:19 [ print_char_cursor#64 print_sbyte::b#5 ] main:2::do_perspective:10::print_sbyte:23 [ print_char_cursor#64 print_sbyte::b#5 ] )
|
||||
[73] (signed byte) print_sbyte::b#5 ← phi( print_sbyte/(signed byte) print_sbyte::b#4 print_sbyte::@4/(signed byte) print_sbyte::b#0 ) [ print_char_cursor#64 print_sbyte::b#5 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_char_cursor#64 print_sbyte::b#5 ] main:2::do_perspective:10::print_sbyte:19 [ print_char_cursor#64 print_sbyte::b#5 ] main:2::do_perspective:10::print_sbyte:23 [ print_char_cursor#64 print_sbyte::b#5 ] )
|
||||
[74] (byte~) print_byte::b#7 ← (byte)(signed byte) print_sbyte::b#5 [ print_byte::b#7 print_char_cursor#64 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_byte::b#7 print_char_cursor#64 ] main:2::do_perspective:10::print_sbyte:19 [ print_byte::b#7 print_char_cursor#64 ] main:2::do_perspective:10::print_sbyte:23 [ print_byte::b#7 print_char_cursor#64 ] )
|
||||
[75] call print_byte [ print_char_cursor#11 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23 [ print_char_cursor#11 ] )
|
||||
to:print_sbyte::@return
|
||||
print_sbyte::@return: scope:[print_sbyte] from print_sbyte::@1
|
||||
[76] return [ print_char_cursor#11 ] ( main:2::do_perspective:10::print_sbyte:15 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:19 [ print_char_cursor#11 ] main:2::do_perspective:10::print_sbyte:23 [ print_char_cursor#11 ] )
|
||||
to:@return
|
||||
print_cls: scope:[print_cls] from main::@1
|
||||
[77] phi() [ ] ( main:2::print_cls:8 [ ] )
|
||||
to:print_cls::@1
|
||||
print_cls::@1: scope:[print_cls] from print_cls print_cls::@1
|
||||
[78] (byte*) print_cls::sc#2 ← phi( print_cls/((byte*))(word/signed word/dword/signed dword) 1024 print_cls::@1/(byte*) print_cls::sc#1 ) [ print_cls::sc#2 ] ( main:2::print_cls:8 [ print_cls::sc#2 ] )
|
||||
[79] *((byte*) print_cls::sc#2) ← (byte) ' ' [ print_cls::sc#2 ] ( main:2::print_cls:8 [ print_cls::sc#2 ] )
|
||||
[80] (byte*) print_cls::sc#1 ← ++ (byte*) print_cls::sc#2 [ print_cls::sc#1 ] ( main:2::print_cls:8 [ print_cls::sc#1 ] )
|
||||
[81] if((byte*) print_cls::sc#1!=((byte*))(word/signed word/dword/signed dword) 1024+(word/signed word/dword/signed dword) 1000) goto print_cls::@1 [ print_cls::sc#1 ] ( main:2::print_cls:8 [ print_cls::sc#1 ] )
|
||||
to:print_cls::@return
|
||||
print_cls::@return: scope:[print_cls] from print_cls::@1
|
||||
[82] return [ ] ( main:2::print_cls:8 [ ] )
|
||||
to:@return
|
||||
mulf_init: scope:[mulf_init] from main
|
||||
[83] phi() [ ] ( main:2::mulf_init:5 [ ] )
|
||||
to:mulf_init::@1
|
||||
mulf_init::@1: scope:[mulf_init] from mulf_init mulf_init::@1
|
||||
[84] (signed word) mulf_init::add#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 1 mulf_init::@1/(signed word) mulf_init::add#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[84] (byte) mulf_init::i#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(byte) mulf_init::i#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[84] (signed word) mulf_init::sqr#2 ← phi( mulf_init/(byte/signed byte/word/signed word/dword/signed dword) 0 mulf_init::@1/(signed word) mulf_init::sqr#1 ) [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[85] (byte) mulf_init::val#0 ← > (signed word) mulf_init::sqr#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[86] *((const byte[512]) mulf_sqr1#0 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[87] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[88] (byte~) mulf_init::$2 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$2 ] )
|
||||
[89] *((const byte[512]) mulf_sqr1#0 + (byte~) mulf_init::$2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[90] (byte~) mulf_init::$4 ← - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$4 ] )
|
||||
[91] *((const byte[512]) mulf_sqr1#0+(word/signed word/dword/signed dword) 256 + (byte~) mulf_init::$4) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[92] *((const byte[512]) mulf_sqr2#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[93] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte) mulf_init::i#2) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[94] (byte/signed word/word/dword/signed dword~) mulf_init::$8 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$8 ] )
|
||||
[95] *((const byte[512]) mulf_sqr2#0 + (byte/signed word/word/dword/signed dword~) mulf_init::$8) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 ] )
|
||||
[96] (byte/signed word/word/dword/signed dword~) mulf_init::$10 ← (byte/signed byte/word/signed word/dword/signed dword) 1 - (byte) mulf_init::i#2 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 mulf_init::val#0 mulf_init::$10 ] )
|
||||
[97] *((const byte[512]) mulf_sqr2#0+(word/signed word/dword/signed dword) 256 + (byte/signed word/word/dword/signed dword~) mulf_init::$10) ← (byte) mulf_init::val#0 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] ( main:2::mulf_init:5 [ mulf_init::sqr#2 mulf_init::i#2 mulf_init::add#2 ] )
|
||||
[98] (signed word) mulf_init::sqr#1 ← (signed word) mulf_init::sqr#2 + (signed word) mulf_init::add#2 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] ( main:2::mulf_init:5 [ mulf_init::i#2 mulf_init::add#2 mulf_init::sqr#1 ] )
|
||||
[99] (signed word) mulf_init::add#1 ← (signed word) mulf_init::add#2 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] ( main:2::mulf_init:5 [ mulf_init::i#2 mulf_init::sqr#1 mulf_init::add#1 ] )
|
||||
[100] (byte) mulf_init::i#1 ← ++ (byte) mulf_init::i#2 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:2::mulf_init:5 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] )
|
||||
[101] if((byte) mulf_init::i#1!=(byte/word/signed word/dword/signed dword) 129) goto mulf_init::@1 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] ( main:2::mulf_init:5 [ mulf_init::sqr#1 mulf_init::i#1 mulf_init::add#1 ] )
|
||||
to:mulf_init::@return
|
||||
mulf_init::@return: scope:[mulf_init] from mulf_init::@1
|
||||
[102] return [ ] ( main:2::mulf_init:5 [ ] )
|
||||
to:@return
|
3701
src/test/ref/examples/3d/perspective.log
Normal file
3701
src/test/ref/examples/3d/perspective.log
Normal file
File diff suppressed because it is too large
Load Diff
142
src/test/ref/examples/3d/perspective.sym
Normal file
142
src/test/ref/examples/3d/perspective.sym
Normal file
@ -0,0 +1,142 @@
|
||||
(label) @21
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(signed byte*) PERSP_Z
|
||||
(const signed byte*) PERSP_Z#0 PERSP_Z = ((signed byte*))(word/signed word/dword/signed dword) 9216
|
||||
(void()) do_perspective((signed byte) do_perspective::x , (signed byte) do_perspective::y , (signed byte) do_perspective::z)
|
||||
(label) do_perspective::@1
|
||||
(label) do_perspective::@10
|
||||
(label) do_perspective::@11
|
||||
(label) do_perspective::@12
|
||||
(label) do_perspective::@2
|
||||
(label) do_perspective::@3
|
||||
(label) do_perspective::@4
|
||||
(label) do_perspective::@5
|
||||
(label) do_perspective::@6
|
||||
(label) do_perspective::@7
|
||||
(label) do_perspective::@8
|
||||
(label) do_perspective::@9
|
||||
(label) do_perspective::@return
|
||||
(const string) do_perspective::str str = (string) "(@"
|
||||
(const string) do_perspective::str1 str1 = (string) ",@"
|
||||
(const string) do_perspective::str2 str2 = (string) ",@"
|
||||
(const string) do_perspective::str3 str3 = (string) ") -> (@"
|
||||
(const string) do_perspective::str4 str4 = (string) ",@"
|
||||
(const string) do_perspective::str5 str5 = (string) ")@"
|
||||
(signed byte) do_perspective::x
|
||||
(const signed byte) do_perspective::x#0 x = (byte/signed byte/word/signed word/dword/signed dword) 57
|
||||
(signed byte) do_perspective::y
|
||||
(const signed byte) do_perspective::y#0 y = -(byte/signed byte/word/signed word/dword/signed dword) 71
|
||||
(signed byte) do_perspective::z
|
||||
(const signed byte) do_perspective::z#0 z = (byte/signed byte/word/signed word/dword/signed dword) 54
|
||||
(void()) main()
|
||||
(label) main::@1
|
||||
(label) main::@2
|
||||
(label) main::@return
|
||||
(void()) mulf_init()
|
||||
(byte/signed word/word/dword/signed dword~) mulf_init::$10 reg byte a 22.0
|
||||
(byte~) mulf_init::$2 reg byte a 22.0
|
||||
(byte~) mulf_init::$4 reg byte a 22.0
|
||||
(byte/signed word/word/dword/signed dword~) mulf_init::$8 reg byte a 22.0
|
||||
(label) mulf_init::@1
|
||||
(label) mulf_init::@return
|
||||
(signed word) mulf_init::add
|
||||
(signed word) mulf_init::add#1 add zp ZP_WORD:4 7.333333333333333
|
||||
(signed word) mulf_init::add#2 add zp ZP_WORD:4 2.1999999999999997
|
||||
(byte) mulf_init::i
|
||||
(byte) mulf_init::i#1 reg byte x 16.5
|
||||
(byte) mulf_init::i#2 reg byte x 6.875
|
||||
(signed word) mulf_init::sqr
|
||||
(signed word) mulf_init::sqr#1 sqr zp ZP_WORD:2 5.5
|
||||
(signed word) mulf_init::sqr#2 sqr zp ZP_WORD:2 2.357142857142857
|
||||
(byte) mulf_init::val
|
||||
(byte) mulf_init::val#0 val zp ZP_BYTE:6 8.25
|
||||
(byte[512]) mulf_sqr1
|
||||
(const byte[512]) mulf_sqr1#0 mulf_sqr1 = { fill( 512, 0) }
|
||||
(byte[512]) mulf_sqr2
|
||||
(const byte[512]) mulf_sqr2#0 mulf_sqr2 = { fill( 512, 0) }
|
||||
(void()) perspective((signed byte) perspective::x , (signed byte) perspective::y , (signed byte) perspective::z)
|
||||
(label) perspective::@return
|
||||
(signed byte) perspective::x
|
||||
(signed byte) perspective::y
|
||||
(signed byte) perspective::z
|
||||
(void()) print_byte((byte) print_byte::b)
|
||||
(byte~) print_byte::$0 reg byte a 4.0
|
||||
(byte~) print_byte::$2 reg byte a 4.0
|
||||
(label) print_byte::@1
|
||||
(label) print_byte::@return
|
||||
(byte) print_byte::b
|
||||
(byte) print_byte::b#3 reg byte x 2.5
|
||||
(byte~) print_byte::b#5 reg byte x 4.0
|
||||
(byte~) print_byte::b#6 reg byte x 4.0
|
||||
(byte~) print_byte::b#7 reg byte x 4.0
|
||||
(void()) print_char((byte) print_char::ch)
|
||||
(label) print_char::@return
|
||||
(byte) print_char::ch
|
||||
(byte) print_char::ch#1 reg byte a 4.0
|
||||
(byte) print_char::ch#2 reg byte a 4.0
|
||||
(byte) print_char::ch#3 reg byte a 6.0
|
||||
(byte*) print_char_cursor
|
||||
(byte*) print_char_cursor#1 print_char_cursor zp ZP_WORD:4 11.0
|
||||
(byte*) print_char_cursor#11 print_char_cursor zp ZP_WORD:4 0.7619047619047619
|
||||
(byte*) print_char_cursor#2 print_char_cursor zp ZP_WORD:4 2.16
|
||||
(byte*) print_char_cursor#42 print_char_cursor zp ZP_WORD:4 5.0
|
||||
(byte*) print_char_cursor#64 print_char_cursor zp ZP_WORD:4 3.0
|
||||
(byte*) print_char_cursor#66 print_char_cursor zp ZP_WORD:4 2.6666666666666665
|
||||
(byte*) print_char_cursor#71 print_char_cursor zp ZP_WORD:4 12.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:2 16.5
|
||||
(byte*) print_cls::sc#2 sc zp ZP_WORD:2 16.5
|
||||
(byte[]) print_hextab
|
||||
(const byte[]) print_hextab#0 print_hextab = (string) "0123456789abcdef"
|
||||
(byte*) print_line_cursor
|
||||
(byte*) print_line_cursor#1 print_line_cursor zp ZP_WORD:2 16.5
|
||||
(byte*) print_line_cursor#11 print_line_cursor zp ZP_WORD:2 22.0
|
||||
(void()) print_ln()
|
||||
(label) print_ln::@1
|
||||
(label) print_ln::@return
|
||||
(void()) print_sbyte((signed byte) print_sbyte::b)
|
||||
(label) print_sbyte::@1
|
||||
(label) print_sbyte::@2
|
||||
(label) print_sbyte::@4
|
||||
(label) print_sbyte::@return
|
||||
(signed byte) print_sbyte::b
|
||||
(signed byte) print_sbyte::b#0 reg byte x 4.0
|
||||
(signed byte) print_sbyte::b#4 reg byte x 1.5
|
||||
(signed byte) print_sbyte::b#5 reg byte x 4.0
|
||||
(byte*) print_screen
|
||||
(void()) print_str((byte*) print_str::str)
|
||||
(label) print_str::@1
|
||||
(label) print_str::@2
|
||||
(label) print_str::@return
|
||||
(byte*) print_str::str
|
||||
(byte*) print_str::str#0 str zp ZP_WORD:2 22.0
|
||||
(byte*) print_str::str#7 str zp ZP_WORD:2 11.5
|
||||
(byte*) print_str::str#9 str zp ZP_WORD:2 2.0
|
||||
(word*) psp1
|
||||
(const word*) psp1#0 psp1 = ((word*))(byte/word/signed word/dword/signed dword) 243
|
||||
(word*) psp2
|
||||
(const word*) psp2#0 psp2 = ((word*))(byte/word/signed word/dword/signed dword) 245
|
||||
(signed byte*) xr
|
||||
(const signed byte*) xr#0 xr = ((signed byte*))(byte/word/signed word/dword/signed dword) 240
|
||||
(signed byte*) yr
|
||||
(const signed byte*) yr#0 yr = ((signed byte*))(byte/word/signed word/dword/signed dword) 241
|
||||
(signed byte*) zr
|
||||
(const signed byte*) zr#0 zr = ((signed byte*))(byte/word/signed word/dword/signed dword) 242
|
||||
|
||||
zp ZP_WORD:2 [ print_line_cursor#11 print_line_cursor#1 print_str::str#7 print_str::str#9 print_str::str#0 print_cls::sc#2 print_cls::sc#1 mulf_init::sqr#2 mulf_init::sqr#1 ]
|
||||
reg byte x [ print_byte::b#3 print_byte::b#5 print_byte::b#6 print_byte::b#7 ]
|
||||
reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ]
|
||||
zp ZP_WORD:4 [ print_char_cursor#42 print_char_cursor#66 print_char_cursor#2 print_char_cursor#71 print_char_cursor#11 print_char_cursor#1 print_char_cursor#64 mulf_init::add#2 mulf_init::add#1 ]
|
||||
reg byte x [ print_sbyte::b#5 print_sbyte::b#4 print_sbyte::b#0 ]
|
||||
reg byte x [ mulf_init::i#2 mulf_init::i#1 ]
|
||||
reg byte a [ print_byte::$0 ]
|
||||
reg byte a [ print_byte::$2 ]
|
||||
zp ZP_BYTE:6 [ mulf_init::val#0 ]
|
||||
reg byte a [ mulf_init::$2 ]
|
||||
reg byte a [ mulf_init::$4 ]
|
||||
reg byte a [ mulf_init::$8 ]
|
||||
reg byte a [ mulf_init::$10 ]
|
Loading…
x
Reference in New Issue
Block a user