mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-27 19:50:10 +00:00
Improved readability a bit.
This commit is contained in:
parent
87933460f3
commit
5896f483b7
@ -1,5 +1,4 @@
|
||||
// Angles: sf[0.8] : $80=PI, $100 = 2*PI
|
||||
// Values: sin(x) in [-1;1] sf[0.16] : -1.0: -$7fff 1.0:$7fff
|
||||
// 2D rotattion of 8 sprites
|
||||
|
||||
import "c64"
|
||||
import "fastmultiply"
|
||||
@ -7,7 +6,9 @@ import "fastmultiply"
|
||||
byte* SCREEN = $0400;
|
||||
byte* SPRITE = $3000;
|
||||
|
||||
// Sine and Cosine tables - // signed fixed [-$7f,$7f]
|
||||
// Sine and Cosine tables
|
||||
// Angles: $00=0, $80=PI,$100=2*PI
|
||||
// Sine/Cosine: signed fixed [-$7f,$7f]
|
||||
byte* COS = $2000;
|
||||
byte* SIN = COS+$40; // sin(x) = cos(x+PI/2)
|
||||
|
||||
@ -48,13 +49,12 @@ void anim() {
|
||||
mulf8s_prepare(sin_a);
|
||||
xr -= mulf8s_prepared(y)<<1; // signed fixed[8.8]
|
||||
yr += mulf8s_prepared(x)<<1; // signed fixed[8.8]
|
||||
signed word xpos = ((signed byte) >xr) + 89 + 24 + 60;
|
||||
signed word xpos = ((signed byte) >xr) + 24 /*border*/ + 149 /*center*/;
|
||||
sprite_msb = sprite_msb>>1;
|
||||
if(>xpos!=0) {
|
||||
sprite_msb |= $80;
|
||||
}
|
||||
//signed word ypos = ((signed byte) >yr) + 89 + 51;
|
||||
byte ypos = (>yr) + 89 + 51; // Effectively the same as <(((signed byte) >yr) + 89 + 51;)
|
||||
byte ypos = (>yr) + 89 /*center*/+ 51 /*border*/;
|
||||
byte i2 = i<<1;
|
||||
SPRITES_XPOS[i2] = <xpos;
|
||||
SPRITES_YPOS[i2] = ypos;
|
||||
|
@ -105,7 +105,7 @@ anim: {
|
||||
sta xpos+1
|
||||
lda xpos
|
||||
clc
|
||||
adc #$59+$18+$3c
|
||||
adc #$18+$95
|
||||
sta xpos
|
||||
lda xpos+1
|
||||
adc #0
|
||||
|
@ -92,22 +92,22 @@ anim::@24: scope:[anim] from anim::@23
|
||||
[41] (signed word~) anim::$12 ← (signed word~) anim::$11 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 anim::$12 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 anim::$12 ] )
|
||||
[42] (signed word) anim::yr#1 ← (signed word) anim::yr#0 + (signed word~) anim::$12 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::xr#1 anim::yr#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::xr#1 anim::yr#1 ] )
|
||||
[43] (byte~) anim::$13 ← > (signed word) anim::xr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] )
|
||||
[44] (signed byte~) anim::$16 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] )
|
||||
[45] (signed word) anim::xpos#0 ← (signed byte~) anim::$16 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 60 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] )
|
||||
[44] (signed byte~) anim::$15 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] )
|
||||
[45] (signed word) anim::xpos#0 ← (signed byte~) anim::$15 + (byte/signed byte/word/signed word/dword/signed dword) 24+(byte/word/signed word/dword/signed dword) 149 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] )
|
||||
[46] (byte) anim::sprite_msb#1 ← (byte) anim::sprite_msb#10 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] )
|
||||
[47] (byte~) anim::$19 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] )
|
||||
[48] if((byte~) anim::$19==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] )
|
||||
[47] (byte~) anim::$18 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] )
|
||||
[48] if((byte~) anim::$18==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] )
|
||||
to:anim::@14
|
||||
anim::@14: scope:[anim] from anim::@24
|
||||
[49] (byte) anim::sprite_msb#2 ← (byte) anim::sprite_msb#1 | (byte/word/signed word/dword/signed dword) 128 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#2 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#2 ] )
|
||||
to:anim::@8
|
||||
anim::@8: scope:[anim] from anim::@14 anim::@24
|
||||
[50] (byte) anim::sprite_msb#5 ← phi( anim::@14/(byte) anim::sprite_msb#2 anim::@24/(byte) anim::sprite_msb#1 ) [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::yr#1 anim::xpos#0 ] )
|
||||
[51] (byte~) anim::$23 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] )
|
||||
[52] (byte) anim::ypos#0 ← (byte~) anim::$23 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] )
|
||||
[51] (byte~) anim::$22 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] )
|
||||
[52] (byte) anim::ypos#0 ← (byte~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] )
|
||||
[53] (byte) anim::i2#0 ← (byte) anim::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] )
|
||||
[54] (byte~) anim::$26 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] )
|
||||
[55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$26 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] )
|
||||
[54] (byte~) anim::$25 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] )
|
||||
[55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$25 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] )
|
||||
[56] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte) anim::ypos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] )
|
||||
[57] (byte) anim::i#1 ← ++ (byte) anim::i#10 [ anim::angle#10 anim::i#1 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#1 anim::sprite_msb#5 ] )
|
||||
[58] if((byte) anim::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto anim::@7 [ anim::angle#10 anim::i#1 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#1 anim::sprite_msb#5 ] )
|
||||
|
@ -466,16 +466,15 @@ anim::@24: scope:[anim] from anim::@23
|
||||
(signed word) anim::yr#1 ← (signed word) anim::yr#2 + (signed word~) anim::$12
|
||||
(byte~) anim::$13 ← > (signed word) anim::xr#3
|
||||
(signed byte~) anim::$14 ← ((signed byte)) (byte~) anim::$13
|
||||
(signed word/signed byte/signed dword~) anim::$15 ← (signed byte~) anim::$14 + (byte/signed byte/word/signed word/dword/signed dword) 89
|
||||
(signed word/signed dword/signed byte~) anim::$16 ← (signed word/signed byte/signed dword~) anim::$15 + (byte/signed byte/word/signed word/dword/signed dword) 24
|
||||
(signed word/signed dword/signed byte~) anim::$17 ← (signed word/signed dword/signed byte~) anim::$16 + (byte/signed byte/word/signed word/dword/signed dword) 60
|
||||
(signed word) anim::xpos#0 ← (signed word/signed dword/signed byte~) anim::$17
|
||||
(byte~) anim::$18 ← (byte) anim::sprite_msb#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
(byte) anim::sprite_msb#1 ← (byte~) anim::$18
|
||||
(byte~) anim::$19 ← > (signed word) anim::xpos#0
|
||||
(bool~) anim::$20 ← (byte~) anim::$19 != (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(bool~) anim::$21 ← ! (bool~) anim::$20
|
||||
if((bool~) anim::$21) goto anim::@8
|
||||
(signed word/signed byte/signed dword~) anim::$15 ← (signed byte~) anim::$14 + (byte/signed byte/word/signed word/dword/signed dword) 24
|
||||
(signed word/signed dword~) anim::$16 ← (signed word/signed byte/signed dword~) anim::$15 + (byte/word/signed word/dword/signed dword) 149
|
||||
(signed word) anim::xpos#0 ← (signed word/signed dword~) anim::$16
|
||||
(byte~) anim::$17 ← (byte) anim::sprite_msb#3 >> (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
(byte) anim::sprite_msb#1 ← (byte~) anim::$17
|
||||
(byte~) anim::$18 ← > (signed word) anim::xpos#0
|
||||
(bool~) anim::$19 ← (byte~) anim::$18 != (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(bool~) anim::$20 ← ! (bool~) anim::$19
|
||||
if((bool~) anim::$20) goto anim::@8
|
||||
to:anim::@14
|
||||
anim::@8: scope:[anim] from anim::@14 anim::@24
|
||||
(signed byte) anim::sin_a#7 ← phi( anim::@14/(signed byte) anim::sin_a#8 anim::@24/(signed byte) anim::sin_a#9 )
|
||||
@ -487,18 +486,18 @@ anim::@8: scope:[anim] from anim::@14 anim::@24
|
||||
(signed word) anim::xpos#1 ← phi( anim::@14/(signed word) anim::xpos#2 anim::@24/(signed word) anim::xpos#0 )
|
||||
(byte) anim::i#3 ← phi( anim::@14/(byte) anim::i#4 anim::@24/(byte) anim::i#5 )
|
||||
(signed word) anim::yr#3 ← phi( anim::@14/(signed word) anim::yr#5 anim::@24/(signed word) anim::yr#1 )
|
||||
(byte~) anim::$22 ← > (signed word) anim::yr#3
|
||||
(byte/signed word/word/dword/signed dword~) anim::$23 ← (byte~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 89
|
||||
(byte/signed word/word/dword/signed dword~) anim::$24 ← (byte/signed word/word/dword/signed dword~) anim::$23 + (byte/signed byte/word/signed word/dword/signed dword) 51
|
||||
(byte) anim::ypos#0 ← (byte/signed word/word/dword/signed dword~) anim::$24
|
||||
(byte~) anim::$25 ← (byte) anim::i#3 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
(byte) anim::i2#0 ← (byte~) anim::$25
|
||||
(byte~) anim::$26 ← < (signed word) anim::xpos#1
|
||||
*((byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$26
|
||||
(byte~) anim::$21 ← > (signed word) anim::yr#3
|
||||
(byte/signed word/word/dword/signed dword~) anim::$22 ← (byte~) anim::$21 + (byte/signed byte/word/signed word/dword/signed dword) 89
|
||||
(byte/signed word/word/dword/signed dword~) anim::$23 ← (byte/signed word/word/dword/signed dword~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 51
|
||||
(byte) anim::ypos#0 ← (byte/signed word/word/dword/signed dword~) anim::$23
|
||||
(byte~) anim::$24 ← (byte) anim::i#3 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
(byte) anim::i2#0 ← (byte~) anim::$24
|
||||
(byte~) anim::$25 ← < (signed word) anim::xpos#1
|
||||
*((byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$25
|
||||
*((byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte) anim::ypos#0
|
||||
(byte) anim::i#1 ← (byte) anim::i#3 + rangenext(0,7)
|
||||
(bool~) anim::$27 ← (byte) anim::i#1 != rangelast(0,7)
|
||||
if((bool~) anim::$27) goto anim::@7
|
||||
(bool~) anim::$26 ← (byte) anim::i#1 != rangelast(0,7)
|
||||
if((bool~) anim::$26) goto anim::@7
|
||||
to:anim::@15
|
||||
anim::@14: scope:[anim] from anim::@24
|
||||
(signed byte) anim::sin_a#8 ← phi( anim::@24/(signed byte) anim::sin_a#9 )
|
||||
@ -659,19 +658,18 @@ SYMBOL TABLE SSA
|
||||
(byte~) anim::$13
|
||||
(signed byte~) anim::$14
|
||||
(signed word/signed byte/signed dword~) anim::$15
|
||||
(signed word/signed dword/signed byte~) anim::$16
|
||||
(signed word/signed dword/signed byte~) anim::$17
|
||||
(signed word/signed dword~) anim::$16
|
||||
(byte~) anim::$17
|
||||
(byte~) anim::$18
|
||||
(byte~) anim::$19
|
||||
(bool~) anim::$19
|
||||
(signed byte~) anim::$2
|
||||
(bool~) anim::$20
|
||||
(bool~) anim::$21
|
||||
(byte~) anim::$22
|
||||
(byte~) anim::$21
|
||||
(byte/signed word/word/dword/signed dword~) anim::$22
|
||||
(byte/signed word/word/dword/signed dword~) anim::$23
|
||||
(byte/signed word/word/dword/signed dword~) anim::$24
|
||||
(byte~) anim::$24
|
||||
(byte~) anim::$25
|
||||
(byte~) anim::$26
|
||||
(bool~) anim::$27
|
||||
(bool~) anim::$26
|
||||
(signed word~) anim::$4
|
||||
(signed word~) anim::$5
|
||||
(signed word~) anim::$6
|
||||
@ -1041,7 +1039,7 @@ Inversing boolean not (bool~) mulf_init::$4 ← (byte~) mulf_init::$2 != (byte/s
|
||||
Inversing boolean not (bool~) mulf_init::$14 ← (byte) mulf_init::x_255#1 != (byte/signed byte/word/signed word/dword/signed dword) 0 from (bool~) mulf_init::$13 ← (byte) mulf_init::x_255#1 == (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
Inversing boolean not (bool~) mulf8s_prepared::$3 ← *((signed byte*) mulf8s_prepared::memA#0) >= (byte/signed byte/word/signed word/dword/signed dword) 0 from (bool~) mulf8s_prepared::$2 ← *((signed byte*) mulf8s_prepared::memA#0) < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
Inversing boolean not (bool~) mulf8s_prepared::$9 ← (signed byte) mulf8s_prepared::b#5 >= (byte/signed byte/word/signed word/dword/signed dword) 0 from (bool~) mulf8s_prepared::$8 ← (signed byte) mulf8s_prepared::b#5 < (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
Inversing boolean not (bool~) anim::$21 ← (byte~) anim::$19 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (bool~) anim::$20 ← (byte~) anim::$19 != (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
Inversing boolean not (bool~) anim::$20 ← (byte~) anim::$18 == (byte/signed byte/word/signed word/dword/signed dword) 0 from (bool~) anim::$19 ← (byte~) anim::$18 != (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
Successful SSA optimization Pass2UnaryNotSimplification
|
||||
Alias (byte*) mulf_init::sqr1_hi#0 = (byte*~) mulf_init::$0
|
||||
Alias (byte*) mulf_init::sqr1_lo#0 = (byte*~) mulf_init::$1
|
||||
@ -1099,10 +1097,10 @@ Alias (byte) mulf8u_prepare::a#1 = (byte) anim::mulf8s_prepare2_$0#0
|
||||
Alias (signed word) mulf8s_prepared::return#4 = (signed word) mulf8s_prepared::return#9
|
||||
Alias (signed word) mulf8s_prepared::return#10 = (signed word) mulf8s_prepared::return#5
|
||||
Alias (signed word) anim::xr#1 = (signed word) anim::xr#3
|
||||
Alias (signed word) anim::xpos#0 = (signed word/signed dword/signed byte~) anim::$17 (signed word) anim::xpos#2
|
||||
Alias (byte) anim::sprite_msb#1 = (byte~) anim::$18 (byte) anim::sprite_msb#4
|
||||
Alias (byte) anim::ypos#0 = (byte/signed word/word/dword/signed dword~) anim::$24
|
||||
Alias (byte) anim::i2#0 = (byte~) anim::$25
|
||||
Alias (signed word) anim::xpos#0 = (signed word/signed dword~) anim::$16 (signed word) anim::xpos#2
|
||||
Alias (byte) anim::sprite_msb#1 = (byte~) anim::$17 (byte) anim::sprite_msb#4
|
||||
Alias (byte) anim::ypos#0 = (byte/signed word/word/dword/signed dword~) anim::$23
|
||||
Alias (byte) anim::i2#0 = (byte~) anim::$24
|
||||
Alias (signed word) anim::yr#1 = (signed word) anim::yr#5
|
||||
Alias (byte) anim::sprite_msb#5 = (byte) anim::sprite_msb#7
|
||||
Alias (byte) anim::angle#3 = (byte) anim::angle#5
|
||||
@ -1164,8 +1162,8 @@ Simple Condition (bool~) mulf8s_prepared::$3 if(*((signed byte*) mulf8s_prepared
|
||||
Simple Condition (bool~) mulf8s_prepared::$9 if((signed byte) mulf8s_prepared::b#4>=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mulf8s_prepared::@2
|
||||
Simple Condition (bool~) init::$4 if((byte) init::i#1!=rangelast(0,7)) goto init::@1
|
||||
Simple Condition (bool~) anim::$0 if(*((byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto anim::@5
|
||||
Simple Condition (bool~) anim::$21 if((byte~) anim::$19==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8
|
||||
Simple Condition (bool~) anim::$27 if((byte) anim::i#1!=rangelast(0,7)) goto anim::@7
|
||||
Simple Condition (bool~) anim::$20 if((byte~) anim::$18==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8
|
||||
Simple Condition (bool~) anim::$26 if((byte) anim::i#1!=rangelast(0,7)) goto anim::@7
|
||||
Successful SSA optimization Pass2ConditionalJumpSimplification
|
||||
Constant (const byte*) SPRITES_XPOS#0 = ((byte*))53248
|
||||
Constant (const byte*) SPRITES_YPOS#0 = ((byte*))53249
|
||||
@ -1223,7 +1221,6 @@ Constant (const signed byte[8]) ys#0 = { $4, 0, 70, $5, 70, $6, 0, 70 }
|
||||
Successful SSA optimization Pass2ConstantIdentification
|
||||
Constant (const byte) init::$3 = ((byte))init::$2
|
||||
Successful SSA optimization Pass2ConstantIdentification
|
||||
Consolidated constant in assignment anim::$16
|
||||
Consolidated constant in assignment anim::xpos#0
|
||||
Consolidated constant in assignment anim::ypos#0
|
||||
Successful SSA optimization Pass2ConstantAdditionElimination
|
||||
@ -1232,8 +1229,7 @@ Successful SSA optimization Pass2ConstantIfs
|
||||
Fixing inline constructor with mulf8u_prepared::$0 ← *(mulf8u_prepared::memB#0) w= *(mulf8u_prepared::resL#0)
|
||||
Successful SSA optimization Pass2FixInlineConstructors
|
||||
Inferred type updated to signed byte in (signed word/signed byte/signed dword~) anim::$15 ← (signed byte~) anim::$14
|
||||
Inferred type updated to signed byte in (signed word/signed dword/signed byte~) anim::$16 ← (signed byte~) anim::$15
|
||||
Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) anim::$23 ← (byte~) anim::$22
|
||||
Inferred type updated to byte in (byte/signed word/word/dword/signed dword~) anim::$22 ← (byte~) anim::$21
|
||||
Eliminating Noop Cast (byte) mulf8u_prepared::b#0 ← ((byte)) (signed byte) mulf8s_prepared::b#4
|
||||
Eliminating Noop Cast (byte~) mulf8s_prepared::$6 ← ((byte)) (signed byte) mulf8s_prepared::b#4
|
||||
Eliminating Noop Cast (signed word) mulf8s_prepared::return#0 ← ((signed word)) (word) mulf8s_prepared::m#4
|
||||
@ -1260,8 +1256,7 @@ Culled Empty Block (label) anim::@19
|
||||
Culled Empty Block (label) anim::@22
|
||||
Successful SSA optimization Pass2CullEmptyBlocks
|
||||
Alias (word) mulf8u_prepared::return#0 = (word~) mulf8u_prepared::$0
|
||||
Alias (signed byte~) anim::$16 = (signed byte~) anim::$15
|
||||
Alias (byte~) anim::$23 = (byte~) anim::$22
|
||||
Alias (byte~) anim::$22 = (byte~) anim::$21
|
||||
Successful SSA optimization Pass2AliasElimination
|
||||
Self Phi Eliminated (byte*) COS#5
|
||||
Self Phi Eliminated (byte*) SIN#3
|
||||
@ -1478,22 +1473,22 @@ anim::@24: scope:[anim] from anim::@23
|
||||
[41] (signed word~) anim::$12 ← (signed word~) anim::$11 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 anim::$12 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 anim::$12 ] )
|
||||
[42] (signed word) anim::yr#1 ← (signed word) anim::yr#0 + (signed word~) anim::$12 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::xr#1 anim::yr#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::xr#1 anim::yr#1 ] )
|
||||
[43] (byte~) anim::$13 ← > (signed word) anim::xr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] )
|
||||
[44] (signed byte~) anim::$16 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] )
|
||||
[45] (signed word) anim::xpos#0 ← (signed byte~) anim::$16 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 60 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] )
|
||||
[44] (signed byte~) anim::$15 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] )
|
||||
[45] (signed word) anim::xpos#0 ← (signed byte~) anim::$15 + (byte/signed byte/word/signed word/dword/signed dword) 24+(byte/word/signed word/dword/signed dword) 149 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] )
|
||||
[46] (byte) anim::sprite_msb#1 ← (byte) anim::sprite_msb#10 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] )
|
||||
[47] (byte~) anim::$19 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] )
|
||||
[48] if((byte~) anim::$19==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] )
|
||||
[47] (byte~) anim::$18 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] )
|
||||
[48] if((byte~) anim::$18==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] )
|
||||
to:anim::@14
|
||||
anim::@14: scope:[anim] from anim::@24
|
||||
[49] (byte) anim::sprite_msb#2 ← (byte) anim::sprite_msb#1 | (byte/word/signed word/dword/signed dword) 128 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#2 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#2 ] )
|
||||
to:anim::@8
|
||||
anim::@8: scope:[anim] from anim::@14 anim::@24
|
||||
[50] (byte) anim::sprite_msb#5 ← phi( anim::@14/(byte) anim::sprite_msb#2 anim::@24/(byte) anim::sprite_msb#1 ) [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::yr#1 anim::xpos#0 ] )
|
||||
[51] (byte~) anim::$23 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] )
|
||||
[52] (byte) anim::ypos#0 ← (byte~) anim::$23 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] )
|
||||
[51] (byte~) anim::$22 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] )
|
||||
[52] (byte) anim::ypos#0 ← (byte~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] )
|
||||
[53] (byte) anim::i2#0 ← (byte) anim::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] )
|
||||
[54] (byte~) anim::$26 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] )
|
||||
[55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$26 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] )
|
||||
[54] (byte~) anim::$25 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] )
|
||||
[55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$25 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] )
|
||||
[56] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte) anim::ypos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] )
|
||||
[57] (byte) anim::i#1 ← ++ (byte) anim::i#10 [ anim::angle#10 anim::i#1 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#1 anim::sprite_msb#5 ] )
|
||||
[58] if((byte) anim::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto anim::@7 [ anim::angle#10 anim::i#1 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#1 anim::sprite_msb#5 ] )
|
||||
@ -1641,10 +1636,10 @@ VARIABLE REGISTER WEIGHTS
|
||||
(signed word~) anim::$11 202.0
|
||||
(signed word~) anim::$12 202.0
|
||||
(byte~) anim::$13 101.0
|
||||
(signed byte~) anim::$16 202.0
|
||||
(byte~) anim::$19 202.0
|
||||
(byte~) anim::$23 202.0
|
||||
(byte~) anim::$26 202.0
|
||||
(signed byte~) anim::$15 202.0
|
||||
(byte~) anim::$18 202.0
|
||||
(byte~) anim::$22 202.0
|
||||
(byte~) anim::$25 202.0
|
||||
(signed word~) anim::$4 202.0
|
||||
(signed word~) anim::$6 202.0
|
||||
(signed word~) anim::$9 202.0
|
||||
@ -1798,13 +1793,13 @@ Added variable anim::$11 to zero page equivalence class [ anim::$11 ]
|
||||
Added variable anim::$12 to zero page equivalence class [ anim::$12 ]
|
||||
Added variable anim::yr#1 to zero page equivalence class [ anim::yr#1 ]
|
||||
Added variable anim::$13 to zero page equivalence class [ anim::$13 ]
|
||||
Added variable anim::$16 to zero page equivalence class [ anim::$16 ]
|
||||
Added variable anim::$15 to zero page equivalence class [ anim::$15 ]
|
||||
Added variable anim::xpos#0 to zero page equivalence class [ anim::xpos#0 ]
|
||||
Added variable anim::$19 to zero page equivalence class [ anim::$19 ]
|
||||
Added variable anim::$23 to zero page equivalence class [ anim::$23 ]
|
||||
Added variable anim::$18 to zero page equivalence class [ anim::$18 ]
|
||||
Added variable anim::$22 to zero page equivalence class [ anim::$22 ]
|
||||
Added variable anim::ypos#0 to zero page equivalence class [ anim::ypos#0 ]
|
||||
Added variable anim::i2#0 to zero page equivalence class [ anim::i2#0 ]
|
||||
Added variable anim::$26 to zero page equivalence class [ anim::$26 ]
|
||||
Added variable anim::$25 to zero page equivalence class [ anim::$25 ]
|
||||
Added variable mulf8u_prepared::return#2 to zero page equivalence class [ mulf8u_prepared::return#2 ]
|
||||
Added variable mulf8s_prepared::$5 to zero page equivalence class [ mulf8s_prepared::$5 ]
|
||||
Added variable mulf8s_prepared::$15 to zero page equivalence class [ mulf8s_prepared::$15 ]
|
||||
@ -1848,13 +1843,13 @@ Complete equivalence classes
|
||||
[ anim::$12 ]
|
||||
[ anim::yr#1 ]
|
||||
[ anim::$13 ]
|
||||
[ anim::$16 ]
|
||||
[ anim::$15 ]
|
||||
[ anim::xpos#0 ]
|
||||
[ anim::$19 ]
|
||||
[ anim::$23 ]
|
||||
[ anim::$18 ]
|
||||
[ anim::$22 ]
|
||||
[ anim::ypos#0 ]
|
||||
[ anim::i2#0 ]
|
||||
[ anim::$26 ]
|
||||
[ anim::$25 ]
|
||||
[ mulf8u_prepared::return#2 ]
|
||||
[ mulf8s_prepared::$5 ]
|
||||
[ mulf8s_prepared::$15 ]
|
||||
@ -1897,13 +1892,13 @@ Allocated zp ZP_WORD:48 [ anim::$11 ]
|
||||
Allocated zp ZP_WORD:50 [ anim::$12 ]
|
||||
Allocated zp ZP_WORD:52 [ anim::yr#1 ]
|
||||
Allocated zp ZP_BYTE:54 [ anim::$13 ]
|
||||
Allocated zp ZP_BYTE:55 [ anim::$16 ]
|
||||
Allocated zp ZP_BYTE:55 [ anim::$15 ]
|
||||
Allocated zp ZP_WORD:56 [ anim::xpos#0 ]
|
||||
Allocated zp ZP_BYTE:58 [ anim::$19 ]
|
||||
Allocated zp ZP_BYTE:59 [ anim::$23 ]
|
||||
Allocated zp ZP_BYTE:58 [ anim::$18 ]
|
||||
Allocated zp ZP_BYTE:59 [ anim::$22 ]
|
||||
Allocated zp ZP_BYTE:60 [ anim::ypos#0 ]
|
||||
Allocated zp ZP_BYTE:61 [ anim::i2#0 ]
|
||||
Allocated zp ZP_BYTE:62 [ anim::$26 ]
|
||||
Allocated zp ZP_BYTE:62 [ anim::$25 ]
|
||||
Allocated zp ZP_WORD:63 [ mulf8u_prepared::return#2 ]
|
||||
Allocated zp ZP_BYTE:65 [ mulf8s_prepared::$5 ]
|
||||
Allocated zp ZP_BYTE:66 [ mulf8s_prepared::$15 ]
|
||||
@ -1979,10 +1974,10 @@ anim: {
|
||||
.label _11 = $30
|
||||
.label _12 = $32
|
||||
.label _13 = $36
|
||||
.label _16 = $37
|
||||
.label _19 = $3a
|
||||
.label _23 = $3b
|
||||
.label _26 = $3e
|
||||
.label _15 = $37
|
||||
.label _18 = $3a
|
||||
.label _22 = $3b
|
||||
.label _25 = $3e
|
||||
.label x = $18
|
||||
.label y = $19
|
||||
.label xr = $1e
|
||||
@ -2200,11 +2195,11 @@ anim: {
|
||||
//SEG82 [43] (byte~) anim::$13 ← > (signed word) anim::xr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ) -- vbuz1=_hi_vwsz2
|
||||
lda xr_1+1
|
||||
sta _13
|
||||
//SEG83 [44] (signed byte~) anim::$16 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] ) -- vbsz1=vbsz2
|
||||
//SEG83 [44] (signed byte~) anim::$15 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] ) -- vbsz1=vbsz2
|
||||
lda _13
|
||||
sta _16
|
||||
//SEG84 [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$16 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 60 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) -- vwsz1=vbsz2_plus_vbuc1
|
||||
lda _16
|
||||
sta _15
|
||||
//SEG84 [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$15 + (byte/signed byte/word/signed word/dword/signed dword) 24+(byte/word/signed word/dword/signed dword) 149 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) -- vwsz1=vbsz2_plus_vbuc1
|
||||
lda _15
|
||||
sta xpos
|
||||
ora #$7f
|
||||
bmi !+
|
||||
@ -2213,18 +2208,18 @@ anim: {
|
||||
sta xpos+1
|
||||
lda xpos
|
||||
clc
|
||||
adc #$59+$18+$3c
|
||||
adc #$18+$95
|
||||
sta xpos
|
||||
lda xpos+1
|
||||
adc #0
|
||||
sta xpos+1
|
||||
//SEG85 [46] (byte) anim::sprite_msb#1 ← (byte) anim::sprite_msb#10 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ) -- vbuz1=vbuz1_ror_1
|
||||
lsr sprite_msb
|
||||
//SEG86 [47] (byte~) anim::$19 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ) -- vbuz1=_hi_vwsz2
|
||||
//SEG86 [47] (byte~) anim::$18 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ) -- vbuz1=_hi_vwsz2
|
||||
lda xpos+1
|
||||
sta _19
|
||||
//SEG87 [48] if((byte~) anim::$19==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ) -- vbuz1_eq_0_then_la1
|
||||
lda _19
|
||||
sta _18
|
||||
//SEG87 [48] if((byte~) anim::$18==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ) -- vbuz1_eq_0_then_la1
|
||||
lda _18
|
||||
beq b8_from_b24
|
||||
jmp b14
|
||||
//SEG88 anim::@14
|
||||
@ -2240,23 +2235,23 @@ anim: {
|
||||
jmp b8
|
||||
//SEG92 anim::@8
|
||||
b8:
|
||||
//SEG93 [51] (byte~) anim::$23 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] ) -- vbuz1=_hi_vwsz2
|
||||
//SEG93 [51] (byte~) anim::$22 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] ) -- vbuz1=_hi_vwsz2
|
||||
lda yr_1+1
|
||||
sta _23
|
||||
//SEG94 [52] (byte) anim::ypos#0 ← (byte~) anim::$23 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) -- vbuz1=vbuz2_plus_vbuc1
|
||||
sta _22
|
||||
//SEG94 [52] (byte) anim::ypos#0 ← (byte~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) -- vbuz1=vbuz2_plus_vbuc1
|
||||
lda #$59+$33
|
||||
clc
|
||||
adc _23
|
||||
adc _22
|
||||
sta ypos
|
||||
//SEG95 [53] (byte) anim::i2#0 ← (byte) anim::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] ) -- vbuz1=vbuz2_rol_1
|
||||
lda i
|
||||
asl
|
||||
sta i2
|
||||
//SEG96 [54] (byte~) anim::$26 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ) -- vbuz1=_lo_vwsz2
|
||||
//SEG96 [54] (byte~) anim::$25 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ) -- vbuz1=_lo_vwsz2
|
||||
lda xpos
|
||||
sta _26
|
||||
//SEG97 [55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$26 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ) -- pbuc1_derefidx_vbuz1=vbuz2
|
||||
lda _26
|
||||
sta _25
|
||||
//SEG97 [55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$25 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ) -- pbuc1_derefidx_vbuz1=vbuz2
|
||||
lda _25
|
||||
ldy i2
|
||||
sta SPRITES_XPOS,y
|
||||
//SEG98 [56] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte) anim::ypos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ) -- pbuc1_derefidx_vbuz1=vbuz2
|
||||
@ -2706,7 +2701,7 @@ mulf_init: {
|
||||
|
||||
|
||||
REGISTER UPLIFT POTENTIAL REGISTERS
|
||||
Equivalence Class zp ZP_BYTE:59 [ anim::$23 ] has ALU potential.
|
||||
Equivalence Class zp ZP_BYTE:59 [ anim::$22 ] has ALU potential.
|
||||
Statement [12] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto anim::@4 [ anim::angle#10 ] ( main:3::anim:8 [ anim::angle#10 ] ) always clobbers reg byte a
|
||||
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
|
||||
Statement [17] (byte~) mulf8u_prepare::a#3 ← (byte)(signed byte)*((const byte*) COS#0 + (byte) anim::angle#10) [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8u_prepare::a#3 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8u_prepare::a#3 ] ) always clobbers reg byte a
|
||||
@ -2730,13 +2725,13 @@ Statement [40] (signed word~) anim::$11 ← (signed word) mulf8s_prepared::retur
|
||||
Statement [41] (signed word~) anim::$12 ← (signed word~) anim::$11 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 anim::$12 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 anim::$12 ] ) always clobbers reg byte a
|
||||
Statement [42] (signed word) anim::yr#1 ← (signed word) anim::yr#0 + (signed word~) anim::$12 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::xr#1 anim::yr#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::xr#1 anim::yr#1 ] ) always clobbers reg byte a
|
||||
Statement [43] (byte~) anim::$13 ← > (signed word) anim::xr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ) always clobbers reg byte a
|
||||
Statement [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$16 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 60 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) always clobbers reg byte a
|
||||
Statement [47] (byte~) anim::$19 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ) always clobbers reg byte a
|
||||
Statement [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$15 + (byte/signed byte/word/signed word/dword/signed dword) 24+(byte/word/signed word/dword/signed dword) 149 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) always clobbers reg byte a
|
||||
Statement [47] (byte~) anim::$18 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ) always clobbers reg byte a
|
||||
Statement [49] (byte) anim::sprite_msb#2 ← (byte) anim::sprite_msb#1 | (byte/word/signed word/dword/signed dword) 128 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#2 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#2 ] ) always clobbers reg byte a
|
||||
Statement [52] (byte) anim::ypos#0 ← (byte~) anim::$23 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) always clobbers reg byte a
|
||||
Statement [52] (byte) anim::ypos#0 ← (byte~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) always clobbers reg byte a
|
||||
Statement [53] (byte) anim::i2#0 ← (byte) anim::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] ) always clobbers reg byte a
|
||||
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:60 [ anim::ypos#0 ]
|
||||
Statement [54] (byte~) anim::$26 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ) always clobbers reg byte a
|
||||
Statement [54] (byte~) anim::$25 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ) always clobbers reg byte a
|
||||
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:61 [ anim::i2#0 ]
|
||||
Statement [56] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte) anim::ypos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ) always clobbers reg byte a
|
||||
Statement [61] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0 [ anim::angle#1 ] ( main:3::anim:8 [ anim::angle#1 ] ) always clobbers reg byte a
|
||||
@ -2800,12 +2795,12 @@ Statement [40] (signed word~) anim::$11 ← (signed word) mulf8s_prepared::retur
|
||||
Statement [41] (signed word~) anim::$12 ← (signed word~) anim::$11 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 anim::$12 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 anim::$12 ] ) always clobbers reg byte a
|
||||
Statement [42] (signed word) anim::yr#1 ← (signed word) anim::yr#0 + (signed word~) anim::$12 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::xr#1 anim::yr#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::xr#1 anim::yr#1 ] ) always clobbers reg byte a
|
||||
Statement [43] (byte~) anim::$13 ← > (signed word) anim::xr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ) always clobbers reg byte a
|
||||
Statement [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$16 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 60 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) always clobbers reg byte a
|
||||
Statement [47] (byte~) anim::$19 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ) always clobbers reg byte a
|
||||
Statement [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$15 + (byte/signed byte/word/signed word/dword/signed dword) 24+(byte/word/signed word/dword/signed dword) 149 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) always clobbers reg byte a
|
||||
Statement [47] (byte~) anim::$18 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ) always clobbers reg byte a
|
||||
Statement [49] (byte) anim::sprite_msb#2 ← (byte) anim::sprite_msb#1 | (byte/word/signed word/dword/signed dword) 128 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#2 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#2 ] ) always clobbers reg byte a
|
||||
Statement [52] (byte) anim::ypos#0 ← (byte~) anim::$23 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) always clobbers reg byte a
|
||||
Statement [52] (byte) anim::ypos#0 ← (byte~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) always clobbers reg byte a
|
||||
Statement [53] (byte) anim::i2#0 ← (byte) anim::i#10 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 anim::i2#0 ] ) always clobbers reg byte a
|
||||
Statement [54] (byte~) anim::$26 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ) always clobbers reg byte a
|
||||
Statement [54] (byte~) anim::$25 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ) always clobbers reg byte a
|
||||
Statement [56] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte) anim::ypos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ) always clobbers reg byte a
|
||||
Statement [61] *((const byte*) BORDERCOL#0) ← (const byte) LIGHT_BLUE#0 [ anim::angle#1 ] ( main:3::anim:8 [ anim::angle#1 ] ) always clobbers reg byte a
|
||||
Statement [64] (word) mulf8u_prepared::return#2 ← (word) mulf8u_prepared::return#0 [ mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] ( main:3::anim:8::mulf8s_prepared:20 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] main:3::anim:8::mulf8s_prepared:25 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::y#0 anim::xr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] main:3::anim:8::mulf8s_prepared:32 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::x#0 anim::xr#0 anim::yr#0 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] main:3::anim:8::mulf8s_prepared:38 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#0 anim::xr#1 mulf8s_prepared::b#4 mulf8u_prepared::return#2 ] ) always clobbers reg byte a
|
||||
@ -2867,13 +2862,13 @@ Potential registers zp ZP_WORD:48 [ anim::$11 ] : zp ZP_WORD:48 ,
|
||||
Potential registers zp ZP_WORD:50 [ anim::$12 ] : zp ZP_WORD:50 ,
|
||||
Potential registers zp ZP_WORD:52 [ anim::yr#1 ] : zp ZP_WORD:52 ,
|
||||
Potential registers zp ZP_BYTE:54 [ anim::$13 ] : zp ZP_BYTE:54 , reg byte a , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_BYTE:55 [ anim::$16 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_BYTE:55 [ anim::$15 ] : zp ZP_BYTE:55 , reg byte a , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_WORD:56 [ anim::xpos#0 ] : zp ZP_WORD:56 ,
|
||||
Potential registers zp ZP_BYTE:58 [ anim::$19 ] : zp ZP_BYTE:58 , reg byte a , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_BYTE:59 [ anim::$23 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , reg byte alu ,
|
||||
Potential registers zp ZP_BYTE:58 [ anim::$18 ] : zp ZP_BYTE:58 , reg byte a , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_BYTE:59 [ anim::$22 ] : zp ZP_BYTE:59 , reg byte a , reg byte x , reg byte y , reg byte alu ,
|
||||
Potential registers zp ZP_BYTE:60 [ anim::ypos#0 ] : zp ZP_BYTE:60 , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_BYTE:61 [ anim::i2#0 ] : zp ZP_BYTE:61 , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_BYTE:62 [ anim::$26 ] : zp ZP_BYTE:62 , reg byte a , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_BYTE:62 [ anim::$25 ] : zp ZP_BYTE:62 , reg byte a , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_WORD:63 [ mulf8u_prepared::return#2 ] : zp ZP_WORD:63 ,
|
||||
Potential registers zp ZP_BYTE:65 [ mulf8s_prepared::$5 ] : zp ZP_BYTE:65 , reg byte a , reg byte x , reg byte y ,
|
||||
Potential registers zp ZP_BYTE:66 [ mulf8s_prepared::$15 ] : zp ZP_BYTE:66 , reg byte a , reg byte x , reg byte y ,
|
||||
@ -2885,7 +2880,7 @@ Potential registers zp ZP_BYTE:72 [ mulf_init::$5 ] : zp ZP_BYTE:72 , reg byte a
|
||||
Potential registers zp ZP_BYTE:73 [ mulf_init::$6 ] : zp ZP_BYTE:73 , reg byte a , reg byte x , reg byte y ,
|
||||
|
||||
REGISTER UPLIFT SCOPES
|
||||
Uplift Scope [anim] 344.2: zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ] 202: zp ZP_WORD:28 [ anim::$4 ] 202: zp ZP_WORD:34 [ anim::$6 ] 202: zp ZP_WORD:40 [ anim::$9 ] 202: zp ZP_WORD:42 [ anim::$10 ] 202: zp ZP_WORD:48 [ anim::$11 ] 202: zp ZP_WORD:50 [ anim::$12 ] 202: zp ZP_BYTE:55 [ anim::$16 ] 202: zp ZP_BYTE:58 [ anim::$19 ] 202: zp ZP_BYTE:59 [ anim::$23 ] 202: zp ZP_BYTE:62 [ anim::$26 ] 163.24: zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ] 101: zp ZP_BYTE:54 [ anim::$13 ] 101: zp ZP_BYTE:61 [ anim::i2#0 ] 50.5: zp ZP_BYTE:60 [ anim::ypos#0 ] 33.67: zp ZP_WORD:56 [ anim::xpos#0 ] 28.86: zp ZP_WORD:44 [ anim::xr#1 ] 22.44: zp ZP_WORD:52 [ anim::yr#1 ] 20.2: zp ZP_BYTE:25 [ anim::y#0 ] 15.54: zp ZP_WORD:30 [ anim::xr#0 ] 14.43: zp ZP_WORD:36 [ anim::yr#0 ] 13.77: zp ZP_BYTE:24 [ anim::x#0 ] 11.45: zp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
|
||||
Uplift Scope [anim] 344.2: zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ] 202: zp ZP_WORD:28 [ anim::$4 ] 202: zp ZP_WORD:34 [ anim::$6 ] 202: zp ZP_WORD:40 [ anim::$9 ] 202: zp ZP_WORD:42 [ anim::$10 ] 202: zp ZP_WORD:48 [ anim::$11 ] 202: zp ZP_WORD:50 [ anim::$12 ] 202: zp ZP_BYTE:55 [ anim::$15 ] 202: zp ZP_BYTE:58 [ anim::$18 ] 202: zp ZP_BYTE:59 [ anim::$22 ] 202: zp ZP_BYTE:62 [ anim::$25 ] 163.24: zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ] 101: zp ZP_BYTE:54 [ anim::$13 ] 101: zp ZP_BYTE:61 [ anim::i2#0 ] 50.5: zp ZP_BYTE:60 [ anim::ypos#0 ] 33.67: zp ZP_WORD:56 [ anim::xpos#0 ] 28.86: zp ZP_WORD:44 [ anim::xr#1 ] 22.44: zp ZP_WORD:52 [ anim::yr#1 ] 20.2: zp ZP_BYTE:25 [ anim::y#0 ] 15.54: zp ZP_WORD:30 [ anim::xr#0 ] 14.43: zp ZP_WORD:36 [ anim::yr#0 ] 13.77: zp ZP_BYTE:24 [ anim::x#0 ] 11.45: zp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
|
||||
Uplift Scope [mulf8s_prepared] 839.23: zp ZP_BYTE:5 [ mulf8s_prepared::b#4 mulf8s_prepared::b#0 mulf8s_prepared::b#2 mulf8s_prepared::b#1 mulf8s_prepared::b#3 ] 202: zp ZP_WORD:26 [ mulf8s_prepared::return#2 ] 202: zp ZP_WORD:32 [ mulf8s_prepared::return#3 ] 202: zp ZP_WORD:38 [ mulf8s_prepared::return#4 ] 202: zp ZP_WORD:46 [ mulf8s_prepared::return#10 ] 13.17: zp ZP_WORD:6 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 ] 4: zp ZP_BYTE:65 [ mulf8s_prepared::$5 ] 4: zp ZP_BYTE:66 [ mulf8s_prepared::$15 ] 4: zp ZP_BYTE:67 [ mulf8s_prepared::$11 ] 4: zp ZP_BYTE:68 [ mulf8s_prepared::$16 ]
|
||||
Uplift Scope [mulf8u_prepare] 608: zp ZP_BYTE:8 [ mulf8u_prepare::a#2 mulf8u_prepare::a#3 mulf8u_prepare::a#4 ]
|
||||
Uplift Scope [mulf_init] 45.1: zp ZP_WORD:16 [ mulf_init::sqr#3 mulf_init::sqr#4 mulf_init::sqr#1 mulf_init::sqr#2 ] 24.36: zp ZP_BYTE:10 [ mulf_init::c#2 mulf_init::c#1 ] 24.14: zp ZP_BYTE:15 [ mulf_init::x_2#3 mulf_init::x_2#2 mulf_init::x_2#1 ] 22: zp ZP_BYTE:71 [ mulf_init::$2 ] 22: zp ZP_BYTE:72 [ mulf_init::$5 ] 22: zp ZP_BYTE:73 [ mulf_init::$6 ] 20.62: zp ZP_WORD:19 [ mulf_init::sqr2_lo#2 mulf_init::sqr2_lo#1 ] 19.04: zp ZP_WORD:11 [ mulf_init::sqr1_lo#2 mulf_init::sqr1_lo#1 ] 16.5: zp ZP_BYTE:18 [ mulf_init::x_255#2 mulf_init::x_255#1 ] 14.14: zp ZP_WORD:21 [ mulf_init::sqr2_hi#2 mulf_init::sqr2_hi#1 ] 12.05: zp ZP_BYTE:23 [ mulf_init::dir#2 mulf_init::dir#3 ] 8.5: zp ZP_WORD:13 [ mulf_init::sqr1_hi#2 mulf_init::sqr1_hi#1 ]
|
||||
@ -2894,7 +2889,7 @@ Uplift Scope [mulf8u_prepared] 4: zp ZP_WORD:63 [ mulf8u_prepared::return#2 ] 1.
|
||||
Uplift Scope [main]
|
||||
Uplift Scope []
|
||||
|
||||
Uplifting [anim] best 53476 combination zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ] zp ZP_WORD:28 [ anim::$4 ] zp ZP_WORD:34 [ anim::$6 ] zp ZP_WORD:40 [ anim::$9 ] zp ZP_WORD:42 [ anim::$10 ] zp ZP_WORD:48 [ anim::$11 ] zp ZP_WORD:50 [ anim::$12 ] reg byte a [ anim::$16 ] reg byte a [ anim::$19 ] reg byte a [ anim::$23 ] zp ZP_BYTE:62 [ anim::$26 ] zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ] zp ZP_BYTE:54 [ anim::$13 ] zp ZP_BYTE:61 [ anim::i2#0 ] zp ZP_BYTE:60 [ anim::ypos#0 ] zp ZP_WORD:56 [ anim::xpos#0 ] zp ZP_WORD:44 [ anim::xr#1 ] zp ZP_WORD:52 [ anim::yr#1 ] zp ZP_BYTE:25 [ anim::y#0 ] zp ZP_WORD:30 [ anim::xr#0 ] zp ZP_WORD:36 [ anim::yr#0 ] zp ZP_BYTE:24 [ anim::x#0 ] zp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
|
||||
Uplifting [anim] best 53476 combination zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ] zp ZP_WORD:28 [ anim::$4 ] zp ZP_WORD:34 [ anim::$6 ] zp ZP_WORD:40 [ anim::$9 ] zp ZP_WORD:42 [ anim::$10 ] zp ZP_WORD:48 [ anim::$11 ] zp ZP_WORD:50 [ anim::$12 ] reg byte a [ anim::$15 ] reg byte a [ anim::$18 ] reg byte a [ anim::$22 ] zp ZP_BYTE:62 [ anim::$25 ] zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ] zp ZP_BYTE:54 [ anim::$13 ] zp ZP_BYTE:61 [ anim::i2#0 ] zp ZP_BYTE:60 [ anim::ypos#0 ] zp ZP_WORD:56 [ anim::xpos#0 ] zp ZP_WORD:44 [ anim::xr#1 ] zp ZP_WORD:52 [ anim::yr#1 ] zp ZP_BYTE:25 [ anim::y#0 ] zp ZP_WORD:30 [ anim::xr#0 ] zp ZP_WORD:36 [ anim::yr#0 ] zp ZP_BYTE:24 [ anim::x#0 ] zp ZP_BYTE:2 [ anim::angle#10 anim::angle#1 ]
|
||||
Limited combination testing to 100 combinations of 368640 possible.
|
||||
Uplifting [mulf8s_prepared] best 52255 combination reg byte y [ mulf8s_prepared::b#4 mulf8s_prepared::b#0 mulf8s_prepared::b#2 mulf8s_prepared::b#1 mulf8s_prepared::b#3 ] zp ZP_WORD:26 [ mulf8s_prepared::return#2 ] zp ZP_WORD:32 [ mulf8s_prepared::return#3 ] zp ZP_WORD:38 [ mulf8s_prepared::return#4 ] zp ZP_WORD:46 [ mulf8s_prepared::return#10 ] zp ZP_WORD:6 [ mulf8s_prepared::m#4 mulf8s_prepared::m#5 mulf8s_prepared::m#1 mulf8s_prepared::m#0 mulf8s_prepared::m#2 ] reg byte a [ mulf8s_prepared::$5 ] reg byte a [ mulf8s_prepared::$15 ] reg byte a [ mulf8s_prepared::$11 ] zp ZP_BYTE:68 [ mulf8s_prepared::$16 ]
|
||||
Limited combination testing to 100 combinations of 512 possible.
|
||||
@ -2907,8 +2902,8 @@ Uplifting [main] best 51272 combination
|
||||
Uplifting [] best 51272 combination
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ]
|
||||
Uplifting [anim] best 51272 combination zp ZP_BYTE:4 [ anim::sprite_msb#10 anim::sprite_msb#5 anim::sprite_msb#2 anim::sprite_msb#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:62 [ anim::$26 ]
|
||||
Uplifting [anim] best 50672 combination reg byte a [ anim::$26 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:62 [ anim::$25 ]
|
||||
Uplifting [anim] best 50672 combination reg byte a [ anim::$25 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:3 [ anim::i#10 anim::i#1 ]
|
||||
Uplifting [anim] best 50672 combination zp ZP_BYTE:3 [ anim::i#10 anim::i#1 ]
|
||||
Attempting to uplift remaining variables inzp ZP_BYTE:54 [ anim::$13 ]
|
||||
@ -3195,9 +3190,9 @@ anim: {
|
||||
sta yr+1
|
||||
//SEG82 [43] (byte~) anim::$13 ← > (signed word) anim::xr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ) -- vbuaa=_hi_vwsz1
|
||||
lda xr+1
|
||||
//SEG83 [44] (signed byte~) anim::$16 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] )
|
||||
// (signed byte~) anim::$16 = (signed byte)(byte~) anim::$13 // register copy reg byte a
|
||||
//SEG84 [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$16 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 60 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) -- vwsz1=vbsaa_plus_vbuc1
|
||||
//SEG83 [44] (signed byte~) anim::$15 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] )
|
||||
// (signed byte~) anim::$15 = (signed byte)(byte~) anim::$13 // register copy reg byte a
|
||||
//SEG84 [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$15 + (byte/signed byte/word/signed word/dword/signed dword) 24+(byte/word/signed word/dword/signed dword) 149 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) -- vwsz1=vbsaa_plus_vbuc1
|
||||
sta xpos
|
||||
ora #$7f
|
||||
bmi !+
|
||||
@ -3206,16 +3201,16 @@ anim: {
|
||||
sta xpos+1
|
||||
lda xpos
|
||||
clc
|
||||
adc #$59+$18+$3c
|
||||
adc #$18+$95
|
||||
sta xpos
|
||||
lda xpos+1
|
||||
adc #0
|
||||
sta xpos+1
|
||||
//SEG85 [46] (byte) anim::sprite_msb#1 ← (byte) anim::sprite_msb#10 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ) -- vbuz1=vbuz1_ror_1
|
||||
lsr sprite_msb
|
||||
//SEG86 [47] (byte~) anim::$19 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ) -- vbuaa=_hi_vwsz1
|
||||
//SEG86 [47] (byte~) anim::$18 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ) -- vbuaa=_hi_vwsz1
|
||||
lda xpos+1
|
||||
//SEG87 [48] if((byte~) anim::$19==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ) -- vbuaa_eq_0_then_la1
|
||||
//SEG87 [48] if((byte~) anim::$18==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ) -- vbuaa_eq_0_then_la1
|
||||
cmp #0
|
||||
beq b8_from_b24
|
||||
jmp b14
|
||||
@ -3232,9 +3227,9 @@ anim: {
|
||||
jmp b8
|
||||
//SEG92 anim::@8
|
||||
b8:
|
||||
//SEG93 [51] (byte~) anim::$23 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] ) -- vbuaa=_hi_vwsz1
|
||||
//SEG93 [51] (byte~) anim::$22 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] ) -- vbuaa=_hi_vwsz1
|
||||
lda yr+1
|
||||
//SEG94 [52] (byte) anim::ypos#0 ← (byte~) anim::$23 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) -- vbuyy=vbuaa_plus_vbuc1
|
||||
//SEG94 [52] (byte) anim::ypos#0 ← (byte~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) -- vbuyy=vbuaa_plus_vbuc1
|
||||
clc
|
||||
adc #$59+$33
|
||||
tay
|
||||
@ -3242,9 +3237,9 @@ anim: {
|
||||
lda i
|
||||
asl
|
||||
tax
|
||||
//SEG96 [54] (byte~) anim::$26 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ) -- vbuaa=_lo_vwsz1
|
||||
//SEG96 [54] (byte~) anim::$25 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ) -- vbuaa=_lo_vwsz1
|
||||
lda xpos
|
||||
//SEG97 [55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$26 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ) -- pbuc1_derefidx_vbuxx=vbuaa
|
||||
//SEG97 [55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$25 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ) -- pbuc1_derefidx_vbuxx=vbuaa
|
||||
sta SPRITES_XPOS,x
|
||||
//SEG98 [56] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte) anim::ypos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ) -- pbuc1_derefidx_vbuxx=vbuyy
|
||||
tya
|
||||
@ -3817,10 +3812,10 @@ FINAL SYMBOL TABLE
|
||||
(signed word~) anim::$11 $11 zp ZP_WORD:5 202.0
|
||||
(signed word~) anim::$12 $12 zp ZP_WORD:5 202.0
|
||||
(byte~) anim::$13 reg byte a 101.0
|
||||
(signed byte~) anim::$16 reg byte a 202.0
|
||||
(byte~) anim::$19 reg byte a 202.0
|
||||
(byte~) anim::$23 reg byte a 202.0
|
||||
(byte~) anim::$26 reg byte a 202.0
|
||||
(signed byte~) anim::$15 reg byte a 202.0
|
||||
(byte~) anim::$18 reg byte a 202.0
|
||||
(byte~) anim::$22 reg byte a 202.0
|
||||
(byte~) anim::$25 reg byte a 202.0
|
||||
(signed word~) anim::$4 $4 zp ZP_WORD:7 202.0
|
||||
(signed word~) anim::$6 $6 zp ZP_WORD:9 202.0
|
||||
(signed word~) anim::$9 $9 zp ZP_WORD:5 202.0
|
||||
@ -4001,12 +3996,12 @@ reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
|
||||
zp ZP_BYTE:11 [ anim::x#0 ]
|
||||
zp ZP_BYTE:12 [ anim::y#0 ]
|
||||
reg byte a [ anim::$13 ]
|
||||
reg byte a [ anim::$16 ]
|
||||
reg byte a [ anim::$19 ]
|
||||
reg byte a [ anim::$23 ]
|
||||
reg byte a [ anim::$15 ]
|
||||
reg byte a [ anim::$18 ]
|
||||
reg byte a [ anim::$22 ]
|
||||
reg byte y [ anim::ypos#0 ]
|
||||
reg byte x [ anim::i2#0 ]
|
||||
reg byte a [ anim::$26 ]
|
||||
reg byte a [ anim::$25 ]
|
||||
reg byte a [ mulf8s_prepared::$5 ]
|
||||
reg byte a [ mulf8s_prepared::$15 ]
|
||||
reg byte a [ mulf8s_prepared::$11 ]
|
||||
@ -4207,9 +4202,9 @@ anim: {
|
||||
sta yr+1
|
||||
//SEG82 [43] (byte~) anim::$13 ← > (signed word) anim::xr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$13 ] ) -- vbuaa=_hi_vwsz1
|
||||
lda xr+1
|
||||
//SEG83 [44] (signed byte~) anim::$16 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$16 ] )
|
||||
// (signed byte~) anim::$16 = (signed byte)(byte~) anim::$13 // register copy reg byte a
|
||||
//SEG84 [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$16 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 60 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) -- vwsz1=vbsaa_plus_vbuc1
|
||||
//SEG83 [44] (signed byte~) anim::$15 ← (signed byte)(byte~) anim::$13 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::$15 ] )
|
||||
// (signed byte~) anim::$15 = (signed byte)(byte~) anim::$13 // register copy reg byte a
|
||||
//SEG84 [45] (signed word) anim::xpos#0 ← (signed byte~) anim::$15 + (byte/signed byte/word/signed word/dword/signed dword) 24+(byte/word/signed word/dword/signed dword) 149 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#10 anim::yr#1 anim::xpos#0 ] ) -- vwsz1=vbsaa_plus_vbuc1
|
||||
sta xpos
|
||||
ora #$7f
|
||||
bmi !+
|
||||
@ -4218,15 +4213,15 @@ anim: {
|
||||
sta xpos+1
|
||||
lda xpos
|
||||
clc
|
||||
adc #$59+$18+$3c
|
||||
adc #$18+$95
|
||||
sta xpos
|
||||
lda xpos+1
|
||||
adc #0
|
||||
sta xpos+1
|
||||
//SEG85 [46] (byte) anim::sprite_msb#1 ← (byte) anim::sprite_msb#10 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ) -- vbuz1=vbuz1_ror_1
|
||||
lsr sprite_msb
|
||||
//SEG86 [47] (byte~) anim::$19 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$19 ] ) -- vbuaa=_hi_vwsz1
|
||||
//SEG87 [48] if((byte~) anim::$19==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ) -- vbuaa_eq_0_then_la1
|
||||
//SEG86 [47] (byte~) anim::$18 ← > (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 anim::$18 ] ) -- vbuaa=_hi_vwsz1
|
||||
//SEG87 [48] if((byte~) anim::$18==(byte/signed byte/word/signed word/dword/signed dword) 0) goto anim::@8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::yr#1 anim::xpos#0 anim::sprite_msb#1 ] ) -- vbuaa_eq_0_then_la1
|
||||
cmp #0
|
||||
beq b8
|
||||
//SEG88 anim::@14
|
||||
@ -4238,9 +4233,9 @@ anim: {
|
||||
//SEG91 [50] phi (byte) anim::sprite_msb#5 = (byte) anim::sprite_msb#2 [phi:anim::@14/anim::@24->anim::@8#0] -- register_copy
|
||||
//SEG92 anim::@8
|
||||
b8:
|
||||
//SEG93 [51] (byte~) anim::$23 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$23 ] ) -- vbuaa=_hi_vwsz1
|
||||
//SEG93 [51] (byte~) anim::$22 ← > (signed word) anim::yr#1 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::$22 ] ) -- vbuaa=_hi_vwsz1
|
||||
lda yr+1
|
||||
//SEG94 [52] (byte) anim::ypos#0 ← (byte~) anim::$23 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) -- vbuyy=vbuaa_plus_vbuc1
|
||||
//SEG94 [52] (byte) anim::ypos#0 ← (byte~) anim::$22 + (byte/signed byte/word/signed word/dword/signed dword) 89+(byte/signed byte/word/signed word/dword/signed dword) 51 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::xpos#0 anim::ypos#0 ] ) -- vbuyy=vbuaa_plus_vbuc1
|
||||
clc
|
||||
adc #$59+$33
|
||||
tay
|
||||
@ -4248,9 +4243,9 @@ anim: {
|
||||
lda i
|
||||
asl
|
||||
tax
|
||||
//SEG96 [54] (byte~) anim::$26 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$26 ] ) -- vbuaa=_lo_vwsz1
|
||||
//SEG96 [54] (byte~) anim::$25 ← < (signed word) anim::xpos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 anim::$25 ] ) -- vbuaa=_lo_vwsz1
|
||||
lda xpos
|
||||
//SEG97 [55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$26 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ) -- pbuc1_derefidx_vbuxx=vbuaa
|
||||
//SEG97 [55] *((const byte*) SPRITES_XPOS#0 + (byte) anim::i2#0) ← (byte~) anim::$25 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 anim::ypos#0 anim::i2#0 ] ) -- pbuc1_derefidx_vbuxx=vbuaa
|
||||
sta SPRITES_XPOS,x
|
||||
//SEG98 [56] *((const byte*) SPRITES_YPOS#0 + (byte) anim::i2#0) ← (byte) anim::ypos#0 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ( main:3::anim:8 [ anim::angle#10 anim::i#10 anim::sprite_msb#5 ] ) -- pbuc1_derefidx_vbuxx=vbuyy
|
||||
tya
|
||||
|
@ -32,10 +32,10 @@
|
||||
(signed word~) anim::$11 $11 zp ZP_WORD:5 202.0
|
||||
(signed word~) anim::$12 $12 zp ZP_WORD:5 202.0
|
||||
(byte~) anim::$13 reg byte a 101.0
|
||||
(signed byte~) anim::$16 reg byte a 202.0
|
||||
(byte~) anim::$19 reg byte a 202.0
|
||||
(byte~) anim::$23 reg byte a 202.0
|
||||
(byte~) anim::$26 reg byte a 202.0
|
||||
(signed byte~) anim::$15 reg byte a 202.0
|
||||
(byte~) anim::$18 reg byte a 202.0
|
||||
(byte~) anim::$22 reg byte a 202.0
|
||||
(byte~) anim::$25 reg byte a 202.0
|
||||
(signed word~) anim::$4 $4 zp ZP_WORD:7 202.0
|
||||
(signed word~) anim::$6 $6 zp ZP_WORD:9 202.0
|
||||
(signed word~) anim::$9 $9 zp ZP_WORD:5 202.0
|
||||
@ -216,12 +216,12 @@ reg byte x [ mulf_init::x_255#2 mulf_init::x_255#1 ]
|
||||
zp ZP_BYTE:11 [ anim::x#0 ]
|
||||
zp ZP_BYTE:12 [ anim::y#0 ]
|
||||
reg byte a [ anim::$13 ]
|
||||
reg byte a [ anim::$16 ]
|
||||
reg byte a [ anim::$19 ]
|
||||
reg byte a [ anim::$23 ]
|
||||
reg byte a [ anim::$15 ]
|
||||
reg byte a [ anim::$18 ]
|
||||
reg byte a [ anim::$22 ]
|
||||
reg byte y [ anim::ypos#0 ]
|
||||
reg byte x [ anim::i2#0 ]
|
||||
reg byte a [ anim::$26 ]
|
||||
reg byte a [ anim::$25 ]
|
||||
reg byte a [ mulf8s_prepared::$5 ]
|
||||
reg byte a [ mulf8s_prepared::$15 ]
|
||||
reg byte a [ mulf8s_prepared::$11 ]
|
||||
|
Loading…
Reference in New Issue
Block a user