1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-08-02 09:29:35 +00:00

Added casting problem test nocast.kc

This commit is contained in:
jespergravgaard 2017-12-05 23:31:43 +01:00
parent a79853a4ec
commit 69dba6ea27
6 changed files with 104 additions and 49 deletions

View File

@ -4,7 +4,7 @@ package dk.camelot64.kickc.model;
public class ConstantValueCalculator {
private static ConstantValue calcValue(ProgramScope programScope, ConstantValue value) {
public static ConstantValue calcValue(ProgramScope programScope, ConstantValue value) {
if(value instanceof ConstantInteger) {
return value;
} else if(value instanceof ConstantString) {
@ -36,10 +36,52 @@ public class ConstantValueCalculator {
return neg(calcValue(programScope, value));
} else if(operator.equals(Operator.POS)) {
return pos(calcValue(programScope, value));
} else if(operator.equals(Operator.CAST_WORD)) {
return castWord(calcValue(programScope, value));
} else if(operator.equals(Operator.CAST_SWORD)) {
return castSWord(calcValue(programScope, value));
} else if(operator.equals(Operator.CAST_BYTE)) {
return castByte(calcValue(programScope, value));
} else if(operator.equals(Operator.CAST_SBYTE)) {
return castSByte(calcValue(programScope, value));
}
return null;
}
private static ConstantValue castWord(ConstantValue value) {
if(value instanceof ConstantInteger) {
return new ConstantInteger(0xffff&((ConstantInteger) value).getNumber());
}
return null;
}
private static ConstantValue castSWord(ConstantValue value) {
if(value instanceof ConstantInteger) {
return new ConstantInteger(0xffff&((ConstantInteger) value).getNumber());
}
return null;
}
private static ConstantValue castByte(ConstantValue value) {
if(value instanceof ConstantInteger) {
return new ConstantInteger(0xff&((ConstantInteger) value).getNumber());
}
return null;
}
private static ConstantValue castSByte(ConstantValue value) {
if(value instanceof ConstantInteger) {
return new ConstantInteger(0xff&((ConstantInteger) value).getNumber());
}
return null;
}
private static ConstantValue castPtrByte(ConstantValue value) {
return value;
}
public static ConstantValue calcValue(ProgramScope programScope, ConstantValue value1, Operator operator, ConstantValue value2) {
if(operator.equals(Operator.MULTIPLY)) {
return multiply(calcValue(programScope, value1), calcValue(programScope, value2));

View File

@ -24,6 +24,10 @@ public class TestErrors extends TestCase {
helper = new ReferenceHelper("dk/camelot64/kickc/test/ref/");
}
public void testNoCast() throws IOException, URISyntaxException {
compileAndCompare("nocast");
}
public void testConstants() throws IOException, URISyntaxException {
compileAndCompare("constants");
}

View File

@ -0,0 +1,9 @@
// Casting sprites/$40 to byte results in lda #$ff & sprite/$40 - proper constant calculation & type inference should detect that "$ff &" is not necessary as $2000/$40 is already a byte.
byte* sprite = $2000;
byte* SCREEN = $400;
void main() {
byte* sprite_ptr = SCREEN+$378;
sprite_ptr[0] = (byte)(sprite/$40);
}

View File

@ -42,7 +42,7 @@ anim::@1: scope:[anim] from anim anim::@3
[18] (byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ] )
[19] (byte~) anim::$4 ← > (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 anim::$4 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 anim::$4 ] )
[20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] )
[21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] )
[21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] )
[22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] )
[23] (byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$7 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$7 ] )
[24] *((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] )

View File

@ -93,7 +93,7 @@ void anim() {
for( byte j : 0..6) {
word x = (word)$1e + sintab_x[xidx];
x_msb = x_msb<<1 | >x;
SPRITES_XPOS[j2] = (byte)x;
SPRITES_XPOS[j2] = <x;
SPRITES_YPOS[j2] = sintab_y[yidx];
xidx = xidx+10;
if(xidx>=sinlen_x) {
@ -887,7 +887,7 @@ anim::@1:
(byte~) anim::$4 ← > (word) anim::x
(byte~) anim::$5 ← (byte~) anim::$3 | (byte~) anim::$4
(byte) anim::x_msb ← (byte~) anim::$5
(byte~) anim::$6 ← ((byte)) (word) anim::x
(byte~) anim::$6 ← < (word) anim::x
*((byte*) SPRITES_XPOS + (byte) anim::j2) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y *idx (byte) anim::yidx
*((byte*) SPRITES_YPOS + (byte) anim::j2) ← (byte~) anim::$7
@ -1867,7 +1867,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$4 ← > (word) anim::x
(byte~) anim::$5 ← (byte~) anim::$3 | (byte~) anim::$4
(byte) anim::x_msb ← (byte~) anim::$5
(byte~) anim::$6 ← ((byte)) (word) anim::x
(byte~) anim::$6 ← < (word) anim::x
*((byte*) SPRITES_XPOS + (byte) anim::j2) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y *idx (byte) anim::yidx
*((byte*) SPRITES_YPOS + (byte) anim::j2) ← (byte~) anim::$7
@ -2422,7 +2422,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$4 ← > (word) anim::x
(byte~) anim::$5 ← (byte~) anim::$3 | (byte~) anim::$4
(byte) anim::x_msb ← (byte~) anim::$5
(byte~) anim::$6 ← ((byte)) (word) anim::x
(byte~) anim::$6 ← < (word) anim::x
*((byte*) SPRITES_XPOS + (byte) anim::j2) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y *idx (byte) anim::yidx
*((byte*) SPRITES_YPOS + (byte) anim::j2) ← (byte~) anim::$7
@ -2938,7 +2938,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$4 ← > (word) anim::x
(byte~) anim::$5 ← (byte~) anim::$3 | (byte~) anim::$4
(byte) anim::x_msb ← (byte~) anim::$5
(byte~) anim::$6 ← ((byte)) (word) anim::x
(byte~) anim::$6 ← < (word) anim::x
*((byte*) SPRITES_XPOS + (byte) anim::j2) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y *idx (byte) anim::yidx
*((byte*) SPRITES_YPOS + (byte) anim::j2) ← (byte~) anim::$7
@ -3618,7 +3618,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$4 ← > (word) anim::x#0
(byte~) anim::$5 ← (byte~) anim::$3 | (byte~) anim::$4
(byte) anim::x_msb#1 ← (byte~) anim::$5
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -4595,7 +4595,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$4 ← > (word) anim::x#0
(byte~) anim::$5 ← (byte~) anim::$3 | (byte~) anim::$4
(byte) anim::x_msb#1 ← (byte~) anim::$5
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -6401,7 +6401,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$4 ← > (word) anim::x#0
(byte~) anim::$5 ← (byte~) anim::$3 | (byte~) anim::$4
(byte) anim::x_msb#1 ← (byte~) anim::$5
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -7504,7 +7504,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -8258,7 +8258,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -8987,7 +8987,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -9632,7 +9632,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -10209,7 +10209,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -10795,7 +10795,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -11375,7 +11375,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -11885,7 +11885,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -12360,7 +12360,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -12845,7 +12845,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -13325,7 +13325,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -13805,7 +13805,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -14283,7 +14283,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -14738,7 +14738,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -15225,7 +15225,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -15677,7 +15677,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -16334,7 +16334,7 @@ anim::@1: scope:[anim] from anim anim::@3
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -16977,7 +16977,7 @@ anim::@1: scope:[anim] from anim anim::@11
(byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1
(byte~) anim::$4 ← > (word) anim::x#0
(byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4
(byte~) anim::$6 ← ((byte)) (word) anim::x#0
(byte~) anim::$6 ← < (word) anim::x#0
*((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6
(byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3
*((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7
@ -17626,7 +17626,7 @@ anim::@1: scope:[anim] from anim anim::@11
[22] (byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ]
[23] (byte~) anim::$4 ← > (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 anim::$4 ]
[24] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::x_msb#1 ]
[25] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ]
[25] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ]
[26] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ]
[27] (byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$7 ]
[28] *((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ]
@ -18365,7 +18365,7 @@ anim::@1: scope:[anim] from anim anim::@3
[18] (byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ]
[19] (byte~) anim::$4 ← > (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 anim::$4 ]
[20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ]
[21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ]
[21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ]
[22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ]
[23] (byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$7 ]
[24] *((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ]
@ -18847,7 +18847,7 @@ anim::@1: scope:[anim] from anim anim::@3
[18] (byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ] )
[19] (byte~) anim::$4 ← > (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 anim::$4 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 anim::$4 ] )
[20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] )
[21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] )
[21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] )
[22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] )
[23] (byte~) anim::$7 ← (const byte[]) sintab_y#0 *idx (byte) anim::yidx#3 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$7 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$7 ] )
[24] *((const byte*) SPRITES_YPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$7 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] )
@ -20050,7 +20050,7 @@ anim: {
lda _3
ora _4
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- zpby1=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- zpby1=_lo_zpwo1
lda x
sta _6
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=zpby2
@ -21389,7 +21389,7 @@ Removing always clobbered register reg byte a as potential for zp ZP_BYTE:6 [ an
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:7 [ anim::yidx#3 anim::yidx#0 anim::yidx#6 anim::yidx#1 anim::yidx#2 ]
Removing always clobbered register reg byte a as potential for zp ZP_BYTE:8 [ anim::j#2 anim::j#1 ]
Statement [18] (byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ] ) always clobbers reg byte a
Statement [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) always clobbers reg byte a
Statement [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) always clobbers reg byte a
Statement [25] (byte) anim::xidx#1 ← (byte) anim::xidx#3 + (byte/signed byte/word/signed word) 10 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::xidx#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::xidx#1 ] ) always clobbers reg byte a
Statement [27] (byte) anim::xidx#2 ← (byte) anim::xidx#1 - (const byte) sinlen_x#0 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::xidx#2 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::xidx#2 ] ) always clobbers reg byte a
Statement [29] (byte) anim::yidx#1 ← (byte) anim::yidx#3 + (byte/signed byte/word/signed word) 8 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::j#2 anim::xidx#5 anim::x_msb#1 anim::yidx#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::j#2 anim::xidx#5 anim::x_msb#1 anim::yidx#1 ] ) always clobbers reg byte a
@ -21486,7 +21486,7 @@ Statement [237] (byte) place_sprites::col#1 ← (byte) place_sprites::col#2 ^ (b
Statement [7] if(*((const byte*) RASTER#0)!=(byte/word/signed word) 255) goto main::@2 [ sin_idx_x#13 sin_idx_y#13 ] ( main:2 [ sin_idx_x#13 sin_idx_y#13 ] ) always clobbers reg byte a
Statement [17] (word) anim::x#0 ← ((word))(byte/signed byte/word/signed word) 30 + (byte~) anim::$1 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::x_msb#2 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::x_msb#2 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 ] ) always clobbers reg byte a
Statement [18] (byte~) anim::$3 ← (byte) anim::x_msb#2 << (byte/signed byte/word/signed word) 1 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x#0 anim::$3 ] ) always clobbers reg byte a
Statement [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) always clobbers reg byte a
Statement [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) always clobbers reg byte a
Statement [25] (byte) anim::xidx#1 ← (byte) anim::xidx#3 + (byte/signed byte/word/signed word) 10 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::xidx#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::xidx#1 ] ) always clobbers reg byte a
Statement [27] (byte) anim::xidx#2 ← (byte) anim::xidx#1 - (const byte) sinlen_x#0 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::xidx#2 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::xidx#2 ] ) always clobbers reg byte a
Statement [29] (byte) anim::yidx#1 ← (byte) anim::yidx#3 + (byte/signed byte/word/signed word) 8 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::j#2 anim::xidx#5 anim::x_msb#1 anim::yidx#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::j2#3 anim::j#2 anim::xidx#5 anim::x_msb#1 anim::yidx#1 ] ) always clobbers reg byte a
@ -21977,7 +21977,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -23272,7 +23272,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -24623,7 +24623,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -25908,7 +25908,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -27024,7 +27024,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -28137,7 +28137,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -29251,7 +29251,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -30373,7 +30373,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -31475,7 +31475,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -32573,7 +32573,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -33672,7 +33672,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -34769,7 +34769,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -35862,7 +35862,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2
@ -37313,7 +37313,7 @@ anim: {
//SEG49 [20] (byte) anim::x_msb#1 ← (byte~) anim::$3 | (byte~) anim::$4 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::x#0 ] ) -- zpby1=zpby1_bor_aby
ora x_msb
sta x_msb
//SEG50 [21] (byte~) anim::$6 ← ((byte)) (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_byte_zpwo1
//SEG50 [21] (byte~) anim::$6 ← < (word) anim::x#0 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 anim::$6 ] ) -- aby=_lo_zpwo1
lda x
//SEG51 [22] *((const byte*) SPRITES_XPOS#0 + (byte) anim::j2#3) ← (byte~) anim::$6 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ( main:2::anim:9 [ sin_idx_x#13 sin_idx_y#13 anim::xidx#3 anim::j2#3 anim::yidx#3 anim::j#2 anim::x_msb#1 ] ) -- cowo1_derefidx_zpby1=aby
ldx j2

View File

@ -93,7 +93,7 @@ void anim() {
for( byte j : 0..6) {
word x = (word)$1e + sintab_x[xidx];
x_msb = x_msb<<1 | >x;
SPRITES_XPOS[j2] = (byte)x;
SPRITES_XPOS[j2] = <x;
SPRITES_YPOS[j2] = sintab_y[yidx];
xidx = xidx+10;
if(xidx>=sinlen_x) {