diff --git a/src/main/java/dk/camelot64/kickc/model/VariableBuilder.java b/src/main/java/dk/camelot64/kickc/model/VariableBuilder.java index cf7445917..8a32bfc5e 100644 --- a/src/main/java/dk/camelot64/kickc/model/VariableBuilder.java +++ b/src/main/java/dk/camelot64/kickc/model/VariableBuilder.java @@ -12,7 +12,7 @@ import java.util.List; /** * Used for creating a {@link Variable} with the right properties based on the declaration incl. all directives and configuration. - * + *

* Holds information about the variable while it is being built. */ public class VariableBuilder { @@ -55,6 +55,7 @@ public class VariableBuilder { /** * Is the type is a simple integer type. + * * @return True if the type is a simple integer type. */ boolean isTypeInteger() { @@ -63,6 +64,7 @@ public class VariableBuilder { /** * Is the type is a pointer type. + * * @return True if the type is a pointer type. */ boolean isTypePointer() { @@ -71,32 +73,53 @@ public class VariableBuilder { /** * Is the type is a struct type. + * * @return True if the type is a struct type. */ boolean isTypeStruct() { return type instanceof SymbolTypeStruct; } - /** The different scopes deciding directive defaults. */ - public enum DirectiveScope { - GLOBAL, LOCAL, PARAMETER, MEMBER; + /** + * Is the variable a global variable + * + * @return true if the variable is in the global scope + */ + boolean isScopeGlobal() { + return ScopeRef.ROOT.equals(scope.getRef()); + } - private static DirectiveScope getFor(Scope scope, boolean isParameter) { - if(isParameter) { - return PARAMETER; - } - if(ScopeRef.ROOT.equals(scope.getRef())) { - return GLOBAL; - } else if(scope instanceof Procedure) { - return LOCAL; - } else if(scope instanceof StructDefinition) { - return MEMBER; - } else if(scope instanceof BlockScope) { - return getFor(scope.getScope(), false); - } else { - throw new InternalError("Scope type not handled " + scope); - } - } + /** + * Is the variable a function parameter + * + * @return true if the variable is a function parameter + */ + boolean isScopeParameter() { + Scope s = scope; + while(s instanceof BlockScope) + s = s.getScope(); + return (s instanceof Procedure) && isParameter; + } + + /** + * Is the variable a local variable in a function + * + * @return true if the variable is in a function scope + */ + boolean isScopeLocal() { + Scope s = scope; + while(s instanceof BlockScope) + s = s.getScope(); + return (s instanceof Procedure) && !isParameter; + } + + /** + * Is the variable a member of a struct definition + * + * @return true if the variable is a struct definition member + */ + boolean isScopeMember() { + return scope instanceof StructDefinition; } public VariableBuilder() { diff --git a/src/test/ref/address-of-3.log b/src/test/ref/address-of-3.log index 591581241..733935a75 100644 --- a/src/test/ref/address-of-3.log +++ b/src/test/ref/address-of-3.log @@ -80,7 +80,7 @@ SYMBOL TABLE SSA (label) @end (const signed word*) SCREEN = (signed word*)(number) $400 (const byte) SIZEOF_SIGNED_WORD = (byte) 2 -(const signed word*) VALS = { (signed word)(number) 1, (signed word)(number) 2, (signed word)(number) 3, (signed word)(number) 4 } +(const signed word*) VALS[] = { (signed word)(number) 1, (signed word)(number) 2, (signed word)(number) 3, (signed word)(number) 4 } (byte) idx (byte) idx#0 (byte) idx#1 @@ -630,7 +630,7 @@ FINAL SYMBOL TABLE (label) @end (const signed word*) SCREEN = (signed word*) 1024 (const byte) SIZEOF_SIGNED_WORD = (byte) 2 -(const signed word*) VALS = { (signed word) 1, (signed word) 2, (signed word) 3, (signed word) 4 } +(const signed word*) VALS[] = { (signed word) 1, (signed word) 2, (signed word) 3, (signed word) 4 } (byte) idx (byte) idx#12 idx zp[1]:3 5.666666666666667 (byte) idx#13 idx zp[1]:3 1.3636363636363638 diff --git a/src/test/ref/address-of-3.sym b/src/test/ref/address-of-3.sym index 807ba31e5..8a87e8bf2 100644 --- a/src/test/ref/address-of-3.sym +++ b/src/test/ref/address-of-3.sym @@ -3,7 +3,7 @@ (label) @end (const signed word*) SCREEN = (signed word*) 1024 (const byte) SIZEOF_SIGNED_WORD = (byte) 2 -(const signed word*) VALS = { (signed word) 1, (signed word) 2, (signed word) 3, (signed word) 4 } +(const signed word*) VALS[] = { (signed word) 1, (signed word) 2, (signed word) 3, (signed word) 4 } (byte) idx (byte) idx#12 idx zp[1]:3 5.666666666666667 (byte) idx#13 idx zp[1]:3 1.3636363636363638 diff --git a/src/test/ref/array-16bit-lookup.log b/src/test/ref/array-16bit-lookup.log index 26ea4e07b..83ac942cf 100644 --- a/src/test/ref/array-16bit-lookup.log +++ b/src/test/ref/array-16bit-lookup.log @@ -61,7 +61,7 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte) SIZEOF_WORD = (byte) 2 -(const word*) arr16 = { fill( $80, 0) } +(const word*) arr16[(number) $80] = { fill( $80, 0) } (word()) getValue((word) getValue::index) (number~) getValue::$0 (number~) getValue::$1 @@ -568,7 +568,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const word*) arr16 = { fill( $80, 0) } +(const word*) arr16[(number) $80] = { fill( $80, 0) } (word()) getValue((word) getValue::index) (byte~) getValue::$0 reg byte a 4.0 (byte~) getValue::$1 reg byte a 4.0 diff --git a/src/test/ref/array-16bit-lookup.sym b/src/test/ref/array-16bit-lookup.sym index 3cfe1dca2..d184d45e9 100644 --- a/src/test/ref/array-16bit-lookup.sym +++ b/src/test/ref/array-16bit-lookup.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const word*) arr16 = { fill( $80, 0) } +(const word*) arr16[(number) $80] = { fill( $80, 0) } (word()) getValue((word) getValue::index) (byte~) getValue::$0 reg byte a 4.0 (byte~) getValue::$1 reg byte a 4.0 diff --git a/src/test/ref/array-length-symbolic-min.log b/src/test/ref/array-length-symbolic-min.log index f4ec6b463..8a78fb86b 100644 --- a/src/test/ref/array-length-symbolic-min.log +++ b/src/test/ref/array-length-symbolic-min.log @@ -32,7 +32,7 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte) SZ = (number) $f -(const byte*) items = { fill( SZ, 0) } +(const byte*) items[(const byte) SZ] = { fill( SZ, 0) } (void()) main() (bool~) main::$0 (label) main::@1 @@ -276,7 +276,7 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (const byte) SZ = (number) $f -(const byte*) items = { fill( SZ, 0) } +(const byte*) items[(const byte) SZ] = { fill( SZ, 0) } (void()) main() (label) main::@1 (label) main::@return diff --git a/src/test/ref/array-length-symbolic-min.sym b/src/test/ref/array-length-symbolic-min.sym index cd8161af3..7e6b9b02c 100644 --- a/src/test/ref/array-length-symbolic-min.sym +++ b/src/test/ref/array-length-symbolic-min.sym @@ -2,7 +2,7 @@ (label) @begin (label) @end (const byte) SZ = (number) $f -(const byte*) items = { fill( SZ, 0) } +(const byte*) items[(const byte) SZ] = { fill( SZ, 0) } (void()) main() (label) main::@1 (label) main::@return diff --git a/src/test/ref/array-length-symbolic.log b/src/test/ref/array-length-symbolic.log index 6d02b0da8..6c482cad6 100644 --- a/src/test/ref/array-length-symbolic.log +++ b/src/test/ref/array-length-symbolic.log @@ -50,7 +50,7 @@ SYMBOL TABLE SSA (label) @end (const byte) ITEM_COUNT = (number) 3 (const byte) ITEM_SIZE = (number) 5 -(const byte*) items = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) items[(const byte) ITEM_COUNT*(const byte) ITEM_SIZE] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } (void()) main() (number~) main::$0 (number~) main::$1 @@ -511,7 +511,7 @@ FINAL SYMBOL TABLE (label) @end (const byte) ITEM_COUNT = (number) 3 (const byte) ITEM_SIZE = (number) 5 -(const byte*) items = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) items[(const byte) ITEM_COUNT*(const byte) ITEM_SIZE] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (void()) main() (byte~) main::$0 reg byte a 202.0 (byte~) main::$1 reg byte a 202.0 diff --git a/src/test/ref/array-length-symbolic.sym b/src/test/ref/array-length-symbolic.sym index e9d0b0ad0..c7c005ea5 100644 --- a/src/test/ref/array-length-symbolic.sym +++ b/src/test/ref/array-length-symbolic.sym @@ -3,7 +3,7 @@ (label) @end (const byte) ITEM_COUNT = (number) 3 (const byte) ITEM_SIZE = (number) 5 -(const byte*) items = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) items[(const byte) ITEM_COUNT*(const byte) ITEM_SIZE] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (void()) main() (byte~) main::$0 reg byte a 202.0 (byte~) main::$1 reg byte a 202.0 diff --git a/src/test/ref/arrays-init-kasm-0.log b/src/test/ref/arrays-init-kasm-0.log index f4ffedfd5..5eb4a19bd 100644 --- a/src/test/ref/arrays-init-kasm-0.log +++ b/src/test/ref/arrays-init-kasm-0.log @@ -24,7 +24,7 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) SINTAB = kickasm {{ .fill 256, 128 + 128*sin(i*2*PI/256) +(const byte*) SINTAB[(number) $100] = kickasm {{ .fill 256, 128 + 128*sin(i*2*PI/256) }} (void()) main() (label) main::@return @@ -197,7 +197,7 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) SINTAB = kickasm {{ .fill 256, 128 + 128*sin(i*2*PI/256) +(const byte*) SINTAB[(number) $100] = kickasm {{ .fill 256, 128 + 128*sin(i*2*PI/256) }} (void()) main() (label) main::@return diff --git a/src/test/ref/arrays-init-kasm-0.sym b/src/test/ref/arrays-init-kasm-0.sym index dbd6a3fab..95ab889d1 100644 --- a/src/test/ref/arrays-init-kasm-0.sym +++ b/src/test/ref/arrays-init-kasm-0.sym @@ -2,7 +2,7 @@ (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) SINTAB = kickasm {{ .fill 256, 128 + 128*sin(i*2*PI/256) +(const byte*) SINTAB[(number) $100] = kickasm {{ .fill 256, 128 + 128*sin(i*2*PI/256) }} (void()) main() (label) main::@return diff --git a/src/test/ref/arrays-init-short.log b/src/test/ref/arrays-init-short.log index 2089c0d7e..cdc4c5c97 100644 --- a/src/test/ref/arrays-init-short.log +++ b/src/test/ref/arrays-init-short.log @@ -74,8 +74,8 @@ SYMBOL TABLE SSA (byte) main::i1#1 (byte) main::i1#2 (byte) main::i1#3 -(const byte*) msg1 = (string) "camelot" -(const byte*) msg2 = { (byte) 'c', (byte) 'm', (byte) 'l' } +(const byte*) msg1[(number) $10] = (string) "camelot" +(const byte*) msg2[(number) $10] = { (byte) 'c', (byte) 'm', (byte) 'l' } Adding number conversion cast (unumber) 0 in (byte) main::i#0 ← (number) 0 Adding number conversion cast (unumber) 0 in (bool~) main::$0 ← (number) 0 != *((const byte*) msg1 + (byte) main::i#2) @@ -430,8 +430,8 @@ FINAL SYMBOL TABLE (byte) main::i1 (byte) main::i1#1 reg byte x 22.0 (byte) main::i1#2 reg byte x 18.333333333333332 -(const byte*) msg1 = (string) "camelot" -(const byte*) msg2 = { (byte) 'c', (byte) 'm', (byte) 'l' } +(const byte*) msg1[(number) $10] = (string) "camelot" +(const byte*) msg2[(number) $10] = { (byte) 'c', (byte) 'm', (byte) 'l' } reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/arrays-init-short.sym b/src/test/ref/arrays-init-short.sym index 3945fe9f6..28ee7a9dd 100644 --- a/src/test/ref/arrays-init-short.sym +++ b/src/test/ref/arrays-init-short.sym @@ -14,8 +14,8 @@ (byte) main::i1 (byte) main::i1#1 reg byte x 22.0 (byte) main::i1#2 reg byte x 18.333333333333332 -(const byte*) msg1 = (string) "camelot" -(const byte*) msg2 = { (byte) 'c', (byte) 'm', (byte) 'l' } +(const byte*) msg1[(number) $10] = (string) "camelot" +(const byte*) msg2[(number) $10] = { (byte) 'c', (byte) 'm', (byte) 'l' } reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/arrays-init.log b/src/test/ref/arrays-init.log index a34162c2b..8e7aadabc 100644 --- a/src/test/ref/arrays-init.log +++ b/src/test/ref/arrays-init.log @@ -29,9 +29,9 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) b = { fill( 3, 0) } -(const byte*) c = { (byte) 'c', (byte) 'm', (byte) 'l' } -(const byte*) d = (string) "cml"z +(const byte*) b[(number) 3] = { fill( 3, 0) } +(const byte*) c[] = { (byte) 'c', (byte) 'm', (byte) 'l' } +(const byte*) d[] = (string) "cml"z (void()) main() (byte*~) main::$0 (byte*~) main::$1 @@ -251,9 +251,9 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) b = { fill( 3, 0) } -(const byte*) c = { (byte) 'c', (byte) 'm', (byte) 'l' } -(const byte*) d = (string) "cml"z +(const byte*) b[(number) 3] = { fill( 3, 0) } +(const byte*) c[] = { (byte) 'c', (byte) 'm', (byte) 'l' } +(const byte*) d[] = (string) "cml"z (void()) main() (label) main::@return diff --git a/src/test/ref/arrays-init.sym b/src/test/ref/arrays-init.sym index 583f2e989..873e876b6 100644 --- a/src/test/ref/arrays-init.sym +++ b/src/test/ref/arrays-init.sym @@ -2,9 +2,9 @@ (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) b = { fill( 3, 0) } -(const byte*) c = { (byte) 'c', (byte) 'm', (byte) 'l' } -(const byte*) d = (string) "cml"z +(const byte*) b[(number) 3] = { fill( 3, 0) } +(const byte*) c[] = { (byte) 'c', (byte) 'm', (byte) 'l' } +(const byte*) d[] = (string) "cml"z (void()) main() (label) main::@return diff --git a/src/test/ref/assignment-compound.log b/src/test/ref/assignment-compound.log index dd990814b..8fbdc9c64 100644 --- a/src/test/ref/assignment-compound.log +++ b/src/test/ref/assignment-compound.log @@ -226,7 +226,7 @@ SYMBOL TABLE SSA (byte) main::i#7 (byte) main::i#8 (byte) main::i#9 -(const byte*) ref = { (byte)(number) 3, (byte)(number) 4, (byte)(number) 3, (byte)(number) $12, (byte)(number) 9, (byte)(number) 1, (byte)(number) 4, (byte)(number) 2, (byte)(number) 4, (byte)(number) 5, (byte)(number) 1, (byte)(number) 0 } +(const byte*) ref[] = { (byte)(number) 3, (byte)(number) 4, (byte)(number) 3, (byte)(number) $12, (byte)(number) 9, (byte)(number) 1, (byte)(number) 4, (byte)(number) 2, (byte)(number) 4, (byte)(number) 5, (byte)(number) 1, (byte)(number) 0 } (const byte*) screen1 = (byte*)(number) $400 (byte*) screen2 (byte*) screen2#0 @@ -1292,7 +1292,7 @@ FINAL SYMBOL TABLE (label) main::@return (byte) main::a (byte) main::i -(const byte*) ref = { (byte) 3, (byte) 4, (byte) 3, (byte) $12, (byte) 9, (byte) 1, (byte) 4, (byte) 2, (byte) 4, (byte) 5, (byte) 1, (byte) 0 } +(const byte*) ref[] = { (byte) 3, (byte) 4, (byte) 3, (byte) $12, (byte) 9, (byte) 1, (byte) 4, (byte) 2, (byte) 4, (byte) 5, (byte) 1, (byte) 0 } (const byte*) screen1 = (byte*) 1024 (byte*) screen2 (const byte*) screen2#0 screen2 = (const byte*) screen1+(byte) $28 diff --git a/src/test/ref/assignment-compound.sym b/src/test/ref/assignment-compound.sym index e35077fe0..b3ca43c2f 100644 --- a/src/test/ref/assignment-compound.sym +++ b/src/test/ref/assignment-compound.sym @@ -18,7 +18,7 @@ (label) main::@return (byte) main::a (byte) main::i -(const byte*) ref = { (byte) 3, (byte) 4, (byte) 3, (byte) $12, (byte) 9, (byte) 1, (byte) 4, (byte) 2, (byte) 4, (byte) 5, (byte) 1, (byte) 0 } +(const byte*) ref[] = { (byte) 3, (byte) 4, (byte) 3, (byte) $12, (byte) 9, (byte) 1, (byte) 4, (byte) 2, (byte) 4, (byte) 5, (byte) 1, (byte) 0 } (const byte*) screen1 = (byte*) 1024 (byte*) screen2 (const byte*) screen2#0 screen2 = (const byte*) screen1+(byte) $28 diff --git a/src/test/ref/bitmap-circle-2.log b/src/test/ref/bitmap-circle-2.log index 883d50287..e9463d31a 100644 --- a/src/test/ref/bitmap-circle-2.log +++ b/src/test/ref/bitmap-circle-2.log @@ -313,7 +313,7 @@ SYMBOL TABLE SSA (const byte) VIC_DEN = (number) $10 (const byte*) VIC_MEMORY = (byte*)(number) $d018 (const byte) VIC_RSEL = (number) 8 -(const byte*) bitmask = { (byte)(number) $80, (byte)(number) $40, (byte)(number) $20, (byte)(number) $10, (byte)(number) 8, (byte)(number) 4, (byte)(number) 2, (byte)(number) 1 } +(const byte*) bitmask[] = { (byte)(number) $80, (byte)(number) $40, (byte)(number) $20, (byte)(number) $10, (byte)(number) 8, (byte)(number) 4, (byte)(number) 2, (byte)(number) 1 } (void()) circle((signed word) circle::xc , (signed word) circle::yc , (signed word) circle::r) (signed word~) circle::$0 (number~) circle::$1 @@ -2842,7 +2842,7 @@ FINAL SYMBOL TABLE (const byte) VIC_DEN = (number) $10 (const byte*) VIC_MEMORY = (byte*) 53272 (const byte) VIC_RSEL = (number) 8 -(const byte*) bitmask = { (byte) $80, (byte) $40, (byte) $20, (byte) $10, (byte) 8, (byte) 4, (byte) 2, (byte) 1 } +(const byte*) bitmask[] = { (byte) $80, (byte) $40, (byte) $20, (byte) $10, (byte) 8, (byte) 4, (byte) 2, (byte) 1 } (void()) circle((signed word) circle::xc , (signed word) circle::yc , (signed word) circle::r) (signed word~) circle::$0 zp[2]:4 4.0 (signed word~) circle::$10 zp[2]:4 202.0 diff --git a/src/test/ref/bitmap-circle-2.sym b/src/test/ref/bitmap-circle-2.sym index ca0401601..e531eba9c 100644 --- a/src/test/ref/bitmap-circle-2.sym +++ b/src/test/ref/bitmap-circle-2.sym @@ -10,7 +10,7 @@ (const byte) VIC_DEN = (number) $10 (const byte*) VIC_MEMORY = (byte*) 53272 (const byte) VIC_RSEL = (number) 8 -(const byte*) bitmask = { (byte) $80, (byte) $40, (byte) $20, (byte) $10, (byte) 8, (byte) 4, (byte) 2, (byte) 1 } +(const byte*) bitmask[] = { (byte) $80, (byte) $40, (byte) $20, (byte) $10, (byte) 8, (byte) 4, (byte) 2, (byte) 1 } (void()) circle((signed word) circle::xc , (signed word) circle::yc , (signed word) circle::r) (signed word~) circle::$0 zp[2]:4 4.0 (signed word~) circle::$10 zp[2]:4 202.0 diff --git a/src/test/ref/bitmap-circle.log b/src/test/ref/bitmap-circle.log index 86b895b2b..4329b74d3 100644 --- a/src/test/ref/bitmap-circle.log +++ b/src/test/ref/bitmap-circle.log @@ -283,7 +283,7 @@ SYMBOL TABLE SSA (const byte) VIC_DEN = (number) $10 (const byte*) VIC_MEMORY = (byte*)(number) $d018 (const byte) VIC_RSEL = (number) 8 -(const byte*) bitmask = { (byte)(number) $80, (byte)(number) $40, (byte)(number) $20, (byte)(number) $10, (byte)(number) 8, (byte)(number) 4, (byte)(number) 2, (byte)(number) 1 } +(const byte*) bitmask[] = { (byte)(number) $80, (byte)(number) $40, (byte)(number) $20, (byte)(number) $10, (byte)(number) 8, (byte)(number) 4, (byte)(number) 2, (byte)(number) 1 } (void()) circle((signed word) circle::xc , (signed word) circle::yc , (signed word) circle::r) (signed word~) circle::$0 (number~) circle::$1 @@ -2520,7 +2520,7 @@ FINAL SYMBOL TABLE (const byte) VIC_DEN = (number) $10 (const byte*) VIC_MEMORY = (byte*) 53272 (const byte) VIC_RSEL = (number) 8 -(const byte*) bitmask = { (byte) $80, (byte) $40, (byte) $20, (byte) $10, (byte) 8, (byte) 4, (byte) 2, (byte) 1 } +(const byte*) bitmask[] = { (byte) $80, (byte) $40, (byte) $20, (byte) $10, (byte) 8, (byte) 4, (byte) 2, (byte) 1 } (void()) circle((signed word) circle::xc , (signed word) circle::yc , (signed word) circle::r) (signed word~) circle::$10 zp[2]:2 22.0 (signed word~) circle::$5 zp[2]:8 22.0 diff --git a/src/test/ref/bitmap-circle.sym b/src/test/ref/bitmap-circle.sym index 38b9831dc..5aa8909ec 100644 --- a/src/test/ref/bitmap-circle.sym +++ b/src/test/ref/bitmap-circle.sym @@ -10,7 +10,7 @@ (const byte) VIC_DEN = (number) $10 (const byte*) VIC_MEMORY = (byte*) 53272 (const byte) VIC_RSEL = (number) 8 -(const byte*) bitmask = { (byte) $80, (byte) $40, (byte) $20, (byte) $10, (byte) 8, (byte) 4, (byte) 2, (byte) 1 } +(const byte*) bitmask[] = { (byte) $80, (byte) $40, (byte) $20, (byte) $10, (byte) 8, (byte) 4, (byte) 2, (byte) 1 } (void()) circle((signed word) circle::xc , (signed word) circle::yc , (signed word) circle::r) (signed word~) circle::$10 zp[2]:2 22.0 (signed word~) circle::$5 zp[2]:8 22.0 diff --git a/src/test/ref/bitmap-line-anim-1.log b/src/test/ref/bitmap-line-anim-1.log index e486225db..bee7632be 100644 --- a/src/test/ref/bitmap-line-anim-1.log +++ b/src/test/ref/bitmap-line-anim-1.log @@ -1166,11 +1166,11 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y#2 (byte) bitmap_plot::y#3 (byte) bitmap_plot::y#4 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) init_screen() (bool~) init_screen::$0 (label) init_screen::@1 @@ -4696,11 +4696,11 @@ FINAL SYMBOL TABLE (byte) bitmap_plot::y#2 reg byte y 202.0 (byte) bitmap_plot::y#3 reg byte y 202.0 (byte) bitmap_plot::y#4 reg byte y 204.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) init_screen() (label) init_screen::@1 (label) init_screen::@2 diff --git a/src/test/ref/bitmap-line-anim-1.sym b/src/test/ref/bitmap-line-anim-1.sym index d4fc96699..bbb022608 100644 --- a/src/test/ref/bitmap-line-anim-1.sym +++ b/src/test/ref/bitmap-line-anim-1.sym @@ -191,11 +191,11 @@ (byte) bitmap_plot::y#2 reg byte y 202.0 (byte) bitmap_plot::y#3 reg byte y 202.0 (byte) bitmap_plot::y#4 reg byte y 204.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) init_screen() (label) init_screen::@1 (label) init_screen::@2 diff --git a/src/test/ref/bitmap-line-anim-2.log b/src/test/ref/bitmap-line-anim-2.log index 4eaaa1644..98958f74d 100644 --- a/src/test/ref/bitmap-line-anim-2.log +++ b/src/test/ref/bitmap-line-anim-2.log @@ -945,9 +945,9 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y#2 (byte) bitmap_plot::y#3 (byte) bitmap_plot::y#4 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (byte*) bitmap_screen#0 (byte*) bitmap_screen#1 @@ -4420,9 +4420,9 @@ FINAL SYMBOL TABLE (byte) bitmap_plot::y#2 reg byte x 2.0 (byte) bitmap_plot::y#3 reg byte x 101.0 (byte) bitmap_plot::y#4 reg byte x 208.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (void()) main() (label) main::@1 diff --git a/src/test/ref/bitmap-line-anim-2.sym b/src/test/ref/bitmap-line-anim-2.sym index 6f3eec735..186b1ac6e 100644 --- a/src/test/ref/bitmap-line-anim-2.sym +++ b/src/test/ref/bitmap-line-anim-2.sym @@ -140,9 +140,9 @@ (byte) bitmap_plot::y#2 reg byte x 2.0 (byte) bitmap_plot::y#3 reg byte x 101.0 (byte) bitmap_plot::y#4 reg byte x 208.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (void()) main() (label) main::@1 diff --git a/src/test/ref/bitmap-plot-0.log b/src/test/ref/bitmap-plot-0.log index d60ba4494..9a2f5dc4d 100644 --- a/src/test/ref/bitmap-plot-0.log +++ b/src/test/ref/bitmap-plot-0.log @@ -583,9 +583,9 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y (byte) bitmap_plot::y#0 (byte) bitmap_plot::y#1 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (byte*) bitmap_screen#0 (byte*) bitmap_screen#1 @@ -783,7 +783,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq() (void*) memset::str#4 (void*) memset::str#5 (void*) memset::str#6 -(const byte*) plots_per_frame = { fill( $100, 0) } +(const byte*) plots_per_frame[(number) $100] = { fill( $100, 0) } Fixing inline constructor with bitmap_plot::$3 ← (byte)*(bitmap_plot_yhi + bitmap_plot::y#1) w= (byte)*(bitmap_plot_ylo + bitmap_plot::y#1) Successful SSA optimization Pass2FixInlineConstructors @@ -3168,9 +3168,9 @@ FINAL SYMBOL TABLE (word) bitmap_plot::x#0 x zp[2]:3 3.0 (byte) bitmap_plot::y (byte) bitmap_plot::y#0 reg byte x 15.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (byte) frame_cnt (byte) frame_cnt#0 frame_cnt zp[1]:7 1.1111111111111112 @@ -3232,7 +3232,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq() (void*) memset::return (void*) memset::str (void*) memset::str#3 str zp[2]:5 -(const byte*) plots_per_frame = { fill( $100, 0) } +(const byte*) plots_per_frame[(number) $100] = { fill( $100, 0) } zp[1]:2 [ main::vy#2 main::vy#8 main::vy#1 ] zp[2]:3 [ memset::num#2 memset::end#0 main::x#2 main::x#1 bitmap_plot::x#0 ] diff --git a/src/test/ref/bitmap-plot-0.sym b/src/test/ref/bitmap-plot-0.sym index 11beeb404..268efe95b 100644 --- a/src/test/ref/bitmap-plot-0.sym +++ b/src/test/ref/bitmap-plot-0.sym @@ -71,9 +71,9 @@ (word) bitmap_plot::x#0 x zp[2]:3 3.0 (byte) bitmap_plot::y (byte) bitmap_plot::y#0 reg byte x 15.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (byte) frame_cnt (byte) frame_cnt#0 frame_cnt zp[1]:7 1.1111111111111112 @@ -135,7 +135,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq() (void*) memset::return (void*) memset::str (void*) memset::str#3 str zp[2]:5 -(const byte*) plots_per_frame = { fill( $100, 0) } +(const byte*) plots_per_frame[(number) $100] = { fill( $100, 0) } zp[1]:2 [ main::vy#2 main::vy#8 main::vy#1 ] zp[2]:3 [ memset::num#2 memset::end#0 main::x#2 main::x#1 bitmap_plot::x#0 ] diff --git a/src/test/ref/bitmap-plot-1.log b/src/test/ref/bitmap-plot-1.log index 1fd5d53b3..2ab31e8fc 100644 --- a/src/test/ref/bitmap-plot-1.log +++ b/src/test/ref/bitmap-plot-1.log @@ -1034,7 +1034,7 @@ SYMBOL TABLE SSA (const byte) PROCPORT_RAM_IO = (number) 5 (const byte*) RASTER = (byte*)(number) $d012 (const byte*) SCREEN = (byte*)(number) $400 -(const signed word*) SINUS = { fill( $200, 0) } +(const signed word*) SINUS[(number) $200] = { fill( $200, 0) } (const byte) SIZEOF_SIGNED_WORD = (byte) 2 (const byte) VIC_BMM = (number) $20 (const byte*) VIC_CONTROL = (byte*)(number) $d011 @@ -1162,9 +1162,9 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y (byte) bitmap_plot::y#0 (byte) bitmap_plot::y#1 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (byte*) bitmap_screen#0 (byte*) bitmap_screen#1 @@ -1632,7 +1632,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq() (word) mulu16_sel::v2#3 (word) mulu16_sel::v2#4 (word) mulu16_sel::v2#5 -(const byte*) plots_per_frame = { fill( $100, 0) } +(const byte*) plots_per_frame[(number) $100] = { fill( $100, 0) } (word) rem16u (word) rem16u#0 (word) rem16u#1 @@ -8090,7 +8090,7 @@ FINAL SYMBOL TABLE (const byte) PROCPORT_RAM_IO = (number) 5 (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const signed word*) SINUS = { fill( $200, 0) } +(const signed word*) SINUS[(number) $200] = { fill( $200, 0) } (const byte) SIZEOF_SIGNED_WORD = (byte) 2 (const byte) VIC_BMM = (number) $20 (const byte*) VIC_CONTROL = (byte*) 53265 @@ -8144,9 +8144,9 @@ FINAL SYMBOL TABLE (word) bitmap_plot::x#0 x zp[2]:28 3.75 (byte) bitmap_plot::y (byte) bitmap_plot::y#0 reg byte x 7.5 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@1 @@ -8355,7 +8355,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq() (word) mulu16_sel::v2#3 v2 zp[2]:2 4.0 (word) mulu16_sel::v2#4 v2 zp[2]:2 4.0 (word) mulu16_sel::v2#5 v2 zp[2]:2 5.0 -(const byte*) plots_per_frame = { fill( $100, 0) } +(const byte*) plots_per_frame[(number) $100] = { fill( $100, 0) } (word) rem16u (word) rem16u#1 rem16u zp[2]:12 0.8 (signed word()) sin16s((dword) sin16s::x) diff --git a/src/test/ref/bitmap-plot-1.sym b/src/test/ref/bitmap-plot-1.sym index 7bf993505..24e2414c5 100644 --- a/src/test/ref/bitmap-plot-1.sym +++ b/src/test/ref/bitmap-plot-1.sym @@ -22,7 +22,7 @@ (const byte) PROCPORT_RAM_IO = (number) 5 (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const signed word*) SINUS = { fill( $200, 0) } +(const signed word*) SINUS[(number) $200] = { fill( $200, 0) } (const byte) SIZEOF_SIGNED_WORD = (byte) 2 (const byte) VIC_BMM = (number) $20 (const byte*) VIC_CONTROL = (byte*) 53265 @@ -76,9 +76,9 @@ (word) bitmap_plot::x#0 x zp[2]:28 3.75 (byte) bitmap_plot::y (byte) bitmap_plot::y#0 reg byte x 7.5 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@1 @@ -287,7 +287,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq() (word) mulu16_sel::v2#3 v2 zp[2]:2 4.0 (word) mulu16_sel::v2#4 v2 zp[2]:2 4.0 (word) mulu16_sel::v2#5 v2 zp[2]:2 5.0 -(const byte*) plots_per_frame = { fill( $100, 0) } +(const byte*) plots_per_frame[(number) $100] = { fill( $100, 0) } (word) rem16u (word) rem16u#1 rem16u zp[2]:12 0.8 (signed word()) sin16s((dword) sin16s::x) diff --git a/src/test/ref/bitmap-plot-2.log b/src/test/ref/bitmap-plot-2.log index 628ee95f9..ef17d8950 100644 --- a/src/test/ref/bitmap-plot-2.log +++ b/src/test/ref/bitmap-plot-2.log @@ -1107,7 +1107,7 @@ SYMBOL TABLE SSA (const byte) PROCPORT_RAM_IO = (number) 5 (const byte*) RASTER = (byte*)(number) $d012 (const byte*) SCREEN = (byte*)(number) $400 -(const signed word*) SINUS = { fill( $200, 0) } +(const signed word*) SINUS[(number) $200] = { fill( $200, 0) } (const byte) SIZEOF_SIGNED_WORD = (byte) 2 (const byte) VIC_BMM = (number) $20 (const byte*) VIC_CONTROL = (byte*)(number) $d011 @@ -1239,9 +1239,9 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y (byte) bitmap_plot::y#0 (byte) bitmap_plot::y#1 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (byte*) bitmap_screen#0 (byte*) bitmap_screen#1 @@ -1759,7 +1759,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq() (word) mulu16_sel::v2#3 (word) mulu16_sel::v2#4 (word) mulu16_sel::v2#5 -(const byte*) plots_per_frame = { fill( $100, 0) } +(const byte*) plots_per_frame[(number) $100] = { fill( $100, 0) } (word) rem16u (word) rem16u#0 (word) rem16u#1 @@ -8479,7 +8479,7 @@ FINAL SYMBOL TABLE (const byte) PROCPORT_RAM_IO = (number) 5 (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const signed word*) SINUS = { fill( $200, 0) } +(const signed word*) SINUS[(number) $200] = { fill( $200, 0) } (const byte) SIZEOF_SIGNED_WORD = (byte) 2 (const byte) VIC_BMM = (number) $20 (const byte*) VIC_CONTROL = (byte*) 53265 @@ -8533,9 +8533,9 @@ FINAL SYMBOL TABLE (word) bitmap_plot::x#0 x zp[2]:28 3.75 (byte) bitmap_plot::y (byte) bitmap_plot::y#0 reg byte x 7.5 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@1 @@ -8757,7 +8757,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq() (word) mulu16_sel::v2#3 v2 zp[2]:2 4.0 (word) mulu16_sel::v2#4 v2 zp[2]:2 4.0 (word) mulu16_sel::v2#5 v2 zp[2]:2 5.0 -(const byte*) plots_per_frame = { fill( $100, 0) } +(const byte*) plots_per_frame[(number) $100] = { fill( $100, 0) } (word) rem16u (word) rem16u#1 rem16u zp[2]:21 0.8 (signed word()) sin16s((dword) sin16s::x) diff --git a/src/test/ref/bitmap-plot-2.sym b/src/test/ref/bitmap-plot-2.sym index b8ceee387..b61f45bac 100644 --- a/src/test/ref/bitmap-plot-2.sym +++ b/src/test/ref/bitmap-plot-2.sym @@ -23,7 +23,7 @@ (const byte) PROCPORT_RAM_IO = (number) 5 (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const signed word*) SINUS = { fill( $200, 0) } +(const signed word*) SINUS[(number) $200] = { fill( $200, 0) } (const byte) SIZEOF_SIGNED_WORD = (byte) 2 (const byte) VIC_BMM = (number) $20 (const byte*) VIC_CONTROL = (byte*) 53265 @@ -77,9 +77,9 @@ (word) bitmap_plot::x#0 x zp[2]:28 3.75 (byte) bitmap_plot::y (byte) bitmap_plot::y#0 reg byte x 7.5 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@1 @@ -301,7 +301,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq() (word) mulu16_sel::v2#3 v2 zp[2]:2 4.0 (word) mulu16_sel::v2#4 v2 zp[2]:2 4.0 (word) mulu16_sel::v2#5 v2 zp[2]:2 5.0 -(const byte*) plots_per_frame = { fill( $100, 0) } +(const byte*) plots_per_frame[(number) $100] = { fill( $100, 0) } (word) rem16u (word) rem16u#1 rem16u zp[2]:21 0.8 (signed word()) sin16s((dword) sin16s::x) diff --git a/src/test/ref/bitmap-plot-3.log b/src/test/ref/bitmap-plot-3.log index bd45a1dcc..afd0213cc 100644 --- a/src/test/ref/bitmap-plot-3.log +++ b/src/test/ref/bitmap-plot-3.log @@ -693,7 +693,7 @@ SYMBOL TABLE SSA (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) SINTAB = kickasm {{ .fill $180, 99.5+99.5*sin(i*2*PI/256) }} +(const byte*) SINTAB[(number) $180] = kickasm {{ .fill $180, 99.5+99.5*sin(i*2*PI/256) }} (const byte) VIC_BMM = (number) $20 (const byte) VIC_DEN = (number) $10 (const byte) VIC_RSEL = (number) 8 @@ -1040,9 +1040,9 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y#2 (byte) bitmap_plot::y#3 (byte) bitmap_plot::y#4 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (byte*) bitmap_screen#0 (byte*) bitmap_screen#1 @@ -4644,7 +4644,7 @@ FINAL SYMBOL TABLE (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) SCREEN = (byte*) 1024 -(const byte*) SINTAB = kickasm {{ .fill $180, 99.5+99.5*sin(i*2*PI/256) }} +(const byte*) SINTAB[(number) $180] = kickasm {{ .fill $180, 99.5+99.5*sin(i*2*PI/256) }} (const byte) VIC_BMM = (number) $20 (const byte) VIC_DEN = (number) $10 (const byte) VIC_RSEL = (number) 8 @@ -4780,9 +4780,9 @@ FINAL SYMBOL TABLE (byte) bitmap_plot::y#2 reg byte x 2.0 (byte) bitmap_plot::y#3 reg byte x 101.0 (byte) bitmap_plot::y#4 reg byte x 210.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (void()) main() (word~) main::$4 zp[2]:11 22.0 diff --git a/src/test/ref/bitmap-plot-3.sym b/src/test/ref/bitmap-plot-3.sym index 2ba5c67bf..a938dece9 100644 --- a/src/test/ref/bitmap-plot-3.sym +++ b/src/test/ref/bitmap-plot-3.sym @@ -10,7 +10,7 @@ (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) SCREEN = (byte*) 1024 -(const byte*) SINTAB = kickasm {{ .fill $180, 99.5+99.5*sin(i*2*PI/256) }} +(const byte*) SINTAB[(number) $180] = kickasm {{ .fill $180, 99.5+99.5*sin(i*2*PI/256) }} (const byte) VIC_BMM = (number) $20 (const byte) VIC_DEN = (number) $10 (const byte) VIC_RSEL = (number) 8 @@ -146,9 +146,9 @@ (byte) bitmap_plot::y#2 reg byte x 2.0 (byte) bitmap_plot::y#3 reg byte x 101.0 (byte) bitmap_plot::y#4 reg byte x 210.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (void()) main() (word~) main::$4 zp[2]:11 22.0 diff --git a/src/test/ref/bitmap-plotter.log b/src/test/ref/bitmap-plotter.log index ecc447367..5caa9a32e 100644 --- a/src/test/ref/bitmap-plotter.log +++ b/src/test/ref/bitmap-plotter.log @@ -342,11 +342,11 @@ SYMBOL TABLE SSA (byte) plot::y (byte) plot::y#0 (byte) plot::y#1 -(const byte*) plot_bit = { fill( $100, 0) } -(const byte*) plot_xhi = { fill( $100, 0) } -(const byte*) plot_xlo = { fill( $100, 0) } -(const byte*) plot_yhi = { fill( $100, 0) } -(const byte*) plot_ylo = { fill( $100, 0) } +(const byte*) plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) plot_ylo[(number) $100] = { fill( $100, 0) } (void()) plots() (bool~) plots::$0 (label) plots::@1 @@ -360,8 +360,8 @@ SYMBOL TABLE SSA (byte) plots::i#3 (byte) plots::i#4 (const byte) plots_cnt = (byte) 8 -(const byte*) plots_x = { (byte)(number) $3c, (byte)(number) $50, (byte)(number) $6e, (byte)(number) $50, (byte)(number) $3c, (byte)(number) $28, (byte)(number) $a, (byte)(number) $28 } -(const byte*) plots_y = { (byte)(number) $a, (byte)(number) $28, (byte)(number) $3c, (byte)(number) $50, (byte)(number) $6e, (byte)(number) $50, (byte)(number) $3c, (byte)(number) $28 } +(const byte*) plots_x[] = { (byte)(number) $3c, (byte)(number) $50, (byte)(number) $6e, (byte)(number) $50, (byte)(number) $3c, (byte)(number) $28, (byte)(number) $a, (byte)(number) $28 } +(const byte*) plots_y[] = { (byte)(number) $a, (byte)(number) $28, (byte)(number) $3c, (byte)(number) $50, (byte)(number) $6e, (byte)(number) $50, (byte)(number) $3c, (byte)(number) $28 } Adding number conversion cast (unumber) 0 in *((const byte*) BGCOL) ← (number) 0 Adding number conversion cast (unumber) 0 in *((const byte*) FGCOL) ← (number) 0 @@ -2003,11 +2003,11 @@ FINAL SYMBOL TABLE (byte) plot::x#0 x zp[1]:7 9.727272727272727 (byte) plot::y (byte) plot::y#0 y zp[1]:2 15.000000000000002 -(const byte*) plot_bit = { fill( $100, 0) } -(const byte*) plot_xhi = { fill( $100, 0) } -(const byte*) plot_xlo = { fill( $100, 0) } -(const byte*) plot_yhi = { fill( $100, 0) } -(const byte*) plot_ylo = { fill( $100, 0) } +(const byte*) plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) plot_ylo[(number) $100] = { fill( $100, 0) } (void()) plots() (label) plots::@1 (label) plots::@2 @@ -2017,8 +2017,8 @@ FINAL SYMBOL TABLE (byte) plots::i#1 reg byte x 202.0 (byte) plots::i#2 reg byte x 101.0 (const byte) plots_cnt = (byte) 8 -(const byte*) plots_x = { (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a, (byte) $28 } -(const byte*) plots_y = { (byte) $a, (byte) $28, (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28 } +(const byte*) plots_x[] = { (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a, (byte) $28 } +(const byte*) plots_y[] = { (byte) $a, (byte) $28, (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28 } reg byte x [ plots::i#2 plots::i#1 ] reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ] diff --git a/src/test/ref/bitmap-plotter.sym b/src/test/ref/bitmap-plotter.sym index fa9b70def..48f8672d7 100644 --- a/src/test/ref/bitmap-plotter.sym +++ b/src/test/ref/bitmap-plotter.sym @@ -74,11 +74,11 @@ (byte) plot::x#0 x zp[1]:7 9.727272727272727 (byte) plot::y (byte) plot::y#0 y zp[1]:2 15.000000000000002 -(const byte*) plot_bit = { fill( $100, 0) } -(const byte*) plot_xhi = { fill( $100, 0) } -(const byte*) plot_xlo = { fill( $100, 0) } -(const byte*) plot_yhi = { fill( $100, 0) } -(const byte*) plot_ylo = { fill( $100, 0) } +(const byte*) plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) plot_ylo[(number) $100] = { fill( $100, 0) } (void()) plots() (label) plots::@1 (label) plots::@2 @@ -88,8 +88,8 @@ (byte) plots::i#1 reg byte x 202.0 (byte) plots::i#2 reg byte x 101.0 (const byte) plots_cnt = (byte) 8 -(const byte*) plots_x = { (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a, (byte) $28 } -(const byte*) plots_y = { (byte) $a, (byte) $28, (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28 } +(const byte*) plots_x[] = { (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a, (byte) $28 } +(const byte*) plots_y[] = { (byte) $a, (byte) $28, (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28 } reg byte x [ plots::i#2 plots::i#1 ] reg byte x [ init_plot_tables::x#2 init_plot_tables::x#1 ] diff --git a/src/test/ref/bresenham.log b/src/test/ref/bresenham.log index 9ec18f163..ef857f504 100644 --- a/src/test/ref/bresenham.log +++ b/src/test/ref/bresenham.log @@ -82,7 +82,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) SCREEN = (byte*)(number) $400 +(const byte*) SCREEN[(number) $28*(number) $19] = (byte*)(number) $400 (const byte) STAR = (byte) $51 (void()) main() (byte~) main::$0 @@ -660,7 +660,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) SCREEN = (byte*) 1024 +(const byte*) SCREEN[(number) $28*(number) $19] = (byte*) 1024 (const byte) STAR = (byte) $51 (void()) main() (label) main::@1 diff --git a/src/test/ref/bresenham.sym b/src/test/ref/bresenham.sym index 9f525be86..ca944f9be 100644 --- a/src/test/ref/bresenham.sym +++ b/src/test/ref/bresenham.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) SCREEN = (byte*) 1024 +(const byte*) SCREEN[(number) $28*(number) $19] = (byte*) 1024 (const byte) STAR = (byte) $51 (void()) main() (label) main::@1 diff --git a/src/test/ref/bresenhamarr.log b/src/test/ref/bresenhamarr.log index 84f6546e1..da8f6fdb5 100644 --- a/src/test/ref/bresenhamarr.log +++ b/src/test/ref/bresenhamarr.log @@ -116,7 +116,7 @@ SYMBOL TABLE SSA (word) main::idx#3 (word) main::idx#4 (word) main::idx#5 -(const byte*) main::screen = (byte*)(number) $400 +(const byte*) main::screen[(number) $28*(number) $19] = (byte*)(number) $400 (byte) main::x (byte) main::x#0 (byte) main::x#1 @@ -710,7 +710,7 @@ FINAL SYMBOL TABLE (word) main::idx#2 idx zp[2]:2 11.0 (word) main::idx#3 idx zp[2]:2 8.25 (word) main::idx#5 idx zp[2]:2 16.5 -(const byte*) main::screen = (byte*) 1024 +(const byte*) main::screen[(number) $28*(number) $19] = (byte*) 1024 (byte) main::x (byte) main::x#1 x zp[1]:4 3.666666666666667 (byte) main::x#2 x zp[1]:4 7.333333333333333 diff --git a/src/test/ref/bresenhamarr.sym b/src/test/ref/bresenhamarr.sym index 25350859a..3f636670e 100644 --- a/src/test/ref/bresenhamarr.sym +++ b/src/test/ref/bresenhamarr.sym @@ -18,7 +18,7 @@ (word) main::idx#2 idx zp[2]:2 11.0 (word) main::idx#3 idx zp[2]:2 8.25 (word) main::idx#5 idx zp[2]:2 16.5 -(const byte*) main::screen = (byte*) 1024 +(const byte*) main::screen[(number) $28*(number) $19] = (byte*) 1024 (byte) main::x (byte) main::x#1 x zp[1]:4 3.666666666666667 (byte) main::x#2 x zp[1]:4 7.333333333333333 diff --git a/src/test/ref/c-types.log b/src/test/ref/c-types.log index 088c0deb2..d09e18212 100644 --- a/src/test/ref/c-types.log +++ b/src/test/ref/c-types.log @@ -1011,7 +1011,7 @@ SYMBOL TABLE SSA (dword) print_dword::dw#1 (dword) print_dword::dw#2 (dword) print_dword::dw#3 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -1198,7 +1198,7 @@ SYMBOL TABLE SSA (label) testChar::@return (const byte) testChar::n = (byte) $e (const signed byte) testChar::s = (signed byte) -$e -(const string) testChar::str = (string) "char: " +(const string) testChar::str[] = (string) "char: " (const byte) testChar::u = (byte) $e (void()) testInt() (label) testInt::@1 @@ -1211,7 +1211,7 @@ SYMBOL TABLE SSA (label) testInt::@return (const signed word) testInt::n = (signed word) -$578 (const signed word) testInt::s = (signed word) -$578 -(const string) testInt::str = (string) "int: " +(const string) testInt::str[] = (string) "int: " (const word) testInt::u = (word) $578 (void()) testLong() (label) testLong::@1 @@ -1224,7 +1224,7 @@ SYMBOL TABLE SSA (label) testLong::@return (const signed dword) testLong::n = (signed dword) -$222e0 (const signed dword) testLong::s = (signed dword) -$222e0 -(const string) testLong::str = (string) "long: " +(const string) testLong::str[] = (string) "long: " (const dword) testLong::u = (dword) $222e0 (void()) testShort() (label) testShort::@1 @@ -1237,7 +1237,7 @@ SYMBOL TABLE SSA (label) testShort::@return (const signed word) testShort::n = (signed word) -$578 (const signed word) testShort::s = (signed word) -$578 -(const string) testShort::str = (string) "short: " +(const string) testShort::str[] = (string) "short: " (const word) testShort::u = (word) $578 Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0 @@ -4541,7 +4541,7 @@ FINAL SYMBOL TABLE (dword) print_dword::dw (dword) print_dword::dw#0 dw zp[4]:2 4.0 (dword) print_dword::dw#2 dw zp[4]:2 2.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:10 0.8333333333333333 (byte*) print_line_cursor#20 print_line_cursor zp[2]:10 24.0 @@ -4602,7 +4602,7 @@ FINAL SYMBOL TABLE (label) testChar::@return (const byte) testChar::n = (byte) $e (const signed byte) testChar::s = (signed byte) -$e -(const string) testChar::str = (string) "char: " +(const string) testChar::str[] = (string) "char: " (const byte) testChar::u = (byte) $e (void()) testInt() (label) testInt::@1 @@ -4614,7 +4614,7 @@ FINAL SYMBOL TABLE (label) testInt::@return (const signed word) testInt::n = (signed word) -$578 (const signed word) testInt::s = (signed word) -$578 -(const string) testInt::str = (string) "int: " +(const string) testInt::str[] = (string) "int: " (const word) testInt::u = (word) $578 (void()) testLong() (label) testLong::@1 @@ -4626,7 +4626,7 @@ FINAL SYMBOL TABLE (label) testLong::@return (const signed dword) testLong::n = (signed dword) -$222e0 (const signed dword) testLong::s = (signed dword) -$222e0 -(const string) testLong::str = (string) "long: " +(const string) testLong::str[] = (string) "long: " (const dword) testLong::u = (dword) $222e0 (void()) testShort() (label) testShort::@1 @@ -4638,7 +4638,7 @@ FINAL SYMBOL TABLE (label) testShort::@return (const signed word) testShort::n = (signed word) -$578 (const signed word) testShort::s = (signed word) -$578 -(const string) testShort::str = (string) "short: " +(const string) testShort::str[] = (string) "short: " (const word) testShort::u = (word) $578 zp[4]:2 [ print_sdword::dw#5 print_sdword::dw#0 print_sdword::dw#3 print_dword::dw#2 print_dword::dw#0 ] diff --git a/src/test/ref/c-types.sym b/src/test/ref/c-types.sym index 650d5e48b..435770792 100644 --- a/src/test/ref/c-types.sym +++ b/src/test/ref/c-types.sym @@ -62,7 +62,7 @@ (dword) print_dword::dw (dword) print_dword::dw#0 dw zp[4]:2 4.0 (dword) print_dword::dw#2 dw zp[4]:2 2.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:10 0.8333333333333333 (byte*) print_line_cursor#20 print_line_cursor zp[2]:10 24.0 @@ -123,7 +123,7 @@ (label) testChar::@return (const byte) testChar::n = (byte) $e (const signed byte) testChar::s = (signed byte) -$e -(const string) testChar::str = (string) "char: " +(const string) testChar::str[] = (string) "char: " (const byte) testChar::u = (byte) $e (void()) testInt() (label) testInt::@1 @@ -135,7 +135,7 @@ (label) testInt::@return (const signed word) testInt::n = (signed word) -$578 (const signed word) testInt::s = (signed word) -$578 -(const string) testInt::str = (string) "int: " +(const string) testInt::str[] = (string) "int: " (const word) testInt::u = (word) $578 (void()) testLong() (label) testLong::@1 @@ -147,7 +147,7 @@ (label) testLong::@return (const signed dword) testLong::n = (signed dword) -$222e0 (const signed dword) testLong::s = (signed dword) -$222e0 -(const string) testLong::str = (string) "long: " +(const string) testLong::str[] = (string) "long: " (const dword) testLong::u = (dword) $222e0 (void()) testShort() (label) testShort::@1 @@ -159,7 +159,7 @@ (label) testShort::@return (const signed word) testShort::n = (signed word) -$578 (const signed word) testShort::s = (signed word) -$578 -(const string) testShort::str = (string) "short: " +(const string) testShort::str[] = (string) "short: " (const word) testShort::u = (word) $578 zp[4]:2 [ print_sdword::dw#5 print_sdword::dw#0 print_sdword::dw#3 print_dword::dw#2 print_dword::dw#0 ] diff --git a/src/test/ref/c64dtv-blitter-box.log b/src/test/ref/c64dtv-blitter-box.log index 28a9b451a..cbde27f45 100644 --- a/src/test/ref/c64dtv-blitter-box.log +++ b/src/test/ref/c64dtv-blitter-box.log @@ -109,8 +109,8 @@ SYMBOL TABLE SSA (const byte*) DTV_FEATURE = (byte*)(number) $d03f (const byte) DTV_FEATURE_ENABLE = (number) 1 (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) SRCA = (string) "camelot rules!" -(const byte*) SRCB = { (byte)(number) $80 } +(const byte*) SRCA[] = (string) "camelot rules!" +(const byte*) SRCB[] = { (byte)(number) $80 } (void()) main() (byte~) main::$0 (bool~) main::$1 @@ -861,8 +861,8 @@ FINAL SYMBOL TABLE (const byte*) DTV_FEATURE = (byte*) 53311 (const byte) DTV_FEATURE_ENABLE = (number) 1 (const byte*) SCREEN = (byte*) 1024 -(const byte*) SRCA = (string) "camelot rules!" -(const byte*) SRCB = { (byte) $80 } +(const byte*) SRCA[] = (string) "camelot rules!" +(const byte*) SRCB[] = { (byte) $80 } (void()) main() (byte~) main::$0 reg byte a 22.0 (label) main::@1 diff --git a/src/test/ref/c64dtv-blitter-box.sym b/src/test/ref/c64dtv-blitter-box.sym index 28d3cf594..bb708cb2b 100644 --- a/src/test/ref/c64dtv-blitter-box.sym +++ b/src/test/ref/c64dtv-blitter-box.sym @@ -43,8 +43,8 @@ (const byte*) DTV_FEATURE = (byte*) 53311 (const byte) DTV_FEATURE_ENABLE = (number) 1 (const byte*) SCREEN = (byte*) 1024 -(const byte*) SRCA = (string) "camelot rules!" -(const byte*) SRCB = { (byte) $80 } +(const byte*) SRCA[] = (string) "camelot rules!" +(const byte*) SRCB[] = { (byte) $80 } (void()) main() (byte~) main::$0 reg byte a 22.0 (label) main::@1 diff --git a/src/test/ref/c64dtv-blittermin.log b/src/test/ref/c64dtv-blittermin.log index 0084a82d1..f711b2e39 100644 --- a/src/test/ref/c64dtv-blittermin.log +++ b/src/test/ref/c64dtv-blittermin.log @@ -119,9 +119,9 @@ SYMBOL TABLE SSA (const byte*) DTV_FEATURE = (byte*)(number) $d03f (const byte) DTV_FEATURE_ENABLE = (number) 1 (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) SRCA = { (byte) 'c', (byte) 'a', (byte) 'm', (byte) 'e', (byte) 'l', (byte) 'o', (byte) 't', (byte) '!', (byte) ' ' } +(const byte*) SRCA[] = { (byte) 'c', (byte) 'a', (byte) 'm', (byte) 'e', (byte) 'l', (byte) 'o', (byte) 't', (byte) '!', (byte) ' ' } (const byte) SRCA_LEN = (number) 9 -(const byte*) SRCB = { (byte)(number) $80 } +(const byte*) SRCB[] = { (byte)(number) $80 } (void()) main() (byte~) main::$0 (bool~) main::$1 @@ -995,9 +995,9 @@ FINAL SYMBOL TABLE (const byte*) DTV_FEATURE = (byte*) 53311 (const byte) DTV_FEATURE_ENABLE = (number) 1 (const byte*) SCREEN = (byte*) 1024 -(const byte*) SRCA = { (byte) 'c', (byte) 'a', (byte) 'm', (byte) 'e', (byte) 'l', (byte) 'o', (byte) 't', (byte) '!', (byte) ' ' } +(const byte*) SRCA[] = { (byte) 'c', (byte) 'a', (byte) 'm', (byte) 'e', (byte) 'l', (byte) 'o', (byte) 't', (byte) '!', (byte) ' ' } (const byte) SRCA_LEN = (number) 9 -(const byte*) SRCB = { (byte) $80 } +(const byte*) SRCB[] = { (byte) $80 } (void()) main() (byte~) main::$0 reg byte a 202.0 (label) main::@1 diff --git a/src/test/ref/c64dtv-blittermin.sym b/src/test/ref/c64dtv-blittermin.sym index 4baca773b..c8f081979 100644 --- a/src/test/ref/c64dtv-blittermin.sym +++ b/src/test/ref/c64dtv-blittermin.sym @@ -43,9 +43,9 @@ (const byte*) DTV_FEATURE = (byte*) 53311 (const byte) DTV_FEATURE_ENABLE = (number) 1 (const byte*) SCREEN = (byte*) 1024 -(const byte*) SRCA = { (byte) 'c', (byte) 'a', (byte) 'm', (byte) 'e', (byte) 'l', (byte) 'o', (byte) 't', (byte) '!', (byte) ' ' } +(const byte*) SRCA[] = { (byte) 'c', (byte) 'a', (byte) 'm', (byte) 'e', (byte) 'l', (byte) 'o', (byte) 't', (byte) '!', (byte) ' ' } (const byte) SRCA_LEN = (number) 9 -(const byte*) SRCB = { (byte) $80 } +(const byte*) SRCB[] = { (byte) $80 } (void()) main() (byte~) main::$0 reg byte a 202.0 (label) main::@1 diff --git a/src/test/ref/c64dtv-color.log b/src/test/ref/c64dtv-color.log index c8849d402..f38690f5b 100644 --- a/src/test/ref/c64dtv-color.log +++ b/src/test/ref/c64dtv-color.log @@ -96,7 +96,7 @@ SYMBOL TABLE SSA (byte) main::c#0 (byte) main::c#1 (byte) main::c#2 -(const byte*) main::palette = { (byte)(number) 0, (byte)(number) 1, (byte)(number) 2, (byte)(number) 3, (byte)(number) 4, (byte)(number) 5, (byte)(number) 6, (byte)(number) 7, (byte)(number) 8, (byte)(number) 9, (byte)(number) $a, (byte)(number) $b, (byte)(number) $c, (byte)(number) $d, (byte)(number) $e, (byte)(number) $f } +(const byte*) main::palette[(number) $10] = { (byte)(number) 0, (byte)(number) 1, (byte)(number) 2, (byte)(number) 3, (byte)(number) 4, (byte)(number) 5, (byte)(number) 6, (byte)(number) 7, (byte)(number) 8, (byte)(number) 9, (byte)(number) $a, (byte)(number) $b, (byte)(number) $c, (byte)(number) $d, (byte)(number) $e, (byte)(number) $f } (byte) main::r (byte) main::r#0 (byte) main::r#1 @@ -590,7 +590,7 @@ FINAL SYMBOL TABLE (byte) main::c (byte) main::c#1 reg byte x 151.5 (byte) main::c#2 reg byte x 201.99999999999997 -(const byte*) main::palette = { (byte) 0, (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 6, (byte) 7, (byte) 8, (byte) 9, (byte) $a, (byte) $b, (byte) $c, (byte) $d, (byte) $e, (byte) $f } +(const byte*) main::palette[(number) $10] = { (byte) 0, (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 6, (byte) 7, (byte) 8, (byte) 9, (byte) $a, (byte) $b, (byte) $c, (byte) $d, (byte) $e, (byte) $f } (byte) main::r (byte) main::r#1 reg byte x 151.5 (byte) main::r#2 reg byte x 67.33333333333333 diff --git a/src/test/ref/c64dtv-color.sym b/src/test/ref/c64dtv-color.sym index f13bbda3b..0a96d60ed 100644 --- a/src/test/ref/c64dtv-color.sym +++ b/src/test/ref/c64dtv-color.sym @@ -18,7 +18,7 @@ (byte) main::c (byte) main::c#1 reg byte x 151.5 (byte) main::c#2 reg byte x 201.99999999999997 -(const byte*) main::palette = { (byte) 0, (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 6, (byte) 7, (byte) 8, (byte) 9, (byte) $a, (byte) $b, (byte) $c, (byte) $d, (byte) $e, (byte) $f } +(const byte*) main::palette[(number) $10] = { (byte) 0, (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 6, (byte) 7, (byte) 8, (byte) 9, (byte) $a, (byte) $b, (byte) $c, (byte) $d, (byte) $e, (byte) $f } (byte) main::r (byte) main::r#1 reg byte x 151.5 (byte) main::r#2 reg byte x 67.33333333333333 diff --git a/src/test/ref/c64dtv-gfxexplorer.log b/src/test/ref/c64dtv-gfxexplorer.log index b42639020..1901d873e 100644 --- a/src/test/ref/c64dtv-gfxexplorer.log +++ b/src/test/ref/c64dtv-gfxexplorer.log @@ -3641,7 +3641,7 @@ SYMBOL TABLE SSA (const byte) DTV_LINEAR = (number) 1 (const byte) DTV_OVERSCAN = (number) 8 (const byte*) DTV_PALETTE = (byte*)(number) $d200 -(const byte*) DTV_PALETTE_DEFAULT = { (byte)(number) 0, (byte)(number) $f, (byte)(number) $36, (byte)(number) $be, (byte)(number) $58, (byte)(number) $db, (byte)(number) $86, (byte)(number) $ff, (byte)(number) $29, (byte)(number) $26, (byte)(number) $3b, (byte)(number) 5, (byte)(number) 7, (byte)(number) $df, (byte)(number) $9a, (byte)(number) $a } +(const byte*) DTV_PALETTE_DEFAULT[(number) $10] = { (byte)(number) 0, (byte)(number) $f, (byte)(number) $36, (byte)(number) $be, (byte)(number) $58, (byte)(number) $db, (byte)(number) $86, (byte)(number) $ff, (byte)(number) $29, (byte)(number) $26, (byte)(number) $3b, (byte)(number) 5, (byte)(number) 7, (byte)(number) $df, (byte)(number) $9a, (byte)(number) $a } (const byte*) DTV_PLANEA_MODULO_HI = (byte*)(number) $d039 (const byte*) DTV_PLANEA_MODULO_LO = (byte*)(number) $d038 (const byte*) DTV_PLANEA_START_HI = (byte*)(number) $d045 @@ -3655,10 +3655,10 @@ SYMBOL TABLE SSA (const byte*) DTV_PLANEB_START_MI = (byte*)(number) $d04a (const byte*) DTV_PLANEB_STEP = (byte*)(number) $d04c (const byte*) FORM_CHARSET = (byte*)(number) $1800 -(const byte*) FORM_COLS = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @" +(const byte*) FORM_COLS[] = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @" (const signed byte) FORM_CURSOR_BLINK = (number) $28 (const byte*) FORM_SCREEN = (byte*)(number) $400 -(const byte*) FORM_TEXT = (string) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @" +(const byte*) FORM_TEXT[] = (string) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @" (const byte) KEY_COMMODORE = (number) $3d (const byte) KEY_CRSR_DOWN = (number) 7 (const byte) KEY_CRSR_RIGHT = (number) 2 @@ -4259,11 +4259,11 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y#2 (byte) bitmap_plot::y#3 (byte) bitmap_plot::y#4 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) (label) dtvSetCpuBankSegment1::@return (const byte*) dtvSetCpuBankSegment1::cpuBank = (byte*)(number) $ff @@ -4544,12 +4544,12 @@ SYMBOL TABLE SSA (byte) form_field_ptr::y (byte) form_field_ptr::y#0 (const byte) form_fields_cnt = (byte) $24 -(const byte*) form_fields_max = { (byte)(number) $a, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) $d, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $d, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) 3, (byte)(number) 1, (byte)(number) 4, (byte)(number) 1, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f } -(const byte*) form_fields_val = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) form_fields_x = { (byte)(number) 8, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $25, (byte)(number) $25, (byte)(number) $25, (byte)(number) $25, (byte)(number) $24, (byte)(number) $25, (byte)(number) $24, (byte)(number) $25, (byte)(number) $24, (byte)(number) $25, (byte)(number) $24, (byte)(number) $25 } -(const byte*) form_fields_y = { (byte)(number) 2, (byte)(number) 5, (byte)(number) 6, (byte)(number) 7, (byte)(number) 8, (byte)(number) 9, (byte)(number) $a, (byte)(number) $b, (byte)(number) $c, (byte)(number) $d, (byte)(number) 5, (byte)(number) 6, (byte)(number) 6, (byte)(number) 7, (byte)(number) 7, (byte)(number) 8, (byte)(number) 8, (byte)(number) $b, (byte)(number) $c, (byte)(number) $c, (byte)(number) $d, (byte)(number) $d, (byte)(number) $e, (byte)(number) $e, (byte)(number) 5, (byte)(number) 6, (byte)(number) 7, (byte)(number) $a, (byte)(number) $b, (byte)(number) $b, (byte)(number) $c, (byte)(number) $c, (byte)(number) $d, (byte)(number) $d, (byte)(number) $e, (byte)(number) $e } -(const byte*) form_line_hi = { fill( $19, 0) } -(const byte*) form_line_lo = { fill( $19, 0) } +(const byte*) form_fields_max[] = { (byte)(number) $a, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) $d, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $d, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) 3, (byte)(number) 1, (byte)(number) 4, (byte)(number) 1, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f, (byte)(number) $f } +(const byte*) form_fields_val[] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) form_fields_x[] = { (byte)(number) 8, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $c, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $18, (byte)(number) $19, (byte)(number) $25, (byte)(number) $25, (byte)(number) $25, (byte)(number) $25, (byte)(number) $24, (byte)(number) $25, (byte)(number) $24, (byte)(number) $25, (byte)(number) $24, (byte)(number) $25, (byte)(number) $24, (byte)(number) $25 } +(const byte*) form_fields_y[] = { (byte)(number) 2, (byte)(number) 5, (byte)(number) 6, (byte)(number) 7, (byte)(number) 8, (byte)(number) 9, (byte)(number) $a, (byte)(number) $b, (byte)(number) $c, (byte)(number) $d, (byte)(number) 5, (byte)(number) 6, (byte)(number) 6, (byte)(number) 7, (byte)(number) 7, (byte)(number) 8, (byte)(number) 8, (byte)(number) $b, (byte)(number) $c, (byte)(number) $c, (byte)(number) $d, (byte)(number) $d, (byte)(number) $e, (byte)(number) $e, (byte)(number) 5, (byte)(number) 6, (byte)(number) 7, (byte)(number) $a, (byte)(number) $b, (byte)(number) $b, (byte)(number) $c, (byte)(number) $c, (byte)(number) $d, (byte)(number) $d, (byte)(number) $e, (byte)(number) $e } +(const byte*) form_line_hi[(number) $19] = { fill( $19, 0) } +(const byte*) form_line_lo[(number) $19] = { fill( $19, 0) } (void()) form_mode() (bool~) form_mode::$10 (byte~) form_mode::$11 @@ -5106,7 +5106,7 @@ SYMBOL TABLE SSA (byte) gfx_init_plane_horisontal2::gfxbCpuBank#2 (byte) gfx_init_plane_horisontal2::row (byte) gfx_init_plane_horisontal2::row#0 -(const byte*) gfx_init_plane_horisontal2::row_bitmask = { (byte)(number) 0, (byte)(number) $55, (byte)(number) $aa, (byte)(number) $ff } +(const byte*) gfx_init_plane_horisontal2::row_bitmask[] = { (byte)(number) 0, (byte)(number) $55, (byte)(number) $aa, (byte)(number) $ff } (void()) gfx_init_plane_vertical() (bool~) gfx_init_plane_vertical::$2 (bool~) gfx_init_plane_vertical::$3 @@ -5291,8 +5291,8 @@ SYMBOL TABLE SSA (byte) gfx_init_vic_bitmap::l#3 (byte) gfx_init_vic_bitmap::l#4 (const byte) gfx_init_vic_bitmap::lines_cnt = (byte) 9 -(const byte*) gfx_init_vic_bitmap::lines_x = { (byte)(number) 0, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) 0, (byte)(number) 0, (byte)(number) $80, (byte)(number) $ff, (byte)(number) $80, (byte)(number) 0, (byte)(number) $80 } -(const byte*) gfx_init_vic_bitmap::lines_y = { (byte)(number) 0, (byte)(number) 0, (byte)(number) $c7, (byte)(number) $c7, (byte)(number) 0, (byte)(number) 0, (byte)(number) $64, (byte)(number) $c7, (byte)(number) $64, (byte)(number) 0 } +(const byte*) gfx_init_vic_bitmap::lines_x[] = { (byte)(number) 0, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) 0, (byte)(number) 0, (byte)(number) $80, (byte)(number) $ff, (byte)(number) $80, (byte)(number) 0, (byte)(number) $80 } +(const byte*) gfx_init_vic_bitmap::lines_y[] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) $c7, (byte)(number) $c7, (byte)(number) 0, (byte)(number) 0, (byte)(number) $64, (byte)(number) $c7, (byte)(number) $64, (byte)(number) 0 } (void()) gfx_mode() (bool~) gfx_mode::$0 (bool~) gfx_mode::$1 @@ -5637,7 +5637,7 @@ SYMBOL TABLE SSA (byte) keyboard_event_scan::row_scan#6 (byte) keyboard_event_scan::row_scan#7 (byte) keyboard_event_scan::row_scan#8 -(const byte*) keyboard_events = { fill( 8, 0) } +(const byte*) keyboard_events[(number) 8] = { fill( 8, 0) } (byte) keyboard_events_size (byte) keyboard_events_size#0 (byte) keyboard_events_size#1 @@ -5786,7 +5786,7 @@ SYMBOL TABLE SSA (byte) keyboard_events_size#99 (void()) keyboard_init() (label) keyboard_init::@return -(const byte*) keyboard_matrix_col_bitmask = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte~) keyboard_matrix_read::$0 (label) keyboard_matrix_read::@return @@ -5801,7 +5801,7 @@ SYMBOL TABLE SSA (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 (byte) keyboard_matrix_read::rowid#1 -(const byte*) keyboard_matrix_row_bitmask = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } (byte) keyboard_modifiers (byte) keyboard_modifiers#0 (byte) keyboard_modifiers#1 @@ -5929,7 +5929,7 @@ SYMBOL TABLE SSA (byte) keyboard_modifiers#97 (byte) keyboard_modifiers#98 (byte) keyboard_modifiers#99 -(const byte*) keyboard_scan_values = { fill( 8, 0) } +(const byte*) keyboard_scan_values[(number) 8] = { fill( 8, 0) } (void()) main() (label) main::@1 (label) main::@10 @@ -5980,17 +5980,17 @@ SYMBOL TABLE SSA (void*) memset::str#3 (void*) memset::str#4 (void*) memset::str#5 -(const byte*) preset_8bpppixelcell = { (byte)(number) $a, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) $b, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) preset_chunky = { (byte)(number) 7, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 6, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 8, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) preset_ecmchar = { (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 2, (byte)(number) 0, (byte)(number) 5, (byte)(number) 0, (byte)(number) 6 } -(const byte*) preset_hi_ecmchar = { (byte)(number) 5, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 3, (byte)(number) 4, (byte)(number) 6, (byte)(number) 8, (byte)(number) 9, (byte)(number) $c, (byte)(number) $c } -(const byte*) preset_hi_stdchar = { (byte)(number) 4, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) preset_mcbm = { (byte)(number) 3, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 2, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 9, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) preset_sixsfred = { (byte)(number) 8, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 9, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) $a, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) preset_sixsfred2 = { (byte)(number) 9, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 9, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) $a, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) preset_stdbm = { (byte)(number) 2, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 2, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) preset_stdchar = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) preset_twoplane = { (byte)(number) 6, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 7, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 8, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 7, (byte)(number) 0, (byte)(number) $d, (byte)(number) 4, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) preset_8bpppixelcell[] = { (byte)(number) $a, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) $b, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) preset_chunky[] = { (byte)(number) 7, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 6, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 8, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) preset_ecmchar[] = { (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 2, (byte)(number) 0, (byte)(number) 5, (byte)(number) 0, (byte)(number) 6 } +(const byte*) preset_hi_ecmchar[] = { (byte)(number) 5, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 3, (byte)(number) 4, (byte)(number) 6, (byte)(number) 8, (byte)(number) 9, (byte)(number) $c, (byte)(number) $c } +(const byte*) preset_hi_stdchar[] = { (byte)(number) 4, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) preset_mcbm[] = { (byte)(number) 3, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 2, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 9, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) preset_sixsfred[] = { (byte)(number) 8, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 9, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) $a, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) preset_sixsfred2[] = { (byte)(number) 9, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 9, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) $a, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) preset_stdbm[] = { (byte)(number) 2, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 2, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) preset_stdchar[] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) preset_twoplane[] = { (byte)(number) 6, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 7, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 8, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 7, (byte)(number) 0, (byte)(number) $d, (byte)(number) 4, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } (byte*) print_char_cursor (byte*) print_char_cursor#0 (byte*) print_char_cursor#1 @@ -6062,7 +6062,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -6238,19 +6238,19 @@ SYMBOL TABLE SSA (bool~) render_preset_name::$0 (bool~) render_preset_name::$1 (bool~) render_preset_name::$10 -(const string) render_preset_name::$12 = (string) "Standard Charset " -(const string) render_preset_name::$13 = (string) "Extended Color Charset " -(const string) render_preset_name::$14 = (string) "Standard Bitmap " -(const string) render_preset_name::$15 = (string) "Multicolor Bitmap " -(const string) render_preset_name::$16 = (string) "Hicolor Charset " -(const string) render_preset_name::$17 = (string) "Hicolor Extended Color Charset" -(const string) render_preset_name::$18 = (string) "Twoplane Bitmap " -(const string) render_preset_name::$19 = (string) "Chunky 8bpp " +(const string) render_preset_name::$12[] = (string) "Standard Charset " +(const string) render_preset_name::$13[] = (string) "Extended Color Charset " +(const string) render_preset_name::$14[] = (string) "Standard Bitmap " +(const string) render_preset_name::$15[] = (string) "Multicolor Bitmap " +(const string) render_preset_name::$16[] = (string) "Hicolor Charset " +(const string) render_preset_name::$17[] = (string) "Hicolor Extended Color Charset" +(const string) render_preset_name::$18[] = (string) "Twoplane Bitmap " +(const string) render_preset_name::$19[] = (string) "Chunky 8bpp " (bool~) render_preset_name::$2 -(const string) render_preset_name::$20 = (string) "Sixs Fred " -(const string) render_preset_name::$21 = (string) "Sixs Fred 2 " -(const string) render_preset_name::$22 = (string) "8bpp Pixel Cell " -(const string) render_preset_name::$23 = (string) "Standard Charset " +(const string) render_preset_name::$20[] = (string) "Sixs Fred " +(const string) render_preset_name::$21[] = (string) "Sixs Fred 2 " +(const string) render_preset_name::$22[] = (string) "8bpp Pixel Cell " +(const string) render_preset_name::$23[] = (string) "Standard Charset " (bool~) render_preset_name::$3 (bool~) render_preset_name::$4 (bool~) render_preset_name::$5 @@ -27674,7 +27674,7 @@ FINAL SYMBOL TABLE (const byte) DTV_LINEAR = (number) 1 (const byte) DTV_OVERSCAN = (number) 8 (const byte*) DTV_PALETTE = (byte*) 53760 -(const byte*) DTV_PALETTE_DEFAULT = { (byte) 0, (byte) $f, (byte) $36, (byte) $be, (byte) $58, (byte) $db, (byte) $86, (byte) $ff, (byte) $29, (byte) $26, (byte) $3b, (byte) 5, (byte) 7, (byte) $df, (byte) $9a, (byte) $a } +(const byte*) DTV_PALETTE_DEFAULT[(number) $10] = { (byte) 0, (byte) $f, (byte) $36, (byte) $be, (byte) $58, (byte) $db, (byte) $86, (byte) $ff, (byte) $29, (byte) $26, (byte) $3b, (byte) 5, (byte) 7, (byte) $df, (byte) $9a, (byte) $a } (const byte*) DTV_PLANEA_MODULO_HI = (byte*) 53305 (const byte*) DTV_PLANEA_MODULO_LO = (byte*) 53304 (const byte*) DTV_PLANEA_START_HI = (byte*) 53317 @@ -27688,10 +27688,10 @@ FINAL SYMBOL TABLE (const byte*) DTV_PLANEB_START_MI = (byte*) 53322 (const byte*) DTV_PLANEB_STEP = (byte*) 53324 (const byte*) FORM_CHARSET = (byte*) 6144 -(const byte*) FORM_COLS = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @" +(const byte*) FORM_COLS[] = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @" (const signed byte) FORM_CURSOR_BLINK = (number) $28 (const byte*) FORM_SCREEN = (byte*) 1024 -(const byte*) FORM_TEXT = (string) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @" +(const byte*) FORM_TEXT[] = (string) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @" (const byte) KEY_COMMODORE = (number) $3d (const byte) KEY_CRSR_DOWN = (number) 7 (const byte) KEY_CRSR_RIGHT = (number) 2 @@ -28011,11 +28011,11 @@ FINAL SYMBOL TABLE (byte) bitmap_plot::y#2 reg byte y 202.0 (byte) bitmap_plot::y#3 reg byte y 202.0 (byte) bitmap_plot::y#4 reg byte y 204.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) (label) dtvSetCpuBankSegment1::@return (const byte*) dtvSetCpuBankSegment1::cpuBank = (byte*) 255 @@ -28111,12 +28111,12 @@ FINAL SYMBOL TABLE (byte) form_field_ptr::y (byte) form_field_ptr::y#0 reg byte a 6.0 (const byte) form_fields_cnt = (byte) $24 -(const byte*) form_fields_max = { (byte) $a, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) $d, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $d, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) 3, (byte) 1, (byte) 4, (byte) 1, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f } -(const byte*) form_fields_val = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) form_fields_x = { (byte) 8, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $25, (byte) $25, (byte) $25, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25 } -(const byte*) form_fields_y = { (byte) 2, (byte) 5, (byte) 6, (byte) 7, (byte) 8, (byte) 9, (byte) $a, (byte) $b, (byte) $c, (byte) $d, (byte) 5, (byte) 6, (byte) 6, (byte) 7, (byte) 7, (byte) 8, (byte) 8, (byte) $b, (byte) $c, (byte) $c, (byte) $d, (byte) $d, (byte) $e, (byte) $e, (byte) 5, (byte) 6, (byte) 7, (byte) $a, (byte) $b, (byte) $b, (byte) $c, (byte) $c, (byte) $d, (byte) $d, (byte) $e, (byte) $e } -(const byte*) form_line_hi = { fill( $19, 0) } -(const byte*) form_line_lo = { fill( $19, 0) } +(const byte*) form_fields_max[] = { (byte) $a, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) $d, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $d, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) 3, (byte) 1, (byte) 4, (byte) 1, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f } +(const byte*) form_fields_val[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) form_fields_x[] = { (byte) 8, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $25, (byte) $25, (byte) $25, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25 } +(const byte*) form_fields_y[] = { (byte) 2, (byte) 5, (byte) 6, (byte) 7, (byte) 8, (byte) 9, (byte) $a, (byte) $b, (byte) $c, (byte) $d, (byte) 5, (byte) 6, (byte) 6, (byte) 7, (byte) 7, (byte) 8, (byte) 8, (byte) $b, (byte) $c, (byte) $c, (byte) $d, (byte) $d, (byte) $e, (byte) $e, (byte) 5, (byte) 6, (byte) 7, (byte) $a, (byte) $b, (byte) $b, (byte) $c, (byte) $c, (byte) $d, (byte) $d, (byte) $e, (byte) $e } +(const byte*) form_line_hi[(number) $19] = { fill( $19, 0) } +(const byte*) form_line_lo[(number) $19] = { fill( $19, 0) } (void()) form_mode() (byte~) form_mode::$11 reg byte a 2002.0 (label) form_mode::@1 @@ -28412,7 +28412,7 @@ FINAL SYMBOL TABLE (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfxbCpuBank = (byte)(const dword) PLANE_HORISONTAL2/(word) $4000 (byte) gfx_init_plane_horisontal2::row (byte) gfx_init_plane_horisontal2::row#0 reg byte a 202.0 -(const byte*) gfx_init_plane_horisontal2::row_bitmask = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } +(const byte*) gfx_init_plane_horisontal2::row_bitmask[] = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } (void()) gfx_init_plane_vertical() (label) gfx_init_plane_vertical::@1 (label) gfx_init_plane_vertical::@2 @@ -28535,8 +28535,8 @@ FINAL SYMBOL TABLE (byte) gfx_init_vic_bitmap::l#1 l zp[1]:8 22.0 (byte) gfx_init_vic_bitmap::l#2 l zp[1]:8 11.0 (const byte) gfx_init_vic_bitmap::lines_cnt = (byte) 9 -(const byte*) gfx_init_vic_bitmap::lines_x = { (byte) 0, (byte) $ff, (byte) $ff, (byte) 0, (byte) 0, (byte) $80, (byte) $ff, (byte) $80, (byte) 0, (byte) $80 } -(const byte*) gfx_init_vic_bitmap::lines_y = { (byte) 0, (byte) 0, (byte) $c7, (byte) $c7, (byte) 0, (byte) 0, (byte) $64, (byte) $c7, (byte) $64, (byte) 0 } +(const byte*) gfx_init_vic_bitmap::lines_x[] = { (byte) 0, (byte) $ff, (byte) $ff, (byte) 0, (byte) 0, (byte) $80, (byte) $ff, (byte) $80, (byte) 0, (byte) $80 } +(const byte*) gfx_init_vic_bitmap::lines_y[] = { (byte) 0, (byte) 0, (byte) $c7, (byte) $c7, (byte) 0, (byte) 0, (byte) $64, (byte) $c7, (byte) $64, (byte) 0 } (void()) gfx_mode() (byte~) gfx_mode::$18 reg byte a 4.0 (dword~) gfx_mode::$20 zp[4]:2 4.0 @@ -28730,7 +28730,7 @@ FINAL SYMBOL TABLE (byte) keyboard_event_scan::row#2 row zp[1]:10 6000.24 (byte) keyboard_event_scan::row_scan (byte) keyboard_event_scan::row_scan#0 row_scan zp[1]:31 12778.055555555557 -(const byte*) keyboard_events = { fill( 8, 0) } +(const byte*) keyboard_events[(number) 8] = { fill( 8, 0) } (byte) keyboard_events_size (byte) keyboard_events_size#1 keyboard_events_size zp[1]:8 200002.0 (byte) keyboard_events_size#100 keyboard_events_size zp[1]:8 882.6176470588235 @@ -28745,7 +28745,7 @@ FINAL SYMBOL TABLE (byte) keyboard_events_size#97 keyboard_events_size zp[1]:8 105.0 (void()) keyboard_init() (label) keyboard_init::@return -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -28754,7 +28754,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte x 10003.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (byte) keyboard_modifiers (byte) keyboard_modifiers#18 reg byte x 0.8 (byte) keyboard_modifiers#19 reg byte x 1.6 @@ -28763,7 +28763,7 @@ FINAL SYMBOL TABLE (byte) keyboard_modifiers#3 reg byte x 4.0 (byte) keyboard_modifiers#4 reg byte x 4.0 (byte) keyboard_modifiers#5 reg byte x 4.0 -(const byte*) keyboard_scan_values = { fill( 8, 0) } +(const byte*) keyboard_scan_values[(number) 8] = { fill( 8, 0) } (void()) main() (label) main::@1 (label) main::@2 @@ -28787,17 +28787,17 @@ FINAL SYMBOL TABLE (void*) memset::return (void*) memset::str (void*) memset::str#0 str zp[2]:11 0.6666666666666666 -(const byte*) preset_8bpppixelcell = { (byte) $a, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $b, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_chunky = { (byte) 7, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 6, (byte) 0, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_ecmchar = { (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 0, (byte) 5, (byte) 0, (byte) 6 } -(const byte*) preset_hi_ecmchar = { (byte) 5, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 3, (byte) 4, (byte) 6, (byte) 8, (byte) 9, (byte) $c, (byte) $c } -(const byte*) preset_hi_stdchar = { (byte) 4, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_mcbm = { (byte) 3, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_sixsfred = { (byte) 8, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $a, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_sixsfred2 = { (byte) 9, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $a, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_stdbm = { (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_stdchar = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_twoplane = { (byte) 6, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 7, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 7, (byte) 0, (byte) $d, (byte) 4, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_8bpppixelcell[] = { (byte) $a, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $b, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_chunky[] = { (byte) 7, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 6, (byte) 0, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_ecmchar[] = { (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 0, (byte) 5, (byte) 0, (byte) 6 } +(const byte*) preset_hi_ecmchar[] = { (byte) 5, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 3, (byte) 4, (byte) 6, (byte) 8, (byte) 9, (byte) $c, (byte) $c } +(const byte*) preset_hi_stdchar[] = { (byte) 4, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_mcbm[] = { (byte) 3, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_sixsfred[] = { (byte) 8, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $a, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_sixsfred2[] = { (byte) 9, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $a, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_stdbm[] = { (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_stdchar[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_twoplane[] = { (byte) 6, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 7, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 7, (byte) 0, (byte) $d, (byte) 4, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp[2]:11 2002.0 (byte*) print_char_cursor#20 print_char_cursor zp[2]:11 821.0 @@ -28807,7 +28807,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#68 print_char_cursor zp[2]:11 202.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#2 print_line_cursor zp[2]:14 8.749999999999998 (byte*) print_line_cursor#21 print_line_cursor zp[2]:14 2004.0 diff --git a/src/test/ref/c64dtv-gfxexplorer.sym b/src/test/ref/c64dtv-gfxexplorer.sym index 6338cabd8..3e0741a3e 100644 --- a/src/test/ref/c64dtv-gfxexplorer.sym +++ b/src/test/ref/c64dtv-gfxexplorer.sym @@ -29,7 +29,7 @@ (const byte) DTV_LINEAR = (number) 1 (const byte) DTV_OVERSCAN = (number) 8 (const byte*) DTV_PALETTE = (byte*) 53760 -(const byte*) DTV_PALETTE_DEFAULT = { (byte) 0, (byte) $f, (byte) $36, (byte) $be, (byte) $58, (byte) $db, (byte) $86, (byte) $ff, (byte) $29, (byte) $26, (byte) $3b, (byte) 5, (byte) 7, (byte) $df, (byte) $9a, (byte) $a } +(const byte*) DTV_PALETTE_DEFAULT[(number) $10] = { (byte) 0, (byte) $f, (byte) $36, (byte) $be, (byte) $58, (byte) $db, (byte) $86, (byte) $ff, (byte) $29, (byte) $26, (byte) $3b, (byte) 5, (byte) 7, (byte) $df, (byte) $9a, (byte) $a } (const byte*) DTV_PLANEA_MODULO_HI = (byte*) 53305 (const byte*) DTV_PLANEA_MODULO_LO = (byte*) 53304 (const byte*) DTV_PLANEA_START_HI = (byte*) 53317 @@ -43,10 +43,10 @@ (const byte*) DTV_PLANEB_START_MI = (byte*) 53322 (const byte*) DTV_PLANEB_STEP = (byte*) 53324 (const byte*) FORM_CHARSET = (byte*) 6144 -(const byte*) FORM_COLS = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @" +(const byte*) FORM_COLS[] = (string) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@ @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm ooooooooo @ nnnnnnnnnnnn mmmmmmmmmm @ nnnnnnnnnnnn jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @ nnnnnnnnnnnn mmmmmmmmmm jjjjjjjjj @" (const signed byte) FORM_CURSOR_BLINK = (number) $28 (const byte*) FORM_SCREEN = (byte*) 1024 -(const byte*) FORM_TEXT = (string) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @" +(const byte*) FORM_TEXT[] = (string) " C64 DTV Graphics Mode Explorer @ @ PRESET 0 Standard Charset @ @ CONTROL PLANE A VIC II @ bmm 0 pattern p0 screen s0 @ mcm 0 start 00 gfx g0 @ ecm 0 step 00 colors c0 @ hicolor 0 modulo 00 @ linear 0 COLORS @ color off 0 PLANE B palet 0 @ chunky 0 pattern p0 bgcol0 00 @ border off 0 start 00 bgcol1 00 @ overscan 0 step 00 bgcol2 00 @ modulo 00 bgcol3 00 @" (const byte) KEY_COMMODORE = (number) $3d (const byte) KEY_CRSR_DOWN = (number) 7 (const byte) KEY_CRSR_RIGHT = (number) 2 @@ -366,11 +366,11 @@ (byte) bitmap_plot::y#2 reg byte y 202.0 (byte) bitmap_plot::y#3 reg byte y 202.0 (byte) bitmap_plot::y#4 reg byte y 204.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) (label) dtvSetCpuBankSegment1::@return (const byte*) dtvSetCpuBankSegment1::cpuBank = (byte*) 255 @@ -466,12 +466,12 @@ (byte) form_field_ptr::y (byte) form_field_ptr::y#0 reg byte a 6.0 (const byte) form_fields_cnt = (byte) $24 -(const byte*) form_fields_max = { (byte) $a, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) $d, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $d, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) 3, (byte) 1, (byte) 4, (byte) 1, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f } -(const byte*) form_fields_val = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) form_fields_x = { (byte) 8, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $25, (byte) $25, (byte) $25, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25 } -(const byte*) form_fields_y = { (byte) 2, (byte) 5, (byte) 6, (byte) 7, (byte) 8, (byte) 9, (byte) $a, (byte) $b, (byte) $c, (byte) $d, (byte) 5, (byte) 6, (byte) 6, (byte) 7, (byte) 7, (byte) 8, (byte) 8, (byte) $b, (byte) $c, (byte) $c, (byte) $d, (byte) $d, (byte) $e, (byte) $e, (byte) 5, (byte) 6, (byte) 7, (byte) $a, (byte) $b, (byte) $b, (byte) $c, (byte) $c, (byte) $d, (byte) $d, (byte) $e, (byte) $e } -(const byte*) form_line_hi = { fill( $19, 0) } -(const byte*) form_line_lo = { fill( $19, 0) } +(const byte*) form_fields_max[] = { (byte) $a, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) $d, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $d, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) 3, (byte) 1, (byte) 4, (byte) 1, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f, (byte) $f } +(const byte*) form_fields_val[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) form_fields_x[] = { (byte) 8, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $c, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $18, (byte) $19, (byte) $25, (byte) $25, (byte) $25, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25, (byte) $24, (byte) $25 } +(const byte*) form_fields_y[] = { (byte) 2, (byte) 5, (byte) 6, (byte) 7, (byte) 8, (byte) 9, (byte) $a, (byte) $b, (byte) $c, (byte) $d, (byte) 5, (byte) 6, (byte) 6, (byte) 7, (byte) 7, (byte) 8, (byte) 8, (byte) $b, (byte) $c, (byte) $c, (byte) $d, (byte) $d, (byte) $e, (byte) $e, (byte) 5, (byte) 6, (byte) 7, (byte) $a, (byte) $b, (byte) $b, (byte) $c, (byte) $c, (byte) $d, (byte) $d, (byte) $e, (byte) $e } +(const byte*) form_line_hi[(number) $19] = { fill( $19, 0) } +(const byte*) form_line_lo[(number) $19] = { fill( $19, 0) } (void()) form_mode() (byte~) form_mode::$11 reg byte a 2002.0 (label) form_mode::@1 @@ -767,7 +767,7 @@ (const byte) gfx_init_plane_horisontal2::gfxbCpuBank#0 gfxbCpuBank = (byte)(const dword) PLANE_HORISONTAL2/(word) $4000 (byte) gfx_init_plane_horisontal2::row (byte) gfx_init_plane_horisontal2::row#0 reg byte a 202.0 -(const byte*) gfx_init_plane_horisontal2::row_bitmask = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } +(const byte*) gfx_init_plane_horisontal2::row_bitmask[] = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } (void()) gfx_init_plane_vertical() (label) gfx_init_plane_vertical::@1 (label) gfx_init_plane_vertical::@2 @@ -890,8 +890,8 @@ (byte) gfx_init_vic_bitmap::l#1 l zp[1]:8 22.0 (byte) gfx_init_vic_bitmap::l#2 l zp[1]:8 11.0 (const byte) gfx_init_vic_bitmap::lines_cnt = (byte) 9 -(const byte*) gfx_init_vic_bitmap::lines_x = { (byte) 0, (byte) $ff, (byte) $ff, (byte) 0, (byte) 0, (byte) $80, (byte) $ff, (byte) $80, (byte) 0, (byte) $80 } -(const byte*) gfx_init_vic_bitmap::lines_y = { (byte) 0, (byte) 0, (byte) $c7, (byte) $c7, (byte) 0, (byte) 0, (byte) $64, (byte) $c7, (byte) $64, (byte) 0 } +(const byte*) gfx_init_vic_bitmap::lines_x[] = { (byte) 0, (byte) $ff, (byte) $ff, (byte) 0, (byte) 0, (byte) $80, (byte) $ff, (byte) $80, (byte) 0, (byte) $80 } +(const byte*) gfx_init_vic_bitmap::lines_y[] = { (byte) 0, (byte) 0, (byte) $c7, (byte) $c7, (byte) 0, (byte) 0, (byte) $64, (byte) $c7, (byte) $64, (byte) 0 } (void()) gfx_mode() (byte~) gfx_mode::$18 reg byte a 4.0 (dword~) gfx_mode::$20 zp[4]:2 4.0 @@ -1085,7 +1085,7 @@ (byte) keyboard_event_scan::row#2 row zp[1]:10 6000.24 (byte) keyboard_event_scan::row_scan (byte) keyboard_event_scan::row_scan#0 row_scan zp[1]:31 12778.055555555557 -(const byte*) keyboard_events = { fill( 8, 0) } +(const byte*) keyboard_events[(number) 8] = { fill( 8, 0) } (byte) keyboard_events_size (byte) keyboard_events_size#1 keyboard_events_size zp[1]:8 200002.0 (byte) keyboard_events_size#100 keyboard_events_size zp[1]:8 882.6176470588235 @@ -1100,7 +1100,7 @@ (byte) keyboard_events_size#97 keyboard_events_size zp[1]:8 105.0 (void()) keyboard_init() (label) keyboard_init::@return -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -1109,7 +1109,7 @@ (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte x 10003.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (byte) keyboard_modifiers (byte) keyboard_modifiers#18 reg byte x 0.8 (byte) keyboard_modifiers#19 reg byte x 1.6 @@ -1118,7 +1118,7 @@ (byte) keyboard_modifiers#3 reg byte x 4.0 (byte) keyboard_modifiers#4 reg byte x 4.0 (byte) keyboard_modifiers#5 reg byte x 4.0 -(const byte*) keyboard_scan_values = { fill( 8, 0) } +(const byte*) keyboard_scan_values[(number) 8] = { fill( 8, 0) } (void()) main() (label) main::@1 (label) main::@2 @@ -1142,17 +1142,17 @@ (void*) memset::return (void*) memset::str (void*) memset::str#0 str zp[2]:11 0.6666666666666666 -(const byte*) preset_8bpppixelcell = { (byte) $a, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $b, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_chunky = { (byte) 7, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 6, (byte) 0, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_ecmchar = { (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 0, (byte) 5, (byte) 0, (byte) 6 } -(const byte*) preset_hi_ecmchar = { (byte) 5, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 3, (byte) 4, (byte) 6, (byte) 8, (byte) 9, (byte) $c, (byte) $c } -(const byte*) preset_hi_stdchar = { (byte) 4, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_mcbm = { (byte) 3, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_sixsfred = { (byte) 8, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $a, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_sixsfred2 = { (byte) 9, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $a, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_stdbm = { (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_stdchar = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) preset_twoplane = { (byte) 6, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 7, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 7, (byte) 0, (byte) $d, (byte) 4, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_8bpppixelcell[] = { (byte) $a, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $b, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_chunky[] = { (byte) 7, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 6, (byte) 0, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_ecmchar[] = { (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 0, (byte) 5, (byte) 0, (byte) 6 } +(const byte*) preset_hi_ecmchar[] = { (byte) 5, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 3, (byte) 4, (byte) 6, (byte) 8, (byte) 9, (byte) $c, (byte) $c } +(const byte*) preset_hi_stdchar[] = { (byte) 4, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_mcbm[] = { (byte) 3, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_sixsfred[] = { (byte) 8, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $a, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_sixsfred2[] = { (byte) 9, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 9, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) $a, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_stdbm[] = { (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 2, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_stdchar[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) preset_twoplane[] = { (byte) 6, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 7, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 7, (byte) 0, (byte) $d, (byte) 4, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp[2]:11 2002.0 (byte*) print_char_cursor#20 print_char_cursor zp[2]:11 821.0 @@ -1162,7 +1162,7 @@ (byte*) print_char_cursor#68 print_char_cursor zp[2]:11 202.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#2 print_line_cursor zp[2]:14 8.749999999999998 (byte*) print_line_cursor#21 print_line_cursor zp[2]:14 2004.0 diff --git a/src/test/ref/c64dtv-gfxmodes.log b/src/test/ref/c64dtv-gfxmodes.log index 68004110b..b30416120 100644 --- a/src/test/ref/c64dtv-gfxmodes.log +++ b/src/test/ref/c64dtv-gfxmodes.log @@ -3086,7 +3086,7 @@ SYMBOL TABLE SSA (const byte) DTV_LINEAR = (number) 1 (const byte) DTV_OVERSCAN = (number) 8 (const byte*) DTV_PALETTE = (byte*)(number) $d200 -(const byte*) DTV_PALETTE_DEFAULT = { (byte)(number) 0, (byte)(number) $f, (byte)(number) $36, (byte)(number) $be, (byte)(number) $58, (byte)(number) $db, (byte)(number) $86, (byte)(number) $ff, (byte)(number) $29, (byte)(number) $26, (byte)(number) $3b, (byte)(number) 5, (byte)(number) 7, (byte)(number) $df, (byte)(number) $9a, (byte)(number) $a } +(const byte*) DTV_PALETTE_DEFAULT[(number) $10] = { (byte)(number) 0, (byte)(number) $f, (byte)(number) $36, (byte)(number) $be, (byte)(number) $58, (byte)(number) $db, (byte)(number) $86, (byte)(number) $ff, (byte)(number) $29, (byte)(number) $26, (byte)(number) $3b, (byte)(number) 5, (byte)(number) 7, (byte)(number) $df, (byte)(number) $9a, (byte)(number) $a } (const byte*) DTV_PLANEA_MODULO_HI = (byte*)(number) $d039 (const byte*) DTV_PLANEA_MODULO_LO = (byte*)(number) $d038 (const byte*) DTV_PLANEA_START_HI = (byte*)(number) $d045 @@ -3119,7 +3119,7 @@ SYMBOL TABLE SSA (const byte) KEY_SPACE = (number) $3c (const byte) KEY_U = (number) $1e (const byte) LIGHT_GREEN = (number) $d -(const byte*) MENU_TEXT = (string) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@" +(const byte*) MENU_TEXT[] = (string) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@" (const byte*) PROCPORT = (byte*)(number) 1 (const byte*) PROCPORT_DDR = (byte*)(number) 0 (const byte) PROCPORT_DDR_MEMORY_MASK = (number) 7 @@ -3619,11 +3619,11 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y#2 (byte) bitmap_plot::y#3 (byte) bitmap_plot::y#4 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) (label) dtvSetCpuBankSegment1::@return (const byte*) dtvSetCpuBankSegment1::cpuBank = (byte*)(number) $ff @@ -4002,7 +4002,7 @@ SYMBOL TABLE SSA (byte) keyboard_key_pressed::return#9 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 -(const byte*) keyboard_matrix_col_bitmask = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte~) keyboard_matrix_read::$0 (label) keyboard_matrix_read::@return @@ -4017,7 +4017,7 @@ SYMBOL TABLE SSA (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 (byte) keyboard_matrix_read::rowid#1 -(const byte*) keyboard_matrix_row_bitmask = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } (void()) main() (label) main::@1 (label) main::@2 @@ -4766,7 +4766,7 @@ SYMBOL TABLE SSA (byte) mode_sixsfred::i#2 (byte) mode_sixsfred::row (byte) mode_sixsfred::row#0 -(const byte*) mode_sixsfred::row_bitmask = { (byte)(number) 0, (byte)(number) $55, (byte)(number) $aa, (byte)(number) $ff } +(const byte*) mode_sixsfred::row_bitmask[] = { (byte)(number) 0, (byte)(number) $55, (byte)(number) $aa, (byte)(number) $ff } (void()) mode_sixsfred2() (bool~) mode_sixsfred2::$1 (bool~) mode_sixsfred2::$10 @@ -4854,7 +4854,7 @@ SYMBOL TABLE SSA (byte) mode_sixsfred2::i#2 (byte) mode_sixsfred2::row (byte) mode_sixsfred2::row#0 -(const byte*) mode_sixsfred2::row_bitmask = { (byte)(number) 0, (byte)(number) $55, (byte)(number) $aa, (byte)(number) $ff } +(const byte*) mode_sixsfred2::row_bitmask[] = { (byte)(number) 0, (byte)(number) $55, (byte)(number) $aa, (byte)(number) $ff } (void()) mode_stdbitmap() (bool~) mode_stdbitmap::$10 (bool~) mode_stdbitmap::$11 @@ -4914,8 +4914,8 @@ SYMBOL TABLE SSA (byte) mode_stdbitmap::l#3 (byte) mode_stdbitmap::l#4 (const byte) mode_stdbitmap::lines_cnt = (byte) 9 -(const byte*) mode_stdbitmap::lines_x = { (byte)(number) 0, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) 0, (byte)(number) 0, (byte)(number) $80, (byte)(number) $ff, (byte)(number) $80, (byte)(number) 0, (byte)(number) $80 } -(const byte*) mode_stdbitmap::lines_y = { (byte)(number) 0, (byte)(number) 0, (byte)(number) $c7, (byte)(number) $c7, (byte)(number) 0, (byte)(number) 0, (byte)(number) $64, (byte)(number) $c7, (byte)(number) $64, (byte)(number) 0 } +(const byte*) mode_stdbitmap::lines_x[] = { (byte)(number) 0, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) 0, (byte)(number) 0, (byte)(number) $80, (byte)(number) $ff, (byte)(number) $80, (byte)(number) 0, (byte)(number) $80 } +(const byte*) mode_stdbitmap::lines_y[] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) $c7, (byte)(number) $c7, (byte)(number) 0, (byte)(number) 0, (byte)(number) $64, (byte)(number) $c7, (byte)(number) $64, (byte)(number) 0 } (void()) mode_stdchar() (bool~) mode_stdchar::$1 (byte~) mode_stdchar::$2 @@ -24729,7 +24729,7 @@ FINAL SYMBOL TABLE (const byte) DTV_LINEAR = (number) 1 (const byte) DTV_OVERSCAN = (number) 8 (const byte*) DTV_PALETTE = (byte*) 53760 -(const byte*) DTV_PALETTE_DEFAULT = { (byte) 0, (byte) $f, (byte) $36, (byte) $be, (byte) $58, (byte) $db, (byte) $86, (byte) $ff, (byte) $29, (byte) $26, (byte) $3b, (byte) 5, (byte) 7, (byte) $df, (byte) $9a, (byte) $a } +(const byte*) DTV_PALETTE_DEFAULT[(number) $10] = { (byte) 0, (byte) $f, (byte) $36, (byte) $be, (byte) $58, (byte) $db, (byte) $86, (byte) $ff, (byte) $29, (byte) $26, (byte) $3b, (byte) 5, (byte) 7, (byte) $df, (byte) $9a, (byte) $a } (const byte*) DTV_PLANEA_MODULO_HI = (byte*) 53305 (const byte*) DTV_PLANEA_MODULO_LO = (byte*) 53304 (const byte*) DTV_PLANEA_START_HI = (byte*) 53317 @@ -24762,7 +24762,7 @@ FINAL SYMBOL TABLE (const byte) KEY_SPACE = (number) $3c (const byte) KEY_U = (number) $1e (const byte) LIGHT_GREEN = (number) $d -(const byte*) MENU_TEXT = (string) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@" +(const byte*) MENU_TEXT[] = (string) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@" (const byte*) PROCPORT = (byte*) 1 (const byte*) PROCPORT_DDR = (byte*) 0 (const byte) PROCPORT_DDR_MEMORY_MASK = (number) 7 @@ -25032,11 +25032,11 @@ FINAL SYMBOL TABLE (byte) bitmap_plot::y#2 reg byte y 2002.0 (byte) bitmap_plot::y#3 reg byte y 2002.0 (byte) bitmap_plot::y#4 reg byte y 2004.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) (label) dtvSetCpuBankSegment1::@return (const byte*) dtvSetCpuBankSegment1::cpuBank = (byte*) 255 @@ -25079,7 +25079,7 @@ FINAL SYMBOL TABLE (byte) keyboard_key_pressed::return#30 reg byte a 202.0 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -25088,7 +25088,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte y 4.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (label) main::@1 (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) @@ -25546,7 +25546,7 @@ FINAL SYMBOL TABLE (byte) mode_sixsfred::i#2 reg byte x 202.0 (byte) mode_sixsfred::row (byte) mode_sixsfred::row#0 reg byte a 2002.0 -(const byte*) mode_sixsfred::row_bitmask = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } +(const byte*) mode_sixsfred::row_bitmask[] = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } (void()) mode_sixsfred2() (byte~) mode_sixsfred2::$2 reg byte a 2002.0 (byte~) mode_sixsfred2::$3 zp[1]:7 1001.0 @@ -25604,7 +25604,7 @@ FINAL SYMBOL TABLE (byte) mode_sixsfred2::i#2 reg byte x 202.0 (byte) mode_sixsfred2::row (byte) mode_sixsfred2::row#0 reg byte a 2002.0 -(const byte*) mode_sixsfred2::row_bitmask = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } +(const byte*) mode_sixsfred2::row_bitmask[] = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } (void()) mode_stdbitmap() (byte~) mode_stdbitmap::$4 reg byte a 2002.0 (byte~) mode_stdbitmap::$7 reg byte a 2002.0 @@ -25644,8 +25644,8 @@ FINAL SYMBOL TABLE (byte) mode_stdbitmap::l#1 l zp[1]:14 202.0 (byte) mode_stdbitmap::l#2 l zp[1]:14 101.0 (const byte) mode_stdbitmap::lines_cnt = (byte) 9 -(const byte*) mode_stdbitmap::lines_x = { (byte) 0, (byte) $ff, (byte) $ff, (byte) 0, (byte) 0, (byte) $80, (byte) $ff, (byte) $80, (byte) 0, (byte) $80 } -(const byte*) mode_stdbitmap::lines_y = { (byte) 0, (byte) 0, (byte) $c7, (byte) $c7, (byte) 0, (byte) 0, (byte) $64, (byte) $c7, (byte) $64, (byte) 0 } +(const byte*) mode_stdbitmap::lines_x[] = { (byte) 0, (byte) $ff, (byte) $ff, (byte) 0, (byte) 0, (byte) $80, (byte) $ff, (byte) $80, (byte) 0, (byte) $80 } +(const byte*) mode_stdbitmap::lines_y[] = { (byte) 0, (byte) 0, (byte) $c7, (byte) $c7, (byte) 0, (byte) 0, (byte) $64, (byte) $c7, (byte) $64, (byte) 0 } (void()) mode_stdchar() (byte~) mode_stdchar::$2 reg byte a 2002.0 (byte~) mode_stdchar::$3 reg byte a 2002.0 diff --git a/src/test/ref/c64dtv-gfxmodes.sym b/src/test/ref/c64dtv-gfxmodes.sym index 0ae5783c8..02f8bab02 100644 --- a/src/test/ref/c64dtv-gfxmodes.sym +++ b/src/test/ref/c64dtv-gfxmodes.sym @@ -28,7 +28,7 @@ (const byte) DTV_LINEAR = (number) 1 (const byte) DTV_OVERSCAN = (number) 8 (const byte*) DTV_PALETTE = (byte*) 53760 -(const byte*) DTV_PALETTE_DEFAULT = { (byte) 0, (byte) $f, (byte) $36, (byte) $be, (byte) $58, (byte) $db, (byte) $86, (byte) $ff, (byte) $29, (byte) $26, (byte) $3b, (byte) 5, (byte) 7, (byte) $df, (byte) $9a, (byte) $a } +(const byte*) DTV_PALETTE_DEFAULT[(number) $10] = { (byte) 0, (byte) $f, (byte) $36, (byte) $be, (byte) $58, (byte) $db, (byte) $86, (byte) $ff, (byte) $29, (byte) $26, (byte) $3b, (byte) 5, (byte) 7, (byte) $df, (byte) $9a, (byte) $a } (const byte*) DTV_PLANEA_MODULO_HI = (byte*) 53305 (const byte*) DTV_PLANEA_MODULO_LO = (byte*) 53304 (const byte*) DTV_PLANEA_START_HI = (byte*) 53317 @@ -61,7 +61,7 @@ (const byte) KEY_SPACE = (number) $3c (const byte) KEY_U = (number) $1e (const byte) LIGHT_GREEN = (number) $d -(const byte*) MENU_TEXT = (string) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@" +(const byte*) MENU_TEXT[] = (string) "C64DTV Graphics Modes CCLHBME@ OHIIMCC@ LUNCMMM@----------------------------------------@1. Standard Char (V) 0000000@2. Extended Color Char (V) 0000001@3. Multicolor Char (V) 0000010@4. Standard Bitmap (V) 0000100@5. Multicolor Bitmap (V) 0000110@6. High Color Standard Char (H) 0001000@7. High Extended Color Char (H) 0001001@8. High Multicolor Char (H) 0001010@9. High Multicolor Bitmap (H) 0001110@a. Sixs Fred 2 (D) 0010111@b. Two Plane Bitmap (D) 0011101@c. Sixs Fred (2 Plane MC BM) (D) 0011111@d. 8bpp Pixel Cell (D) 0111011@e. Chunky 8bpp Bitmap (D) 1111011@----------------------------------------@ (V) vicII (H) vicII+hicol (D) c64dtv@" (const byte*) PROCPORT = (byte*) 1 (const byte*) PROCPORT_DDR = (byte*) 0 (const byte) PROCPORT_DDR_MEMORY_MASK = (number) 7 @@ -331,11 +331,11 @@ (byte) bitmap_plot::y#2 reg byte y 2002.0 (byte) bitmap_plot::y#3 reg byte y 2002.0 (byte) bitmap_plot::y#4 reg byte y 2004.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) dtvSetCpuBankSegment1((byte) dtvSetCpuBankSegment1::cpuBankIdx) (label) dtvSetCpuBankSegment1::@return (const byte*) dtvSetCpuBankSegment1::cpuBank = (byte*) 255 @@ -378,7 +378,7 @@ (byte) keyboard_key_pressed::return#30 reg byte a 202.0 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -387,7 +387,7 @@ (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte y 4.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (label) main::@1 (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) @@ -845,7 +845,7 @@ (byte) mode_sixsfred::i#2 reg byte x 202.0 (byte) mode_sixsfred::row (byte) mode_sixsfred::row#0 reg byte a 2002.0 -(const byte*) mode_sixsfred::row_bitmask = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } +(const byte*) mode_sixsfred::row_bitmask[] = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } (void()) mode_sixsfred2() (byte~) mode_sixsfred2::$2 reg byte a 2002.0 (byte~) mode_sixsfred2::$3 zp[1]:7 1001.0 @@ -903,7 +903,7 @@ (byte) mode_sixsfred2::i#2 reg byte x 202.0 (byte) mode_sixsfred2::row (byte) mode_sixsfred2::row#0 reg byte a 2002.0 -(const byte*) mode_sixsfred2::row_bitmask = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } +(const byte*) mode_sixsfred2::row_bitmask[] = { (byte) 0, (byte) $55, (byte) $aa, (byte) $ff } (void()) mode_stdbitmap() (byte~) mode_stdbitmap::$4 reg byte a 2002.0 (byte~) mode_stdbitmap::$7 reg byte a 2002.0 @@ -943,8 +943,8 @@ (byte) mode_stdbitmap::l#1 l zp[1]:14 202.0 (byte) mode_stdbitmap::l#2 l zp[1]:14 101.0 (const byte) mode_stdbitmap::lines_cnt = (byte) 9 -(const byte*) mode_stdbitmap::lines_x = { (byte) 0, (byte) $ff, (byte) $ff, (byte) 0, (byte) 0, (byte) $80, (byte) $ff, (byte) $80, (byte) 0, (byte) $80 } -(const byte*) mode_stdbitmap::lines_y = { (byte) 0, (byte) 0, (byte) $c7, (byte) $c7, (byte) 0, (byte) 0, (byte) $64, (byte) $c7, (byte) $64, (byte) 0 } +(const byte*) mode_stdbitmap::lines_x[] = { (byte) 0, (byte) $ff, (byte) $ff, (byte) 0, (byte) 0, (byte) $80, (byte) $ff, (byte) $80, (byte) 0, (byte) $80 } +(const byte*) mode_stdbitmap::lines_y[] = { (byte) 0, (byte) 0, (byte) $c7, (byte) $c7, (byte) 0, (byte) 0, (byte) $64, (byte) $c7, (byte) $64, (byte) 0 } (void()) mode_stdchar() (byte~) mode_stdchar::$2 reg byte a 2002.0 (byte~) mode_stdchar::$3 reg byte a 2002.0 diff --git a/src/test/ref/cast-deref.log b/src/test/ref/cast-deref.log index d092778f7..8b1829367 100644 --- a/src/test/ref/cast-deref.log +++ b/src/test/ref/cast-deref.log @@ -42,7 +42,7 @@ SYMBOL TABLE SSA (byte) main::i#0 (byte) main::i#1 (byte) main::i#2 -(const signed byte*) main::sbs = { (signed byte)(number) -1, (signed byte)(number) -2, (signed byte)(number) -3, (signed byte)(number) -4 } +(const signed byte*) main::sbs[] = { (signed byte)(number) -1, (signed byte)(number) -2, (signed byte)(number) -3, (signed byte)(number) -4 } Inlining cast (byte~) main::$0 ← (byte)*((const signed byte*) main::sbs + (byte) main::i#2) Successful SSA optimization Pass2InlineCast @@ -291,7 +291,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 16.5 -(const signed byte*) main::sbs = { (signed byte) -1, (signed byte) -2, (signed byte) -3, (signed byte) -4 } +(const signed byte*) main::sbs[] = { (signed byte) -1, (signed byte) -2, (signed byte) -3, (signed byte) -4 } reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/cast-deref.sym b/src/test/ref/cast-deref.sym index 92a83e44f..2807b6382 100644 --- a/src/test/ref/cast-deref.sym +++ b/src/test/ref/cast-deref.sym @@ -8,6 +8,6 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 16.5 -(const signed byte*) main::sbs = { (signed byte) -1, (signed byte) -2, (signed byte) -3, (signed byte) -4 } +(const signed byte*) main::sbs[] = { (signed byte) -1, (signed byte) -2, (signed byte) -3, (signed byte) -4 } reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/cast-not-needed-2.log b/src/test/ref/cast-not-needed-2.log index 93187203c..e04b004df 100644 --- a/src/test/ref/cast-not-needed-2.log +++ b/src/test/ref/cast-not-needed-2.log @@ -93,7 +93,7 @@ SYMBOL TABLE SSA (byte*) main::spritePtr1_screen (byte*) main::spritePtr1_screen#0 (byte*) main::spritePtr1_screen#1 -(const byte**) screens = { (byte*)(number) $400, (byte*)(number) $1400 } +(const byte**) screens[] = { (byte*)(number) $400, (byte*)(number) $1400 } Adding number conversion cast (unumber) 0 in (byte) main::getScreen1_id#0 ← (number) 0 Adding number conversion cast (unumber) $378 in (byte*~) main::spritePtr1_$0 ← (byte*) main::spritePtr1_screen#1 + (number) $378 @@ -391,7 +391,7 @@ FINAL SYMBOL TABLE (byte*) main::spritePtr1_return (byte*) main::spritePtr1_return#0 spritePtr1_return zp[2]:2 4.0 (byte*) main::spritePtr1_screen -(const byte**) screens = { (byte*) 1024, (byte*) 5120 } +(const byte**) screens[] = { (byte*) 1024, (byte*) 5120 } zp[2]:2 [ main::getScreen1_return#0 main::spritePtr1_return#0 ] diff --git a/src/test/ref/cast-not-needed-2.sym b/src/test/ref/cast-not-needed-2.sym index 6cfd8762a..22b638a2d 100644 --- a/src/test/ref/cast-not-needed-2.sym +++ b/src/test/ref/cast-not-needed-2.sym @@ -13,6 +13,6 @@ (byte*) main::spritePtr1_return (byte*) main::spritePtr1_return#0 spritePtr1_return zp[2]:2 4.0 (byte*) main::spritePtr1_screen -(const byte**) screens = { (byte*) 1024, (byte*) 5120 } +(const byte**) screens[] = { (byte*) 1024, (byte*) 5120 } zp[2]:2 [ main::getScreen1_return#0 main::spritePtr1_return#0 ] diff --git a/src/test/ref/cast-not-needed-3.log b/src/test/ref/cast-not-needed-3.log index b3a7bc953..cba704caa 100644 --- a/src/test/ref/cast-not-needed-3.log +++ b/src/test/ref/cast-not-needed-3.log @@ -90,7 +90,7 @@ SYMBOL TABLE SSA (byte*) main::spritePtr1_screen (byte*) main::spritePtr1_screen#0 (byte*) main::spritePtr1_screen#1 -(const byte**) screens = { (byte*)(number) $400, (byte*)(number) $1400 } +(const byte**) screens[] = { (byte*)(number) $400, (byte*)(number) $1400 } Adding number conversion cast (unumber) 0 in (byte) main::getScreen1_id#0 ← (number) 0 Adding number conversion cast (unumber) $378 in (byte*~) main::spritePtr1_$0 ← (byte*) main::spritePtr1_screen#1 + (number) $378 @@ -400,7 +400,7 @@ FINAL SYMBOL TABLE (byte) main::spritePtr1_return (byte) main::spritePtr1_return#0 reg byte a 4.0 (byte*) main::spritePtr1_screen -(const byte**) screens = { (byte*) 1024, (byte*) 5120 } +(const byte**) screens[] = { (byte*) 1024, (byte*) 5120 } zp[2]:2 [ main::getScreen1_return#0 main::spritePtr1_$0 ] reg byte a [ main::spritePtr1_return#0 ] diff --git a/src/test/ref/cast-not-needed-3.sym b/src/test/ref/cast-not-needed-3.sym index b9ffc79ff..c56ea9e18 100644 --- a/src/test/ref/cast-not-needed-3.sym +++ b/src/test/ref/cast-not-needed-3.sym @@ -14,7 +14,7 @@ (byte) main::spritePtr1_return (byte) main::spritePtr1_return#0 reg byte a 4.0 (byte*) main::spritePtr1_screen -(const byte**) screens = { (byte*) 1024, (byte*) 5120 } +(const byte**) screens[] = { (byte*) 1024, (byte*) 5120 } zp[2]:2 [ main::getScreen1_return#0 main::spritePtr1_$0 ] reg byte a [ main::spritePtr1_return#0 ] diff --git a/src/test/ref/cia-timer-cyclecount.log b/src/test/ref/cia-timer-cyclecount.log index 408fea94c..f9eadf3c9 100644 --- a/src/test/ref/cia-timer-cyclecount.log +++ b/src/test/ref/cia-timer-cyclecount.log @@ -286,7 +286,7 @@ SYMBOL TABLE SSA (dword) print_dword_at::dw#0 (dword) print_dword_at::dw#1 (dword) print_dword_at::dw#2 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at) (byte~) print_word_at::$0 (byte~) print_word_at::$2 @@ -1461,7 +1461,7 @@ FINAL SYMBOL TABLE (byte*) print_dword_at::at (dword) print_dword_at::dw (dword) print_dword_at::dw#0 dw zp[4]:9 5.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at) (label) print_word_at::@1 (label) print_word_at::@return diff --git a/src/test/ref/cia-timer-cyclecount.sym b/src/test/ref/cia-timer-cyclecount.sym index 9ba869372..8895aaacb 100644 --- a/src/test/ref/cia-timer-cyclecount.sym +++ b/src/test/ref/cia-timer-cyclecount.sym @@ -55,7 +55,7 @@ (byte*) print_dword_at::at (dword) print_dword_at::dw (dword) print_dword_at::dw#0 dw zp[4]:9 5.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at) (label) print_word_at::@1 (label) print_word_at::@return diff --git a/src/test/ref/cia-timer-simple.log b/src/test/ref/cia-timer-simple.log index 736579699..6d5b2ca77 100644 --- a/src/test/ref/cia-timer-simple.log +++ b/src/test/ref/cia-timer-simple.log @@ -279,7 +279,7 @@ SYMBOL TABLE SSA (dword) print_dword_at::dw#0 (dword) print_dword_at::dw#1 (dword) print_dword_at::dw#2 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at) (byte~) print_word_at::$0 (byte~) print_word_at::$2 @@ -1368,7 +1368,7 @@ FINAL SYMBOL TABLE (byte*) print_dword_at::at (dword) print_dword_at::dw (dword) print_dword_at::dw#0 dw zp[4]:9 5.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at) (label) print_word_at::@1 (label) print_word_at::@return diff --git a/src/test/ref/cia-timer-simple.sym b/src/test/ref/cia-timer-simple.sym index ad75cbc08..3d57df4ef 100644 --- a/src/test/ref/cia-timer-simple.sym +++ b/src/test/ref/cia-timer-simple.sym @@ -50,7 +50,7 @@ (byte*) print_dword_at::at (dword) print_dword_at::dw (dword) print_dword_at::dw#0 dw zp[4]:9 5.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at) (label) print_word_at::@1 (label) print_word_at::@return diff --git a/src/test/ref/comparison-rewriting.log b/src/test/ref/comparison-rewriting.log index 25d4cec02..71524071c 100644 --- a/src/test/ref/comparison-rewriting.log +++ b/src/test/ref/comparison-rewriting.log @@ -167,7 +167,7 @@ SYMBOL TABLE SSA (label) main::@5 (label) main::@9 (label) main::@return -(const byte*) main::header = (string) " < <= == >= >" +(const byte*) main::header[] = (string) " < <= == >= >" (byte) main::i (byte) main::i#0 (byte) main::i#1 @@ -1021,7 +1021,7 @@ FINAL SYMBOL TABLE (label) main::@8 (label) main::@9 (label) main::@return -(const byte*) main::header = (string) " < <= == >= >" +(const byte*) main::header[] = (string) " < <= == >= >" (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 18.333333333333332 diff --git a/src/test/ref/comparison-rewriting.sym b/src/test/ref/comparison-rewriting.sym index 2c976f2e7..263532c7a 100644 --- a/src/test/ref/comparison-rewriting.sym +++ b/src/test/ref/comparison-rewriting.sym @@ -19,7 +19,7 @@ (label) main::@8 (label) main::@9 (label) main::@return -(const byte*) main::header = (string) " < <= == >= >" +(const byte*) main::header[] = (string) " < <= == >= >" (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 18.333333333333332 diff --git a/src/test/ref/complex/ataritempest/ataritempest.log b/src/test/ref/complex/ataritempest/ataritempest.log index da75d7b17..d56164a66 100644 --- a/src/test/ref/complex/ataritempest/ataritempest.log +++ b/src/test/ref/complex/ataritempest/ataritempest.log @@ -50,9 +50,9 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte*) BGCOL = (byte*)(number) $c01a -(const byte*) MESSAGE = (string) "hello world" -(const byte*) SCREEN = { fill( $32, 0) } -(const void()**) VECTORS = { &interrupt(HARDWARE_ALL)(void()) nmiHandler(), &(void()) entryPoint() } +(const byte*) MESSAGE[] = (string) "hello world" +(const byte*) SCREEN[(number) $32] = { fill( $32, 0) } +(const void()**) VECTORS[] = { &interrupt(HARDWARE_ALL)(void()) nmiHandler(), &(void()) entryPoint() } (void()) entryPoint() (bool~) entryPoint::$0 (label) entryPoint::@1 @@ -408,9 +408,9 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (const byte*) BGCOL = (byte*) 49178 -(const byte*) MESSAGE = (string) "hello world" -(const byte*) SCREEN = { fill( $32, 0) } -(const void()**) VECTORS = { &interrupt(HARDWARE_ALL)(void()) nmiHandler(), &(void()) entryPoint() } +(const byte*) MESSAGE[] = (string) "hello world" +(const byte*) SCREEN[(number) $32] = { fill( $32, 0) } +(const void()**) VECTORS[] = { &interrupt(HARDWARE_ALL)(void()) nmiHandler(), &(void()) entryPoint() } (void()) entryPoint() (label) entryPoint::@1 (label) entryPoint::@return diff --git a/src/test/ref/complex/ataritempest/ataritempest.sym b/src/test/ref/complex/ataritempest/ataritempest.sym index 036ab2490..26f1b7b56 100644 --- a/src/test/ref/complex/ataritempest/ataritempest.sym +++ b/src/test/ref/complex/ataritempest/ataritempest.sym @@ -2,9 +2,9 @@ (label) @begin (label) @end (const byte*) BGCOL = (byte*) 49178 -(const byte*) MESSAGE = (string) "hello world" -(const byte*) SCREEN = { fill( $32, 0) } -(const void()**) VECTORS = { &interrupt(HARDWARE_ALL)(void()) nmiHandler(), &(void()) entryPoint() } +(const byte*) MESSAGE[] = (string) "hello world" +(const byte*) SCREEN[(number) $32] = { fill( $32, 0) } +(const void()**) VECTORS[] = { &interrupt(HARDWARE_ALL)(void()) nmiHandler(), &(void()) entryPoint() } (void()) entryPoint() (label) entryPoint::@1 (label) entryPoint::@return diff --git a/src/test/ref/complex/clearscreen/clearscreen.log b/src/test/ref/complex/clearscreen/clearscreen.log index 43c635c32..333c24ec3 100644 --- a/src/test/ref/complex/clearscreen/clearscreen.log +++ b/src/test/ref/complex/clearscreen/clearscreen.log @@ -1262,7 +1262,7 @@ SYMBOL TABLE SSA (const byte*) CIA1_INTERRUPT = (byte*)(number) $dc0d (const byte) CIA_INTERRUPT_CLEAR = (number) $7f (const byte*) COLS = (byte*)(number) $d800 -(const word*) CORDIC_ATAN2_ANGLES_16 = kickasm {{ .for (var i=0; i>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -8693,7 +8693,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$15 reg byte a 22.0 (byte~) main::$17 reg byte a 22.0 @@ -8829,10 +8829,10 @@ FINAL SYMBOL TABLE (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) prepareBobs() (byte~) prepareBobs::$6 reg byte a 2002.0 (label) prepareBobs::@1 @@ -8885,7 +8885,7 @@ FINAL SYMBOL TABLE (label) progress_inc::@1 (label) progress_inc::@2 (label) progress_inc::@return -(const byte*) progress_inc::progress_chars = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } +(const byte*) progress_inc::progress_chars[] = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } (void()) progress_init((byte*) progress_init::line) (label) progress_init::@return (byte*) progress_init::line diff --git a/src/test/ref/complex/prebob/grid-bobs.sym b/src/test/ref/complex/prebob/grid-bobs.sym index 90c6475ec..3c7d3fb25 100644 --- a/src/test/ref/complex/prebob/grid-bobs.sym +++ b/src/test/ref/complex/prebob/grid-bobs.sym @@ -8,7 +8,7 @@ (const byte) BOB_SHIFTS_X = (number) 4 (const byte) BOB_SHIFTS_Y = (number) 8 (const byte) BOB_SUBTABLE_SIZE = (const byte) BOB_SHIFTS_X*(const byte) BOB_SHIFTS_Y -(const byte*) BOB_TABLES = { fill( 9*8*4, 0) } +(const byte*) BOB_TABLES[(number) 9*(number) 8*(number) 4] = { fill( 9*8*4, 0) } (const byte*) BORDERCOL = (byte*) 53280 (const byte*) CIA1_PORT_A = (byte*) 56320 (const byte*) CIA1_PORT_B = (byte*) 56321 @@ -16,9 +16,9 @@ (const byte*) CIA2_PORT_A_DDR = (byte*) 56578 (const byte*) D018 = (byte*) 53272 (const byte) KEY_SPACE = (number) $3c -(const word*) MUL40 = { fill( $20, 0) } +(const word*) MUL40[(number) $20] = { fill( $20, 0) } (const byte) NUM_BOBS = (number) $19 -(const byte*) PROTO_BOB = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) +(const byte*) PROTO_BOB[(number) 3*(number) 3*(number) 8] = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) .for (var x=0;x<3; x++) .for (var y=0; y<24; y++) .byte pic.getSinglecolorByte(x,y) @@ -28,7 +28,7 @@ (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*) 53266 -(const byte**) RENDERBOB_CLEANUP = { fill( NUM_BOBS, 0) } +(const byte**) RENDERBOB_CLEANUP[(const byte) NUM_BOBS] = { fill( NUM_BOBS, 0) } (const byte) SIZEOF_POINTER = (byte) 2 (byte) bob_charset_next_id (byte) bob_charset_next_id#14 bob_charset_next_id zp[1]:14 12.0 @@ -81,7 +81,7 @@ (byte) keyboard_key_pressed::return#3 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE>>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -89,7 +89,7 @@ (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$15 reg byte a 22.0 (byte~) main::$17 reg byte a 22.0 @@ -225,10 +225,10 @@ (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) prepareBobs() (byte~) prepareBobs::$6 reg byte a 2002.0 (label) prepareBobs::@1 @@ -281,7 +281,7 @@ (label) progress_inc::@1 (label) progress_inc::@2 (label) progress_inc::@return -(const byte*) progress_inc::progress_chars = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } +(const byte*) progress_inc::progress_chars[] = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } (void()) progress_init((byte*) progress_init::line) (label) progress_init::@return (byte*) progress_init::line diff --git a/src/test/ref/complex/prebob/vogel-bobs.log b/src/test/ref/complex/prebob/vogel-bobs.log index b9c21bbbf..a5fd20350 100644 --- a/src/test/ref/complex/prebob/vogel-bobs.log +++ b/src/test/ref/complex/prebob/vogel-bobs.log @@ -1408,7 +1408,7 @@ SYMBOL TABLE SSA (const byte) BOB_SHIFTS_X = (number) 4 (const byte) BOB_SHIFTS_Y = (number) 8 (const byte) BOB_SUBTABLE_SIZE = (const byte) BOB_SHIFTS_X*(const byte) BOB_SHIFTS_Y -(const byte*) BOB_TABLES = { fill( 9*8*4, 0) } +(const byte*) BOB_TABLES[(number) 9*(number) 8*(number) 4] = { fill( 9*8*4, 0) } (const byte*) BORDERCOL = (byte*)(number) $d020 (const byte*) CHARSET_BASIC = (byte*)(number) $1000 (const byte*) CIA1_PORT_A = (byte*)(number) $dc00 @@ -1418,9 +1418,9 @@ SYMBOL TABLE SSA (const signed byte*) COS = (const signed byte*) SIN+(number) $40 (const byte*) D018 = (byte*)(number) $d018 (const byte) KEY_SPACE = (number) $3c -(const word*) MUL40 = { fill( $20, 0) } +(const word*) MUL40[(number) $20] = { fill( $20, 0) } (const byte) NUM_BOBS = (number) $14 -(const byte*) PROTO_BOB = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) +(const byte*) PROTO_BOB[(number) 3*(number) 3*(number) 8] = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) .for (var x=0;x<3; x++) .for (var y=0; y<24; y++) .byte pic.getSinglecolorByte(x,y) @@ -1430,9 +1430,9 @@ SYMBOL TABLE SSA (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*)(number) $d012 -(const byte**) RENDERBOB_CLEANUP = { fill( NUM_BOBS, 0) } +(const byte**) RENDERBOB_CLEANUP[(const byte) NUM_BOBS] = { fill( NUM_BOBS, 0) } (const byte*) SCREEN_BASIC = (byte*)(number) $400 -(const signed byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const signed byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte) SIZEOF_POINTER = (byte) 2 @@ -1633,7 +1633,7 @@ SYMBOL TABLE SSA (byte) keyboard_key_pressed::return#6 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 -(const byte*) keyboard_matrix_col_bitmask = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte~) keyboard_matrix_read::$0 (label) keyboard_matrix_read::@return @@ -1648,7 +1648,7 @@ SYMBOL TABLE SSA (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 (byte) keyboard_matrix_read::rowid#1 -(const byte*) keyboard_matrix_row_bitmask = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } (void()) main() (signed word~) main::$10 (number~) main::$11 @@ -2031,10 +2031,10 @@ SYMBOL TABLE SSA (byte) mulf_init::x_255#3 (byte) mulf_init::x_255#4 (byte) mulf_init::x_255#5 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) prepareBobs() (bool~) prepareBobs::$2 (bool~) prepareBobs::$3 @@ -2270,7 +2270,7 @@ SYMBOL TABLE SSA (label) progress_inc::@1 (label) progress_inc::@2 (label) progress_inc::@return -(const byte*) progress_inc::progress_chars = { (byte)(number) $20, (byte)(number) $65, (byte)(number) $74, (byte)(number) $75, (byte)(number) $61, (byte)(number) $f6, (byte)(number) $e7, (byte)(number) $ea, (byte)(number) $e0 } +(const byte*) progress_inc::progress_chars[] = { (byte)(number) $20, (byte)(number) $65, (byte)(number) $74, (byte)(number) $75, (byte)(number) $61, (byte)(number) $f6, (byte)(number) $e7, (byte)(number) $ea, (byte)(number) $e0 } (void()) progress_init((byte*) progress_init::line) (label) progress_init::@return (byte*) progress_init::line @@ -9483,7 +9483,7 @@ FINAL SYMBOL TABLE (const byte) BOB_SHIFTS_X = (number) 4 (const byte) BOB_SHIFTS_Y = (number) 8 (const byte) BOB_SUBTABLE_SIZE = (const byte) BOB_SHIFTS_X*(const byte) BOB_SHIFTS_Y -(const byte*) BOB_TABLES = { fill( 9*8*4, 0) } +(const byte*) BOB_TABLES[(number) 9*(number) 8*(number) 4] = { fill( 9*8*4, 0) } (const byte*) BORDERCOL = (byte*) 53280 (const byte*) CHARSET_BASIC = (byte*) 4096 (const byte*) CIA1_PORT_A = (byte*) 56320 @@ -9493,9 +9493,9 @@ FINAL SYMBOL TABLE (const signed byte*) COS = (const signed byte*) SIN+(byte) $40 (const byte*) D018 = (byte*) 53272 (const byte) KEY_SPACE = (number) $3c -(const word*) MUL40 = { fill( $20, 0) } +(const word*) MUL40[(number) $20] = { fill( $20, 0) } (const byte) NUM_BOBS = (number) $14 -(const byte*) PROTO_BOB = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) +(const byte*) PROTO_BOB[(number) 3*(number) 3*(number) 8] = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) .for (var x=0;x<3; x++) .for (var y=0; y<24; y++) .byte pic.getSinglecolorByte(x,y) @@ -9505,9 +9505,9 @@ FINAL SYMBOL TABLE (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*) 53266 -(const byte**) RENDERBOB_CLEANUP = { fill( NUM_BOBS, 0) } +(const byte**) RENDERBOB_CLEANUP[(const byte) NUM_BOBS] = { fill( NUM_BOBS, 0) } (const byte*) SCREEN_BASIC = (byte*) 1024 -(const signed byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const signed byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte) SIZEOF_POINTER = (byte) 2 @@ -9561,7 +9561,7 @@ FINAL SYMBOL TABLE (byte) keyboard_key_pressed::return#3 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE>>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -9569,7 +9569,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (signed word~) main::$10 zp[2]:11 202.0 (signed word~) main::$12 zp[2]:11 202.0 @@ -9747,10 +9747,10 @@ FINAL SYMBOL TABLE (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) prepareBobs() (byte~) prepareBobs::$6 reg byte a 2002.0 (label) prepareBobs::@1 @@ -9803,7 +9803,7 @@ FINAL SYMBOL TABLE (label) progress_inc::@1 (label) progress_inc::@2 (label) progress_inc::@return -(const byte*) progress_inc::progress_chars = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } +(const byte*) progress_inc::progress_chars[] = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } (void()) progress_init((byte*) progress_init::line) (label) progress_init::@return (byte*) progress_init::line diff --git a/src/test/ref/complex/prebob/vogel-bobs.sym b/src/test/ref/complex/prebob/vogel-bobs.sym index a9f318f62..ba7e7d648 100644 --- a/src/test/ref/complex/prebob/vogel-bobs.sym +++ b/src/test/ref/complex/prebob/vogel-bobs.sym @@ -6,7 +6,7 @@ (const byte) BOB_SHIFTS_X = (number) 4 (const byte) BOB_SHIFTS_Y = (number) 8 (const byte) BOB_SUBTABLE_SIZE = (const byte) BOB_SHIFTS_X*(const byte) BOB_SHIFTS_Y -(const byte*) BOB_TABLES = { fill( 9*8*4, 0) } +(const byte*) BOB_TABLES[(number) 9*(number) 8*(number) 4] = { fill( 9*8*4, 0) } (const byte*) BORDERCOL = (byte*) 53280 (const byte*) CHARSET_BASIC = (byte*) 4096 (const byte*) CIA1_PORT_A = (byte*) 56320 @@ -16,9 +16,9 @@ (const signed byte*) COS = (const signed byte*) SIN+(byte) $40 (const byte*) D018 = (byte*) 53272 (const byte) KEY_SPACE = (number) $3c -(const word*) MUL40 = { fill( $20, 0) } +(const word*) MUL40[(number) $20] = { fill( $20, 0) } (const byte) NUM_BOBS = (number) $14 -(const byte*) PROTO_BOB = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) +(const byte*) PROTO_BOB[(number) 3*(number) 3*(number) 8] = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) .for (var x=0;x<3; x++) .for (var y=0; y<24; y++) .byte pic.getSinglecolorByte(x,y) @@ -28,9 +28,9 @@ (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*) 53266 -(const byte**) RENDERBOB_CLEANUP = { fill( NUM_BOBS, 0) } +(const byte**) RENDERBOB_CLEANUP[(const byte) NUM_BOBS] = { fill( NUM_BOBS, 0) } (const byte*) SCREEN_BASIC = (byte*) 1024 -(const signed byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const signed byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte) SIZEOF_POINTER = (byte) 2 @@ -84,7 +84,7 @@ (byte) keyboard_key_pressed::return#3 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE>>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -92,7 +92,7 @@ (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (signed word~) main::$10 zp[2]:11 202.0 (signed word~) main::$12 zp[2]:11 202.0 @@ -270,10 +270,10 @@ (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) prepareBobs() (byte~) prepareBobs::$6 reg byte a 2002.0 (label) prepareBobs::@1 @@ -326,7 +326,7 @@ (label) progress_inc::@1 (label) progress_inc::@2 (label) progress_inc::@return -(const byte*) progress_inc::progress_chars = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } +(const byte*) progress_inc::progress_chars[] = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } (void()) progress_init((byte*) progress_init::line) (label) progress_init::@return (byte*) progress_init::line diff --git a/src/test/ref/complex/prebob/vogel-sprites.log b/src/test/ref/complex/prebob/vogel-sprites.log index 6c04e0706..ff18c05ed 100644 --- a/src/test/ref/complex/prebob/vogel-sprites.log +++ b/src/test/ref/complex/prebob/vogel-sprites.log @@ -1040,8 +1040,8 @@ SYMBOL TABLE SSA (const byte) KEY_SPACE = (number) $3c (const byte) NUM_BOBS = (number) $10 (const byte) PLEX_COUNT = (number) $20 -(const byte*) PLEX_FREE_YPOS = { fill( 8, 0) } -(const byte*) PLEX_PTR = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_FREE_YPOS[(number) 8] = { fill( 8, 0) } +(const byte*) PLEX_PTR[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (byte*) PLEX_SCREEN_PTR (byte*) PLEX_SCREEN_PTR#0 (byte*) PLEX_SCREEN_PTR#1 @@ -1094,16 +1094,16 @@ SYMBOL TABLE SSA (byte*) PLEX_SCREEN_PTR#7 (byte*) PLEX_SCREEN_PTR#8 (byte*) PLEX_SCREEN_PTR#9 -(const byte*) PLEX_SORTED_IDX = { fill( PLEX_COUNT, 0) } -(const word*) PLEX_XPOS = { fill( PLEX_COUNT, 0) } -(const byte*) PLEX_YPOS = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_SORTED_IDX[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const word*) PLEX_XPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_YPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (const byte*) RASTER = (byte*)(number) $d012 (const byte*) SCREEN = (byte*)(number) $400 -(const signed byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const signed byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte) SIZEOF_WORD = (byte) 2 -(const byte*) SPRITE = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) +(const byte*) SPRITE[] = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) .for (var y=0; y<21; y++) .for (var x=0;x<3; x++) .byte pic.getSinglecolorByte(x,y) @@ -1170,7 +1170,7 @@ SYMBOL TABLE SSA (byte) keyboard_key_pressed::return#6 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 -(const byte*) keyboard_matrix_col_bitmask = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte~) keyboard_matrix_read::$0 (label) keyboard_matrix_read::@return @@ -1185,7 +1185,7 @@ SYMBOL TABLE SSA (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 (byte) keyboard_matrix_read::rowid#1 -(const byte*) keyboard_matrix_row_bitmask = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } (void()) loop() (bool~) loop::$0 (signed word~) loop::$1 @@ -1513,10 +1513,10 @@ SYMBOL TABLE SSA (byte) mulf_init::x_255#3 (byte) mulf_init::x_255#4 (byte) mulf_init::x_255#5 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) plexInit((byte*) plexInit::screen) (bool~) plexInit::$1 (label) plexInit::@1 @@ -7072,19 +7072,19 @@ FINAL SYMBOL TABLE (const byte) KEY_SPACE = (number) $3c (const byte) NUM_BOBS = (number) $10 (const byte) PLEX_COUNT = (number) $20 -(const byte*) PLEX_FREE_YPOS = { fill( 8, 0) } -(const byte*) PLEX_PTR = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_FREE_YPOS[(number) 8] = { fill( 8, 0) } +(const byte*) PLEX_PTR[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (byte*) PLEX_SCREEN_PTR (const byte*) PLEX_SCREEN_PTR#1 PLEX_SCREEN_PTR = (const byte*) SCREEN+(word) $3f8 -(const byte*) PLEX_SORTED_IDX = { fill( PLEX_COUNT, 0) } -(const word*) PLEX_XPOS = { fill( PLEX_COUNT, 0) } -(const byte*) PLEX_YPOS = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_SORTED_IDX[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const word*) PLEX_XPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_YPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const signed byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const signed byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} -(const byte*) SPRITE = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) +(const byte*) SPRITE[] = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) .for (var y=0; y<21; y++) .for (var x=0;x<3; x++) .byte pic.getSinglecolorByte(x,y) @@ -7134,7 +7134,7 @@ FINAL SYMBOL TABLE (byte) keyboard_key_pressed::return#3 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE>>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -7142,7 +7142,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) loop() (signed word~) loop::$1 zp[2]:7 202.0 (byte~) loop::$11 reg byte a 202.0 @@ -7311,10 +7311,10 @@ FINAL SYMBOL TABLE (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) plexInit((byte*) plexInit::screen) (label) plexInit::@1 (label) plexInit::@return diff --git a/src/test/ref/complex/prebob/vogel-sprites.sym b/src/test/ref/complex/prebob/vogel-sprites.sym index 87ef1b590..3e434f145 100644 --- a/src/test/ref/complex/prebob/vogel-sprites.sym +++ b/src/test/ref/complex/prebob/vogel-sprites.sym @@ -11,19 +11,19 @@ (const byte) KEY_SPACE = (number) $3c (const byte) NUM_BOBS = (number) $10 (const byte) PLEX_COUNT = (number) $20 -(const byte*) PLEX_FREE_YPOS = { fill( 8, 0) } -(const byte*) PLEX_PTR = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_FREE_YPOS[(number) 8] = { fill( 8, 0) } +(const byte*) PLEX_PTR[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (byte*) PLEX_SCREEN_PTR (const byte*) PLEX_SCREEN_PTR#1 PLEX_SCREEN_PTR = (const byte*) SCREEN+(word) $3f8 -(const byte*) PLEX_SORTED_IDX = { fill( PLEX_COUNT, 0) } -(const word*) PLEX_XPOS = { fill( PLEX_COUNT, 0) } -(const byte*) PLEX_YPOS = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_SORTED_IDX[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const word*) PLEX_XPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_YPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const signed byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const signed byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} -(const byte*) SPRITE = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) +(const byte*) SPRITE[] = kickasm {{ .var pic = LoadPicture("smiley.png", List().add($000000, $ffffff)) .for (var y=0; y<21; y++) .for (var x=0;x<3; x++) .byte pic.getSinglecolorByte(x,y) @@ -73,7 +73,7 @@ (byte) keyboard_key_pressed::return#3 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE>>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -81,7 +81,7 @@ (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) loop() (signed word~) loop::$1 zp[2]:7 202.0 (byte~) loop::$11 reg byte a 202.0 @@ -250,10 +250,10 @@ (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) plexInit((byte*) plexInit::screen) (label) plexInit::@1 (label) plexInit::@return diff --git a/src/test/ref/complex/splines/truetype-splines.log b/src/test/ref/complex/splines/truetype-splines.log index 8e0514716..36bd90097 100644 --- a/src/test/ref/complex/splines/truetype-splines.log +++ b/src/test/ref/complex/splines/truetype-splines.log @@ -1735,12 +1735,12 @@ SYMBOL TABLE SSA (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*)(number) $d012 -(const signed byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const signed byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte) SIZEOF_STRUCT_SEGMENT = (byte) 9 (const byte) SIZEOF_STRUCT_SPLINEVECTOR16 = (byte) 4 -(const struct SplineVector16*) SPLINE_8SEG = { fill( 9, 0) } +(const struct SplineVector16*) SPLINE_8SEG[(number) 9] = { fill( 9, 0) } (const byte) SPLINE_TO = (byte) 1 (const byte) Segment::SegmentType::LINE_TO = (byte) 2 (const byte) Segment::SegmentType::MOVE_TO = (byte) 0 @@ -2115,7 +2115,7 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y#2 (byte) bitmap_plot::y#3 (byte) bitmap_plot::y#4 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } (void()) bitmap_plot_spline_8seg() (word~) bitmap_plot_spline_8seg::$0 (word~) bitmap_plot_spline_8seg::$1 @@ -2148,8 +2148,8 @@ SYMBOL TABLE SSA (byte) bitmap_plot_spline_8seg::n#1 (byte) bitmap_plot_spline_8seg::n#2 (byte) bitmap_plot_spline_8seg::n#3 -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (byte*) bitmap_screen#0 (byte*) bitmap_screen#1 @@ -2191,7 +2191,7 @@ SYMBOL TABLE SSA (byte*) bitmap_screen#7 (byte*) bitmap_screen#8 (byte*) bitmap_screen#9 -(const struct Segment*) letter_c = { { type: (const byte) MOVE_TO, to: { x: (signed word)(number) $6c, y: (signed word)(number) $92 }, via: { x: (signed word)(number) 0, y: (signed word)(number) 0 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $59, y: (signed word)(number) $b6 }, via: { x: (signed word)(number) $67, y: (signed word)(number) $a9 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $3b, y: (signed word)(number) $c3 }, via: { x: (signed word)(number) $4b, y: (signed word)(number) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $17, y: (signed word)(number) $b2 }, via: { x: (signed word)(number) $26, y: (signed word)(number) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) 9, y: (signed word)(number) $84 }, via: { x: (signed word)(number) 9, y: (signed word)(number) $a1 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $19, y: (signed word)(number) $57 }, via: { x: (signed word)(number) 9, y: (signed word)(number) $68 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $41, y: (signed word)(number) $45 }, via: { x: (signed word)(number) $2a, y: (signed word)(number) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $5d, y: (signed word)(number) $4f }, via: { x: (signed word)(number) $52, y: (signed word)(number) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $69, y: (signed word)(number) $62 }, via: { x: (signed word)(number) $69, y: (signed word)(number) $58 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $66, y: (signed word)(number) $6a }, via: { x: (signed word)(number) $69, y: (signed word)(number) $67 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $5d, y: (signed word)(number) $6d }, via: { x: (signed word)(number) $62, y: (signed word)(number) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $51, y: (signed word)(number) $68 }, via: { x: (signed word)(number) $55, y: (signed word)(number) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $4e, y: (signed word)(number) $5d }, via: { x: (signed word)(number) $4f, y: (signed word)(number) $65 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $49, y: (signed word)(number) $52 }, via: { x: (signed word)(number) $4e, y: (signed word)(number) $56 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $3d, y: (signed word)(number) $4e }, via: { x: (signed word)(number) $45, y: (signed word)(number) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $28, y: (signed word)(number) $58 }, via: { x: (signed word)(number) $30, y: (signed word)(number) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $1d, y: (signed word)(number) $79 }, via: { x: (signed word)(number) $1d, y: (signed word)(number) $64 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $28, y: (signed word)(number) $9e }, via: { x: (signed word)(number) $1d, y: (signed word)(number) $8e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $44, y: (signed word)(number) $ae }, via: { x: (signed word)(number) $32, y: (signed word)(number) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $5b, y: (signed word)(number) $a6 }, via: { x: (signed word)(number) $50, y: (signed word)(number) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $68, y: (signed word)(number) $90 }, via: { x: (signed word)(number) $62, y: (signed word)(number) $a0 } }, { type: (const byte) LINE_TO, to: { x: (signed word)(number) $6c, y: (signed word)(number) $92 }, via: { x: (signed word)(number) 0, y: (signed word)(number) 0 } } } +(const struct Segment*) letter_c[(number) $16] = { { type: (const byte) MOVE_TO, to: { x: (signed word)(number) $6c, y: (signed word)(number) $92 }, via: { x: (signed word)(number) 0, y: (signed word)(number) 0 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $59, y: (signed word)(number) $b6 }, via: { x: (signed word)(number) $67, y: (signed word)(number) $a9 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $3b, y: (signed word)(number) $c3 }, via: { x: (signed word)(number) $4b, y: (signed word)(number) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $17, y: (signed word)(number) $b2 }, via: { x: (signed word)(number) $26, y: (signed word)(number) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) 9, y: (signed word)(number) $84 }, via: { x: (signed word)(number) 9, y: (signed word)(number) $a1 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $19, y: (signed word)(number) $57 }, via: { x: (signed word)(number) 9, y: (signed word)(number) $68 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $41, y: (signed word)(number) $45 }, via: { x: (signed word)(number) $2a, y: (signed word)(number) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $5d, y: (signed word)(number) $4f }, via: { x: (signed word)(number) $52, y: (signed word)(number) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $69, y: (signed word)(number) $62 }, via: { x: (signed word)(number) $69, y: (signed word)(number) $58 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $66, y: (signed word)(number) $6a }, via: { x: (signed word)(number) $69, y: (signed word)(number) $67 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $5d, y: (signed word)(number) $6d }, via: { x: (signed word)(number) $62, y: (signed word)(number) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $51, y: (signed word)(number) $68 }, via: { x: (signed word)(number) $55, y: (signed word)(number) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $4e, y: (signed word)(number) $5d }, via: { x: (signed word)(number) $4f, y: (signed word)(number) $65 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $49, y: (signed word)(number) $52 }, via: { x: (signed word)(number) $4e, y: (signed word)(number) $56 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $3d, y: (signed word)(number) $4e }, via: { x: (signed word)(number) $45, y: (signed word)(number) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $28, y: (signed word)(number) $58 }, via: { x: (signed word)(number) $30, y: (signed word)(number) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $1d, y: (signed word)(number) $79 }, via: { x: (signed word)(number) $1d, y: (signed word)(number) $64 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $28, y: (signed word)(number) $9e }, via: { x: (signed word)(number) $1d, y: (signed word)(number) $8e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $44, y: (signed word)(number) $ae }, via: { x: (signed word)(number) $32, y: (signed word)(number) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $5b, y: (signed word)(number) $a6 }, via: { x: (signed word)(number) $50, y: (signed word)(number) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word)(number) $68, y: (signed word)(number) $90 }, via: { x: (signed word)(number) $62, y: (signed word)(number) $a0 } }, { type: (const byte) LINE_TO, to: { x: (signed word)(number) $6c, y: (signed word)(number) $92 }, via: { x: (signed word)(number) 0, y: (signed word)(number) 0 } } } (void()) main() (byte~) main::$4 (bool~) main::$7 @@ -2483,10 +2483,10 @@ SYMBOL TABLE SSA (byte) mulf_init::x_255#3 (byte) mulf_init::x_255#4 (byte) mulf_init::x_255#5 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle) (signed word~) rotate::$0 (signed dword~) rotate::$1 @@ -11880,11 +11880,11 @@ FINAL SYMBOL TABLE (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*) 53266 -(const signed byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const signed byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte) SIZEOF_STRUCT_SPLINEVECTOR16 = (byte) 4 -(const struct SplineVector16*) SPLINE_8SEG = { fill( 9, 0) } +(const struct SplineVector16*) SPLINE_8SEG[(number) 9] = { fill( 9, 0) } (const byte) SPLINE_TO = (byte) 1 (const byte) Segment::SegmentType::LINE_TO = (byte) 2 (const byte) Segment::SegmentType::MOVE_TO = (byte) 0 @@ -12039,7 +12039,7 @@ FINAL SYMBOL TABLE (byte) bitmap_plot::y#2 reg byte x 2.0 (byte) bitmap_plot::y#3 reg byte x 1001.0 (byte) bitmap_plot::y#4 reg byte x 2010.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } (void()) bitmap_plot_spline_8seg() (byte~) bitmap_plot_spline_8seg::$8 reg byte x 500.5 (byte~) bitmap_plot_spline_8seg::$9 reg byte x 1501.5 @@ -12057,10 +12057,10 @@ FINAL SYMBOL TABLE (byte) bitmap_plot_spline_8seg::n (byte) bitmap_plot_spline_8seg::n#1 n zp[1]:36 1501.5 (byte) bitmap_plot_spline_8seg::n#2 n zp[1]:36 400.4 -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen -(const struct Segment*) letter_c = { { type: (const byte) MOVE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $59, y: (signed word) $b6 }, via: { x: (signed word) $67, y: (signed word) $a9 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3b, y: (signed word) $c3 }, via: { x: (signed word) $4b, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $17, y: (signed word) $b2 }, via: { x: (signed word) $26, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) 9, y: (signed word) $84 }, via: { x: (signed word) 9, y: (signed word) $a1 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $19, y: (signed word) $57 }, via: { x: (signed word) 9, y: (signed word) $68 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $41, y: (signed word) $45 }, via: { x: (signed word) $2a, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $4f }, via: { x: (signed word) $52, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $69, y: (signed word) $62 }, via: { x: (signed word) $69, y: (signed word) $58 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $66, y: (signed word) $6a }, via: { x: (signed word) $69, y: (signed word) $67 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $6d }, via: { x: (signed word) $62, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $51, y: (signed word) $68 }, via: { x: (signed word) $55, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $4e, y: (signed word) $5d }, via: { x: (signed word) $4f, y: (signed word) $65 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $49, y: (signed word) $52 }, via: { x: (signed word) $4e, y: (signed word) $56 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3d, y: (signed word) $4e }, via: { x: (signed word) $45, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $58 }, via: { x: (signed word) $30, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $1d, y: (signed word) $79 }, via: { x: (signed word) $1d, y: (signed word) $64 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $9e }, via: { x: (signed word) $1d, y: (signed word) $8e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $44, y: (signed word) $ae }, via: { x: (signed word) $32, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5b, y: (signed word) $a6 }, via: { x: (signed word) $50, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $68, y: (signed word) $90 }, via: { x: (signed word) $62, y: (signed word) $a0 } }, { type: (const byte) LINE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } } } +(const struct Segment*) letter_c[(number) $16] = { { type: (const byte) MOVE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $59, y: (signed word) $b6 }, via: { x: (signed word) $67, y: (signed word) $a9 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3b, y: (signed word) $c3 }, via: { x: (signed word) $4b, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $17, y: (signed word) $b2 }, via: { x: (signed word) $26, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) 9, y: (signed word) $84 }, via: { x: (signed word) 9, y: (signed word) $a1 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $19, y: (signed word) $57 }, via: { x: (signed word) 9, y: (signed word) $68 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $41, y: (signed word) $45 }, via: { x: (signed word) $2a, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $4f }, via: { x: (signed word) $52, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $69, y: (signed word) $62 }, via: { x: (signed word) $69, y: (signed word) $58 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $66, y: (signed word) $6a }, via: { x: (signed word) $69, y: (signed word) $67 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $6d }, via: { x: (signed word) $62, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $51, y: (signed word) $68 }, via: { x: (signed word) $55, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $4e, y: (signed word) $5d }, via: { x: (signed word) $4f, y: (signed word) $65 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $49, y: (signed word) $52 }, via: { x: (signed word) $4e, y: (signed word) $56 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3d, y: (signed word) $4e }, via: { x: (signed word) $45, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $58 }, via: { x: (signed word) $30, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $1d, y: (signed word) $79 }, via: { x: (signed word) $1d, y: (signed word) $64 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $9e }, via: { x: (signed word) $1d, y: (signed word) $8e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $44, y: (signed word) $ae }, via: { x: (signed word) $32, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5b, y: (signed word) $a6 }, via: { x: (signed word) $50, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $68, y: (signed word) $90 }, via: { x: (signed word) $62, y: (signed word) $a0 } }, { type: (const byte) LINE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } } } (void()) main() (label) main::@1 (label) main::@10 @@ -12199,10 +12199,10 @@ FINAL SYMBOL TABLE (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle) (signed dword~) rotate::$1 zp[4]:8 2.0 (signed word~) rotate::$10 zp[2]:28 4.0 diff --git a/src/test/ref/complex/splines/truetype-splines.sym b/src/test/ref/complex/splines/truetype-splines.sym index 156d77c3d..83eff09e5 100644 --- a/src/test/ref/complex/splines/truetype-splines.sym +++ b/src/test/ref/complex/splines/truetype-splines.sym @@ -18,11 +18,11 @@ (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*) 53266 -(const signed byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const signed byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte) SIZEOF_STRUCT_SPLINEVECTOR16 = (byte) 4 -(const struct SplineVector16*) SPLINE_8SEG = { fill( 9, 0) } +(const struct SplineVector16*) SPLINE_8SEG[(number) 9] = { fill( 9, 0) } (const byte) SPLINE_TO = (byte) 1 (const byte) Segment::SegmentType::LINE_TO = (byte) 2 (const byte) Segment::SegmentType::MOVE_TO = (byte) 0 @@ -177,7 +177,7 @@ (byte) bitmap_plot::y#2 reg byte x 2.0 (byte) bitmap_plot::y#3 reg byte x 1001.0 (byte) bitmap_plot::y#4 reg byte x 2010.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } (void()) bitmap_plot_spline_8seg() (byte~) bitmap_plot_spline_8seg::$8 reg byte x 500.5 (byte~) bitmap_plot_spline_8seg::$9 reg byte x 1501.5 @@ -195,10 +195,10 @@ (byte) bitmap_plot_spline_8seg::n (byte) bitmap_plot_spline_8seg::n#1 n zp[1]:36 1501.5 (byte) bitmap_plot_spline_8seg::n#2 n zp[1]:36 400.4 -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen -(const struct Segment*) letter_c = { { type: (const byte) MOVE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $59, y: (signed word) $b6 }, via: { x: (signed word) $67, y: (signed word) $a9 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3b, y: (signed word) $c3 }, via: { x: (signed word) $4b, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $17, y: (signed word) $b2 }, via: { x: (signed word) $26, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) 9, y: (signed word) $84 }, via: { x: (signed word) 9, y: (signed word) $a1 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $19, y: (signed word) $57 }, via: { x: (signed word) 9, y: (signed word) $68 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $41, y: (signed word) $45 }, via: { x: (signed word) $2a, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $4f }, via: { x: (signed word) $52, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $69, y: (signed word) $62 }, via: { x: (signed word) $69, y: (signed word) $58 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $66, y: (signed word) $6a }, via: { x: (signed word) $69, y: (signed word) $67 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $6d }, via: { x: (signed word) $62, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $51, y: (signed word) $68 }, via: { x: (signed word) $55, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $4e, y: (signed word) $5d }, via: { x: (signed word) $4f, y: (signed word) $65 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $49, y: (signed word) $52 }, via: { x: (signed word) $4e, y: (signed word) $56 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3d, y: (signed word) $4e }, via: { x: (signed word) $45, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $58 }, via: { x: (signed word) $30, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $1d, y: (signed word) $79 }, via: { x: (signed word) $1d, y: (signed word) $64 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $9e }, via: { x: (signed word) $1d, y: (signed word) $8e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $44, y: (signed word) $ae }, via: { x: (signed word) $32, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5b, y: (signed word) $a6 }, via: { x: (signed word) $50, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $68, y: (signed word) $90 }, via: { x: (signed word) $62, y: (signed word) $a0 } }, { type: (const byte) LINE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } } } +(const struct Segment*) letter_c[(number) $16] = { { type: (const byte) MOVE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $59, y: (signed word) $b6 }, via: { x: (signed word) $67, y: (signed word) $a9 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3b, y: (signed word) $c3 }, via: { x: (signed word) $4b, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $17, y: (signed word) $b2 }, via: { x: (signed word) $26, y: (signed word) $c3 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) 9, y: (signed word) $84 }, via: { x: (signed word) 9, y: (signed word) $a1 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $19, y: (signed word) $57 }, via: { x: (signed word) 9, y: (signed word) $68 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $41, y: (signed word) $45 }, via: { x: (signed word) $2a, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $4f }, via: { x: (signed word) $52, y: (signed word) $45 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $69, y: (signed word) $62 }, via: { x: (signed word) $69, y: (signed word) $58 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $66, y: (signed word) $6a }, via: { x: (signed word) $69, y: (signed word) $67 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5d, y: (signed word) $6d }, via: { x: (signed word) $62, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $51, y: (signed word) $68 }, via: { x: (signed word) $55, y: (signed word) $6d } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $4e, y: (signed word) $5d }, via: { x: (signed word) $4f, y: (signed word) $65 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $49, y: (signed word) $52 }, via: { x: (signed word) $4e, y: (signed word) $56 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $3d, y: (signed word) $4e }, via: { x: (signed word) $45, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $58 }, via: { x: (signed word) $30, y: (signed word) $4e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $1d, y: (signed word) $79 }, via: { x: (signed word) $1d, y: (signed word) $64 } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $28, y: (signed word) $9e }, via: { x: (signed word) $1d, y: (signed word) $8e } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $44, y: (signed word) $ae }, via: { x: (signed word) $32, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $5b, y: (signed word) $a6 }, via: { x: (signed word) $50, y: (signed word) $ae } }, { type: (const byte) SPLINE_TO, to: { x: (signed word) $68, y: (signed word) $90 }, via: { x: (signed word) $62, y: (signed word) $a0 } }, { type: (const byte) LINE_TO, to: { x: (signed word) $6c, y: (signed word) $92 }, via: { x: (signed word) 0, y: (signed word) 0 } } } (void()) main() (label) main::@1 (label) main::@10 @@ -337,10 +337,10 @@ (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (struct SplineVector16()) rotate((signed word) rotate::vector_x , (signed word) rotate::vector_y , (byte) rotate::angle) (signed dword~) rotate::$1 zp[4]:8 2.0 (signed word~) rotate::$10 zp[2]:28 4.0 diff --git a/src/test/ref/complex/tetris/test-sprites.log b/src/test/ref/complex/tetris/test-sprites.log index 2f4ecdec9..9021310f1 100644 --- a/src/test/ref/complex/tetris/test-sprites.log +++ b/src/test/ref/complex/tetris/test-sprites.log @@ -516,7 +516,7 @@ SYMBOL TABLE SSA (const byte) PROCPORT_DDR_MEMORY_MASK = (number) 7 (const byte) PROCPORT_RAM_IO = (number) 5 (const byte*) RASTER = (byte*)(number) $d012 -(const byte*) SIN = kickasm {{ .var AMPL = 200-21 +(const byte*) SIN[(number) $100] = kickasm {{ .var AMPL = 200-21 .for(var i=0; i<256; i++) { .byte 51+AMPL/2+sin(toRadians([i*360]/256))*AMPL/2 } @@ -3501,7 +3501,7 @@ FINAL SYMBOL TABLE (const byte) PROCPORT_DDR_MEMORY_MASK = (number) 7 (const byte) PROCPORT_RAM_IO = (number) 5 (const byte*) RASTER = (byte*) 53266 -(const byte*) SIN = kickasm {{ .var AMPL = 200-21 +(const byte*) SIN[(number) $100] = kickasm {{ .var AMPL = 200-21 .for(var i=0; i<256; i++) { .byte 51+AMPL/2+sin(toRadians([i*360]/256))*AMPL/2 } diff --git a/src/test/ref/complex/tetris/test-sprites.sym b/src/test/ref/complex/tetris/test-sprites.sym index b1ff4026c..6075c4d6a 100644 --- a/src/test/ref/complex/tetris/test-sprites.sym +++ b/src/test/ref/complex/tetris/test-sprites.sym @@ -27,7 +27,7 @@ (const byte) PROCPORT_DDR_MEMORY_MASK = (number) 7 (const byte) PROCPORT_RAM_IO = (number) 5 (const byte*) RASTER = (byte*) 53266 -(const byte*) SIN = kickasm {{ .var AMPL = 200-21 +(const byte*) SIN[(number) $100] = kickasm {{ .var AMPL = 200-21 .for(var i=0; i<256; i++) { .byte 51+AMPL/2+sin(toRadians([i*360]/256))*AMPL/2 } diff --git a/src/test/ref/complex/tetris/tetris.log b/src/test/ref/complex/tetris/tetris.log index efd33e26c..5ba96f2bc 100644 --- a/src/test/ref/complex/tetris/tetris.log +++ b/src/test/ref/complex/tetris/tetris.log @@ -3632,22 +3632,22 @@ SYMBOL TABLE SSA (const byte) KEY_Z = (number) $c (const byte) LIGHT_BLUE = (number) $e (const byte) LIGHT_GREEN = (number) $d -(const byte*) MOVEDOWN_SLOW_SPEEDS = { (byte)(number) $30, (byte)(number) $2b, (byte)(number) $26, (byte)(number) $21, (byte)(number) $1c, (byte)(number) $17, (byte)(number) $12, (byte)(number) $d, (byte)(number) 8, (byte)(number) 6, (byte)(number) 5, (byte)(number) 5, (byte)(number) 5, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 3, (byte)(number) 3, (byte)(number) 3, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 1 } +(const byte*) MOVEDOWN_SLOW_SPEEDS[] = { (byte)(number) $30, (byte)(number) $2b, (byte)(number) $26, (byte)(number) $21, (byte)(number) $1c, (byte)(number) $17, (byte)(number) $12, (byte)(number) $d, (byte)(number) 8, (byte)(number) 6, (byte)(number) 5, (byte)(number) 5, (byte)(number) 5, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 3, (byte)(number) 3, (byte)(number) 3, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 2, (byte)(number) 1 } (const byte) ORANGE = (number) 8 -(const word*) PIECES = { (word)(const byte*) PIECE_T, (word)(const byte*) PIECE_S, (word)(const byte*) PIECE_Z, (word)(const byte*) PIECE_J, (word)(const byte*) PIECE_O, (word)(const byte*) PIECE_I, (word)(const byte*) PIECE_L } -(const byte*) PIECES_CHARS = { (byte)(number) $65, (byte)(number) $66, (byte)(number) $a6, (byte)(number) $66, (byte)(number) $65, (byte)(number) $65, (byte)(number) $a6 } -(const byte*) PIECES_COLORS_1 = { (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED } -(const byte*) PIECES_COLORS_2 = { (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE } -(const byte*) PIECES_NEXT_CHARS = { (byte)(number) $63, (byte)(number) $64, (byte)(number) $a4, (byte)(number) $64, (byte)(number) $63, (byte)(number) $63, (byte)(number) $a4 } -(const byte*) PIECES_START_X = { (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4 } -(const byte*) PIECES_START_Y = { (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1 } -(const byte*) PIECE_I = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0 } -(const byte*) PIECE_J = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) PIECE_L = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) PIECE_O = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) PIECE_S = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) PIECE_T = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) PIECE_Z = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const word*) PIECES[] = { (word)(const byte*) PIECE_T, (word)(const byte*) PIECE_S, (word)(const byte*) PIECE_Z, (word)(const byte*) PIECE_J, (word)(const byte*) PIECE_O, (word)(const byte*) PIECE_I, (word)(const byte*) PIECE_L } +(const byte*) PIECES_CHARS[] = { (byte)(number) $65, (byte)(number) $66, (byte)(number) $a6, (byte)(number) $66, (byte)(number) $65, (byte)(number) $65, (byte)(number) $a6 } +(const byte*) PIECES_COLORS_1[] = { (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED } +(const byte*) PIECES_COLORS_2[] = { (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE } +(const byte*) PIECES_NEXT_CHARS[] = { (byte)(number) $63, (byte)(number) $64, (byte)(number) $a4, (byte)(number) $64, (byte)(number) $63, (byte)(number) $63, (byte)(number) $a4 } +(const byte*) PIECES_START_X[] = { (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4, (byte)(number) 4 } +(const byte*) PIECES_START_Y[] = { (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1 } +(const byte*) PIECE_I[(number) 4*(number) 4*(number) 4] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0 } +(const byte*) PIECE_J[(number) 4*(number) 4*(number) 4] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) PIECE_L[(number) 4*(number) 4*(number) 4] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) PIECE_O[(number) 4*(number) 4*(number) 4] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) PIECE_S[(number) 4*(number) 4*(number) 4] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) PIECE_T[(number) 4*(number) 4*(number) 4] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) PIECE_Z[(number) 4*(number) 4*(number) 4] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } (const byte) PINK = (number) $a (const byte*) PLAYFIELD_CHARSET = (byte*)(number) $2800 (const byte*) PLAYFIELD_COLORS_ORIGINAL = (byte*)(number) $1c00 @@ -3666,7 +3666,7 @@ SYMBOL TABLE SSA (const byte) PURPLE = (number) 4 (const byte*) RASTER = (byte*)(number) $d012 (const byte) RED = (number) 2 -(const dword*) SCORE_BASE_BCD = { (dword)(number) 0, (dword)(number) $40, (dword)(number) $100, (dword)(number) $300, (dword)(number) $1200 } +(const dword*) SCORE_BASE_BCD[] = { (dword)(number) 0, (dword)(number) $40, (dword)(number) $100, (dword)(number) $300, (dword)(number) $1200 } (const byte) SID_CONTROL_NOISE = (number) $80 (const byte*) SID_VOICE3_CONTROL = (byte*)(number) $d412 (const word*) SID_VOICE3_FREQ = (word*)(number) $d40e @@ -4776,7 +4776,7 @@ SYMBOL TABLE SSA (byte) keyboard_event_scan::row_scan#6 (byte) keyboard_event_scan::row_scan#7 (byte) keyboard_event_scan::row_scan#8 -(const byte*) keyboard_events = { fill( 8, 0) } +(const byte*) keyboard_events[(number) 8] = { fill( 8, 0) } (byte) keyboard_events_size (byte) keyboard_events_size#0 (byte) keyboard_events_size#1 @@ -4856,7 +4856,7 @@ SYMBOL TABLE SSA (byte) keyboard_events_size#77 (byte) keyboard_events_size#8 (byte) keyboard_events_size#9 -(const byte*) keyboard_matrix_col_bitmask = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte~) keyboard_matrix_read::$0 (label) keyboard_matrix_read::@return @@ -4871,7 +4871,7 @@ SYMBOL TABLE SSA (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 (byte) keyboard_matrix_read::rowid#1 -(const byte*) keyboard_matrix_row_bitmask = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } (byte) keyboard_modifiers (byte) keyboard_modifiers#0 (byte) keyboard_modifiers#1 @@ -4933,7 +4933,7 @@ SYMBOL TABLE SSA (byte) keyboard_modifiers#7 (byte) keyboard_modifiers#8 (byte) keyboard_modifiers#9 -(const byte*) keyboard_scan_values = { fill( 8, 0) } +(const byte*) keyboard_scan_values[(number) 8] = { fill( 8, 0) } (byte) level (byte) level#0 (byte) level#1 @@ -5901,9 +5901,9 @@ SYMBOL TABLE SSA (byte) play_update_score::removed#0 (byte) play_update_score::removed#1 (byte) play_update_score::removed#2 -(const byte*) playfield = { fill( PLAYFIELD_LINES*PLAYFIELD_COLS, 0) } -(const byte**) playfield_lines = { fill( PLAYFIELD_LINES, 0) } -(const byte*) playfield_lines_idx = { fill( PLAYFIELD_LINES+1, 0) } +(const byte*) playfield[(const byte) PLAYFIELD_LINES*(const byte) PLAYFIELD_COLS] = { fill( PLAYFIELD_LINES*PLAYFIELD_COLS, 0) } +(const byte**) playfield_lines[(const byte) PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) } +(const byte*) playfield_lines_idx[(const byte) PLAYFIELD_LINES+(number) 1] = { fill( PLAYFIELD_LINES+1, 0) } (void()) render_bcd((byte*) render_bcd::screen , (word) render_bcd::offset , (byte) render_bcd::bcd , (byte) render_bcd::only_low) (byte*~) render_bcd::$0 (bool~) render_bcd::$1 @@ -6490,7 +6490,7 @@ SYMBOL TABLE SSA (byte*) render_show::toD0182_screen (byte*) render_show::toD0182_screen#0 (byte*) render_show::toD0182_screen#1 -(const dword*) score_add_bcd = { fill( 5, 0) } +(const dword*) score_add_bcd[(number) 5] = { fill( 5, 0) } (dword) score_bcd (dword) score_bcd#0 (dword) score_bcd#1 @@ -6571,8 +6571,8 @@ SYMBOL TABLE SSA (dword) score_bcd#78 (dword) score_bcd#8 (dword) score_bcd#9 -(const byte**) screen_lines_1 = { fill( PLAYFIELD_LINES, 0) } -(const byte**) screen_lines_2 = { fill( PLAYFIELD_LINES, 0) } +(const byte**) screen_lines_1[(const byte) PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) } +(const byte**) screen_lines_2[(const byte) PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) } (void()) sid_rnd_init() (label) sid_rnd_init::@return (void()) sprites_init() @@ -22288,22 +22288,22 @@ FINAL SYMBOL TABLE (const byte) KEY_Z = (number) $c (const byte) LIGHT_BLUE = (number) $e (const byte) LIGHT_GREEN = (number) $d -(const byte*) MOVEDOWN_SLOW_SPEEDS = { (byte) $30, (byte) $2b, (byte) $26, (byte) $21, (byte) $1c, (byte) $17, (byte) $12, (byte) $d, (byte) 8, (byte) 6, (byte) 5, (byte) 5, (byte) 5, (byte) 4, (byte) 4, (byte) 4, (byte) 3, (byte) 3, (byte) 3, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 1 } +(const byte*) MOVEDOWN_SLOW_SPEEDS[] = { (byte) $30, (byte) $2b, (byte) $26, (byte) $21, (byte) $1c, (byte) $17, (byte) $12, (byte) $d, (byte) 8, (byte) 6, (byte) 5, (byte) 5, (byte) 5, (byte) 4, (byte) 4, (byte) 4, (byte) 3, (byte) 3, (byte) 3, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 1 } (const byte) ORANGE = (number) 8 -(const word*) PIECES = { (word)(const byte*) PIECE_T, (word)(const byte*) PIECE_S, (word)(const byte*) PIECE_Z, (word)(const byte*) PIECE_J, (word)(const byte*) PIECE_O, (word)(const byte*) PIECE_I, (word)(const byte*) PIECE_L } -(const byte*) PIECES_CHARS = { (byte) $65, (byte) $66, (byte) $a6, (byte) $66, (byte) $65, (byte) $65, (byte) $a6 } -(const byte*) PIECES_COLORS_1 = { (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED } -(const byte*) PIECES_COLORS_2 = { (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE } -(const byte*) PIECES_NEXT_CHARS = { (byte) $63, (byte) $64, (byte) $a4, (byte) $64, (byte) $63, (byte) $63, (byte) $a4 } -(const byte*) PIECES_START_X = { (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4 } -(const byte*) PIECES_START_Y = { (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1 } -(const byte*) PIECE_I = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0 } -(const byte*) PIECE_J = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_L = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_O = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_S = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_T = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_Z = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const word*) PIECES[] = { (word)(const byte*) PIECE_T, (word)(const byte*) PIECE_S, (word)(const byte*) PIECE_Z, (word)(const byte*) PIECE_J, (word)(const byte*) PIECE_O, (word)(const byte*) PIECE_I, (word)(const byte*) PIECE_L } +(const byte*) PIECES_CHARS[] = { (byte) $65, (byte) $66, (byte) $a6, (byte) $66, (byte) $65, (byte) $65, (byte) $a6 } +(const byte*) PIECES_COLORS_1[] = { (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED } +(const byte*) PIECES_COLORS_2[] = { (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE } +(const byte*) PIECES_NEXT_CHARS[] = { (byte) $63, (byte) $64, (byte) $a4, (byte) $64, (byte) $63, (byte) $63, (byte) $a4 } +(const byte*) PIECES_START_X[] = { (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4 } +(const byte*) PIECES_START_Y[] = { (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1 } +(const byte*) PIECE_I[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0 } +(const byte*) PIECE_J[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_L[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_O[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_S[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_T[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_Z[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (const byte) PINK = (number) $a (const byte*) PLAYFIELD_CHARSET = (byte*) 10240 (const byte*) PLAYFIELD_COLORS_ORIGINAL = (byte*) 7168 @@ -22322,7 +22322,7 @@ FINAL SYMBOL TABLE (const byte) PURPLE = (number) 4 (const byte*) RASTER = (byte*) 53266 (const byte) RED = (number) 2 -(const dword*) SCORE_BASE_BCD = { (dword) 0, (dword) $40, (dword) $100, (dword) $300, (dword) $1200 } +(const dword*) SCORE_BASE_BCD[] = { (dword) 0, (dword) $40, (dword) $100, (dword) $300, (dword) $1200 } (const byte) SID_CONTROL_NOISE = (number) $80 (const byte*) SID_VOICE3_CONTROL = (byte*) 54290 (const word*) SID_VOICE3_FREQ = (word*) 54286 @@ -22512,7 +22512,7 @@ FINAL SYMBOL TABLE (byte) keyboard_event_scan::row#2 row zp[1]:32 600.24 (byte) keyboard_event_scan::row_scan (byte) keyboard_event_scan::row_scan#0 row_scan zp[1]:47 1278.0555555555554 -(const byte*) keyboard_events = { fill( 8, 0) } +(const byte*) keyboard_events[(number) 8] = { fill( 8, 0) } (byte) keyboard_events_size (byte) keyboard_events_size#1 keyboard_events_size zp[1]:19 20002.0 (byte) keyboard_events_size#10 keyboard_events_size zp[1]:19 8100.9000000000015 @@ -22523,7 +22523,7 @@ FINAL SYMBOL TABLE (byte) keyboard_events_size#29 keyboard_events_size zp[1]:19 10201.2 (byte) keyboard_events_size#30 keyboard_events_size zp[1]:19 429.2857142857143 (byte) keyboard_events_size#4 keyboard_events_size zp[1]:19 3.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -22532,9 +22532,9 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte x 1003.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (byte) keyboard_modifiers -(const byte*) keyboard_scan_values = { fill( 8, 0) } +(const byte*) keyboard_scan_values[(number) 8] = { fill( 8, 0) } (byte) level (byte) level#10 level zp[1]:7 1.909090909090909 (byte) level#17 level zp[1]:7 3.135135135135135 @@ -22880,9 +22880,9 @@ FINAL SYMBOL TABLE (byte) play_update_score::lines_before#0 lines_before zp[1]:38 0.4444444444444444 (byte) play_update_score::removed (byte) play_update_score::removed#0 reg byte x 1.1428571428571428 -(const byte*) playfield = { fill( PLAYFIELD_LINES*PLAYFIELD_COLS, 0) } -(const byte**) playfield_lines = { fill( PLAYFIELD_LINES, 0) } -(const byte*) playfield_lines_idx = { fill( PLAYFIELD_LINES+1, 0) } +(const byte*) playfield[(const byte) PLAYFIELD_LINES*(const byte) PLAYFIELD_COLS] = { fill( PLAYFIELD_LINES*PLAYFIELD_COLS, 0) } +(const byte**) playfield_lines[(const byte) PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) } +(const byte*) playfield_lines_idx[(const byte) PLAYFIELD_LINES+(byte) 1] = { fill( PLAYFIELD_LINES+1, 0) } (void()) render_bcd((byte*) render_bcd::screen , (word) render_bcd::offset , (byte) render_bcd::bcd , (byte) render_bcd::only_low) (byte~) render_bcd::$3 reg byte a 4.0 (byte~) render_bcd::$4 reg byte a 4.0 @@ -23118,7 +23118,7 @@ FINAL SYMBOL TABLE (byte) render_show::toD0182_return (const byte) render_show::toD0182_return#0 toD0182_return = >(word)(const byte*) PLAYFIELD_SCREEN_2&(word) $3fff*(byte) 4|>(word)(const byte*) PLAYFIELD_CHARSET/(byte) 4&(byte) $f (byte*) render_show::toD0182_screen -(const dword*) score_add_bcd = { fill( 5, 0) } +(const dword*) score_add_bcd[(number) 5] = { fill( 5, 0) } (dword) score_bcd (dword) score_bcd#0 score_bcd zp[4]:3 0.1111111111111111 (dword) score_bcd#13 score_bcd zp[4]:3 3.135135135135135 @@ -23126,8 +23126,8 @@ FINAL SYMBOL TABLE (dword) score_bcd#17 score_bcd zp[4]:3 2.3921568627450975 (dword) score_bcd#23 score_bcd zp[4]:3 6.0 (dword) score_bcd#26 score_bcd zp[4]:3 0.8571428571428571 -(const byte**) screen_lines_1 = { fill( PLAYFIELD_LINES, 0) } -(const byte**) screen_lines_2 = { fill( PLAYFIELD_LINES, 0) } +(const byte**) screen_lines_1[(const byte) PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) } +(const byte**) screen_lines_2[(const byte) PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) } (void()) sid_rnd_init() (label) sid_rnd_init::@return (void()) sprites_init() diff --git a/src/test/ref/complex/tetris/tetris.sym b/src/test/ref/complex/tetris/tetris.sym index 74139c140..a6a065ae7 100644 --- a/src/test/ref/complex/tetris/tetris.sym +++ b/src/test/ref/complex/tetris/tetris.sym @@ -46,22 +46,22 @@ (const byte) KEY_Z = (number) $c (const byte) LIGHT_BLUE = (number) $e (const byte) LIGHT_GREEN = (number) $d -(const byte*) MOVEDOWN_SLOW_SPEEDS = { (byte) $30, (byte) $2b, (byte) $26, (byte) $21, (byte) $1c, (byte) $17, (byte) $12, (byte) $d, (byte) 8, (byte) 6, (byte) 5, (byte) 5, (byte) 5, (byte) 4, (byte) 4, (byte) 4, (byte) 3, (byte) 3, (byte) 3, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 1 } +(const byte*) MOVEDOWN_SLOW_SPEEDS[] = { (byte) $30, (byte) $2b, (byte) $26, (byte) $21, (byte) $1c, (byte) $17, (byte) $12, (byte) $d, (byte) 8, (byte) 6, (byte) 5, (byte) 5, (byte) 5, (byte) 4, (byte) 4, (byte) 4, (byte) 3, (byte) 3, (byte) 3, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 2, (byte) 1 } (const byte) ORANGE = (number) 8 -(const word*) PIECES = { (word)(const byte*) PIECE_T, (word)(const byte*) PIECE_S, (word)(const byte*) PIECE_Z, (word)(const byte*) PIECE_J, (word)(const byte*) PIECE_O, (word)(const byte*) PIECE_I, (word)(const byte*) PIECE_L } -(const byte*) PIECES_CHARS = { (byte) $65, (byte) $66, (byte) $a6, (byte) $66, (byte) $65, (byte) $65, (byte) $a6 } -(const byte*) PIECES_COLORS_1 = { (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED } -(const byte*) PIECES_COLORS_2 = { (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE } -(const byte*) PIECES_NEXT_CHARS = { (byte) $63, (byte) $64, (byte) $a4, (byte) $64, (byte) $63, (byte) $63, (byte) $a4 } -(const byte*) PIECES_START_X = { (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4 } -(const byte*) PIECES_START_Y = { (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1 } -(const byte*) PIECE_I = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0 } -(const byte*) PIECE_J = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_L = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_O = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_S = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_T = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) PIECE_Z = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const word*) PIECES[] = { (word)(const byte*) PIECE_T, (word)(const byte*) PIECE_S, (word)(const byte*) PIECE_Z, (word)(const byte*) PIECE_J, (word)(const byte*) PIECE_O, (word)(const byte*) PIECE_I, (word)(const byte*) PIECE_L } +(const byte*) PIECES_CHARS[] = { (byte) $65, (byte) $66, (byte) $a6, (byte) $66, (byte) $65, (byte) $65, (byte) $a6 } +(const byte*) PIECES_COLORS_1[] = { (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED, (const byte) BLUE, (const byte) GREEN, (const byte) PURPLE, (const byte) BLUE, (const byte) RED, (const byte) LIGHT_GREEN, (const byte) RED, (const byte) BLUE, (const byte) LIGHT_BLUE, (const byte) RED } +(const byte*) PIECES_COLORS_2[] = { (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE, (const byte) CYAN, (const byte) LIGHT_GREEN, (const byte) PINK, (const byte) LIGHT_GREEN, (const byte) LIGHT_GREEN, (const byte) LIGHT_BLUE, (const byte) DARK_GREY, (const byte) PURPLE, (const byte) RED, (const byte) ORANGE } +(const byte*) PIECES_NEXT_CHARS[] = { (byte) $63, (byte) $64, (byte) $a4, (byte) $64, (byte) $63, (byte) $63, (byte) $a4 } +(const byte*) PIECES_START_X[] = { (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4, (byte) 4 } +(const byte*) PIECES_START_Y[] = { (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1 } +(const byte*) PIECE_I[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0 } +(const byte*) PIECE_J[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_L[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_O[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_S[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_T[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) PIECE_Z[(number) 4*(number) 4*(number) 4] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 1, (byte) 0, (byte) 0, (byte) 1, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (const byte) PINK = (number) $a (const byte*) PLAYFIELD_CHARSET = (byte*) 10240 (const byte*) PLAYFIELD_COLORS_ORIGINAL = (byte*) 7168 @@ -80,7 +80,7 @@ (const byte) PURPLE = (number) 4 (const byte*) RASTER = (byte*) 53266 (const byte) RED = (number) 2 -(const dword*) SCORE_BASE_BCD = { (dword) 0, (dword) $40, (dword) $100, (dword) $300, (dword) $1200 } +(const dword*) SCORE_BASE_BCD[] = { (dword) 0, (dword) $40, (dword) $100, (dword) $300, (dword) $1200 } (const byte) SID_CONTROL_NOISE = (number) $80 (const byte*) SID_VOICE3_CONTROL = (byte*) 54290 (const word*) SID_VOICE3_FREQ = (word*) 54286 @@ -270,7 +270,7 @@ (byte) keyboard_event_scan::row#2 row zp[1]:32 600.24 (byte) keyboard_event_scan::row_scan (byte) keyboard_event_scan::row_scan#0 row_scan zp[1]:47 1278.0555555555554 -(const byte*) keyboard_events = { fill( 8, 0) } +(const byte*) keyboard_events[(number) 8] = { fill( 8, 0) } (byte) keyboard_events_size (byte) keyboard_events_size#1 keyboard_events_size zp[1]:19 20002.0 (byte) keyboard_events_size#10 keyboard_events_size zp[1]:19 8100.9000000000015 @@ -281,7 +281,7 @@ (byte) keyboard_events_size#29 keyboard_events_size zp[1]:19 10201.2 (byte) keyboard_events_size#30 keyboard_events_size zp[1]:19 429.2857142857143 (byte) keyboard_events_size#4 keyboard_events_size zp[1]:19 3.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -290,9 +290,9 @@ (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte x 1003.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (byte) keyboard_modifiers -(const byte*) keyboard_scan_values = { fill( 8, 0) } +(const byte*) keyboard_scan_values[(number) 8] = { fill( 8, 0) } (byte) level (byte) level#10 level zp[1]:7 1.909090909090909 (byte) level#17 level zp[1]:7 3.135135135135135 @@ -638,9 +638,9 @@ (byte) play_update_score::lines_before#0 lines_before zp[1]:38 0.4444444444444444 (byte) play_update_score::removed (byte) play_update_score::removed#0 reg byte x 1.1428571428571428 -(const byte*) playfield = { fill( PLAYFIELD_LINES*PLAYFIELD_COLS, 0) } -(const byte**) playfield_lines = { fill( PLAYFIELD_LINES, 0) } -(const byte*) playfield_lines_idx = { fill( PLAYFIELD_LINES+1, 0) } +(const byte*) playfield[(const byte) PLAYFIELD_LINES*(const byte) PLAYFIELD_COLS] = { fill( PLAYFIELD_LINES*PLAYFIELD_COLS, 0) } +(const byte**) playfield_lines[(const byte) PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) } +(const byte*) playfield_lines_idx[(const byte) PLAYFIELD_LINES+(byte) 1] = { fill( PLAYFIELD_LINES+1, 0) } (void()) render_bcd((byte*) render_bcd::screen , (word) render_bcd::offset , (byte) render_bcd::bcd , (byte) render_bcd::only_low) (byte~) render_bcd::$3 reg byte a 4.0 (byte~) render_bcd::$4 reg byte a 4.0 @@ -876,7 +876,7 @@ (byte) render_show::toD0182_return (const byte) render_show::toD0182_return#0 toD0182_return = >(word)(const byte*) PLAYFIELD_SCREEN_2&(word) $3fff*(byte) 4|>(word)(const byte*) PLAYFIELD_CHARSET/(byte) 4&(byte) $f (byte*) render_show::toD0182_screen -(const dword*) score_add_bcd = { fill( 5, 0) } +(const dword*) score_add_bcd[(number) 5] = { fill( 5, 0) } (dword) score_bcd (dword) score_bcd#0 score_bcd zp[4]:3 0.1111111111111111 (dword) score_bcd#13 score_bcd zp[4]:3 3.135135135135135 @@ -884,8 +884,8 @@ (dword) score_bcd#17 score_bcd zp[4]:3 2.3921568627450975 (dword) score_bcd#23 score_bcd zp[4]:3 6.0 (dword) score_bcd#26 score_bcd zp[4]:3 0.8571428571428571 -(const byte**) screen_lines_1 = { fill( PLAYFIELD_LINES, 0) } -(const byte**) screen_lines_2 = { fill( PLAYFIELD_LINES, 0) } +(const byte**) screen_lines_1[(const byte) PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) } +(const byte**) screen_lines_2[(const byte) PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) } (void()) sid_rnd_init() (label) sid_rnd_init::@return (void()) sprites_init() diff --git a/src/test/ref/complex/xmega65/xmega65.log b/src/test/ref/complex/xmega65/xmega65.log index e2a765698..97f835a70 100644 --- a/src/test/ref/complex/xmega65/xmega65.log +++ b/src/test/ref/complex/xmega65/xmega65.log @@ -154,12 +154,12 @@ SYMBOL TABLE SSA (const byte) BLACK = (number) 0 (const byte*) COLS = (byte*)(number) $d800 (const byte) JMP = (number) $4c -(const byte*) MESSAGE = (string) "hello world!" +(const byte*) MESSAGE[] = (string) "hello world!" (const byte) NOP = (number) $ea (const byte*) RASTER = (byte*)(number) $d012 (const byte*) SCREEN = (byte*)(number) $400 -(const struct SysCall*) SYSCALLS = { { xjmp: (const byte) JMP, syscall: &(void()) syscall1(), xnop: (const byte) NOP }, { xjmp: (const byte) JMP, syscall: &(void()) syscall2(), xnop: (const byte) NOP } } -(const struct SysCall*) SYSCALL_RESET = { { xjmp: (const byte) JMP, syscall: &(void()) main(), xnop: (const byte) NOP } } +(const struct SysCall*) SYSCALLS[] = { { xjmp: (const byte) JMP, syscall: &(void()) syscall1(), xnop: (const byte) NOP }, { xjmp: (const byte) JMP, syscall: &(void()) syscall2(), xnop: (const byte) NOP } } +(const struct SysCall*) SYSCALL_RESET[] = { { xjmp: (const byte) JMP, syscall: &(void()) main(), xnop: (const byte) NOP } } (void()*) SysCall::syscall (byte) SysCall::xjmp (byte) SysCall::xnop @@ -1132,12 +1132,12 @@ FINAL SYMBOL TABLE (const byte) BLACK = (number) 0 (const byte*) COLS = (byte*) 55296 (const byte) JMP = (number) $4c -(const byte*) MESSAGE = (string) "hello world!" +(const byte*) MESSAGE[] = (string) "hello world!" (const byte) NOP = (number) $ea (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const struct SysCall*) SYSCALLS = { { xjmp: (const byte) JMP, syscall: &(void()) syscall1(), xnop: (const byte) NOP }, { xjmp: (const byte) JMP, syscall: &(void()) syscall2(), xnop: (const byte) NOP } } -(const struct SysCall*) SYSCALL_RESET = { { xjmp: (const byte) JMP, syscall: &(void()) main(), xnop: (const byte) NOP } } +(const struct SysCall*) SYSCALLS[] = { { xjmp: (const byte) JMP, syscall: &(void()) syscall1(), xnop: (const byte) NOP }, { xjmp: (const byte) JMP, syscall: &(void()) syscall2(), xnop: (const byte) NOP } } +(const struct SysCall*) SYSCALL_RESET[] = { { xjmp: (const byte) JMP, syscall: &(void()) main(), xnop: (const byte) NOP } } (void()*) SysCall::syscall (byte) SysCall::xjmp (byte) SysCall::xnop diff --git a/src/test/ref/complex/xmega65/xmega65.sym b/src/test/ref/complex/xmega65/xmega65.sym index ffc49b79c..01d9bf1b4 100644 --- a/src/test/ref/complex/xmega65/xmega65.sym +++ b/src/test/ref/complex/xmega65/xmega65.sym @@ -5,12 +5,12 @@ (const byte) BLACK = (number) 0 (const byte*) COLS = (byte*) 55296 (const byte) JMP = (number) $4c -(const byte*) MESSAGE = (string) "hello world!" +(const byte*) MESSAGE[] = (string) "hello world!" (const byte) NOP = (number) $ea (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const struct SysCall*) SYSCALLS = { { xjmp: (const byte) JMP, syscall: &(void()) syscall1(), xnop: (const byte) NOP }, { xjmp: (const byte) JMP, syscall: &(void()) syscall2(), xnop: (const byte) NOP } } -(const struct SysCall*) SYSCALL_RESET = { { xjmp: (const byte) JMP, syscall: &(void()) main(), xnop: (const byte) NOP } } +(const struct SysCall*) SYSCALLS[] = { { xjmp: (const byte) JMP, syscall: &(void()) syscall1(), xnop: (const byte) NOP }, { xjmp: (const byte) JMP, syscall: &(void()) syscall2(), xnop: (const byte) NOP } } +(const struct SysCall*) SYSCALL_RESET[] = { { xjmp: (const byte) JMP, syscall: &(void()) main(), xnop: (const byte) NOP } } (void()*) SysCall::syscall (byte) SysCall::xjmp (byte) SysCall::xnop diff --git a/src/test/ref/complex/xmega65/xmega65logo.log b/src/test/ref/complex/xmega65/xmega65logo.log index 83ca0a2ca..5f60f8889 100644 --- a/src/test/ref/complex/xmega65/xmega65logo.log +++ b/src/test/ref/complex/xmega65/xmega65logo.log @@ -46,7 +46,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) LOGO256 = kickasm {{ #import "xmega65graphics.asm" +(const byte*) LOGO256[] = kickasm {{ #import "xmega65graphics.asm" .var logo256 = LoadPicture("mega65-256.png") .var palette256 = getPalette(logo256) .print "width: "+logo256.width + " height: "+logo256.height + " colors: "+palette256.keys().size() @@ -401,7 +401,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) LOGO256 = kickasm {{ #import "xmega65graphics.asm" +(const byte*) LOGO256[] = kickasm {{ #import "xmega65graphics.asm" .var logo256 = LoadPicture("mega65-256.png") .var palette256 = getPalette(logo256) .print "width: "+logo256.width + " height: "+logo256.height + " colors: "+palette256.keys().size() diff --git a/src/test/ref/complex/xmega65/xmega65logo.sym b/src/test/ref/complex/xmega65/xmega65logo.sym index 9186291e2..16c4ab337 100644 --- a/src/test/ref/complex/xmega65/xmega65logo.sym +++ b/src/test/ref/complex/xmega65/xmega65logo.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) LOGO256 = kickasm {{ #import "xmega65graphics.asm" +(const byte*) LOGO256[] = kickasm {{ #import "xmega65graphics.asm" .var logo256 = LoadPicture("mega65-256.png") .var palette256 = getPalette(logo256) .print "width: "+logo256.width + " height: "+logo256.height + " colors: "+palette256.keys().size() diff --git a/src/test/ref/const-signed-promotion.log b/src/test/ref/const-signed-promotion.log index 5435e430c..2057a594f 100644 --- a/src/test/ref/const-signed-promotion.log +++ b/src/test/ref/const-signed-promotion.log @@ -50,7 +50,7 @@ SYMBOL TABLE SSA (byte) main::i#1 (byte) main::i#2 (const signed word*) main::screen = (signed word*)(number) $400 -(const signed word*) world = { fill( 3, 0) } +(const signed word*) world[(number) 3] = { fill( 3, 0) } Adding number conversion cast (snumber) $190 in *((const signed word*) world + (byte~) main::$1) ← (number) $190 Adding number conversion cast (unumber) 0 in (number~) main::$2 ← (number) 0 * (const byte) SIZEOF_SIGNED_WORD @@ -362,7 +362,7 @@ FINAL SYMBOL TABLE (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 11.0 (const signed word*) main::screen = (signed word*) 1024 -(const signed word*) world = { fill( 3, 0) } +(const signed word*) world[(number) 3] = { fill( 3, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$1 ] diff --git a/src/test/ref/const-signed-promotion.sym b/src/test/ref/const-signed-promotion.sym index 4a401deeb..ab9547cda 100644 --- a/src/test/ref/const-signed-promotion.sym +++ b/src/test/ref/const-signed-promotion.sym @@ -10,7 +10,7 @@ (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 11.0 (const signed word*) main::screen = (signed word*) 1024 -(const signed word*) world = { fill( 3, 0) } +(const signed word*) world[(number) 3] = { fill( 3, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$1 ] diff --git a/src/test/ref/constant-string-concat-0.log b/src/test/ref/constant-string-concat-0.log index 91114c6f6..fa6f36466 100644 --- a/src/test/ref/constant-string-concat-0.log +++ b/src/test/ref/constant-string-concat-0.log @@ -48,7 +48,7 @@ SYMBOL TABLE SSA (byte) main::i#1 (byte) main::i#2 (byte) main::i#3 -(const byte*) main::msg = (string) "camelot" +(const byte*) main::msg[] = (string) "camelot" Adding number conversion cast (unumber) 0 in (byte) main::i#0 ← (number) 0 Adding number conversion cast (unumber) 0 in (bool~) main::$0 ← *((const byte*) main::msg + (byte) main::i#2) != (number) 0 @@ -301,7 +301,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 18.333333333333332 -(const byte*) main::msg = (string) "camelot" +(const byte*) main::msg[] = (string) "camelot" reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/constant-string-concat-0.sym b/src/test/ref/constant-string-concat-0.sym index 9e9f68403..0094f556e 100644 --- a/src/test/ref/constant-string-concat-0.sym +++ b/src/test/ref/constant-string-concat-0.sym @@ -9,6 +9,6 @@ (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 18.333333333333332 -(const byte*) main::msg = (string) "camelot" +(const byte*) main::msg[] = (string) "camelot" reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/constant-string-concat.log b/src/test/ref/constant-string-concat.log index c5a51c8d2..f60f43e8c 100644 --- a/src/test/ref/constant-string-concat.log +++ b/src/test/ref/constant-string-concat.log @@ -40,7 +40,7 @@ SYMBOL TABLE SSA (byte) main::i#0 (byte) main::i#1 (byte) main::i#2 -(const byte*) main::s = (string) "camelot" +(const byte*) main::s[] = (string) "camelot" Simplifying constant pointer cast (byte*) 1024 Successful SSA optimization PassNCastSimplification @@ -283,7 +283,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 -(const byte*) main::s = (string) "camelot" +(const byte*) main::s[] = (string) "camelot" reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/constant-string-concat.sym b/src/test/ref/constant-string-concat.sym index 3771cd5b7..403ca7084 100644 --- a/src/test/ref/constant-string-concat.sym +++ b/src/test/ref/constant-string-concat.sym @@ -8,6 +8,6 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 -(const byte*) main::s = (string) "camelot" +(const byte*) main::s[] = (string) "camelot" reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/constants.log b/src/test/ref/constants.log index 229180ec5..d2903c67a 100644 --- a/src/test/ref/constants.log +++ b/src/test/ref/constants.log @@ -541,9 +541,9 @@ SYMBOL TABLE SSA (byte*) assert_byte::msg#1 (byte*) assert_byte::msg#2 (byte*) assert_byte::msg#3 -(const string) assert_byte::str = (string) " " -(const string) assert_byte::str1 = (string) "fail!" -(const string) assert_byte::str2 = (string) "ok" +(const string) assert_byte::str[] = (string) " " +(const string) assert_byte::str1[] = (string) "fail!" +(const string) assert_byte::str2[] = (string) "ok" (void()) assert_sbyte((byte*) assert_sbyte::msg , (signed byte) assert_sbyte::b , (signed byte) assert_sbyte::c) (bool~) assert_sbyte::$2 (label) assert_sbyte::@1 @@ -580,9 +580,9 @@ SYMBOL TABLE SSA (byte*) assert_sbyte::msg#3 (byte*) assert_sbyte::msg#4 (byte*) assert_sbyte::msg#5 -(const string) assert_sbyte::str = (string) " " -(const string) assert_sbyte::str1 = (string) "fail!" -(const string) assert_sbyte::str2 = (string) "ok" +(const string) assert_sbyte::str[] = (string) " " +(const string) assert_sbyte::str1[] = (string) "fail!" +(const string) assert_sbyte::str2[] = (string) "ok" (void()) main() (label) main::@1 (label) main::@2 @@ -829,9 +829,9 @@ SYMBOL TABLE SSA (byte) test_bytes::bc#1 (byte) test_bytes::bd (byte) test_bytes::bd#0 -(const string) test_bytes::msg = (string) "0=0" -(const string) test_bytes::msg1 = (string) "0+2=2" -(const string) test_bytes::msg2 = (string) "0+2-4=254" +(const string) test_bytes::msg[] = (string) "0=0" +(const string) test_bytes::msg1[] = (string) "0+2=2" +(const string) test_bytes::msg2[] = (string) "0+2-4=254" (void()) test_sbytes() (number~) test_sbytes::$1 (number~) test_sbytes::$3 @@ -852,11 +852,11 @@ SYMBOL TABLE SSA (signed byte) test_sbytes::be (signed byte) test_sbytes::be#0 (const signed byte) test_sbytes::bf = (signed byte)(number) -$7f-(number) $7f -(const string) test_sbytes::msg = (string) "0=0" -(const string) test_sbytes::msg1 = (string) "0+2=2" -(const string) test_sbytes::msg2 = (string) "0+2-4=-2" -(const string) test_sbytes::msg3 = (string) "-(0+2-4)=2" -(const string) test_sbytes::msg4 = (string) "-127-127=2" +(const string) test_sbytes::msg[] = (string) "0=0" +(const string) test_sbytes::msg1[] = (string) "0+2=2" +(const string) test_sbytes::msg2[] = (string) "0+2-4=-2" +(const string) test_sbytes::msg3[] = (string) "-(0+2-4)=2" +(const string) test_sbytes::msg4[] = (string) "-127-127=2" Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0 Adding number conversion cast (unumber) 0 in (bool~) print_str::$0 ← (number) 0 != *((byte*) print_str::str#9) @@ -3020,8 +3020,8 @@ FINAL SYMBOL TABLE (void*) memset::return (void*) memset::str (const void*) memset::str#0 str = (void*)(byte*) 1024 -(const string) msg = (string) "0=0" -(const string) msg1 = (string) "0+2=2" +(const string) msg[] = (string) "0=0" +(const string) msg1[] = (string) "0+2=2" (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp[2]:2 11.0 (byte*) print_char_cursor#2 print_char_cursor zp[2]:2 2.230769230769231 @@ -3051,9 +3051,9 @@ FINAL SYMBOL TABLE (byte*) print_str::str#10 str zp[2]:7 11.5 (byte*) print_str::str#11 str zp[2]:7 6.0 (byte*) print_str::str#5 str zp[2]:7 2.0 -(const string) str = (string) " " -(const string) str1 = (string) "fail!" -(const string) str2 = (string) "ok" +(const string) str[] = (string) " " +(const string) str1[] = (string) "fail!" +(const string) str2[] = (string) "ok" (void()) test_bytes() (label) test_bytes::@1 (label) test_bytes::@2 @@ -3063,7 +3063,7 @@ FINAL SYMBOL TABLE (const byte) test_bytes::bc#0 bc = (byte) 2 (byte) test_bytes::bd (const byte) test_bytes::bd#0 bd = (byte)(signed byte)(const byte) test_bytes::bc#0-(signed byte) 4 -(const string) test_bytes::msg2 = (string) "0+2-4=254" +(const string) test_bytes::msg2[] = (string) "0+2-4=254" (void()) test_sbytes() (label) test_sbytes::@1 (label) test_sbytes::@2 @@ -3078,9 +3078,9 @@ FINAL SYMBOL TABLE (signed byte) test_sbytes::be (const signed byte) test_sbytes::be#0 be = -(const signed byte) test_sbytes::bd#0 (const signed byte) test_sbytes::bf = (signed byte)(number) -$7f-(number) $7f -(const string) test_sbytes::msg2 = (string) "0+2-4=-2" -(const string) test_sbytes::msg3 = (string) "-(0+2-4)=2" -(const string) test_sbytes::msg4 = (string) "-127-127=2" +(const string) test_sbytes::msg2[] = (string) "0+2-4=-2" +(const string) test_sbytes::msg3[] = (string) "-(0+2-4)=2" +(const string) test_sbytes::msg4[] = (string) "-127-127=2" reg byte x [ assert_sbyte::b#5 ] zp[2]:2 [ print_char_cursor#80 print_char_cursor#70 print_char_cursor#2 print_char_cursor#85 print_char_cursor#1 print_char_cursor#91 print_char_cursor#92 ] diff --git a/src/test/ref/constants.sym b/src/test/ref/constants.sym index 31e1d4e63..bcbc3b735 100644 --- a/src/test/ref/constants.sym +++ b/src/test/ref/constants.sym @@ -54,8 +54,8 @@ (void*) memset::return (void*) memset::str (const void*) memset::str#0 str = (void*)(byte*) 1024 -(const string) msg = (string) "0=0" -(const string) msg1 = (string) "0+2=2" +(const string) msg[] = (string) "0=0" +(const string) msg1[] = (string) "0+2=2" (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp[2]:2 11.0 (byte*) print_char_cursor#2 print_char_cursor zp[2]:2 2.230769230769231 @@ -85,9 +85,9 @@ (byte*) print_str::str#10 str zp[2]:7 11.5 (byte*) print_str::str#11 str zp[2]:7 6.0 (byte*) print_str::str#5 str zp[2]:7 2.0 -(const string) str = (string) " " -(const string) str1 = (string) "fail!" -(const string) str2 = (string) "ok" +(const string) str[] = (string) " " +(const string) str1[] = (string) "fail!" +(const string) str2[] = (string) "ok" (void()) test_bytes() (label) test_bytes::@1 (label) test_bytes::@2 @@ -97,7 +97,7 @@ (const byte) test_bytes::bc#0 bc = (byte) 2 (byte) test_bytes::bd (const byte) test_bytes::bd#0 bd = (byte)(signed byte)(const byte) test_bytes::bc#0-(signed byte) 4 -(const string) test_bytes::msg2 = (string) "0+2-4=254" +(const string) test_bytes::msg2[] = (string) "0+2-4=254" (void()) test_sbytes() (label) test_sbytes::@1 (label) test_sbytes::@2 @@ -112,9 +112,9 @@ (signed byte) test_sbytes::be (const signed byte) test_sbytes::be#0 be = -(const signed byte) test_sbytes::bd#0 (const signed byte) test_sbytes::bf = (signed byte)(number) -$7f-(number) $7f -(const string) test_sbytes::msg2 = (string) "0+2-4=-2" -(const string) test_sbytes::msg3 = (string) "-(0+2-4)=2" -(const string) test_sbytes::msg4 = (string) "-127-127=2" +(const string) test_sbytes::msg2[] = (string) "0+2-4=-2" +(const string) test_sbytes::msg3[] = (string) "-(0+2-4)=2" +(const string) test_sbytes::msg4[] = (string) "-127-127=2" reg byte x [ assert_sbyte::b#5 ] zp[2]:2 [ print_char_cursor#80 print_char_cursor#70 print_char_cursor#2 print_char_cursor#85 print_char_cursor#1 print_char_cursor#91 print_char_cursor#92 ] diff --git a/src/test/ref/cordic-atan2-16-ref.log b/src/test/ref/cordic-atan2-16-ref.log index d3471b281..de88811c9 100644 --- a/src/test/ref/cordic-atan2-16-ref.log +++ b/src/test/ref/cordic-atan2-16-ref.log @@ -625,18 +625,18 @@ SYMBOL TABLE SSA (label) @end (const byte*) CHARSET = (byte*)(number) $2000 (const byte*) COLS = (byte*)(number) $d800 -(const word*) CORDIC_ATAN2_ANGLES_16 = kickasm {{ .for (var i=0; i159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) } .if(i>351) { .byte round(((512-i)*(512-i))/256) } } }} -(const byte*) mulf_sqr2 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr2[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((-i-1)*(-i-1)/256) } .if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) } .if(i>351) { .byte round(((i-511)*(i-511))/256) } } }} (const signed byte*) pp = (signed byte*)(number) $f3 -(const signed byte*) pps = { fill( 8, 0) } +(const signed byte*) pps[(number) 8] = { fill( 8, 0) } (void()) print_byte_at((byte) print_byte_at::b , (byte*) print_byte_at::at) (byte~) print_byte_at::$0 (number~) print_byte_at::$2 @@ -1806,7 +1806,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at) (bool~) print_sbyte_at::$0 (byte~) print_sbyte_at::$1 @@ -1984,7 +1984,7 @@ SYMBOL TABLE SSA (signed byte) rotate_matrix::z (signed byte) rotate_matrix::z#0 (signed byte) rotate_matrix::z#1 -(const signed byte*) rotation_matrix = { fill( 9, 0) } +(const signed byte*) rotation_matrix[(number) 9] = { fill( 9, 0) } (void()) sprites_init() (byte*~) sprites_init::$0 (byte*~) sprites_init::$1 @@ -2063,18 +2063,18 @@ SYMBOL TABLE SSA (signed byte) sy#9 (const signed byte) sz = (signed byte) 0 (const signed byte*) xp = (signed byte*)(number) $f4 -(const signed byte*) xps = { fill( 8, 0) } +(const signed byte*) xps[(number) 8] = { fill( 8, 0) } (const signed byte*) xr = (signed byte*)(number) $f0 -(const signed byte*) xrs = { fill( 8, 0) } -(const signed byte*) xs = { (signed byte)(number) -$34, (signed byte)(number) -$34, (signed byte)(number) -$34, (signed byte)(number) 0, (signed byte)(number) 0, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34 } +(const signed byte*) xrs[(number) 8] = { fill( 8, 0) } +(const signed byte*) xs[(number) 8] = { (signed byte)(number) -$34, (signed byte)(number) -$34, (signed byte)(number) -$34, (signed byte)(number) 0, (signed byte)(number) 0, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34 } (const signed byte*) yp = (signed byte*)(number) $f5 -(const signed byte*) yps = { fill( 8, 0) } +(const signed byte*) yps[(number) 8] = { fill( 8, 0) } (const signed byte*) yr = (signed byte*)(number) $f1 -(const signed byte*) yrs = { fill( 8, 0) } -(const signed byte*) ys = { (signed byte)(number) -$34, (signed byte)(number) 0, (signed byte)(number) $34, (signed byte)(number) -$34, (signed byte)(number) $34, (signed byte)(number) -$34, (signed byte)(number) 0, (signed byte)(number) $34 } +(const signed byte*) yrs[(number) 8] = { fill( 8, 0) } +(const signed byte*) ys[(number) 8] = { (signed byte)(number) -$34, (signed byte)(number) 0, (signed byte)(number) $34, (signed byte)(number) -$34, (signed byte)(number) $34, (signed byte)(number) -$34, (signed byte)(number) 0, (signed byte)(number) $34 } (const signed byte*) zr = (signed byte*)(number) $f2 -(const signed byte*) zrs = { fill( 8, 0) } -(const signed byte*) zs = { (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34 } +(const signed byte*) zrs[(number) 8] = { fill( 8, 0) } +(const signed byte*) zs[(number) 8] = { (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34, (signed byte)(number) $34 } Adding number conversion cast (unumber) $40 in Adding number conversion cast (unumber) $40 in @@ -9136,7 +9136,7 @@ FINAL SYMBOL TABLE (const byte) GREEN = (number) 5 (const byte) LIGHT_BLUE = (number) $e (const byte) LIGHT_GREY = (number) $f -(const signed byte*) PERSP_Z = kickasm {{ { +(const signed byte*) PERSP_Z[(number) $100] = kickasm {{ { .var d = 256.0 .var z0 = 6.0 // These values of d/z0 result in table values from $20 to $40 (effectively max is $3f) @@ -9155,7 +9155,7 @@ FINAL SYMBOL TABLE (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const signed byte*) SINH = kickasm {{ { +(const signed byte*) SINH[(number) $140] = kickasm {{ { .var min = -$2000 .var max = $2000 .var ampl = max-min; @@ -9165,7 +9165,7 @@ FINAL SYMBOL TABLE } } }} -(const signed byte*) SINQ = kickasm {{ { +(const signed byte*) SINQ[(number) $140] = kickasm {{ { .var min = -$1000 .var max = $1000 .var ampl = max-min; @@ -9403,18 +9403,18 @@ FINAL SYMBOL TABLE (byte) debug_print_init::j (byte) debug_print_init::j#1 reg byte y 151.5 (byte) debug_print_init::j#2 reg byte y 55.54999999999999 -(const string) debug_print_init::str = (string) "sx" -(const string) debug_print_init::str1 = (string) "sy" -(const string) debug_print_init::str10 = (string) "xp" -(const string) debug_print_init::str11 = (string) "yp" -(const string) debug_print_init::str2 = (string) "sz" -(const string) debug_print_init::str3 = (string) "x" -(const string) debug_print_init::str4 = (string) "y" -(const string) debug_print_init::str5 = (string) "z" -(const string) debug_print_init::str6 = (string) "xr" -(const string) debug_print_init::str7 = (string) "yr" -(const string) debug_print_init::str8 = (string) "zr" -(const string) debug_print_init::str9 = (string) "pp" +(const string) debug_print_init::str[] = (string) "sx" +(const string) debug_print_init::str1[] = (string) "sy" +(const string) debug_print_init::str10[] = (string) "xp" +(const string) debug_print_init::str11[] = (string) "yp" +(const string) debug_print_init::str2[] = (string) "sz" +(const string) debug_print_init::str3[] = (string) "x" +(const string) debug_print_init::str4[] = (string) "y" +(const string) debug_print_init::str5[] = (string) "z" +(const string) debug_print_init::str6[] = (string) "xr" +(const string) debug_print_init::str7[] = (string) "yr" +(const string) debug_print_init::str8[] = (string) "zr" +(const string) debug_print_init::str9[] = (string) "pp" (void()) main() (label) main::@1 (label) main::@2 @@ -9435,20 +9435,20 @@ FINAL SYMBOL TABLE (void*) memset::return (void*) memset::str (const void*) memset::str#0 str = (void*)(const byte*) print_screen#0 -(const byte*) mulf_sqr1 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr1[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((i*i)/256) } .if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) } .if(i>351) { .byte round(((512-i)*(512-i))/256) } } }} -(const byte*) mulf_sqr2 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr2[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((-i-1)*(-i-1)/256) } .if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) } .if(i>351) { .byte round(((i-511)*(i-511))/256) } } }} (const signed byte*) pp = (signed byte*) 243 -(const signed byte*) pps = { fill( 8, 0) } +(const signed byte*) pps[(number) 8] = { fill( 8, 0) } (void()) print_byte_at((byte) print_byte_at::b , (byte*) print_byte_at::at) (byte~) print_byte_at::$0 reg byte y 4.0 (byte~) print_byte_at::$2 reg byte x 2.0 @@ -9472,7 +9472,7 @@ FINAL SYMBOL TABLE (byte) print_char_at::ch#4 reg byte y 6.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at) (label) print_sbyte_at::@1 (label) print_sbyte_at::@2 @@ -9538,7 +9538,7 @@ FINAL SYMBOL TABLE (signed byte) rotate_matrix::y#0 y zp[1]:6 34.33333333333333 (signed byte) rotate_matrix::z (signed byte) rotate_matrix::z#0 z zp[1]:4 34.33333333333333 -(const signed byte*) rotation_matrix = { fill( 9, 0) } +(const signed byte*) rotation_matrix[(number) 9] = { fill( 9, 0) } (void()) sprites_init() (label) sprites_init::@1 (label) sprites_init::@return @@ -9558,18 +9558,18 @@ FINAL SYMBOL TABLE (signed byte) sy#3 sy zp[1]:3 22.0 (const signed byte) sz = (signed byte) 0 (const signed byte*) xp = (signed byte*) 244 -(const signed byte*) xps = { fill( 8, 0) } +(const signed byte*) xps[(number) 8] = { fill( 8, 0) } (const signed byte*) xr = (signed byte*) 240 -(const signed byte*) xrs = { fill( 8, 0) } -(const signed byte*) xs = { (signed byte) -$34, (signed byte) -$34, (signed byte) -$34, (signed byte) 0, (signed byte) 0, (signed byte) $34, (signed byte) $34, (signed byte) $34 } +(const signed byte*) xrs[(number) 8] = { fill( 8, 0) } +(const signed byte*) xs[(number) 8] = { (signed byte) -$34, (signed byte) -$34, (signed byte) -$34, (signed byte) 0, (signed byte) 0, (signed byte) $34, (signed byte) $34, (signed byte) $34 } (const signed byte*) yp = (signed byte*) 245 -(const signed byte*) yps = { fill( 8, 0) } +(const signed byte*) yps[(number) 8] = { fill( 8, 0) } (const signed byte*) yr = (signed byte*) 241 -(const signed byte*) yrs = { fill( 8, 0) } -(const signed byte*) ys = { (signed byte) -$34, (signed byte) 0, (signed byte) $34, (signed byte) -$34, (signed byte) $34, (signed byte) -$34, (signed byte) 0, (signed byte) $34 } +(const signed byte*) yrs[(number) 8] = { fill( 8, 0) } +(const signed byte*) ys[(number) 8] = { (signed byte) -$34, (signed byte) 0, (signed byte) $34, (signed byte) -$34, (signed byte) $34, (signed byte) -$34, (signed byte) 0, (signed byte) $34 } (const signed byte*) zr = (signed byte*) 242 -(const signed byte*) zrs = { fill( 8, 0) } -(const signed byte*) zs = { (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34 } +(const signed byte*) zrs[(number) 8] = { fill( 8, 0) } +(const signed byte*) zs[(number) 8] = { (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34 } reg byte x [ print_sbyte_at::b#24 print_sbyte_at::b#0 print_sbyte_at::b#22 print_sbyte_at::b#16 print_sbyte_at::b#17 print_sbyte_at::b#18 print_sbyte_at::b#19 print_sbyte_at::b#20 print_sbyte_at::b#21 print_sbyte_at::b#4 print_sbyte_at::b#13 print_sbyte_at::b#14 print_sbyte_at::b#15 print_sbyte_at::b#5 print_sbyte_at::b#7 print_sbyte_at::b#8 print_sbyte_at::b#9 print_sbyte_at::b#10 print_sbyte_at::b#11 print_sbyte_at::b#12 print_sbyte_at::b#1 print_sbyte_at::b#2 print_sbyte_at::b#3 ] reg byte y [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] diff --git a/src/test/ref/examples/3d/3d.sym b/src/test/ref/examples/3d/3d.sym index d0dde9a0d..529672c5d 100644 --- a/src/test/ref/examples/3d/3d.sym +++ b/src/test/ref/examples/3d/3d.sym @@ -7,7 +7,7 @@ (const byte) GREEN = (number) 5 (const byte) LIGHT_BLUE = (number) $e (const byte) LIGHT_GREY = (number) $f -(const signed byte*) PERSP_Z = kickasm {{ { +(const signed byte*) PERSP_Z[(number) $100] = kickasm {{ { .var d = 256.0 .var z0 = 6.0 // These values of d/z0 result in table values from $20 to $40 (effectively max is $3f) @@ -26,7 +26,7 @@ (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const signed byte*) SINH = kickasm {{ { +(const signed byte*) SINH[(number) $140] = kickasm {{ { .var min = -$2000 .var max = $2000 .var ampl = max-min; @@ -36,7 +36,7 @@ } } }} -(const signed byte*) SINQ = kickasm {{ { +(const signed byte*) SINQ[(number) $140] = kickasm {{ { .var min = -$1000 .var max = $1000 .var ampl = max-min; @@ -274,18 +274,18 @@ (byte) debug_print_init::j (byte) debug_print_init::j#1 reg byte y 151.5 (byte) debug_print_init::j#2 reg byte y 55.54999999999999 -(const string) debug_print_init::str = (string) "sx" -(const string) debug_print_init::str1 = (string) "sy" -(const string) debug_print_init::str10 = (string) "xp" -(const string) debug_print_init::str11 = (string) "yp" -(const string) debug_print_init::str2 = (string) "sz" -(const string) debug_print_init::str3 = (string) "x" -(const string) debug_print_init::str4 = (string) "y" -(const string) debug_print_init::str5 = (string) "z" -(const string) debug_print_init::str6 = (string) "xr" -(const string) debug_print_init::str7 = (string) "yr" -(const string) debug_print_init::str8 = (string) "zr" -(const string) debug_print_init::str9 = (string) "pp" +(const string) debug_print_init::str[] = (string) "sx" +(const string) debug_print_init::str1[] = (string) "sy" +(const string) debug_print_init::str10[] = (string) "xp" +(const string) debug_print_init::str11[] = (string) "yp" +(const string) debug_print_init::str2[] = (string) "sz" +(const string) debug_print_init::str3[] = (string) "x" +(const string) debug_print_init::str4[] = (string) "y" +(const string) debug_print_init::str5[] = (string) "z" +(const string) debug_print_init::str6[] = (string) "xr" +(const string) debug_print_init::str7[] = (string) "yr" +(const string) debug_print_init::str8[] = (string) "zr" +(const string) debug_print_init::str9[] = (string) "pp" (void()) main() (label) main::@1 (label) main::@2 @@ -306,20 +306,20 @@ (void*) memset::return (void*) memset::str (const void*) memset::str#0 str = (void*)(const byte*) print_screen#0 -(const byte*) mulf_sqr1 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr1[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((i*i)/256) } .if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) } .if(i>351) { .byte round(((512-i)*(512-i))/256) } } }} -(const byte*) mulf_sqr2 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr2[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((-i-1)*(-i-1)/256) } .if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) } .if(i>351) { .byte round(((i-511)*(i-511))/256) } } }} (const signed byte*) pp = (signed byte*) 243 -(const signed byte*) pps = { fill( 8, 0) } +(const signed byte*) pps[(number) 8] = { fill( 8, 0) } (void()) print_byte_at((byte) print_byte_at::b , (byte*) print_byte_at::at) (byte~) print_byte_at::$0 reg byte y 4.0 (byte~) print_byte_at::$2 reg byte x 2.0 @@ -343,7 +343,7 @@ (byte) print_char_at::ch#4 reg byte y 6.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at) (label) print_sbyte_at::@1 (label) print_sbyte_at::@2 @@ -409,7 +409,7 @@ (signed byte) rotate_matrix::y#0 y zp[1]:6 34.33333333333333 (signed byte) rotate_matrix::z (signed byte) rotate_matrix::z#0 z zp[1]:4 34.33333333333333 -(const signed byte*) rotation_matrix = { fill( 9, 0) } +(const signed byte*) rotation_matrix[(number) 9] = { fill( 9, 0) } (void()) sprites_init() (label) sprites_init::@1 (label) sprites_init::@return @@ -429,18 +429,18 @@ (signed byte) sy#3 sy zp[1]:3 22.0 (const signed byte) sz = (signed byte) 0 (const signed byte*) xp = (signed byte*) 244 -(const signed byte*) xps = { fill( 8, 0) } +(const signed byte*) xps[(number) 8] = { fill( 8, 0) } (const signed byte*) xr = (signed byte*) 240 -(const signed byte*) xrs = { fill( 8, 0) } -(const signed byte*) xs = { (signed byte) -$34, (signed byte) -$34, (signed byte) -$34, (signed byte) 0, (signed byte) 0, (signed byte) $34, (signed byte) $34, (signed byte) $34 } +(const signed byte*) xrs[(number) 8] = { fill( 8, 0) } +(const signed byte*) xs[(number) 8] = { (signed byte) -$34, (signed byte) -$34, (signed byte) -$34, (signed byte) 0, (signed byte) 0, (signed byte) $34, (signed byte) $34, (signed byte) $34 } (const signed byte*) yp = (signed byte*) 245 -(const signed byte*) yps = { fill( 8, 0) } +(const signed byte*) yps[(number) 8] = { fill( 8, 0) } (const signed byte*) yr = (signed byte*) 241 -(const signed byte*) yrs = { fill( 8, 0) } -(const signed byte*) ys = { (signed byte) -$34, (signed byte) 0, (signed byte) $34, (signed byte) -$34, (signed byte) $34, (signed byte) -$34, (signed byte) 0, (signed byte) $34 } +(const signed byte*) yrs[(number) 8] = { fill( 8, 0) } +(const signed byte*) ys[(number) 8] = { (signed byte) -$34, (signed byte) 0, (signed byte) $34, (signed byte) -$34, (signed byte) $34, (signed byte) -$34, (signed byte) 0, (signed byte) $34 } (const signed byte*) zr = (signed byte*) 242 -(const signed byte*) zrs = { fill( 8, 0) } -(const signed byte*) zs = { (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34 } +(const signed byte*) zrs[(number) 8] = { fill( 8, 0) } +(const signed byte*) zs[(number) 8] = { (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34, (signed byte) $34 } reg byte x [ print_sbyte_at::b#24 print_sbyte_at::b#0 print_sbyte_at::b#22 print_sbyte_at::b#16 print_sbyte_at::b#17 print_sbyte_at::b#18 print_sbyte_at::b#19 print_sbyte_at::b#20 print_sbyte_at::b#21 print_sbyte_at::b#4 print_sbyte_at::b#13 print_sbyte_at::b#14 print_sbyte_at::b#15 print_sbyte_at::b#5 print_sbyte_at::b#7 print_sbyte_at::b#8 print_sbyte_at::b#9 print_sbyte_at::b#10 print_sbyte_at::b#11 print_sbyte_at::b#12 print_sbyte_at::b#1 print_sbyte_at::b#2 print_sbyte_at::b#3 ] reg byte y [ print_char_at::ch#4 print_char_at::ch#2 print_char_at::ch#3 ] diff --git a/src/test/ref/examples/3d/perspective.log b/src/test/ref/examples/3d/perspective.log index 5affccb42..1918c4d40 100644 --- a/src/test/ref/examples/3d/perspective.log +++ b/src/test/ref/examples/3d/perspective.log @@ -526,7 +526,7 @@ SYMBOL TABLE SSA (label) @45 (label) @begin (label) @end -(const signed byte*) PERSP_Z = kickasm {{ { +(const signed byte*) PERSP_Z[(number) $100] = kickasm {{ { .var d = 256.0 .var z0 = 5.0 .for(var z=0;z<$100;z++) { @@ -559,12 +559,12 @@ SYMBOL TABLE SSA (label) do_perspective::@8 (label) do_perspective::@9 (label) do_perspective::@return -(const string) do_perspective::str = (string) "(" -(const string) do_perspective::str1 = (string) "," -(const string) do_perspective::str2 = (string) "," -(const string) do_perspective::str3 = (string) ") -> (" -(const string) do_perspective::str4 = (string) "," -(const string) do_perspective::str5 = (string) ")" +(const string) do_perspective::str[] = (string) "(" +(const string) do_perspective::str1[] = (string) "," +(const string) do_perspective::str2[] = (string) "," +(const string) do_perspective::str3[] = (string) ") -> (" +(const string) do_perspective::str4[] = (string) "," +(const string) do_perspective::str5[] = (string) ")" (signed byte) do_perspective::x (signed byte) do_perspective::x#0 (signed byte) do_perspective::x#1 @@ -669,8 +669,8 @@ SYMBOL TABLE SSA (signed word) mulf_init::sqr#2 (byte) mulf_init::val (byte) mulf_init::val#0 -(const byte*) mulf_sqr1 = { fill( $200, 0) } -(const byte*) mulf_sqr2 = { fill( $200, 0) } +(const byte*) mulf_sqr1[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2[(number) $200] = { fill( $200, 0) } (void()) perspective((signed byte) perspective::x , (signed byte) perspective::y , (signed byte) perspective::z) (label) perspective::@return (signed byte) perspective::x @@ -783,7 +783,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -3324,7 +3324,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const signed byte*) PERSP_Z = kickasm {{ { +(const signed byte*) PERSP_Z[(number) $100] = kickasm {{ { .var d = 256.0 .var z0 = 5.0 .for(var z=0;z<$100;z++) { @@ -3354,10 +3354,10 @@ FINAL SYMBOL TABLE (label) do_perspective::@8 (label) do_perspective::@9 (label) do_perspective::@return -(const string) do_perspective::str = (string) "(" -(const string) do_perspective::str1 = (string) "," -(const string) do_perspective::str3 = (string) ") -> (" -(const string) do_perspective::str5 = (string) ")" +(const string) do_perspective::str[] = (string) "(" +(const string) do_perspective::str1[] = (string) "," +(const string) do_perspective::str3[] = (string) ") -> (" +(const string) do_perspective::str5[] = (string) ")" (signed byte) do_perspective::x (const signed byte) do_perspective::x#0 x = (signed byte) $39 (signed byte) do_perspective::y @@ -3401,8 +3401,8 @@ FINAL SYMBOL TABLE (signed word) mulf_init::sqr#2 sqr zp[2]:2 2.5384615384615383 (byte) mulf_init::val (byte) mulf_init::val#0 val zp[1]:6 9.0 -(const byte*) mulf_sqr1 = { fill( $200, 0) } -(const byte*) mulf_sqr2 = { fill( $200, 0) } +(const byte*) mulf_sqr1[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2[(number) $200] = { fill( $200, 0) } (void()) perspective((signed byte) perspective::x , (signed byte) perspective::y , (signed byte) perspective::z) (label) perspective::@return (signed byte) perspective::x @@ -3433,7 +3433,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#74 print_char_cursor zp[2]:4 12.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:2 16.5 (byte*) print_line_cursor#11 print_line_cursor zp[2]:2 22.0 diff --git a/src/test/ref/examples/3d/perspective.sym b/src/test/ref/examples/3d/perspective.sym index ae3cd0895..d962da882 100644 --- a/src/test/ref/examples/3d/perspective.sym +++ b/src/test/ref/examples/3d/perspective.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const signed byte*) PERSP_Z = kickasm {{ { +(const signed byte*) PERSP_Z[(number) $100] = kickasm {{ { .var d = 256.0 .var z0 = 5.0 .for(var z=0;z<$100;z++) { @@ -31,10 +31,10 @@ (label) do_perspective::@8 (label) do_perspective::@9 (label) do_perspective::@return -(const string) do_perspective::str = (string) "(" -(const string) do_perspective::str1 = (string) "," -(const string) do_perspective::str3 = (string) ") -> (" -(const string) do_perspective::str5 = (string) ")" +(const string) do_perspective::str[] = (string) "(" +(const string) do_perspective::str1[] = (string) "," +(const string) do_perspective::str3[] = (string) ") -> (" +(const string) do_perspective::str5[] = (string) ")" (signed byte) do_perspective::x (const signed byte) do_perspective::x#0 x = (signed byte) $39 (signed byte) do_perspective::y @@ -78,8 +78,8 @@ (signed word) mulf_init::sqr#2 sqr zp[2]:2 2.5384615384615383 (byte) mulf_init::val (byte) mulf_init::val#0 val zp[1]:6 9.0 -(const byte*) mulf_sqr1 = { fill( $200, 0) } -(const byte*) mulf_sqr2 = { fill( $200, 0) } +(const byte*) mulf_sqr1[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2[(number) $200] = { fill( $200, 0) } (void()) perspective((signed byte) perspective::x , (signed byte) perspective::y , (signed byte) perspective::z) (label) perspective::@return (signed byte) perspective::x @@ -110,7 +110,7 @@ (byte*) print_char_cursor#74 print_char_cursor zp[2]:4 12.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:2 16.5 (byte*) print_line_cursor#11 print_line_cursor zp[2]:2 22.0 diff --git a/src/test/ref/examples/bresenham/bitmap-bresenham.log b/src/test/ref/examples/bresenham/bitmap-bresenham.log index 6c876ce56..c8766b0e6 100644 --- a/src/test/ref/examples/bresenham/bitmap-bresenham.log +++ b/src/test/ref/examples/bresenham/bitmap-bresenham.log @@ -1180,11 +1180,11 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y#2 (byte) bitmap_plot::y#3 (byte) bitmap_plot::y#4 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) init_screen() (bool~) init_screen::$0 (label) init_screen::@1 @@ -1210,8 +1210,8 @@ SYMBOL TABLE SSA (byte) lines::l#3 (byte) lines::l#4 (const byte) lines_cnt = (byte) 8 -(const byte*) lines_x = { (byte)(number) $3c, (byte)(number) $50, (byte)(number) $6e, (byte)(number) $50, (byte)(number) $3c, (byte)(number) $28, (byte)(number) $a, (byte)(number) $28, (byte)(number) $3c } -(const byte*) lines_y = { (byte)(number) $a, (byte)(number) $28, (byte)(number) $3c, (byte)(number) $50, (byte)(number) $6e, (byte)(number) $50, (byte)(number) $3c, (byte)(number) $28, (byte)(number) $a } +(const byte*) lines_x[] = { (byte)(number) $3c, (byte)(number) $50, (byte)(number) $6e, (byte)(number) $50, (byte)(number) $3c, (byte)(number) $28, (byte)(number) $a, (byte)(number) $28, (byte)(number) $3c } +(const byte*) lines_y[] = { (byte)(number) $a, (byte)(number) $28, (byte)(number) $3c, (byte)(number) $50, (byte)(number) $6e, (byte)(number) $50, (byte)(number) $3c, (byte)(number) $28, (byte)(number) $a } (void()) main() (label) main::@1 (label) main::@3 @@ -5450,11 +5450,11 @@ FINAL SYMBOL TABLE (byte) bitmap_plot::y#2 reg byte y 2002.0 (byte) bitmap_plot::y#3 reg byte y 2002.0 (byte) bitmap_plot::y#4 reg byte y 2004.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) init_screen() (label) init_screen::@1 (label) init_screen::@2 @@ -5471,8 +5471,8 @@ FINAL SYMBOL TABLE (byte) lines::l#1 l zp[1]:6 202.0 (byte) lines::l#2 l zp[1]:6 101.0 (const byte) lines_cnt = (byte) 8 -(const byte*) lines_x = { (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a, (byte) $28, (byte) $3c } -(const byte*) lines_y = { (byte) $a, (byte) $28, (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a } +(const byte*) lines_x[] = { (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a, (byte) $28, (byte) $3c } +(const byte*) lines_y[] = { (byte) $a, (byte) $28, (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a } (void()) main() (label) main::@1 (label) main::@2 diff --git a/src/test/ref/examples/bresenham/bitmap-bresenham.sym b/src/test/ref/examples/bresenham/bitmap-bresenham.sym index f2998b165..20daca14e 100644 --- a/src/test/ref/examples/bresenham/bitmap-bresenham.sym +++ b/src/test/ref/examples/bresenham/bitmap-bresenham.sym @@ -260,11 +260,11 @@ (byte) bitmap_plot::y#2 reg byte y 2002.0 (byte) bitmap_plot::y#3 reg byte y 2002.0 (byte) bitmap_plot::y#4 reg byte y 2004.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_xhi = { fill( $100, 0) } -(const byte*) bitmap_plot_xlo = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_xlo[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (void()) init_screen() (label) init_screen::@1 (label) init_screen::@2 @@ -281,8 +281,8 @@ (byte) lines::l#1 l zp[1]:6 202.0 (byte) lines::l#2 l zp[1]:6 101.0 (const byte) lines_cnt = (byte) 8 -(const byte*) lines_x = { (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a, (byte) $28, (byte) $3c } -(const byte*) lines_y = { (byte) $a, (byte) $28, (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a } +(const byte*) lines_x[] = { (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a, (byte) $28, (byte) $3c } +(const byte*) lines_y[] = { (byte) $a, (byte) $28, (byte) $3c, (byte) $50, (byte) $6e, (byte) $50, (byte) $3c, (byte) $28, (byte) $a } (void()) main() (label) main::@1 (label) main::@2 diff --git a/src/test/ref/examples/chargen/chargen-analysis.log b/src/test/ref/examples/chargen/chargen-analysis.log index cbf28b042..9098d4389 100644 --- a/src/test/ref/examples/chargen/chargen-analysis.log +++ b/src/test/ref/examples/chargen/chargen-analysis.log @@ -563,7 +563,7 @@ SYMBOL TABLE SSA (const byte) KEY_Z = (number) $c (const byte*) PROCPORT = (byte*)(number) 1 (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) keyboard_char_keycodes = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte)(number) $3f, (const byte) KEY_POUND, (byte)(number) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte)(number) $3f, (const byte) KEY_EQUALS, (byte)(number) $3f, (byte)(number) $3f } +(const byte*) keyboard_char_keycodes[] = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte)(number) $3f, (const byte) KEY_POUND, (byte)(number) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte)(number) $3f, (const byte) KEY_EQUALS, (byte)(number) $3f, (byte)(number) $3f } (byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch) (label) keyboard_get_keycode::@return (byte) keyboard_get_keycode::ch @@ -611,7 +611,7 @@ SYMBOL TABLE SSA (byte) keyboard_key_pressed::return#9 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 -(const byte*) keyboard_matrix_col_bitmask = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte~) keyboard_matrix_read::$0 (label) keyboard_matrix_read::@return @@ -626,7 +626,7 @@ SYMBOL TABLE SSA (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 (byte) keyboard_matrix_read::rowid#1 -(const byte*) keyboard_matrix_row_bitmask = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } (void()) main() (byte*~) main::$0 (byte*~) main::$11 @@ -766,10 +766,10 @@ SYMBOL TABLE SSA (byte) main::shift#7 (byte) main::shift#8 (byte) main::shift#9 -(const string) main::str = (string) "f1" -(const string) main::str1 = (string) "f3" -(const string) main::str2 = (string) "f5" -(const string) main::str3 = (string) "f7" +(const string) main::str[] = (string) "f1" +(const string) main::str1[] = (string) "f3" +(const string) main::str2[] = (string) "f5" +(const string) main::str3[] = (string) "f7" (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (bool~) mul8u::$0 (number~) mul8u::$1 @@ -4379,7 +4379,7 @@ FINAL SYMBOL TABLE (const byte) KEY_Z = (number) $c (const byte*) PROCPORT = (byte*) 1 (const byte*) SCREEN = (byte*) 1024 -(const byte*) keyboard_char_keycodes = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte) $3f, (const byte) KEY_POUND, (byte) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte) $3f, (const byte) KEY_EQUALS, (byte) $3f, (byte) $3f } +(const byte*) keyboard_char_keycodes[] = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte) $3f, (const byte) KEY_POUND, (byte) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte) $3f, (const byte) KEY_EQUALS, (byte) $3f, (byte) $3f } (byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch) (label) keyboard_get_keycode::@return (byte) keyboard_get_keycode::ch @@ -4406,7 +4406,7 @@ FINAL SYMBOL TABLE (byte) keyboard_key_pressed::return#2 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -4415,7 +4415,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte x 4.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$15 reg byte a 22.0 (byte~) main::$18 reg byte a 22.0 @@ -4475,10 +4475,10 @@ FINAL SYMBOL TABLE (byte*) main::sc#2 sc zp[2]:6 14.666666666666666 (byte) main::shift (byte) main::shift#9 shift zp[1]:4 5.315789473684211 -(const string) main::str = (string) "f1" -(const string) main::str1 = (string) "f3" -(const string) main::str2 = (string) "f5" -(const string) main::str3 = (string) "f7" +(const string) main::str[] = (string) "f1" +(const string) main::str1[] = (string) "f3" +(const string) main::str2[] = (string) "f5" +(const string) main::str3[] = (string) "f7" (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (byte~) mul8u::$1 reg byte a 2002.0 (label) mul8u::@1 diff --git a/src/test/ref/examples/chargen/chargen-analysis.sym b/src/test/ref/examples/chargen/chargen-analysis.sym index a24c62558..0cc95a930 100644 --- a/src/test/ref/examples/chargen/chargen-analysis.sym +++ b/src/test/ref/examples/chargen/chargen-analysis.sym @@ -61,7 +61,7 @@ (const byte) KEY_Z = (number) $c (const byte*) PROCPORT = (byte*) 1 (const byte*) SCREEN = (byte*) 1024 -(const byte*) keyboard_char_keycodes = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte) $3f, (const byte) KEY_POUND, (byte) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte) $3f, (const byte) KEY_EQUALS, (byte) $3f, (byte) $3f } +(const byte*) keyboard_char_keycodes[] = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte) $3f, (const byte) KEY_POUND, (byte) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte) $3f, (const byte) KEY_EQUALS, (byte) $3f, (byte) $3f } (byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch) (label) keyboard_get_keycode::@return (byte) keyboard_get_keycode::ch @@ -88,7 +88,7 @@ (byte) keyboard_key_pressed::return#2 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -97,7 +97,7 @@ (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte x 4.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$15 reg byte a 22.0 (byte~) main::$18 reg byte a 22.0 @@ -157,10 +157,10 @@ (byte*) main::sc#2 sc zp[2]:6 14.666666666666666 (byte) main::shift (byte) main::shift#9 shift zp[1]:4 5.315789473684211 -(const string) main::str = (string) "f1" -(const string) main::str1 = (string) "f3" -(const string) main::str2 = (string) "f5" -(const string) main::str3 = (string) "f7" +(const string) main::str[] = (string) "f1" +(const string) main::str1[] = (string) "f3" +(const string) main::str2[] = (string) "f5" +(const string) main::str3[] = (string) "f7" (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (byte~) mul8u::$1 reg byte a 2002.0 (label) mul8u::@1 diff --git a/src/test/ref/examples/fastmultiply/fastmultiply8.log b/src/test/ref/examples/fastmultiply/fastmultiply8.log index cefad6cd9..6435fee5d 100644 --- a/src/test/ref/examples/fastmultiply/fastmultiply8.log +++ b/src/test/ref/examples/fastmultiply/fastmultiply8.log @@ -512,13 +512,13 @@ SYMBOL TABLE SSA (void*) memset::str#3 (void*) memset::str#4 (void*) memset::str#5 -(const byte*) mulf_sqr1 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr1[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((i*i)/256) } .if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) } .if(i>351) { .byte round(((512-i)*(512-i))/256) } } }} -(const byte*) mulf_sqr2 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr2[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((-i-1)*(-i-1)/256) } .if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) } .if(i>351) { .byte round(((i-511)*(i-511))/256) } @@ -556,7 +556,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at) (bool~) print_sbyte_at::$0 (byte~) print_sbyte_at::$1 @@ -596,7 +596,7 @@ SYMBOL TABLE SSA (byte*) print_screen#2 (byte*) print_screen#3 (byte*) print_screen#4 -(const signed byte*) vals = { (signed byte)(number) -$5f, (signed byte)(number) -$40, (signed byte)(number) -$20, (signed byte)(number) -$10, (signed byte)(number) 0, (signed byte)(number) $10, (signed byte)(number) $20, (signed byte)(number) $40, (signed byte)(number) $5f } +(const signed byte*) vals[] = { (signed byte)(number) -$5f, (signed byte)(number) -$40, (signed byte)(number) -$20, (signed byte)(number) -$10, (signed byte)(number) 0, (signed byte)(number) $10, (signed byte)(number) $20, (signed byte)(number) $40, (signed byte)(number) $5f } Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0 Adding number conversion cast (snumber) 0 in (bool~) print_sbyte_at::$0 ← (signed byte) print_sbyte_at::b#4 < (number) 0 @@ -2727,13 +2727,13 @@ FINAL SYMBOL TABLE (void*) memset::return (void*) memset::str (const void*) memset::str#0 str = (void*)(const byte*) print_screen#0 -(const byte*) mulf_sqr1 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr1[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((i*i)/256) } .if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) } .if(i>351) { .byte round(((512-i)*(512-i))/256) } } }} -(const byte*) mulf_sqr2 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr2[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((-i-1)*(-i-1)/256) } .if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) } .if(i>351) { .byte round(((i-511)*(i-511))/256) } @@ -2762,7 +2762,7 @@ FINAL SYMBOL TABLE (byte) print_char_at::ch#4 ch zp[1]:9 6.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at) (label) print_sbyte_at::@1 (label) print_sbyte_at::@2 @@ -2783,7 +2783,7 @@ FINAL SYMBOL TABLE (signed byte) print_sbyte_at::b#6 b zp[1]:8 4.0 (byte*) print_screen (const byte*) print_screen#0 print_screen = (byte*) 1024 -(const signed byte*) vals = { (signed byte) -$5f, (signed byte) -$40, (signed byte) -$20, (signed byte) -$10, (signed byte) 0, (signed byte) $10, (signed byte) $20, (signed byte) $40, (signed byte) $5f } +(const signed byte*) vals[] = { (signed byte) -$5f, (signed byte) -$40, (signed byte) -$20, (signed byte) -$10, (signed byte) 0, (signed byte) $10, (signed byte) $20, (signed byte) $40, (signed byte) $5f } reg byte x [ main::k#2 main::k#1 ] zp[1]:2 [ main::i#2 main::i#1 ] diff --git a/src/test/ref/examples/fastmultiply/fastmultiply8.sym b/src/test/ref/examples/fastmultiply/fastmultiply8.sym index caca46f17..da7e370c8 100644 --- a/src/test/ref/examples/fastmultiply/fastmultiply8.sym +++ b/src/test/ref/examples/fastmultiply/fastmultiply8.sym @@ -77,13 +77,13 @@ (void*) memset::return (void*) memset::str (const void*) memset::str#0 str = (void*)(const byte*) print_screen#0 -(const byte*) mulf_sqr1 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr1[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((i*i)/256) } .if(i>159 && i<=351 ) { .byte round(((i-256)*(i-256))/256) } .if(i>351) { .byte round(((512-i)*(512-i))/256) } } }} -(const byte*) mulf_sqr2 = kickasm {{ .for(var i=0;i<$200;i++) { +(const byte*) mulf_sqr2[(number) $200] = kickasm {{ .for(var i=0;i<$200;i++) { .if(i<=159) { .byte round((-i-1)*(-i-1)/256) } .if(i>159 && i<=351 ) { .byte round(((255-i)*(255-i))/256) } .if(i>351) { .byte round(((i-511)*(i-511))/256) } @@ -112,7 +112,7 @@ (byte) print_char_at::ch#4 ch zp[1]:9 6.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_sbyte_at((signed byte) print_sbyte_at::b , (byte*) print_sbyte_at::at) (label) print_sbyte_at::@1 (label) print_sbyte_at::@2 @@ -133,7 +133,7 @@ (signed byte) print_sbyte_at::b#6 b zp[1]:8 4.0 (byte*) print_screen (const byte*) print_screen#0 print_screen = (byte*) 1024 -(const signed byte*) vals = { (signed byte) -$5f, (signed byte) -$40, (signed byte) -$20, (signed byte) -$10, (signed byte) 0, (signed byte) $10, (signed byte) $20, (signed byte) $40, (signed byte) $5f } +(const signed byte*) vals[] = { (signed byte) -$5f, (signed byte) -$40, (signed byte) -$20, (signed byte) -$10, (signed byte) 0, (signed byte) $10, (signed byte) $20, (signed byte) $40, (signed byte) $5f } reg byte x [ main::k#2 main::k#1 ] zp[1]:2 [ main::i#2 main::i#1 ] diff --git a/src/test/ref/examples/fire/fire.log b/src/test/ref/examples/fire/fire.log index 87d73fecd..9400b5589 100644 --- a/src/test/ref/examples/fire/fire.log +++ b/src/test/ref/examples/fire/fire.log @@ -630,7 +630,7 @@ SYMBOL TABLE SSA (byte) makecharset::bc#7 (byte) makecharset::bc#8 (byte) makecharset::bc#9 -(const byte*) makecharset::bittab = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) makecharset::bittab[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte) makecharset::c (byte) makecharset::c#0 (byte) makecharset::c#1 @@ -3393,7 +3393,7 @@ FINAL SYMBOL TABLE (byte) makecharset::bc#3 reg byte x 275.5 (byte) makecharset::bc#6 reg byte x 101.0 (byte) makecharset::bc#7 reg byte x 1501.5 -(const byte*) makecharset::bittab = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) makecharset::bittab[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte) makecharset::c (byte) makecharset::c#1 c zp[1]:6 22.0 (byte) makecharset::c#2 c zp[1]:6 49.238095238095234 diff --git a/src/test/ref/examples/fire/fire.sym b/src/test/ref/examples/fire/fire.sym index b93ff781a..b22abd006 100644 --- a/src/test/ref/examples/fire/fire.sym +++ b/src/test/ref/examples/fire/fire.sym @@ -111,7 +111,7 @@ (byte) makecharset::bc#3 reg byte x 275.5 (byte) makecharset::bc#6 reg byte x 101.0 (byte) makecharset::bc#7 reg byte x 1501.5 -(const byte*) makecharset::bittab = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) makecharset::bittab[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte) makecharset::c (byte) makecharset::c#1 c zp[1]:6 22.0 (byte) makecharset::c#2 c zp[1]:6 49.238095238095234 diff --git a/src/test/ref/examples/helloworld/helloworld.log b/src/test/ref/examples/helloworld/helloworld.log index 4c28226c0..42a841a71 100644 --- a/src/test/ref/examples/helloworld/helloworld.log +++ b/src/test/ref/examples/helloworld/helloworld.log @@ -161,7 +161,7 @@ SYMBOL TABLE SSA (label) main::@1 (label) main::@2 (label) main::@return -(const string) main::str = (string) "hello world!" +(const string) main::str[] = (string) "hello world!" (byte*) print_char_cursor (byte*) print_char_cursor#0 (byte*) print_char_cursor#1 @@ -751,7 +751,7 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@1 (label) main::@return -(const string) main::str = (string) "hello world!" +(const string) main::str[] = (string) "hello world!" (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp[2]:4 11.0 (byte*) print_char_cursor#10 print_char_cursor zp[2]:4 4.4 diff --git a/src/test/ref/examples/helloworld/helloworld.sym b/src/test/ref/examples/helloworld/helloworld.sym index 8f9f5901b..f28dd9764 100644 --- a/src/test/ref/examples/helloworld/helloworld.sym +++ b/src/test/ref/examples/helloworld/helloworld.sym @@ -8,7 +8,7 @@ (void()) main() (label) main::@1 (label) main::@return -(const string) main::str = (string) "hello world!" +(const string) main::str[] = (string) "hello world!" (byte*) print_char_cursor (byte*) print_char_cursor#1 print_char_cursor zp[2]:4 11.0 (byte*) print_char_cursor#10 print_char_cursor zp[2]:4 4.4 diff --git a/src/test/ref/examples/linking/linking.log b/src/test/ref/examples/linking/linking.log index 905317eb0..082e92ef0 100644 --- a/src/test/ref/examples/linking/linking.log +++ b/src/test/ref/examples/linking/linking.log @@ -83,7 +83,7 @@ SYMBOL TABLE SSA (label) @end (const byte*) BGCOL = (byte*)(number) $d021 (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) base = { fill( $100, 0) } +(const byte*) base[(number) $100] = { fill( $100, 0) } (void()) fillscreen((byte) fillscreen::c) (byte*~) fillscreen::$0 (bool~) fillscreen::$1 @@ -627,7 +627,7 @@ FINAL SYMBOL TABLE (label) @end (const byte*) BGCOL = (byte*) 53281 (const byte*) SCREEN = (byte*) 1024 -(const byte*) base = { fill( $100, 0) } +(const byte*) base[(number) $100] = { fill( $100, 0) } (void()) fillscreen((byte) fillscreen::c) (byte~) fillscreen::$2 reg byte a 202.0 (label) fillscreen::@1 diff --git a/src/test/ref/examples/linking/linking.sym b/src/test/ref/examples/linking/linking.sym index 8a14ee664..1fc0e85c6 100644 --- a/src/test/ref/examples/linking/linking.sym +++ b/src/test/ref/examples/linking/linking.sym @@ -3,7 +3,7 @@ (label) @end (const byte*) BGCOL = (byte*) 53281 (const byte*) SCREEN = (byte*) 1024 -(const byte*) base = { fill( $100, 0) } +(const byte*) base[(number) $100] = { fill( $100, 0) } (void()) fillscreen((byte) fillscreen::c) (byte~) fillscreen::$2 reg byte a 202.0 (label) fillscreen::@1 diff --git a/src/test/ref/examples/multiplexer/simple-multiplexer.log b/src/test/ref/examples/multiplexer/simple-multiplexer.log index 04e3f18f8..ea1407277 100644 --- a/src/test/ref/examples/multiplexer/simple-multiplexer.log +++ b/src/test/ref/examples/multiplexer/simple-multiplexer.log @@ -603,8 +603,8 @@ SYMBOL TABLE SSA (const byte*) D011 = (byte*)(number) $d011 (const byte) GREEN = (number) 5 (const byte) PLEX_COUNT = (number) $20 -(const byte*) PLEX_FREE_YPOS = { fill( 8, 0) } -(const byte*) PLEX_PTR = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_FREE_YPOS[(number) 8] = { fill( 8, 0) } +(const byte*) PLEX_PTR[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (byte*) PLEX_SCREEN_PTR (byte*) PLEX_SCREEN_PTR#0 (byte*) PLEX_SCREEN_PTR#1 @@ -651,9 +651,9 @@ SYMBOL TABLE SSA (byte*) PLEX_SCREEN_PTR#7 (byte*) PLEX_SCREEN_PTR#8 (byte*) PLEX_SCREEN_PTR#9 -(const byte*) PLEX_SORTED_IDX = { fill( PLEX_COUNT, 0) } -(const word*) PLEX_XPOS = { fill( PLEX_COUNT, 0) } -(const byte*) PLEX_YPOS = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_SORTED_IDX[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const word*) PLEX_XPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_YPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (const byte*) RASTER = (byte*)(number) $d012 (const byte*) SCREEN = (byte*)(number) $400 (const byte) SIZEOF_WORD = (byte) 2 @@ -666,7 +666,7 @@ SYMBOL TABLE SSA (const byte) VIC_DEN = (number) $10 (const byte) VIC_RSEL = (number) 8 (const byte) VIC_RST8 = (number) $80 -(const byte*) YSIN = kickasm {{ .var min = 50 +(const byte*) YSIN[(number) $100] = kickasm {{ .var min = 50 .var max = 250-21 .var ampl = max-min; .for(var i=0;i<256;i++) @@ -3673,13 +3673,13 @@ FINAL SYMBOL TABLE (const byte*) D011 = (byte*) 53265 (const byte) GREEN = (number) 5 (const byte) PLEX_COUNT = (number) $20 -(const byte*) PLEX_FREE_YPOS = { fill( 8, 0) } -(const byte*) PLEX_PTR = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_FREE_YPOS[(number) 8] = { fill( 8, 0) } +(const byte*) PLEX_PTR[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (byte*) PLEX_SCREEN_PTR (const byte*) PLEX_SCREEN_PTR#1 PLEX_SCREEN_PTR = (const byte*) SCREEN+(word) $3f8 -(const byte*) PLEX_SORTED_IDX = { fill( PLEX_COUNT, 0) } -(const word*) PLEX_XPOS = { fill( PLEX_COUNT, 0) } -(const byte*) PLEX_YPOS = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_SORTED_IDX[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const word*) PLEX_XPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_YPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 (const byte*) SPRITE = (byte*) 8192 @@ -3691,7 +3691,7 @@ FINAL SYMBOL TABLE (const byte) VIC_DEN = (number) $10 (const byte) VIC_RSEL = (number) 8 (const byte) VIC_RST8 = (number) $80 -(const byte*) YSIN = kickasm {{ .var min = 50 +(const byte*) YSIN[(number) $100] = kickasm {{ .var min = 50 .var max = 250-21 .var ampl = max-min; .for(var i=0;i<256;i++) diff --git a/src/test/ref/examples/multiplexer/simple-multiplexer.sym b/src/test/ref/examples/multiplexer/simple-multiplexer.sym index a826b5839..9f2ccdbcd 100644 --- a/src/test/ref/examples/multiplexer/simple-multiplexer.sym +++ b/src/test/ref/examples/multiplexer/simple-multiplexer.sym @@ -7,13 +7,13 @@ (const byte*) D011 = (byte*) 53265 (const byte) GREEN = (number) 5 (const byte) PLEX_COUNT = (number) $20 -(const byte*) PLEX_FREE_YPOS = { fill( 8, 0) } -(const byte*) PLEX_PTR = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_FREE_YPOS[(number) 8] = { fill( 8, 0) } +(const byte*) PLEX_PTR[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (byte*) PLEX_SCREEN_PTR (const byte*) PLEX_SCREEN_PTR#1 PLEX_SCREEN_PTR = (const byte*) SCREEN+(word) $3f8 -(const byte*) PLEX_SORTED_IDX = { fill( PLEX_COUNT, 0) } -(const word*) PLEX_XPOS = { fill( PLEX_COUNT, 0) } -(const byte*) PLEX_YPOS = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_SORTED_IDX[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const word*) PLEX_XPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_YPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 (const byte*) SPRITE = (byte*) 8192 @@ -25,7 +25,7 @@ (const byte) VIC_DEN = (number) $10 (const byte) VIC_RSEL = (number) 8 (const byte) VIC_RST8 = (number) $80 -(const byte*) YSIN = kickasm {{ .var min = 50 +(const byte*) YSIN[(number) $100] = kickasm {{ .var min = 50 .var max = 250-21 .var ampl = max-min; .for(var i=0;i<256;i++) diff --git a/src/test/ref/examples/nmisamples/nmisamples.log b/src/test/ref/examples/nmisamples/nmisamples.log index 131458177..15cd8f8df 100644 --- a/src/test/ref/examples/nmisamples/nmisamples.log +++ b/src/test/ref/examples/nmisamples/nmisamples.log @@ -89,7 +89,7 @@ SYMBOL TABLE SSA (const byte*) CIA2_TIMER_A_CONTROL = (byte*)(number) $dd0e (const byte) CIA_INTERRUPT_CLEAR = (number) $7f (const void()**) KERNEL_NMI = (void()**)(number) $318 -(const byte*) SAMPLE = kickasm {{ .import binary "moments_sample.bin" }} +(const byte*) SAMPLE[(const word) SAMPLE_SIZE] = kickasm {{ .import binary "moments_sample.bin" }} (const word) SAMPLE_SIZE = (number) $6100 (const byte*) SID_VOLUME = (byte*)(number) $d418 (void()) main() @@ -739,7 +739,7 @@ FINAL SYMBOL TABLE (const byte*) CIA2_TIMER_A_CONTROL = (byte*) 56590 (const byte) CIA_INTERRUPT_CLEAR = (number) $7f (const void()**) KERNEL_NMI = (void()**) 792 -(const byte*) SAMPLE = kickasm {{ .import binary "moments_sample.bin" }} +(const byte*) SAMPLE[(const word) SAMPLE_SIZE] = kickasm {{ .import binary "moments_sample.bin" }} (const word) SAMPLE_SIZE = (number) $6100 (const byte*) SID_VOLUME = (byte*) 54296 (void()) main() diff --git a/src/test/ref/examples/nmisamples/nmisamples.sym b/src/test/ref/examples/nmisamples/nmisamples.sym index f6ce3eb1c..9781ed52f 100644 --- a/src/test/ref/examples/nmisamples/nmisamples.sym +++ b/src/test/ref/examples/nmisamples/nmisamples.sym @@ -8,7 +8,7 @@ (const byte*) CIA2_TIMER_A_CONTROL = (byte*) 56590 (const byte) CIA_INTERRUPT_CLEAR = (number) $7f (const void()**) KERNEL_NMI = (void()**) 792 -(const byte*) SAMPLE = kickasm {{ .import binary "moments_sample.bin" }} +(const byte*) SAMPLE[(const word) SAMPLE_SIZE] = kickasm {{ .import binary "moments_sample.bin" }} (const word) SAMPLE_SIZE = (number) $6100 (const byte*) SID_VOLUME = (byte*) 54296 (void()) main() diff --git a/src/test/ref/examples/plasma/plasma-unroll.log b/src/test/ref/examples/plasma/plasma-unroll.log index d02bc2273..eb786edde 100644 --- a/src/test/ref/examples/plasma/plasma-unroll.log +++ b/src/test/ref/examples/plasma/plasma-unroll.log @@ -728,7 +728,7 @@ SYMBOL TABLE SSA (const byte*) SID_VOICE3_CONTROL = (byte*)(number) $d412 (const word*) SID_VOICE3_FREQ = (word*)(number) $d40e (const byte*) SID_VOICE3_OSC = (byte*)(number) $d41b -(const byte*) SINTABLE = kickasm {{ .for(var i=0;i<$100;i++) +(const byte*) SINTABLE[(number) $100] = kickasm {{ .for(var i=0;i<$100;i++) .byte round(127.5+127.5*sin(toRadians(360*i/256))) }} (byte) c1A @@ -947,8 +947,8 @@ SYMBOL TABLE SSA (byte) doplasma::val#1 (byte) doplasma::val#2 (byte) doplasma::val#3 -(const byte*) doplasma::xbuf = { fill( $28, 0) } -(const byte*) doplasma::ybuf = { fill( $19, 0) } +(const byte*) doplasma::xbuf[(number) $28] = { fill( $28, 0) } +(const byte*) doplasma::ybuf[(number) $19] = { fill( $19, 0) } (byte) doplasma::yprev (byte) doplasma::yprev#0 (byte) doplasma::yprev#1 @@ -1033,7 +1033,7 @@ SYMBOL TABLE SSA (byte) makecharset::b#5 (byte) makecharset::b#6 (byte) makecharset::b#7 -(const byte*) makecharset::bittab = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) makecharset::bittab[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (word) makecharset::c (word) makecharset::c#0 (word) makecharset::c#1 @@ -5579,7 +5579,7 @@ FINAL SYMBOL TABLE (const byte*) SID_VOICE3_CONTROL = (byte*) 54290 (const word*) SID_VOICE3_FREQ = (word*) 54286 (const byte*) SID_VOICE3_OSC = (byte*) 54299 -(const byte*) SINTABLE = kickasm {{ .for(var i=0;i<$100;i++) +(const byte*) SINTABLE[(number) $100] = kickasm {{ .for(var i=0;i<$100;i++) .byte round(127.5+127.5*sin(toRadians(360*i/256))) }} (byte) c1A @@ -5686,8 +5686,8 @@ FINAL SYMBOL TABLE (byte) doplasma::val#5 reg byte a 151.5 (byte) doplasma::val#51 reg byte a 202.0 (byte) doplasma::val#7 reg byte a 151.5 -(const byte*) doplasma::xbuf = { fill( $28, 0) } -(const byte*) doplasma::ybuf = { fill( $19, 0) } +(const byte*) doplasma::xbuf[(number) $28] = { fill( $28, 0) } +(const byte*) doplasma::ybuf[(number) $19] = { fill( $19, 0) } (byte) doplasma::yprev (byte) doplasma::yprev#2 reg byte x 67.33333333333333 (byte) doplasma::yprev#4 reg byte x 202.0 @@ -5733,7 +5733,7 @@ FINAL SYMBOL TABLE (byte) makecharset::b#1 reg byte y 2002.0 (byte) makecharset::b#2 reg byte y 282.1818181818182 (byte) makecharset::b#6 reg byte y 1501.5 -(const byte*) makecharset::bittab = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) makecharset::bittab[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (word) makecharset::c (word) makecharset::c#1 c zp[2]:9 22.0 (word) makecharset::c#2 c zp[2]:9 5.777777777777778 diff --git a/src/test/ref/examples/plasma/plasma-unroll.sym b/src/test/ref/examples/plasma/plasma-unroll.sym index f0f71c1f4..70e18a6e4 100644 --- a/src/test/ref/examples/plasma/plasma-unroll.sym +++ b/src/test/ref/examples/plasma/plasma-unroll.sym @@ -17,7 +17,7 @@ (const byte*) SID_VOICE3_CONTROL = (byte*) 54290 (const word*) SID_VOICE3_FREQ = (word*) 54286 (const byte*) SID_VOICE3_OSC = (byte*) 54299 -(const byte*) SINTABLE = kickasm {{ .for(var i=0;i<$100;i++) +(const byte*) SINTABLE[(number) $100] = kickasm {{ .for(var i=0;i<$100;i++) .byte round(127.5+127.5*sin(toRadians(360*i/256))) }} (byte) c1A @@ -124,8 +124,8 @@ (byte) doplasma::val#5 reg byte a 151.5 (byte) doplasma::val#51 reg byte a 202.0 (byte) doplasma::val#7 reg byte a 151.5 -(const byte*) doplasma::xbuf = { fill( $28, 0) } -(const byte*) doplasma::ybuf = { fill( $19, 0) } +(const byte*) doplasma::xbuf[(number) $28] = { fill( $28, 0) } +(const byte*) doplasma::ybuf[(number) $19] = { fill( $19, 0) } (byte) doplasma::yprev (byte) doplasma::yprev#2 reg byte x 67.33333333333333 (byte) doplasma::yprev#4 reg byte x 202.0 @@ -171,7 +171,7 @@ (byte) makecharset::b#1 reg byte y 2002.0 (byte) makecharset::b#2 reg byte y 282.1818181818182 (byte) makecharset::b#6 reg byte y 1501.5 -(const byte*) makecharset::bittab = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) makecharset::bittab[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (word) makecharset::c (word) makecharset::c#1 c zp[2]:9 22.0 (word) makecharset::c#2 c zp[2]:9 5.777777777777778 diff --git a/src/test/ref/examples/plasma/plasma.log b/src/test/ref/examples/plasma/plasma.log index d472d86db..e075adfd8 100644 --- a/src/test/ref/examples/plasma/plasma.log +++ b/src/test/ref/examples/plasma/plasma.log @@ -778,7 +778,7 @@ SYMBOL TABLE SSA (const byte*) SID_VOICE3_CONTROL = (byte*)(number) $d412 (const word*) SID_VOICE3_FREQ = (word*)(number) $d40e (const byte*) SID_VOICE3_OSC = (byte*)(number) $d41b -(const byte*) SINTABLE = kickasm {{ .for(var i=0;i<$100;i++) +(const byte*) SINTABLE[(number) $100] = kickasm {{ .for(var i=0;i<$100;i++) .byte round(127.5+127.5*sin(2*PI*i/256)) }} (byte) c1A @@ -1012,8 +1012,8 @@ SYMBOL TABLE SSA (byte*) doplasma::screen#7 (byte*) doplasma::screen#8 (byte*) doplasma::screen#9 -(const byte*) doplasma::xbuf = { fill( $28, 0) } -(const byte*) doplasma::ybuf = { fill( $19, 0) } +(const byte*) doplasma::xbuf[(number) $28] = { fill( $28, 0) } +(const byte*) doplasma::ybuf[(number) $19] = { fill( $19, 0) } (void()) main() (bool~) main::$1 (byte~) main::$3 @@ -1116,7 +1116,7 @@ SYMBOL TABLE SSA (byte) makecharset::b#5 (byte) makecharset::b#6 (byte) makecharset::b#7 -(const byte*) makecharset::bittab = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) makecharset::bittab[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (word) makecharset::c (word) makecharset::c#0 (word) makecharset::c#1 @@ -4246,7 +4246,7 @@ FINAL SYMBOL TABLE (const byte*) SID_VOICE3_CONTROL = (byte*) 54290 (const word*) SID_VOICE3_FREQ = (word*) 54286 (const byte*) SID_VOICE3_OSC = (byte*) 54299 -(const byte*) SINTABLE = kickasm {{ .for(var i=0;i<$100;i++) +(const byte*) SINTABLE[(number) $100] = kickasm {{ .for(var i=0;i<$100;i++) .byte round(127.5+127.5*sin(2*PI*i/256)) }} (byte) c1A @@ -4312,8 +4312,8 @@ FINAL SYMBOL TABLE (byte*) doplasma::screen#13 screen zp[2]:9 0.08695652173913043 (byte*) doplasma::screen#2 screen zp[2]:9 101.0 (byte*) doplasma::screen#6 screen zp[2]:9 172.14285714285714 -(const byte*) doplasma::xbuf = { fill( $28, 0) } -(const byte*) doplasma::ybuf = { fill( $19, 0) } +(const byte*) doplasma::xbuf[(number) $28] = { fill( $28, 0) } +(const byte*) doplasma::ybuf[(number) $19] = { fill( $19, 0) } (void()) main() (label) main::@1 (label) main::@2 @@ -4360,7 +4360,7 @@ FINAL SYMBOL TABLE (byte) makecharset::b#1 reg byte y 2002.0 (byte) makecharset::b#2 reg byte y 282.1818181818182 (byte) makecharset::b#6 reg byte y 1501.5 -(const byte*) makecharset::bittab = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) makecharset::bittab[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (word) makecharset::c (word) makecharset::c#1 c zp[2]:12 22.0 (word) makecharset::c#2 c zp[2]:12 5.777777777777778 diff --git a/src/test/ref/examples/plasma/plasma.sym b/src/test/ref/examples/plasma/plasma.sym index d539230d8..c2e6a4006 100644 --- a/src/test/ref/examples/plasma/plasma.sym +++ b/src/test/ref/examples/plasma/plasma.sym @@ -18,7 +18,7 @@ (const byte*) SID_VOICE3_CONTROL = (byte*) 54290 (const word*) SID_VOICE3_FREQ = (word*) 54286 (const byte*) SID_VOICE3_OSC = (byte*) 54299 -(const byte*) SINTABLE = kickasm {{ .for(var i=0;i<$100;i++) +(const byte*) SINTABLE[(number) $100] = kickasm {{ .for(var i=0;i<$100;i++) .byte round(127.5+127.5*sin(2*PI*i/256)) }} (byte) c1A @@ -84,8 +84,8 @@ (byte*) doplasma::screen#13 screen zp[2]:9 0.08695652173913043 (byte*) doplasma::screen#2 screen zp[2]:9 101.0 (byte*) doplasma::screen#6 screen zp[2]:9 172.14285714285714 -(const byte*) doplasma::xbuf = { fill( $28, 0) } -(const byte*) doplasma::ybuf = { fill( $19, 0) } +(const byte*) doplasma::xbuf[(number) $28] = { fill( $28, 0) } +(const byte*) doplasma::ybuf[(number) $19] = { fill( $19, 0) } (void()) main() (label) main::@1 (label) main::@2 @@ -132,7 +132,7 @@ (byte) makecharset::b#1 reg byte y 2002.0 (byte) makecharset::b#2 reg byte y 282.1818181818182 (byte) makecharset::b#6 reg byte y 1501.5 -(const byte*) makecharset::bittab = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) makecharset::bittab[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (word) makecharset::c (word) makecharset::c#1 c zp[2]:12 22.0 (word) makecharset::c#2 c zp[2]:12 5.777777777777778 diff --git a/src/test/ref/examples/rasterbars/raster-bars.log b/src/test/ref/examples/rasterbars/raster-bars.log index ec17e005d..dd2dc162f 100644 --- a/src/test/ref/examples/rasterbars/raster-bars.log +++ b/src/test/ref/examples/rasterbars/raster-bars.log @@ -90,7 +90,7 @@ SYMBOL TABLE SSA (byte) raster::i#0 (byte) raster::i#1 (byte) raster::i#2 -(const byte*) rastercols = { (byte)(number) $b, (byte)(number) 0, (byte)(number) $b, (byte)(number) $b, (byte)(number) $c, (byte)(number) $b, (byte)(number) $c, (byte)(number) $c, (byte)(number) $f, (byte)(number) $c, (byte)(number) $f, (byte)(number) $f, (byte)(number) 1, (byte)(number) $f, (byte)(number) 1, (byte)(number) 1, (byte)(number) $f, (byte)(number) 1, (byte)(number) $f, (byte)(number) $f, (byte)(number) $c, (byte)(number) $f, (byte)(number) $c, (byte)(number) $c, (byte)(number) $b, (byte)(number) $c, (byte)(number) $b, (byte)(number) $b, (byte)(number) 0, (byte)(number) $b, (byte)(number) 0, (byte)(number) $ff } +(const byte*) rastercols[] = { (byte)(number) $b, (byte)(number) 0, (byte)(number) $b, (byte)(number) $b, (byte)(number) $c, (byte)(number) $b, (byte)(number) $c, (byte)(number) $c, (byte)(number) $f, (byte)(number) $c, (byte)(number) $f, (byte)(number) $f, (byte)(number) 1, (byte)(number) $f, (byte)(number) 1, (byte)(number) 1, (byte)(number) $f, (byte)(number) 1, (byte)(number) $f, (byte)(number) $f, (byte)(number) $c, (byte)(number) $f, (byte)(number) $c, (byte)(number) $c, (byte)(number) $b, (byte)(number) $c, (byte)(number) $b, (byte)(number) $b, (byte)(number) 0, (byte)(number) $b, (byte)(number) 0, (byte)(number) $ff } Adding number conversion cast (unumber) $a in (bool~) main::$0 ← *((const byte*) RASTER) != (number) $a Adding number conversion cast (unumber) $b in (bool~) main::$1 ← *((const byte*) RASTER) != (number) $b @@ -591,7 +591,7 @@ FINAL SYMBOL TABLE (byte) raster::i (byte) raster::i#1 reg byte x 75.75 (byte) raster::i#2 reg byte x 67.33333333333333 -(const byte*) rastercols = { (byte) $b, (byte) 0, (byte) $b, (byte) $b, (byte) $c, (byte) $b, (byte) $c, (byte) $c, (byte) $f, (byte) $c, (byte) $f, (byte) $f, (byte) 1, (byte) $f, (byte) 1, (byte) 1, (byte) $f, (byte) 1, (byte) $f, (byte) $f, (byte) $c, (byte) $f, (byte) $c, (byte) $c, (byte) $b, (byte) $c, (byte) $b, (byte) $b, (byte) 0, (byte) $b, (byte) 0, (byte) $ff } +(const byte*) rastercols[] = { (byte) $b, (byte) 0, (byte) $b, (byte) $b, (byte) $c, (byte) $b, (byte) $c, (byte) $c, (byte) $f, (byte) $c, (byte) $f, (byte) $f, (byte) 1, (byte) $f, (byte) 1, (byte) 1, (byte) $f, (byte) 1, (byte) $f, (byte) $f, (byte) $c, (byte) $f, (byte) $c, (byte) $c, (byte) $b, (byte) $c, (byte) $b, (byte) $b, (byte) 0, (byte) $b, (byte) 0, (byte) $ff } reg byte a [ raster::col#2 raster::col#0 raster::col#1 ] reg byte x [ raster::i#2 raster::i#1 ] diff --git a/src/test/ref/examples/rasterbars/raster-bars.sym b/src/test/ref/examples/rasterbars/raster-bars.sym index 7136e9556..d02cfc82e 100644 --- a/src/test/ref/examples/rasterbars/raster-bars.sym +++ b/src/test/ref/examples/rasterbars/raster-bars.sym @@ -18,7 +18,7 @@ (byte) raster::i (byte) raster::i#1 reg byte x 75.75 (byte) raster::i#2 reg byte x 67.33333333333333 -(const byte*) rastercols = { (byte) $b, (byte) 0, (byte) $b, (byte) $b, (byte) $c, (byte) $b, (byte) $c, (byte) $c, (byte) $f, (byte) $c, (byte) $f, (byte) $f, (byte) 1, (byte) $f, (byte) 1, (byte) 1, (byte) $f, (byte) 1, (byte) $f, (byte) $f, (byte) $c, (byte) $f, (byte) $c, (byte) $c, (byte) $b, (byte) $c, (byte) $b, (byte) $b, (byte) 0, (byte) $b, (byte) 0, (byte) $ff } +(const byte*) rastercols[] = { (byte) $b, (byte) 0, (byte) $b, (byte) $b, (byte) $c, (byte) $b, (byte) $c, (byte) $c, (byte) $f, (byte) $c, (byte) $f, (byte) $f, (byte) 1, (byte) $f, (byte) 1, (byte) 1, (byte) $f, (byte) 1, (byte) $f, (byte) $f, (byte) $c, (byte) $f, (byte) $c, (byte) $c, (byte) $b, (byte) $c, (byte) $b, (byte) $b, (byte) 0, (byte) $b, (byte) 0, (byte) $ff } reg byte a [ raster::col#2 raster::col#0 raster::col#1 ] reg byte x [ raster::i#2 raster::i#1 ] diff --git a/src/test/ref/examples/rotate/rotate.log b/src/test/ref/examples/rotate/rotate.log index da2312c58..14b05e6bf 100644 --- a/src/test/ref/examples/rotate/rotate.log +++ b/src/test/ref/examples/rotate/rotate.log @@ -693,7 +693,7 @@ SYMBOL TABLE SSA (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*)(number) $d012 (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte*) SPRITE = (byte*)(number) $3000 @@ -1084,10 +1084,10 @@ SYMBOL TABLE SSA (byte) mulf_init::x_255#3 (byte) mulf_init::x_255#4 (byte) mulf_init::x_255#5 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) print_byte_at((byte) print_byte_at::b , (byte*) print_byte_at::at) (byte~) print_byte_at::$0 (number~) print_byte_at::$2 @@ -1130,7 +1130,7 @@ SYMBOL TABLE SSA (dword) print_dword_at::dw#0 (dword) print_dword_at::dw#1 (dword) print_dword_at::dw#2 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at) (byte~) print_word_at::$0 (byte~) print_word_at::$2 @@ -1148,8 +1148,8 @@ SYMBOL TABLE SSA (word) print_word_at::w#1 (word) print_word_at::w#2 (word) print_word_at::w#3 -(const signed byte*) xs = { (signed byte)(number) -$46, (signed byte)(number) -$46, (signed byte)(number) -$46, (signed byte)(number) 0, (signed byte)(number) 0, (signed byte)(number) $46, (signed byte)(number) $46, (signed byte)(number) $46 } -(const signed byte*) ys = { (signed byte)(number) -$46, (signed byte)(number) 0, (signed byte)(number) $46, (signed byte)(number) -$46, (signed byte)(number) $46, (signed byte)(number) -$46, (signed byte)(number) 0, (signed byte)(number) $46 } +(const signed byte*) xs[(number) 8] = { (signed byte)(number) -$46, (signed byte)(number) -$46, (signed byte)(number) -$46, (signed byte)(number) 0, (signed byte)(number) 0, (signed byte)(number) $46, (signed byte)(number) $46, (signed byte)(number) $46 } +(const signed byte*) ys[(number) 8] = { (signed byte)(number) -$46, (signed byte)(number) 0, (signed byte)(number) $46, (signed byte)(number) -$46, (signed byte)(number) $46, (signed byte)(number) -$46, (signed byte)(number) 0, (signed byte)(number) $46 } Fixing inline constructor with mulf8u_prepared::$0 ← (byte)*(mulf8u_prepared::memB) w= (byte)*(mulf8u_prepared::resL) Successful SSA optimization Pass2FixInlineConstructors @@ -5013,7 +5013,7 @@ FINAL SYMBOL TABLE (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte*) SPRITE = (byte*) 12288 @@ -5188,10 +5188,10 @@ FINAL SYMBOL TABLE (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) print_byte_at((byte) print_byte_at::b , (byte*) print_byte_at::at) (byte~) print_byte_at::$0 reg byte a 4.0 (byte~) print_byte_at::$2 reg byte y 2.0 @@ -5221,7 +5221,7 @@ FINAL SYMBOL TABLE (byte*) print_dword_at::at (dword) print_dword_at::dw (dword) print_dword_at::dw#0 dw zp[4]:19 5.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at) (label) print_word_at::@1 (label) print_word_at::@return @@ -5231,8 +5231,8 @@ FINAL SYMBOL TABLE (word) print_word_at::w#0 w zp[2]:3 4.0 (word) print_word_at::w#1 w zp[2]:3 4.0 (word) print_word_at::w#2 w zp[2]:3 2.0 -(const signed byte*) xs = { (signed byte) -$46, (signed byte) -$46, (signed byte) -$46, (signed byte) 0, (signed byte) 0, (signed byte) $46, (signed byte) $46, (signed byte) $46 } -(const signed byte*) ys = { (signed byte) -$46, (signed byte) 0, (signed byte) $46, (signed byte) -$46, (signed byte) $46, (signed byte) -$46, (signed byte) 0, (signed byte) $46 } +(const signed byte*) xs[(number) 8] = { (signed byte) -$46, (signed byte) -$46, (signed byte) -$46, (signed byte) 0, (signed byte) 0, (signed byte) $46, (signed byte) $46, (signed byte) $46 } +(const signed byte*) ys[(number) 8] = { (signed byte) -$46, (signed byte) 0, (signed byte) $46, (signed byte) -$46, (signed byte) $46, (signed byte) -$46, (signed byte) 0, (signed byte) $46 } zp[1]:2 [ print_byte_at::b#2 print_byte_at::b#0 print_byte_at::b#1 anim::i#10 anim::i#1 ] reg byte x [ print_char_at::ch#2 print_char_at::ch#0 print_char_at::ch#1 ] diff --git a/src/test/ref/examples/rotate/rotate.sym b/src/test/ref/examples/rotate/rotate.sym index e29659bbf..78b298fc3 100644 --- a/src/test/ref/examples/rotate/rotate.sym +++ b/src/test/ref/examples/rotate/rotate.sym @@ -17,7 +17,7 @@ (const byte) RADIX::OCTAL = (number) 8 (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 -(const byte*) SIN = kickasm {{ .for(var i=0;i<$140;i++) +(const byte*) SIN[(number) $140] = kickasm {{ .for(var i=0;i<$140;i++) .byte >round($7fff*sin(i*2*PI/256)) }} (const byte*) SPRITE = (byte*) 12288 @@ -192,10 +192,10 @@ (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) print_byte_at((byte) print_byte_at::b , (byte*) print_byte_at::at) (byte~) print_byte_at::$0 reg byte a 4.0 (byte~) print_byte_at::$2 reg byte y 2.0 @@ -225,7 +225,7 @@ (byte*) print_dword_at::at (dword) print_dword_at::dw (dword) print_dword_at::dw#0 dw zp[4]:19 5.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (void()) print_word_at((word) print_word_at::w , (byte*) print_word_at::at) (label) print_word_at::@1 (label) print_word_at::@return @@ -235,8 +235,8 @@ (word) print_word_at::w#0 w zp[2]:3 4.0 (word) print_word_at::w#1 w zp[2]:3 4.0 (word) print_word_at::w#2 w zp[2]:3 2.0 -(const signed byte*) xs = { (signed byte) -$46, (signed byte) -$46, (signed byte) -$46, (signed byte) 0, (signed byte) 0, (signed byte) $46, (signed byte) $46, (signed byte) $46 } -(const signed byte*) ys = { (signed byte) -$46, (signed byte) 0, (signed byte) $46, (signed byte) -$46, (signed byte) $46, (signed byte) -$46, (signed byte) 0, (signed byte) $46 } +(const signed byte*) xs[(number) 8] = { (signed byte) -$46, (signed byte) -$46, (signed byte) -$46, (signed byte) 0, (signed byte) 0, (signed byte) $46, (signed byte) $46, (signed byte) $46 } +(const signed byte*) ys[(number) 8] = { (signed byte) -$46, (signed byte) 0, (signed byte) $46, (signed byte) -$46, (signed byte) $46, (signed byte) -$46, (signed byte) 0, (signed byte) $46 } zp[1]:2 [ print_byte_at::b#2 print_byte_at::b#0 print_byte_at::b#1 anim::i#10 anim::i#1 ] reg byte x [ print_char_at::ch#2 print_char_at::ch#0 print_char_at::ch#1 ] diff --git a/src/test/ref/examples/scroll/scroll.log b/src/test/ref/examples/scroll/scroll.log index 6956a50e1..a3f27a87c 100644 --- a/src/test/ref/examples/scroll/scroll.log +++ b/src/test/ref/examples/scroll/scroll.log @@ -136,7 +136,7 @@ SYMBOL TABLE SSA (const byte*) RASTER = (byte*)(number) $d012 (const byte*) SCREEN = (byte*)(number) $400 (const byte*) SCROLL = (byte*)(number) $d016 -(const byte*) TEXT = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- " +(const byte*) TEXT[] = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- " (void()) fillscreen((byte*) fillscreen::screen , (byte) fillscreen::fill) (byte*~) fillscreen::$0 (bool~) fillscreen::$1 @@ -1014,7 +1014,7 @@ FINAL SYMBOL TABLE (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 (const byte*) SCROLL = (byte*) 53270 -(const byte*) TEXT = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- " +(const byte*) TEXT[] = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- " (void()) fillscreen((byte*) fillscreen::screen , (byte) fillscreen::fill) (label) fillscreen::@1 (label) fillscreen::@2 diff --git a/src/test/ref/examples/scroll/scroll.sym b/src/test/ref/examples/scroll/scroll.sym index 53620cfd0..d03870a39 100644 --- a/src/test/ref/examples/scroll/scroll.sym +++ b/src/test/ref/examples/scroll/scroll.sym @@ -5,7 +5,7 @@ (const byte*) RASTER = (byte*) 53266 (const byte*) SCREEN = (byte*) 1024 (const byte*) SCROLL = (byte*) 53270 -(const byte*) TEXT = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- " +(const byte*) TEXT[] = (string) "-= this is rex of camelot testing a scroller created in kickc. kickc is an optimizing c-compiler for 6502 assembler. =- " (void()) fillscreen((byte*) fillscreen::screen , (byte) fillscreen::fill) (label) fillscreen::@1 (label) fillscreen::@2 diff --git a/src/test/ref/examples/scrolllogo/scrolllogo.log b/src/test/ref/examples/scrolllogo/scrolllogo.log index 027005c77..818431933 100644 --- a/src/test/ref/examples/scrolllogo/scrolllogo.log +++ b/src/test/ref/examples/scrolllogo/scrolllogo.log @@ -1611,7 +1611,7 @@ SYMBOL TABLE SSA (dword) sin16s_gen2::x#3 (dword) sin16s_gen2::x#4 (dword) sin16s_gen2::x#5 -(const signed word*) xsin = { fill( XSIN_SIZE, 0) } +(const signed word*) xsin[(const word) XSIN_SIZE] = { fill( XSIN_SIZE, 0) } (word) xsin_idx (word) xsin_idx#0 (word) xsin_idx#1 @@ -8368,7 +8368,7 @@ FINAL SYMBOL TABLE (dword) sin16s_gen2::x (dword) sin16s_gen2::x#1 x zp[4]:4 11.0 (dword) sin16s_gen2::x#2 x zp[4]:4 2.75 -(const signed word*) xsin = { fill( XSIN_SIZE, 0) } +(const signed word*) xsin[(const word) XSIN_SIZE] = { fill( XSIN_SIZE, 0) } (word) xsin_idx (word) xsin_idx#11 xsin_idx zp[2]:35 4.125 (word) xsin_idx#19 xsin_idx zp[2]:35 11.0 diff --git a/src/test/ref/examples/scrolllogo/scrolllogo.sym b/src/test/ref/examples/scrolllogo/scrolllogo.sym index ac2fb2400..4ade86706 100644 --- a/src/test/ref/examples/scrolllogo/scrolllogo.sym +++ b/src/test/ref/examples/scrolllogo/scrolllogo.sym @@ -331,7 +331,7 @@ (dword) sin16s_gen2::x (dword) sin16s_gen2::x#1 x zp[4]:4 11.0 (dword) sin16s_gen2::x#2 x zp[4]:4 2.75 -(const signed word*) xsin = { fill( XSIN_SIZE, 0) } +(const signed word*) xsin[(const word) XSIN_SIZE] = { fill( XSIN_SIZE, 0) } (word) xsin_idx (word) xsin_idx#11 xsin_idx zp[2]:35 4.125 (word) xsin_idx#19 xsin_idx zp[2]:35 11.0 diff --git a/src/test/ref/examples/sinplotter/sine-plotter.log b/src/test/ref/examples/sinplotter/sine-plotter.log index 408acbaae..42087eec9 100644 --- a/src/test/ref/examples/sinplotter/sine-plotter.log +++ b/src/test/ref/examples/sinplotter/sine-plotter.log @@ -1158,9 +1158,9 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y#0 (byte) bitmap_plot::y#1 (byte) bitmap_plot::y#2 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (byte*) bitmap_screen#0 (byte*) bitmap_screen#1 @@ -1636,7 +1636,7 @@ SYMBOL TABLE SSA (byte) render_sine::ypos#0 (byte) render_sine::ypos2 (byte) render_sine::ypos2#0 -(const signed word*) sin = { fill( $200, 0) } +(const signed word*) sin[(number) $200] = { fill( $200, 0) } (signed word()) sin16s((dword) sin16s::x) (bool~) sin16s::$0 (bool~) sin16s::$1 @@ -1801,7 +1801,7 @@ SYMBOL TABLE SSA (dword) sin16s_gen2::x#3 (dword) sin16s_gen2::x#4 (dword) sin16s_gen2::x#5 -(const signed word*) sin2 = kickasm {{ .for(var i=0; i<512; i++) { +(const signed word*) sin2[(number) $200] = kickasm {{ .for(var i=0; i<512; i++) { .word sin(toRadians([i*360]/512))*320 } }} @@ -7788,9 +7788,9 @@ FINAL SYMBOL TABLE (byte) bitmap_plot::y#0 reg byte x 22.0 (byte) bitmap_plot::y#1 reg byte x 22.0 (byte) bitmap_plot::y#2 reg byte x 26.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@1 @@ -7980,7 +7980,7 @@ FINAL SYMBOL TABLE (byte) render_sine::ypos#0 reg byte x 11.0 (byte) render_sine::ypos2 (byte) render_sine::ypos2#0 reg byte x 11.0 -(const signed word*) sin = { fill( $200, 0) } +(const signed word*) sin[(number) $200] = { fill( $200, 0) } (signed word()) sin16s((dword) sin16s::x) (dword~) sin16s::$4 zp[4]:26 4.0 (label) sin16s::@1 @@ -8055,7 +8055,7 @@ FINAL SYMBOL TABLE (dword) sin16s_gen2::x (dword) sin16s_gen2::x#1 x zp[4]:2 11.0 (dword) sin16s_gen2::x#2 x zp[4]:2 2.75 -(const signed word*) sin2 = kickasm {{ .for(var i=0; i<512; i++) { +(const signed word*) sin2[(number) $200] = kickasm {{ .for(var i=0; i<512; i++) { .word sin(toRadians([i*360]/512))*320 } }} diff --git a/src/test/ref/examples/sinplotter/sine-plotter.sym b/src/test/ref/examples/sinplotter/sine-plotter.sym index 81a27f77c..bdf44d7ef 100644 --- a/src/test/ref/examples/sinplotter/sine-plotter.sym +++ b/src/test/ref/examples/sinplotter/sine-plotter.sym @@ -74,9 +74,9 @@ (byte) bitmap_plot::y#0 reg byte x 22.0 (byte) bitmap_plot::y#1 reg byte x 22.0 (byte) bitmap_plot::y#2 reg byte x 26.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } (byte*) bitmap_screen (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@1 @@ -266,7 +266,7 @@ (byte) render_sine::ypos#0 reg byte x 11.0 (byte) render_sine::ypos2 (byte) render_sine::ypos2#0 reg byte x 11.0 -(const signed word*) sin = { fill( $200, 0) } +(const signed word*) sin[(number) $200] = { fill( $200, 0) } (signed word()) sin16s((dword) sin16s::x) (dword~) sin16s::$4 zp[4]:26 4.0 (label) sin16s::@1 @@ -341,7 +341,7 @@ (dword) sin16s_gen2::x (dword) sin16s_gen2::x#1 x zp[4]:2 11.0 (dword) sin16s_gen2::x#2 x zp[4]:2 2.75 -(const signed word*) sin2 = kickasm {{ .for(var i=0; i<512; i++) { +(const signed word*) sin2[(number) $200] = kickasm {{ .for(var i=0; i<512; i++) { .word sin(toRadians([i*360]/512))*320 } }} diff --git a/src/test/ref/examples/sinsprites/sinus-sprites.log b/src/test/ref/examples/sinsprites/sinus-sprites.log index 272038269..e8e646662 100644 --- a/src/test/ref/examples/sinsprites/sinus-sprites.log +++ b/src/test/ref/examples/sinsprites/sinus-sprites.log @@ -1314,9 +1314,9 @@ SYMBOL TABLE SSA (label) gen_sintab::@9 (label) gen_sintab::@return (const byte*) gen_sintab::f_2pi = (byte*)(number) $e2e5 -(const byte*) gen_sintab::f_amp = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) gen_sintab::f_i = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } -(const byte*) gen_sintab::f_min = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) gen_sintab::f_amp[] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) gen_sintab::f_i[] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) gen_sintab::f_min[] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } (byte) gen_sintab::i (byte) gen_sintab::i#0 (byte) gen_sintab::i#1 @@ -1402,7 +1402,7 @@ SYMBOL TABLE SSA (label) gen_sprites::@1 (label) gen_sprites::@3 (label) gen_sprites::@return -(const byte*) gen_sprites::cml = (string) "camelot"z +(const byte*) gen_sprites::cml[] = (string) "camelot"z (byte) gen_sprites::i (byte) gen_sprites::i#0 (byte) gen_sprites::i#1 @@ -1632,7 +1632,7 @@ SYMBOL TABLE SSA (label) progress_inc::@1 (label) progress_inc::@2 (label) progress_inc::@return -(const byte*) progress_inc::progress_chars = { (byte)(number) $20, (byte)(number) $65, (byte)(number) $74, (byte)(number) $75, (byte)(number) $61, (byte)(number) $f6, (byte)(number) $e7, (byte)(number) $ea, (byte)(number) $e0 } +(const byte*) progress_inc::progress_chars[] = { (byte)(number) $20, (byte)(number) $65, (byte)(number) $74, (byte)(number) $75, (byte)(number) $61, (byte)(number) $f6, (byte)(number) $e7, (byte)(number) $ea, (byte)(number) $e0 } (void()) progress_init((byte*) progress_init::line) (label) progress_init::@return (byte*) progress_init::line @@ -1732,8 +1732,8 @@ SYMBOL TABLE SSA (byte) sin_idx_y#9 (const byte) sinlen_x = (number) $dd (const byte) sinlen_y = (number) $c5 -(const byte*) sintab_x = { fill( $dd, 0) } -(const byte*) sintab_y = { fill( $c5, 0) } +(const byte*) sintab_x[(number) $dd] = { fill( $dd, 0) } +(const byte*) sintab_y[(number) $c5] = { fill( $c5, 0) } (const byte*) sprites = (byte*)(number) $2000 (void()) subFACfromARG() (label) subFACfromARG::@return @@ -7299,9 +7299,9 @@ FINAL SYMBOL TABLE (label) gen_sintab::@9 (label) gen_sintab::@return (const byte*) gen_sintab::f_2pi = (byte*) 58085 -(const byte*) gen_sintab::f_amp = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) gen_sintab::f_i = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) gen_sintab::f_min = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) gen_sintab::f_amp[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) gen_sintab::f_i[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) gen_sintab::f_min[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (byte) gen_sintab::i (byte) gen_sintab::i#1 i zp[1]:9 22.0 (byte) gen_sintab::i#10 i zp[1]:9 1.76 @@ -7317,7 +7317,7 @@ FINAL SYMBOL TABLE (label) gen_sprites::@1 (label) gen_sprites::@2 (label) gen_sprites::@return -(const byte*) gen_sprites::cml = (string) "camelot"z +(const byte*) gen_sprites::cml[] = (string) "camelot"z (byte) gen_sprites::i (byte) gen_sprites::i#1 i zp[1]:11 16.5 (byte) gen_sprites::i#2 i zp[1]:11 6.6000000000000005 @@ -7389,7 +7389,7 @@ FINAL SYMBOL TABLE (label) progress_inc::@1 (label) progress_inc::@2 (label) progress_inc::@return -(const byte*) progress_inc::progress_chars = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } +(const byte*) progress_inc::progress_chars[] = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } (void()) progress_init((byte*) progress_init::line) (label) progress_init::@return (byte*) progress_init::line @@ -7430,8 +7430,8 @@ FINAL SYMBOL TABLE (byte) sin_idx_y#3 sin_idx_y zp[1]:8 2.0 (const byte) sinlen_x = (number) $dd (const byte) sinlen_y = (number) $c5 -(const byte*) sintab_x = { fill( $dd, 0) } -(const byte*) sintab_y = { fill( $c5, 0) } +(const byte*) sintab_x[(number) $dd] = { fill( $dd, 0) } +(const byte*) sintab_y[(number) $c5] = { fill( $c5, 0) } (const byte*) sprites = (byte*) 8192 (void()) subFACfromARG() (label) subFACfromARG::@return diff --git a/src/test/ref/examples/sinsprites/sinus-sprites.sym b/src/test/ref/examples/sinsprites/sinus-sprites.sym index 7020be934..e691fe958 100644 --- a/src/test/ref/examples/sinsprites/sinus-sprites.sym +++ b/src/test/ref/examples/sinsprites/sinus-sprites.sym @@ -158,9 +158,9 @@ (label) gen_sintab::@9 (label) gen_sintab::@return (const byte*) gen_sintab::f_2pi = (byte*) 58085 -(const byte*) gen_sintab::f_amp = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) gen_sintab::f_i = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } -(const byte*) gen_sintab::f_min = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) gen_sintab::f_amp[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) gen_sintab::f_i[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) gen_sintab::f_min[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (byte) gen_sintab::i (byte) gen_sintab::i#1 i zp[1]:9 22.0 (byte) gen_sintab::i#10 i zp[1]:9 1.76 @@ -176,7 +176,7 @@ (label) gen_sprites::@1 (label) gen_sprites::@2 (label) gen_sprites::@return -(const byte*) gen_sprites::cml = (string) "camelot"z +(const byte*) gen_sprites::cml[] = (string) "camelot"z (byte) gen_sprites::i (byte) gen_sprites::i#1 i zp[1]:11 16.5 (byte) gen_sprites::i#2 i zp[1]:11 6.6000000000000005 @@ -248,7 +248,7 @@ (label) progress_inc::@1 (label) progress_inc::@2 (label) progress_inc::@return -(const byte*) progress_inc::progress_chars = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } +(const byte*) progress_inc::progress_chars[] = { (byte) $20, (byte) $65, (byte) $74, (byte) $75, (byte) $61, (byte) $f6, (byte) $e7, (byte) $ea, (byte) $e0 } (void()) progress_init((byte*) progress_init::line) (label) progress_init::@return (byte*) progress_init::line @@ -289,8 +289,8 @@ (byte) sin_idx_y#3 sin_idx_y zp[1]:8 2.0 (const byte) sinlen_x = (number) $dd (const byte) sinlen_y = (number) $c5 -(const byte*) sintab_x = { fill( $dd, 0) } -(const byte*) sintab_y = { fill( $c5, 0) } +(const byte*) sintab_x[(number) $dd] = { fill( $dd, 0) } +(const byte*) sintab_y[(number) $c5] = { fill( $c5, 0) } (const byte*) sprites = (byte*) 8192 (void()) subFACfromARG() (label) subFACfromARG::@return diff --git a/src/test/ref/examples/zpcode/zpcode.log b/src/test/ref/examples/zpcode/zpcode.log index 4554a3593..10c52c5be 100644 --- a/src/test/ref/examples/zpcode/zpcode.log +++ b/src/test/ref/examples/zpcode/zpcode.log @@ -129,7 +129,7 @@ SYMBOL TABLE SSA (byte) main::i#2 (byte) main::i#3 (const byte*) main::zpCode = (byte*)&(void()) zpLoop() -(const byte*) zpCodeData = kickasm {{ .segmentout [segments="ZpCode"] +(const byte*) zpCodeData[] = kickasm {{ .segmentout [segments="ZpCode"] }} (void()) zpLoop() (bool~) zpLoop::$1 @@ -737,7 +737,7 @@ FINAL SYMBOL TABLE (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 18.333333333333332 (const byte*) main::zpCode = (byte*)&(void()) zpLoop() -(const byte*) zpCodeData = kickasm {{ .segmentout [segments="ZpCode"] +(const byte*) zpCodeData[] = kickasm {{ .segmentout [segments="ZpCode"] }} (void()) zpLoop() (label) zpLoop::@1 diff --git a/src/test/ref/examples/zpcode/zpcode.sym b/src/test/ref/examples/zpcode/zpcode.sym index 3c846c2c2..8545cbb80 100644 --- a/src/test/ref/examples/zpcode/zpcode.sym +++ b/src/test/ref/examples/zpcode/zpcode.sym @@ -20,7 +20,7 @@ (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 18.333333333333332 (const byte*) main::zpCode = (byte*)&(void()) zpLoop() -(const byte*) zpCodeData = kickasm {{ .segmentout [segments="ZpCode"] +(const byte*) zpCodeData[] = kickasm {{ .segmentout [segments="ZpCode"] }} (void()) zpLoop() (label) zpLoop::@1 diff --git a/src/test/ref/fastmultiply-127.log b/src/test/ref/fastmultiply-127.log index dd0744f2e..f744c67f8 100644 --- a/src/test/ref/fastmultiply-127.log +++ b/src/test/ref/fastmultiply-127.log @@ -844,8 +844,8 @@ SYMBOL TABLE SSA (label) main::@8 (label) main::@9 (label) main::@return -(const string) main::str = (string) "unsigned" -(const string) main::str1 = (string) "signed" +(const string) main::str[] = (string) "unsigned" +(const string) main::str1[] = (string) "signed" (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (bool~) memset::$0 (bool~) memset::$1 @@ -888,10 +888,10 @@ SYMBOL TABLE SSA (void*) memset::str#3 (void*) memset::str#4 (void*) memset::str#5 -(const byte*) mulf127_sqr1_hi = kickasm {{ .fill 512, >round((i/127*i/127)*127/4) }} -(const byte*) mulf127_sqr1_lo = kickasm {{ .fill 512, round(((i-255)/127*(i-255)/127)*127/4) }} -(const byte*) mulf127_sqr2_lo = kickasm {{ .fill 512, round((i/127*i/127)*127/4) }} +(const byte*) mulf127_sqr1_lo[(number) $200] = kickasm {{ .fill 512, round(((i-255)/127*(i-255)/127)*127/4) }} +(const byte*) mulf127_sqr2_lo[(number) $200] = kickasm {{ .fill 512, round((i/127*i/127)*127/4) }} -(const byte*) mulf127_sqr1_lo = kickasm {{ .fill 512, round(((i-255)/127*(i-255)/127)*127/4) }} -(const byte*) mulf127_sqr2_lo = kickasm {{ .fill 512, round((i/127*i/127)*127/4) }} +(const byte*) mulf127_sqr1_lo[(number) $200] = kickasm {{ .fill 512, round(((i-255)/127*(i-255)/127)*127/4) }} +(const byte*) mulf127_sqr2_lo[(number) $200] = kickasm {{ .fill 512, round((i/127*i/127)*127/4) }} -(const byte*) mulf127_sqr1_lo = kickasm {{ .fill 512, round(((i-255)/127*(i-255)/127)*127/4) }} -(const byte*) mulf127_sqr2_lo = kickasm {{ .fill 512, round((i/127*i/127)*127/4) }} +(const byte*) mulf127_sqr1_lo[(number) $200] = kickasm {{ .fill 512, round(((i-255)/127*(i-255)/127)*127/4) }} +(const byte*) mulf127_sqr2_lo[(number) $200] = kickasm {{ .fill 512, (number) 0 Adding number conversion cast (unumber) 0 in (bool~) print_str::$0 ← (number) 0 != *((byte*) print_str::str#2) @@ -1344,7 +1344,7 @@ FINAL SYMBOL TABLE (byte*) print_str::str (byte*) print_str::str#0 str zp[2]:2 202.0 (byte*) print_str::str#2 str zp[2]:2 101.0 -(const byte*) txt = (string) "camelot" +(const byte*) txt[] = (string) "camelot" reg byte x [ main::i#2 main::i#1 ] zp[2]:2 [ print_str::str#2 print_str::str#0 ] diff --git a/src/test/ref/incrementinarray.sym b/src/test/ref/incrementinarray.sym index 9f61e4a39..13d1fb47a 100644 --- a/src/test/ref/incrementinarray.sym +++ b/src/test/ref/incrementinarray.sym @@ -52,7 +52,7 @@ (byte*) print_str::str (byte*) print_str::str#0 str zp[2]:2 202.0 (byte*) print_str::str#2 str zp[2]:2 101.0 -(const byte*) txt = (string) "camelot" +(const byte*) txt[] = (string) "camelot" reg byte x [ main::i#2 main::i#1 ] zp[2]:2 [ print_str::str#2 print_str::str#0 ] diff --git a/src/test/ref/initializer-0.log b/src/test/ref/initializer-0.log index 25c49cfc0..eefc73384 100644 --- a/src/test/ref/initializer-0.log +++ b/src/test/ref/initializer-0.log @@ -33,7 +33,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) chars = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 3 } +(const byte*) chars[] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 3 } (void()) main() (bool~) main::$0 (label) main::@1 @@ -319,7 +319,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) chars = { (byte) 1, (byte) 2, (byte) 3 } +(const byte*) chars[] = { (byte) 1, (byte) 2, (byte) 3 } (void()) main() (label) main::@1 (label) main::@return diff --git a/src/test/ref/initializer-0.sym b/src/test/ref/initializer-0.sym index 213b74e71..d21bcd169 100644 --- a/src/test/ref/initializer-0.sym +++ b/src/test/ref/initializer-0.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) chars = { (byte) 1, (byte) 2, (byte) 3 } +(const byte*) chars[] = { (byte) 1, (byte) 2, (byte) 3 } (void()) main() (label) main::@1 (label) main::@return diff --git a/src/test/ref/initializer-1.log b/src/test/ref/initializer-1.log index fafc2ef8a..d82631be6 100644 --- a/src/test/ref/initializer-1.log +++ b/src/test/ref/initializer-1.log @@ -60,7 +60,7 @@ SYMBOL TABLE SSA (byte) main::idx#1 (byte) main::idx#2 (byte) main::idx#3 -(const word*) words = { (word)(number) 1, (word)(number) 2, (word)(number) 3 } +(const word*) words[] = { (word)(number) 1, (word)(number) 2, (word)(number) 3 } Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0 Successful SSA optimization PassNAddNumberTypeConversions @@ -433,7 +433,7 @@ FINAL SYMBOL TABLE (byte) main::idx#1 reg byte x 11.0 (byte) main::idx#2 reg byte x 7.333333333333333 (byte) main::idx#3 reg byte x 8.25 -(const word*) words = { (word) 1, (word) 2, (word) 3 } +(const word*) words[] = { (word) 1, (word) 2, (word) 3 } zp[1]:2 [ main::i#2 main::i#1 ] reg byte x [ main::idx#3 main::idx#2 ] diff --git a/src/test/ref/initializer-1.sym b/src/test/ref/initializer-1.sym index 411cb3a66..249f0ff5c 100644 --- a/src/test/ref/initializer-1.sym +++ b/src/test/ref/initializer-1.sym @@ -15,7 +15,7 @@ (byte) main::idx#1 reg byte x 11.0 (byte) main::idx#2 reg byte x 7.333333333333333 (byte) main::idx#3 reg byte x 8.25 -(const word*) words = { (word) 1, (word) 2, (word) 3 } +(const word*) words[] = { (word) 1, (word) 2, (word) 3 } zp[1]:2 [ main::i#2 main::i#1 ] reg byte x [ main::idx#3 main::idx#2 ] diff --git a/src/test/ref/initializer-2.log b/src/test/ref/initializer-2.log index 474ec88fd..aefb18074 100644 --- a/src/test/ref/initializer-2.log +++ b/src/test/ref/initializer-2.log @@ -66,7 +66,7 @@ SYMBOL TABLE SSA (byte) main::idx#1 (byte) main::idx#2 (byte) main::idx#3 -(const struct Point*) points = { { x: (byte)(number) 1, y: (byte)(number) 2 }, { x: (byte)(number) 3, y: (byte)(number) 4 }, { x: (byte)(number) 5, y: (byte)(number) 6 } } +(const struct Point*) points[] = { { x: (byte)(number) 1, y: (byte)(number) 2 }, { x: (byte)(number) 3, y: (byte)(number) 4 }, { x: (byte)(number) 5, y: (byte)(number) 6 } } Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0 Successful SSA optimization PassNAddNumberTypeConversions @@ -433,7 +433,7 @@ FINAL SYMBOL TABLE (byte) main::idx#1 reg byte y 16.5 (byte) main::idx#2 reg byte y 7.333333333333333 (byte) main::idx#3 reg byte y 11.0 -(const struct Point*) points = { { x: (byte) 1, y: (byte) 2 }, { x: (byte) 3, y: (byte) 4 }, { x: (byte) 5, y: (byte) 6 } } +(const struct Point*) points[] = { { x: (byte) 1, y: (byte) 2 }, { x: (byte) 3, y: (byte) 4 }, { x: (byte) 5, y: (byte) 6 } } zp[1]:2 [ main::i#2 main::i#1 ] reg byte y [ main::idx#3 main::idx#2 ] diff --git a/src/test/ref/initializer-2.sym b/src/test/ref/initializer-2.sym index 391a10224..463896880 100644 --- a/src/test/ref/initializer-2.sym +++ b/src/test/ref/initializer-2.sym @@ -16,7 +16,7 @@ (byte) main::idx#1 reg byte y 16.5 (byte) main::idx#2 reg byte y 7.333333333333333 (byte) main::idx#3 reg byte y 11.0 -(const struct Point*) points = { { x: (byte) 1, y: (byte) 2 }, { x: (byte) 3, y: (byte) 4 }, { x: (byte) 5, y: (byte) 6 } } +(const struct Point*) points[] = { { x: (byte) 1, y: (byte) 2 }, { x: (byte) 3, y: (byte) 4 }, { x: (byte) 5, y: (byte) 6 } } zp[1]:2 [ main::i#2 main::i#1 ] reg byte y [ main::idx#3 main::idx#2 ] diff --git a/src/test/ref/initializer-3.log b/src/test/ref/initializer-3.log index c8b25275d..9e2110bf9 100644 --- a/src/test/ref/initializer-3.log +++ b/src/test/ref/initializer-3.log @@ -79,7 +79,7 @@ SYMBOL TABLE SSA (byte) main::idx#2 (byte) main::idx#3 (byte) main::idx#4 -(const struct Point*) points = { { x: (byte)(number) 1, y: (signed word)(number) 2 }, { x: (byte)(number) 3, y: (signed word)(number) 4 }, { x: (byte)(number) 5, y: (signed word)(number) 6 } } +(const struct Point*) points[] = { { x: (byte)(number) 1, y: (signed word)(number) 2 }, { x: (byte)(number) 3, y: (signed word)(number) 4 }, { x: (byte)(number) 5, y: (signed word)(number) 6 } } Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0 Successful SSA optimization PassNAddNumberTypeConversions @@ -548,7 +548,7 @@ FINAL SYMBOL TABLE (byte) main::idx#2 idx zp[1]:2 11.0 (byte) main::idx#3 idx zp[1]:2 7.333333333333333 (byte) main::idx#4 idx zp[1]:2 8.25 -(const struct Point*) points = { { x: (byte) 1, y: (signed word) 2 }, { x: (byte) 3, y: (signed word) 4 }, { x: (byte) 5, y: (signed word) 6 } } +(const struct Point*) points[] = { { x: (byte) 1, y: (signed word) 2 }, { x: (byte) 3, y: (signed word) 4 }, { x: (byte) 5, y: (signed word) 6 } } reg byte x [ main::i#2 main::i#1 ] zp[1]:2 [ main::idx#4 main::idx#3 main::idx#1 main::idx#2 ] diff --git a/src/test/ref/initializer-3.sym b/src/test/ref/initializer-3.sym index 895b11680..088b572d4 100644 --- a/src/test/ref/initializer-3.sym +++ b/src/test/ref/initializer-3.sym @@ -20,7 +20,7 @@ (byte) main::idx#2 idx zp[1]:2 11.0 (byte) main::idx#3 idx zp[1]:2 7.333333333333333 (byte) main::idx#4 idx zp[1]:2 8.25 -(const struct Point*) points = { { x: (byte) 1, y: (signed word) 2 }, { x: (byte) 3, y: (signed word) 4 }, { x: (byte) 5, y: (signed word) 6 } } +(const struct Point*) points[] = { { x: (byte) 1, y: (signed word) 2 }, { x: (byte) 3, y: (signed word) 4 }, { x: (byte) 5, y: (signed word) 6 } } reg byte x [ main::i#2 main::i#1 ] zp[1]:2 [ main::idx#4 main::idx#3 main::idx#1 main::idx#2 ] diff --git a/src/test/ref/inline-asm-label.log b/src/test/ref/inline-asm-label.log index b78172581..366e288c6 100644 --- a/src/test/ref/inline-asm-label.log +++ b/src/test/ref/inline-asm-label.log @@ -25,7 +25,7 @@ SYMBOL TABLE SSA (const byte*) SCREEN = (byte*)(number) $400 (void()) main() (label) main::@return -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z Simplifying constant pointer cast (byte*) 1024 Successful SSA optimization PassNCastSimplification @@ -190,7 +190,7 @@ FINAL SYMBOL TABLE (const byte*) SCREEN = (byte*) 1024 (void()) main() (label) main::@return -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z diff --git a/src/test/ref/inline-asm-label.sym b/src/test/ref/inline-asm-label.sym index 24f1307d4..f2a49d9e2 100644 --- a/src/test/ref/inline-asm-label.sym +++ b/src/test/ref/inline-asm-label.sym @@ -4,5 +4,5 @@ (const byte*) SCREEN = (byte*) 1024 (void()) main() (label) main::@return -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z diff --git a/src/test/ref/inline-asm-refout-const.log b/src/test/ref/inline-asm-refout-const.log index 3b48bf5de..bb5f93769 100644 --- a/src/test/ref/inline-asm-refout-const.log +++ b/src/test/ref/inline-asm-refout-const.log @@ -25,7 +25,7 @@ SYMBOL TABLE SSA (const byte*) SCREEN = (byte*)(number) $400 (void()) main() (label) main::@return -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z Simplifying constant pointer cast (byte*) 1024 Successful SSA optimization PassNCastSimplification @@ -190,7 +190,7 @@ FINAL SYMBOL TABLE (const byte*) SCREEN = (byte*) 1024 (void()) main() (label) main::@return -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z diff --git a/src/test/ref/inline-asm-refout-const.sym b/src/test/ref/inline-asm-refout-const.sym index 24f1307d4..f2a49d9e2 100644 --- a/src/test/ref/inline-asm-refout-const.sym +++ b/src/test/ref/inline-asm-refout-const.sym @@ -4,5 +4,5 @@ (const byte*) SCREEN = (byte*) 1024 (void()) main() (label) main::@return -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z diff --git a/src/test/ref/inline-asm-refout.log b/src/test/ref/inline-asm-refout.log index 678571de9..cfed4211e 100644 --- a/src/test/ref/inline-asm-refout.log +++ b/src/test/ref/inline-asm-refout.log @@ -26,7 +26,7 @@ SYMBOL TABLE SSA (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*)(number) $400 -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z Adding number conversion cast (unumber) 0 in *((const byte*) main::SCREEN+(number) $28) ← *((const byte*) table + (number) 0) Adding number conversion cast (unumber) $28 in *((const byte*) main::SCREEN+(number) $28) ← *((const byte*) table + (unumber)(number) 0) @@ -209,7 +209,7 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z diff --git a/src/test/ref/inline-asm-refout.sym b/src/test/ref/inline-asm-refout.sym index dd031290b..ab097acb6 100644 --- a/src/test/ref/inline-asm-refout.sym +++ b/src/test/ref/inline-asm-refout.sym @@ -4,5 +4,5 @@ (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z diff --git a/src/test/ref/inline-kasm-refout.log b/src/test/ref/inline-kasm-refout.log index d82e5ab56..36096fe04 100644 --- a/src/test/ref/inline-kasm-refout.log +++ b/src/test/ref/inline-kasm-refout.log @@ -32,7 +32,7 @@ SYMBOL TABLE SSA (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*)(number) $400 -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z Simplifying constant pointer cast (byte*) 1024 Successful SSA optimization PassNCastSimplification @@ -205,7 +205,7 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z diff --git a/src/test/ref/inline-kasm-refout.sym b/src/test/ref/inline-kasm-refout.sym index dd031290b..ab097acb6 100644 --- a/src/test/ref/inline-kasm-refout.sym +++ b/src/test/ref/inline-kasm-refout.sym @@ -4,5 +4,5 @@ (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 -(const byte*) table = (string) "cml!"z +(const byte*) table[] = (string) "cml!"z diff --git a/src/test/ref/inline-string-2.log b/src/test/ref/inline-string-2.log index 17b0feb04..9818a9298 100644 --- a/src/test/ref/inline-string-2.log +++ b/src/test/ref/inline-string-2.log @@ -123,8 +123,8 @@ SYMBOL TABLE SSA (byte*) print::msg#4 (void()) print_msg((byte) print_msg::idx) (bool~) print_msg::$0 -(const string) print_msg::$2 = (string) "Hello " -(const string) print_msg::$3 = (string) "World!" +(const string) print_msg::$2[] = (string) "Hello " +(const string) print_msg::$3[] = (string) "World!" (label) print_msg::@1 (label) print_msg::@2 (label) print_msg::@3 diff --git a/src/test/ref/inline-string-3.log b/src/test/ref/inline-string-3.log index 57a28d21d..c572a72e1 100644 --- a/src/test/ref/inline-string-3.log +++ b/src/test/ref/inline-string-3.log @@ -31,7 +31,7 @@ SYMBOL TABLE SSA (label) main::@return (const byte*) main::PTR = (byte*)(number) $9ffe (const byte*) main::SCREEN = (byte*)(number) $400 -(const byte*) main::STRING = (string) "camelot"z +(const byte*) main::STRING[] = (string) "camelot"z (byte*) main::ptr (byte*) main::ptr#0 @@ -254,7 +254,7 @@ FINAL SYMBOL TABLE (label) main::@return (const byte*) main::PTR = (byte*) 40958 (const byte*) main::SCREEN = (byte*) 1024 -(const byte*) main::STRING = (string) "camelot"z +(const byte*) main::STRING[] = (string) "camelot"z (byte*) main::ptr (word) main::ptr#0 ptr zp[2]:2 2.0 diff --git a/src/test/ref/inline-string-3.sym b/src/test/ref/inline-string-3.sym index 01142d4ce..bf25497e6 100644 --- a/src/test/ref/inline-string-3.sym +++ b/src/test/ref/inline-string-3.sym @@ -5,7 +5,7 @@ (label) main::@return (const byte*) main::PTR = (byte*) 40958 (const byte*) main::SCREEN = (byte*) 1024 -(const byte*) main::STRING = (string) "camelot"z +(const byte*) main::STRING[] = (string) "camelot"z (byte*) main::ptr (word) main::ptr#0 ptr zp[2]:2 2.0 diff --git a/src/test/ref/inline-string-4.log b/src/test/ref/inline-string-4.log index 9c6ff2570..1375d07f4 100644 --- a/src/test/ref/inline-string-4.log +++ b/src/test/ref/inline-string-4.log @@ -40,7 +40,7 @@ SYMBOL TABLE SSA (label) main::@1 (label) main::@return (const dword) main::dw = (dword)(const byte*) main::msg -(const byte*) main::msg = (string) "camelot" +(const byte*) main::msg[] = (string) "camelot" (void()) output((dword) output::dw) (label) output::@return (dword) output::dw @@ -269,7 +269,7 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@return (const dword) main::dw = (dword)(const byte*) main::msg -(const byte*) main::msg = (string) "camelot" +(const byte*) main::msg[] = (string) "camelot" (void()) output((dword) output::dw) (label) output::@return (dword) output::dw diff --git a/src/test/ref/inline-string-4.sym b/src/test/ref/inline-string-4.sym index b27739812..3733334a1 100644 --- a/src/test/ref/inline-string-4.sym +++ b/src/test/ref/inline-string-4.sym @@ -4,7 +4,7 @@ (void()) main() (label) main::@return (const dword) main::dw = (dword)(const byte*) main::msg -(const byte*) main::msg = (string) "camelot" +(const byte*) main::msg[] = (string) "camelot" (void()) output((dword) output::dw) (label) output::@return (dword) output::dw diff --git a/src/test/ref/inline-string.log b/src/test/ref/inline-string.log index d3ef33be4..5f2c63fe8 100644 --- a/src/test/ref/inline-string.log +++ b/src/test/ref/inline-string.log @@ -83,9 +83,9 @@ SYMBOL TABLE SSA (label) main::@2 (label) main::@3 (label) main::@return -(const string) main::msg = (string) "message 3 " -(const byte*) main::msg2 = (string) "message 2 " -(const byte*) msg1 = (string) "message 1 " +(const string) main::msg[] = (string) "message 3 " +(const byte*) main::msg2[] = (string) "message 2 " +(const byte*) msg1[] = (string) "message 1 " (void()) print((byte*) print::msg) (bool~) print::$0 (label) print::@1 @@ -571,9 +571,9 @@ FINAL SYMBOL TABLE (label) main::@1 (label) main::@2 (label) main::@return -(const string) main::msg = (string) "message 3 " -(const byte*) main::msg2 = (string) "message 2 " -(const byte*) msg1 = (string) "message 1 " +(const string) main::msg[] = (string) "message 3 " +(const byte*) main::msg2[] = (string) "message 2 " +(const byte*) msg1[] = (string) "message 1 " (void()) print((byte*) print::msg) (label) print::@1 (label) print::@2 diff --git a/src/test/ref/inline-string.sym b/src/test/ref/inline-string.sym index 5677d9f87..ca572fa6b 100644 --- a/src/test/ref/inline-string.sym +++ b/src/test/ref/inline-string.sym @@ -5,9 +5,9 @@ (label) main::@1 (label) main::@2 (label) main::@return -(const string) main::msg = (string) "message 3 " -(const byte*) main::msg2 = (string) "message 2 " -(const byte*) msg1 = (string) "message 1 " +(const string) main::msg[] = (string) "message 3 " +(const byte*) main::msg2[] = (string) "message 2 " +(const byte*) msg1[] = (string) "message 1 " (void()) print((byte*) print::msg) (label) print::@1 (label) print::@2 diff --git a/src/test/ref/inline-word.log b/src/test/ref/inline-word.log index a25159a7a..07fd98523 100644 --- a/src/test/ref/inline-word.log +++ b/src/test/ref/inline-word.log @@ -59,7 +59,7 @@ SYMBOL TABLE SSA (byte) main::h#2 (byte) main::h#3 (byte) main::h#4 -(const byte*) main::his = { >(const byte*) SCREEN, >(const byte*) SCREEN+(number) $100, >(const byte*) SCREEN+(number) $200 } +(const byte*) main::his[] = { >(const byte*) SCREEN, >(const byte*) SCREEN+(number) $100, >(const byte*) SCREEN+(number) $200 } (byte) main::l (byte) main::l#0 (byte) main::l#1 @@ -439,7 +439,7 @@ FINAL SYMBOL TABLE (byte) main::h (byte) main::h#1 h zp[1]:2 16.5 (byte) main::h#4 h zp[1]:2 20.499999999999996 -(const byte*) main::his = { >(const byte*) SCREEN, >(const byte*) SCREEN+(word) $100, >(const byte*) SCREEN+(word) $200 } +(const byte*) main::his[] = { >(const byte*) SCREEN, >(const byte*) SCREEN+(word) $100, >(const byte*) SCREEN+(word) $200 } (byte) main::l (byte) main::l#1 reg byte x 151.5 (byte) main::l#2 reg byte x 101.0 diff --git a/src/test/ref/inline-word.sym b/src/test/ref/inline-word.sym index 76e5acaf3..b41af5788 100644 --- a/src/test/ref/inline-word.sym +++ b/src/test/ref/inline-word.sym @@ -10,7 +10,7 @@ (byte) main::h (byte) main::h#1 h zp[1]:2 16.5 (byte) main::h#4 h zp[1]:2 20.499999999999996 -(const byte*) main::his = { >(const byte*) SCREEN, >(const byte*) SCREEN+(word) $100, >(const byte*) SCREEN+(word) $200 } +(const byte*) main::his[] = { >(const byte*) SCREEN, >(const byte*) SCREEN+(word) $100, >(const byte*) SCREEN+(word) $200 } (byte) main::l (byte) main::l#1 reg byte x 151.5 (byte) main::l#2 reg byte x 101.0 diff --git a/src/test/ref/inlinearrayproblem.log b/src/test/ref/inlinearrayproblem.log index d1dde5848..b4f9e7b3b 100644 --- a/src/test/ref/inlinearrayproblem.log +++ b/src/test/ref/inlinearrayproblem.log @@ -39,12 +39,12 @@ SYMBOL TABLE SSA (bool~) main::$0 (label) main::@1 (label) main::@return -(const byte*) main::data = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 3 } +(const byte*) main::data[] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 3 } (byte) main::i (byte) main::i#0 (byte) main::i#1 (byte) main::i#2 -(const byte*) main::txt = (string) "qwe"z +(const byte*) main::txt[] = (string) "qwe"z Simplifying constant integer cast 1 Simplifying constant integer cast 2 @@ -302,11 +302,11 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@1 (label) main::@return -(const byte*) main::data = { (byte) 1, (byte) 2, (byte) 3 } +(const byte*) main::data[] = { (byte) 1, (byte) 2, (byte) 3 } (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 -(const byte*) main::txt = (string) "qwe"z +(const byte*) main::txt[] = (string) "qwe"z reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/inlinearrayproblem.sym b/src/test/ref/inlinearrayproblem.sym index 31c8d145d..716f2fe7a 100644 --- a/src/test/ref/inlinearrayproblem.sym +++ b/src/test/ref/inlinearrayproblem.sym @@ -6,10 +6,10 @@ (void()) main() (label) main::@1 (label) main::@return -(const byte*) main::data = { (byte) 1, (byte) 2, (byte) 3 } +(const byte*) main::data[] = { (byte) 1, (byte) 2, (byte) 3 } (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 -(const byte*) main::txt = (string) "qwe"z +(const byte*) main::txt[] = (string) "qwe"z reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/inmem-const-array.log b/src/test/ref/inmem-const-array.log index 405fbf9e9..199c4420c 100644 --- a/src/test/ref/inmem-const-array.log +++ b/src/test/ref/inmem-const-array.log @@ -59,7 +59,7 @@ SYMBOL TABLE SSA (label) main::@3 (label) main::@return (const byte*) main::cols = (byte*)(number) $d800 -(const byte*) main::colseq = { (const byte) WHITE, (const byte) RED, (const byte) GREEN } +(const byte*) main::colseq[] = { (const byte) WHITE, (const byte) RED, (const byte) GREEN } (byte) main::i (byte) main::i#0 (byte) main::i#1 @@ -445,7 +445,7 @@ FINAL SYMBOL TABLE (label) main::@3 (label) main::@return (const byte*) main::cols = (byte*) 55296 -(const byte*) main::colseq = { (const byte) WHITE, (const byte) RED, (const byte) GREEN } +(const byte*) main::colseq[] = { (const byte) WHITE, (const byte) RED, (const byte) GREEN } (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 6.285714285714286 diff --git a/src/test/ref/inmem-const-array.sym b/src/test/ref/inmem-const-array.sym index f4981e26b..11c47ad73 100644 --- a/src/test/ref/inmem-const-array.sym +++ b/src/test/ref/inmem-const-array.sym @@ -10,7 +10,7 @@ (label) main::@3 (label) main::@return (const byte*) main::cols = (byte*) 55296 -(const byte*) main::colseq = { (const byte) WHITE, (const byte) RED, (const byte) GREEN } +(const byte*) main::colseq[] = { (const byte) WHITE, (const byte) RED, (const byte) GREEN } (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 6.285714285714286 diff --git a/src/test/ref/inmemarray.log b/src/test/ref/inmemarray.log index 769c4fc2f..7a123182e 100644 --- a/src/test/ref/inmemarray.log +++ b/src/test/ref/inmemarray.log @@ -46,7 +46,7 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) TXT = { (byte)(number) 3, (byte)(number) 1, (byte)(number) $d, (byte)(number) 5, (byte)(number) $c, (byte)(number) $f, (byte)(number) $14, (byte)(number) $20 } +(const byte*) TXT[] = { (byte)(number) 3, (byte)(number) 1, (byte)(number) $d, (byte)(number) 5, (byte)(number) $c, (byte)(number) $f, (byte)(number) $14, (byte)(number) $20 } (void()) main() (bool~) main::$0 (bool~) main::$1 @@ -420,7 +420,7 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) TXT = { (byte) 3, (byte) 1, (byte) $d, (byte) 5, (byte) $c, (byte) $f, (byte) $14, (byte) $20 } +(const byte*) TXT[] = { (byte) 3, (byte) 1, (byte) $d, (byte) 5, (byte) $c, (byte) $f, (byte) $14, (byte) $20 } (void()) main() (label) main::@1 (label) main::@2 diff --git a/src/test/ref/inmemarray.sym b/src/test/ref/inmemarray.sym index 23a6870d2..ffbce0f9d 100644 --- a/src/test/ref/inmemarray.sym +++ b/src/test/ref/inmemarray.sym @@ -2,7 +2,7 @@ (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) TXT = { (byte) 3, (byte) 1, (byte) $d, (byte) 5, (byte) $c, (byte) $f, (byte) $14, (byte) $20 } +(const byte*) TXT[] = { (byte) 3, (byte) 1, (byte) $d, (byte) 5, (byte) $c, (byte) $f, (byte) $14, (byte) $20 } (void()) main() (label) main::@1 (label) main::@2 diff --git a/src/test/ref/inmemstring.log b/src/test/ref/inmemstring.log index 2427e75be..dd946f3e7 100644 --- a/src/test/ref/inmemstring.log +++ b/src/test/ref/inmemstring.log @@ -47,7 +47,7 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) TEXT = (string) "camelot "z +(const byte*) TEXT[] = (string) "camelot "z (void()) main() (bool~) main::$0 (bool~) main::$1 @@ -441,7 +441,7 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) TEXT = (string) "camelot "z +(const byte*) TEXT[] = (string) "camelot "z (void()) main() (label) main::@1 (label) main::@2 diff --git a/src/test/ref/inmemstring.sym b/src/test/ref/inmemstring.sym index 9ff93e35e..620fc150f 100644 --- a/src/test/ref/inmemstring.sym +++ b/src/test/ref/inmemstring.sym @@ -2,7 +2,7 @@ (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) TEXT = (string) "camelot "z +(const byte*) TEXT[] = (string) "camelot "z (void()) main() (label) main::@1 (label) main::@2 diff --git a/src/test/ref/inner-increment-problem.log b/src/test/ref/inner-increment-problem.log index 4fa11cec7..2be43e4ea 100644 --- a/src/test/ref/inner-increment-problem.log +++ b/src/test/ref/inner-increment-problem.log @@ -38,7 +38,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const word*) CHAR_COUNTS = { fill( $100, 0) } +(const word*) CHAR_COUNTS[(number) $100] = { fill( $100, 0) } (const byte) SIZEOF_WORD = (byte) 2 (void()) main() (bool~) main::$1 @@ -408,7 +408,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const word*) CHAR_COUNTS = { fill( $100, 0) } +(const word*) CHAR_COUNTS[(number) $100] = { fill( $100, 0) } (void()) main() (byte~) main::$3 reg byte x 11.0 (byte~) main::$4 reg byte a 22.0 diff --git a/src/test/ref/inner-increment-problem.sym b/src/test/ref/inner-increment-problem.sym index 374d4ddd4..9319c66b0 100644 --- a/src/test/ref/inner-increment-problem.sym +++ b/src/test/ref/inner-increment-problem.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const word*) CHAR_COUNTS = { fill( $100, 0) } +(const word*) CHAR_COUNTS[(number) $100] = { fill( $100, 0) } (void()) main() (byte~) main::$3 reg byte x 11.0 (byte~) main::$4 reg byte a 22.0 diff --git a/src/test/ref/irq-idx-problem.log b/src/test/ref/irq-idx-problem.log index 56abbfc2b..27e53db03 100644 --- a/src/test/ref/irq-idx-problem.log +++ b/src/test/ref/irq-idx-problem.log @@ -103,9 +103,9 @@ SYMBOL TABLE SSA (label) @end (const byte*) CIA1_INTERRUPT = (byte*)(number) $dc0d (const byte) CIA_INTERRUPT_CLEAR = (number) $7f -(const byte*) IRQ_CHANGE_IDX = { (byte)(number) $20, (byte)(number) $21, (const byte) IRQ_CHANGE_NEXT, (byte)(number) $20, (byte)(number) $21, (const byte) IRQ_CHANGE_NEXT, (byte)(number) $20, (byte)(number) $21, (const byte) IRQ_CHANGE_NEXT, (byte)(number) $20, (byte)(number) $21, (const byte) IRQ_CHANGE_NEXT } +(const byte*) IRQ_CHANGE_IDX[] = { (byte)(number) $20, (byte)(number) $21, (const byte) IRQ_CHANGE_NEXT, (byte)(number) $20, (byte)(number) $21, (const byte) IRQ_CHANGE_NEXT, (byte)(number) $20, (byte)(number) $21, (const byte) IRQ_CHANGE_NEXT, (byte)(number) $20, (byte)(number) $21, (const byte) IRQ_CHANGE_NEXT } (const byte) IRQ_CHANGE_NEXT = (number) $7f -(const byte*) IRQ_CHANGE_VAL = { (byte)(number) $b, (byte)(number) $b, (byte)(number) $63, (byte)(number) 0, (byte)(number) 0, (byte)(number) $80, (byte)(number) 7, (byte)(number) 7, (byte)(number) $83, (byte)(number) 0, (byte)(number) 0, (byte)(number) $60 } +(const byte*) IRQ_CHANGE_VAL[] = { (byte)(number) $b, (byte)(number) $b, (byte)(number) $63, (byte)(number) 0, (byte)(number) 0, (byte)(number) $80, (byte)(number) 7, (byte)(number) 7, (byte)(number) $83, (byte)(number) 0, (byte)(number) 0, (byte)(number) $60 } (const byte*) IRQ_ENABLE = (byte*)(number) $d01a (const byte) IRQ_RASTER = (number) 1 (const byte*) IRQ_STATUS = (byte*)(number) $d019 @@ -788,9 +788,9 @@ FINAL SYMBOL TABLE (label) @end (const byte*) CIA1_INTERRUPT = (byte*) 56333 (const byte) CIA_INTERRUPT_CLEAR = (number) $7f -(const byte*) IRQ_CHANGE_IDX = { (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT } +(const byte*) IRQ_CHANGE_IDX[] = { (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT } (const byte) IRQ_CHANGE_NEXT = (number) $7f -(const byte*) IRQ_CHANGE_VAL = { (byte) $b, (byte) $b, (byte) $63, (byte) 0, (byte) 0, (byte) $80, (byte) 7, (byte) 7, (byte) $83, (byte) 0, (byte) 0, (byte) $60 } +(const byte*) IRQ_CHANGE_VAL[] = { (byte) $b, (byte) $b, (byte) $63, (byte) 0, (byte) 0, (byte) $80, (byte) 7, (byte) 7, (byte) $83, (byte) 0, (byte) 0, (byte) $60 } (const byte*) IRQ_ENABLE = (byte*) 53274 (const byte) IRQ_RASTER = (number) 1 (const byte*) IRQ_STATUS = (byte*) 53273 diff --git a/src/test/ref/irq-idx-problem.sym b/src/test/ref/irq-idx-problem.sym index 91f8b1b02..e073e0416 100644 --- a/src/test/ref/irq-idx-problem.sym +++ b/src/test/ref/irq-idx-problem.sym @@ -4,9 +4,9 @@ (label) @end (const byte*) CIA1_INTERRUPT = (byte*) 56333 (const byte) CIA_INTERRUPT_CLEAR = (number) $7f -(const byte*) IRQ_CHANGE_IDX = { (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT } +(const byte*) IRQ_CHANGE_IDX[] = { (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT, (byte) $20, (byte) $21, (const byte) IRQ_CHANGE_NEXT } (const byte) IRQ_CHANGE_NEXT = (number) $7f -(const byte*) IRQ_CHANGE_VAL = { (byte) $b, (byte) $b, (byte) $63, (byte) 0, (byte) 0, (byte) $80, (byte) 7, (byte) 7, (byte) $83, (byte) 0, (byte) 0, (byte) $60 } +(const byte*) IRQ_CHANGE_VAL[] = { (byte) $b, (byte) $b, (byte) $63, (byte) 0, (byte) 0, (byte) $80, (byte) 7, (byte) 7, (byte) $83, (byte) 0, (byte) 0, (byte) $60 } (const byte*) IRQ_ENABLE = (byte*) 53274 (const byte) IRQ_RASTER = (number) 1 (const byte*) IRQ_STATUS = (byte*) 53273 diff --git a/src/test/ref/iterarray.log b/src/test/ref/iterarray.log index 839e84741..9a63af193 100644 --- a/src/test/ref/iterarray.log +++ b/src/test/ref/iterarray.log @@ -40,7 +40,7 @@ SYMBOL TABLE SSA (bool~) main::$3 (label) main::@1 (label) main::@return -(const byte*) main::buf = (byte*)(number) $1100 +(const byte*) main::buf[(number) $10] = (byte*)(number) $1100 (byte) main::i (byte) main::i#0 (byte) main::i#1 @@ -312,7 +312,7 @@ FINAL SYMBOL TABLE (byte~) main::$1 reg byte a 22.0 (label) main::@1 (label) main::@return -(const byte*) main::buf = (byte*) 4352 +(const byte*) main::buf[(number) $10] = (byte*) 4352 (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 14.666666666666666 diff --git a/src/test/ref/iterarray.sym b/src/test/ref/iterarray.sym index 8b6f783c1..3d097d8b3 100644 --- a/src/test/ref/iterarray.sym +++ b/src/test/ref/iterarray.sym @@ -5,7 +5,7 @@ (byte~) main::$1 reg byte a 22.0 (label) main::@1 (label) main::@return -(const byte*) main::buf = (byte*) 4352 +(const byte*) main::buf[(number) $10] = (byte*) 4352 (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 14.666666666666666 diff --git a/src/test/ref/kc-ka-string-encoding.log b/src/test/ref/kc-ka-string-encoding.log index 502181236..59acf9506 100644 --- a/src/test/ref/kc-ka-string-encoding.log +++ b/src/test/ref/kc-ka-string-encoding.log @@ -36,7 +36,7 @@ SYMBOL TABLE SSA (signed word) main::return#1 (signed word) main::return#2 (signed word) main::return#3 -(const byte*) strTemp = (string) "v=X"pm +(const byte*) strTemp[] = (string) "v=X"pm Adding number conversion cast (unumber) 2 in *((const byte*) strTemp + (number) 2) ← (byte) 'e'pm Adding number conversion cast (unumber) 0 in *((const byte*) strTemp + (number) 3) ← (number) 0 @@ -250,7 +250,7 @@ FINAL SYMBOL TABLE (signed word()) main() (label) main::@return (signed word) main::return -(const byte*) strTemp = (string) "v=X"pm +(const byte*) strTemp[] = (string) "v=X"pm diff --git a/src/test/ref/kc-ka-string-encoding.sym b/src/test/ref/kc-ka-string-encoding.sym index 9fdb6ff25..1aaf620b2 100644 --- a/src/test/ref/kc-ka-string-encoding.sym +++ b/src/test/ref/kc-ka-string-encoding.sym @@ -4,5 +4,5 @@ (signed word()) main() (label) main::@return (signed word) main::return -(const byte*) strTemp = (string) "v=X"pm +(const byte*) strTemp[] = (string) "v=X"pm diff --git a/src/test/ref/keyboard-glitch.log b/src/test/ref/keyboard-glitch.log index e05b7afa4..7cad6ab67 100644 --- a/src/test/ref/keyboard-glitch.log +++ b/src/test/ref/keyboard-glitch.log @@ -229,7 +229,7 @@ SYMBOL TABLE SSA (byte) keyboard_key_pressed::return#9 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 -(const byte*) keyboard_matrix_col_bitmask = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte~) keyboard_matrix_read::$0 (label) keyboard_matrix_read::@return @@ -244,7 +244,7 @@ SYMBOL TABLE SSA (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 (byte) keyboard_matrix_read::rowid#1 -(const byte*) keyboard_matrix_row_bitmask = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } (void()) main() (label) main::@1 (label) main::@2 @@ -1315,7 +1315,7 @@ FINAL SYMBOL TABLE (byte) keyboard_key_pressed::return#4 reg byte a 202.0 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -1324,7 +1324,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte x 4.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (label) main::@1 (void()) menu() diff --git a/src/test/ref/keyboard-glitch.sym b/src/test/ref/keyboard-glitch.sym index 1226a0b49..656cbb272 100644 --- a/src/test/ref/keyboard-glitch.sym +++ b/src/test/ref/keyboard-glitch.sym @@ -28,7 +28,7 @@ (byte) keyboard_key_pressed::return#4 reg byte a 202.0 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -37,7 +37,7 @@ (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 reg byte x 4.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (label) main::@1 (void()) menu() diff --git a/src/test/ref/line-anim.log b/src/test/ref/line-anim.log index f040781a8..8b32120ab 100644 --- a/src/test/ref/line-anim.log +++ b/src/test/ref/line-anim.log @@ -761,10 +761,10 @@ SYMBOL TABLE SSA (byte) bitmap_plot::y (byte) bitmap_plot::y#0 (byte) bitmap_plot::y#1 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } -(const byte*) delay = { fill( SIZE, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } +(const byte*) delay[(const byte) SIZE] = { fill( SIZE, 0) } (signed word()) divr16s((signed word) divr16s::dividend , (signed word) divr16s::divisor , (signed word) divr16s::rem) (bool~) divr16s::$0 (bool~) divr16s::$1 @@ -1145,14 +1145,14 @@ SYMBOL TABLE SSA (byte) screen_fill::y#2 (byte) screen_fill::y#3 (byte) screen_fill::y#4 -(const signed byte*) x_add = { fill( SIZE, 0) } -(const word*) x_cur = { fill( SIZE, 0) } -(const word*) x_end = { (word)(number) $14, (word)(number) $a, (word)(number) $14, (word)(number) $14 } -(const word*) x_start = { (word)(number) $a, (word)(number) $14, (word)(number) $1e, (word)(number) $1e } -(const signed byte*) y_add = { fill( SIZE, 0) } -(const word*) y_cur = { fill( SIZE, 0) } -(const byte*) y_end = { (byte)(number) $14, (byte)(number) $14, (byte)(number) $a, (byte)(number) $14 } -(const byte*) y_start = { (byte)(number) $a, (byte)(number) $a, (byte)(number) $a, (byte)(number) $14 } +(const signed byte*) x_add[(const byte) SIZE] = { fill( SIZE, 0) } +(const word*) x_cur[(const byte) SIZE] = { fill( SIZE, 0) } +(const word*) x_end[(const byte) SIZE] = { (word)(number) $14, (word)(number) $a, (word)(number) $14, (word)(number) $14 } +(const word*) x_start[(const byte) SIZE] = { (word)(number) $a, (word)(number) $14, (word)(number) $1e, (word)(number) $1e } +(const signed byte*) y_add[(const byte) SIZE] = { fill( SIZE, 0) } +(const word*) y_cur[(const byte) SIZE] = { fill( SIZE, 0) } +(const byte*) y_end[(const byte) SIZE] = { (byte)(number) $14, (byte)(number) $14, (byte)(number) $a, (byte)(number) $14 } +(const byte*) y_start[(const byte) SIZE] = { (byte)(number) $a, (byte)(number) $a, (byte)(number) $a, (byte)(number) $14 } Fixing inline constructor with bitmap_clear::$3 ← (byte)*(bitmap_plot_yhi + 0) w= (byte)*(bitmap_plot_ylo + 0) Fixing inline constructor with bitmap_plot::$3 ← (byte)*(bitmap_plot_yhi + bitmap_plot::y#1) w= (byte)*(bitmap_plot_ylo + bitmap_plot::y#1) @@ -5115,10 +5115,10 @@ FINAL SYMBOL TABLE (word) bitmap_plot::x#0 x zp[2]:10 3.0 (byte) bitmap_plot::y (byte) bitmap_plot::y#0 reg byte x 15.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } -(const byte*) delay = { fill( SIZE, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } +(const byte*) delay[(const byte) SIZE] = { fill( SIZE, 0) } (signed word()) divr16s((signed word) divr16s::dividend , (signed word) divr16s::divisor , (signed word) divr16s::rem) (label) divr16s::@1 (label) divr16s::@10 @@ -5278,14 +5278,14 @@ FINAL SYMBOL TABLE (byte) screen_fill::y (byte) screen_fill::y#1 y zp[1]:18 16.5 (byte) screen_fill::y#4 y zp[1]:18 3.6666666666666665 -(const signed byte*) x_add = { fill( SIZE, 0) } -(const word*) x_cur = { fill( SIZE, 0) } -(const word*) x_end = { (word) $14, (word) $a, (word) $14, (word) $14 } -(const word*) x_start = { (word) $a, (word) $14, (word) $1e, (word) $1e } -(const signed byte*) y_add = { fill( SIZE, 0) } -(const word*) y_cur = { fill( SIZE, 0) } -(const byte*) y_end = { (byte) $14, (byte) $14, (byte) $a, (byte) $14 } -(const byte*) y_start = { (byte) $a, (byte) $a, (byte) $a, (byte) $14 } +(const signed byte*) x_add[(const byte) SIZE] = { fill( SIZE, 0) } +(const word*) x_cur[(const byte) SIZE] = { fill( SIZE, 0) } +(const word*) x_end[(const byte) SIZE] = { (word) $14, (word) $a, (word) $14, (word) $14 } +(const word*) x_start[(const byte) SIZE] = { (word) $a, (word) $14, (word) $1e, (word) $1e } +(const signed byte*) y_add[(const byte) SIZE] = { fill( SIZE, 0) } +(const word*) y_cur[(const byte) SIZE] = { fill( SIZE, 0) } +(const byte*) y_end[(const byte) SIZE] = { (byte) $14, (byte) $14, (byte) $a, (byte) $14 } +(const byte*) y_start[(const byte) SIZE] = { (byte) $a, (byte) $a, (byte) $a, (byte) $14 } reg byte y [ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ] zp[2]:2 [ divr16u::dividend#2 divr16u::dividend#0 point_init::abs16s1_return#2 point_init::abs16s1_return#5 point_init::abs16s1_return#6 point_init::abs16s1_return#0 ] diff --git a/src/test/ref/line-anim.sym b/src/test/ref/line-anim.sym index 1e6bcc895..b78327dde 100644 --- a/src/test/ref/line-anim.sym +++ b/src/test/ref/line-anim.sym @@ -73,10 +73,10 @@ (word) bitmap_plot::x#0 x zp[2]:10 3.0 (byte) bitmap_plot::y (byte) bitmap_plot::y#0 reg byte x 15.0 -(const byte*) bitmap_plot_bit = { fill( $100, 0) } -(const byte*) bitmap_plot_yhi = { fill( $100, 0) } -(const byte*) bitmap_plot_ylo = { fill( $100, 0) } -(const byte*) delay = { fill( SIZE, 0) } +(const byte*) bitmap_plot_bit[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_yhi[(number) $100] = { fill( $100, 0) } +(const byte*) bitmap_plot_ylo[(number) $100] = { fill( $100, 0) } +(const byte*) delay[(const byte) SIZE] = { fill( SIZE, 0) } (signed word()) divr16s((signed word) divr16s::dividend , (signed word) divr16s::divisor , (signed word) divr16s::rem) (label) divr16s::@1 (label) divr16s::@10 @@ -236,14 +236,14 @@ (byte) screen_fill::y (byte) screen_fill::y#1 y zp[1]:18 16.5 (byte) screen_fill::y#4 y zp[1]:18 3.6666666666666665 -(const signed byte*) x_add = { fill( SIZE, 0) } -(const word*) x_cur = { fill( SIZE, 0) } -(const word*) x_end = { (word) $14, (word) $a, (word) $14, (word) $14 } -(const word*) x_start = { (word) $a, (word) $14, (word) $1e, (word) $1e } -(const signed byte*) y_add = { fill( SIZE, 0) } -(const word*) y_cur = { fill( SIZE, 0) } -(const byte*) y_end = { (byte) $14, (byte) $14, (byte) $a, (byte) $14 } -(const byte*) y_start = { (byte) $a, (byte) $a, (byte) $a, (byte) $14 } +(const signed byte*) x_add[(const byte) SIZE] = { fill( SIZE, 0) } +(const word*) x_cur[(const byte) SIZE] = { fill( SIZE, 0) } +(const word*) x_end[(const byte) SIZE] = { (word) $14, (word) $a, (word) $14, (word) $14 } +(const word*) x_start[(const byte) SIZE] = { (word) $a, (word) $14, (word) $1e, (word) $1e } +(const signed byte*) y_add[(const byte) SIZE] = { fill( SIZE, 0) } +(const word*) y_cur[(const byte) SIZE] = { fill( SIZE, 0) } +(const byte*) y_end[(const byte) SIZE] = { (byte) $14, (byte) $14, (byte) $a, (byte) $14 } +(const byte*) y_start[(const byte) SIZE] = { (byte) $a, (byte) $a, (byte) $a, (byte) $14 } reg byte y [ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ] zp[2]:2 [ divr16u::dividend#2 divr16u::dividend#0 point_init::abs16s1_return#2 point_init::abs16s1_return#5 point_init::abs16s1_return#6 point_init::abs16s1_return#0 ] diff --git a/src/test/ref/linegen.log b/src/test/ref/linegen.log index 80749522c..b7b6b3704 100644 --- a/src/test/ref/linegen.log +++ b/src/test/ref/linegen.log @@ -912,18 +912,18 @@ SYMBOL TABLE SSA (byte) main::i#7 (byte) main::i#8 (byte) main::i#9 -(const word*) main::lintab1 = { fill( $14, 0) } -(const word*) main::lintab2 = { fill( $14, 0) } -(const word*) main::lintab3 = { fill( $14, 0) } -(const string) main::str = (string) " " -(const string) main::str1 = (string) " " -(const string) main::str2 = (string) " " -(const string) main::str3 = (string) " " -(const string) main::str4 = (string) " " -(const string) main::str5 = (string) " " -(const string) main::str6 = (string) " " -(const string) main::str7 = (string) " " -(const string) main::str8 = (string) " " +(const word*) main::lintab1[(number) $14] = { fill( $14, 0) } +(const word*) main::lintab2[(number) $14] = { fill( $14, 0) } +(const word*) main::lintab3[(number) $14] = { fill( $14, 0) } +(const string) main::str[] = (string) " " +(const string) main::str1[] = (string) " " +(const string) main::str2[] = (string) " " +(const string) main::str3[] = (string) " " +(const string) main::str4[] = (string) " " +(const string) main::str5[] = (string) " " +(const string) main::str6[] = (string) " " +(const string) main::str7[] = (string) " " +(const string) main::str8[] = (string) " " (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (bool~) memset::$0 (bool~) memset::$1 @@ -1079,7 +1079,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -4894,11 +4894,11 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#10 reg byte x 3.5 -(const word*) main::lintab1 = { fill( $14, 0) } -(const word*) main::lintab2 = { fill( $14, 0) } -(const word*) main::lintab3 = { fill( $14, 0) } -(const string) main::str = (string) " " -(const string) main::str1 = (string) " " +(const word*) main::lintab1[(number) $14] = { fill( $14, 0) } +(const word*) main::lintab2[(number) $14] = { fill( $14, 0) } +(const word*) main::lintab3[(number) $14] = { fill( $14, 0) } +(const string) main::str[] = (string) " " +(const string) main::str1[] = (string) " " (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -4942,7 +4942,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#98 print_char_cursor zp[2]:3 4.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:11 8.225 (byte*) print_line_cursor#11 print_line_cursor zp[2]:11 204.0 diff --git a/src/test/ref/linegen.sym b/src/test/ref/linegen.sym index a5941f1a3..85f96a02d 100644 --- a/src/test/ref/linegen.sym +++ b/src/test/ref/linegen.sym @@ -109,11 +109,11 @@ (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#10 reg byte x 3.5 -(const word*) main::lintab1 = { fill( $14, 0) } -(const word*) main::lintab2 = { fill( $14, 0) } -(const word*) main::lintab3 = { fill( $14, 0) } -(const string) main::str = (string) " " -(const string) main::str1 = (string) " " +(const word*) main::lintab1[(number) $14] = { fill( $14, 0) } +(const word*) main::lintab2[(number) $14] = { fill( $14, 0) } +(const word*) main::lintab3[(number) $14] = { fill( $14, 0) } +(const string) main::str[] = (string) " " +(const string) main::str1[] = (string) " " (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -157,7 +157,7 @@ (byte*) print_char_cursor#98 print_char_cursor zp[2]:3 4.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:11 8.225 (byte*) print_line_cursor#11 print_line_cursor zp[2]:11 204.0 diff --git a/src/test/ref/literal-strings.log b/src/test/ref/literal-strings.log index cf6597a6b..c9c9499a4 100644 --- a/src/test/ref/literal-strings.log +++ b/src/test/ref/literal-strings.log @@ -40,8 +40,8 @@ SYMBOL TABLE SSA (byte) main::i#0 (byte) main::i#1 (byte) main::i#2 -(const byte*) msg = (string) "cml" -(const byte*) msgz = (string) "cml"z +(const byte*) msg[] = (string) "cml" +(const byte*) msgz[] = (string) "cml"z Adding number conversion cast (unumber) $28 in *((const byte*) SCREEN+(number) $28 + (byte) main::i#2) ← *((const byte*) msgz + (byte) main::i#2) Successful SSA optimization PassNAddNumberTypeConversions @@ -301,8 +301,8 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 -(const byte*) msg = (string) "cml" -(const byte*) msgz = (string) "cml"z +(const byte*) msg[] = (string) "cml" +(const byte*) msgz[] = (string) "cml"z reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/literal-strings.sym b/src/test/ref/literal-strings.sym index e7448fd26..4947c6a14 100644 --- a/src/test/ref/literal-strings.sym +++ b/src/test/ref/literal-strings.sym @@ -8,7 +8,7 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 -(const byte*) msg = (string) "cml" -(const byte*) msgz = (string) "cml"z +(const byte*) msg[] = (string) "cml" +(const byte*) msgz[] = (string) "cml"z reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/literal-word-pointer-0.log b/src/test/ref/literal-word-pointer-0.log index af3cd24bc..9b67e1ec4 100644 --- a/src/test/ref/literal-word-pointer-0.log +++ b/src/test/ref/literal-word-pointer-0.log @@ -39,7 +39,7 @@ SYMBOL TABLE SSA (void()) main() (label) main::@1 (label) main::@return -(const string) main::str = (string) "qwe" +(const string) main::str[] = (string) "qwe" (void()) print((byte*) print::str) (byte*~) print::$0 (label) print::@return @@ -260,7 +260,7 @@ FINAL SYMBOL TABLE (label) @end (void()) main() (label) main::@return -(const string) main::str = (string) "qwe" +(const string) main::str[] = (string) "qwe" (void()) print((byte*) print::str) (label) print::@return (byte*) print::str diff --git a/src/test/ref/literal-word-pointer-0.sym b/src/test/ref/literal-word-pointer-0.sym index a14bc5f33..8cb291f1b 100644 --- a/src/test/ref/literal-word-pointer-0.sym +++ b/src/test/ref/literal-word-pointer-0.sym @@ -3,7 +3,7 @@ (label) @end (void()) main() (label) main::@return -(const string) main::str = (string) "qwe" +(const string) main::str[] = (string) "qwe" (void()) print((byte*) print::str) (label) print::@return (byte*) print::str diff --git a/src/test/ref/literals.log b/src/test/ref/literals.log index 01ad7a4b5..8b2ffda8e 100644 --- a/src/test/ref/literals.log +++ b/src/test/ref/literals.log @@ -51,8 +51,8 @@ SYMBOL TABLE SSA (byte) main::i#1 (byte) main::i#2 (const byte) num = (byte) 1 -(const byte*) nums = { (byte)(number) 2, (byte)(number) 3, (byte)(number) 4, (byte)(number) 5 } -(const byte*) str = (string) "bcde" +(const byte*) nums[] = { (byte)(number) 2, (byte)(number) 3, (byte)(number) 4, (byte)(number) 5 } +(const byte*) str[] = (string) "bcde" Adding number conversion cast (unumber) 0 in *((const byte*) SCREEN + (number) 0) ← (const byte) ch Adding number conversion cast (unumber) 2 in *((const byte*) SCREEN + (number) 2) ← (const byte) num @@ -351,8 +351,8 @@ FINAL SYMBOL TABLE (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 (const byte) num = (byte) 1 -(const byte*) nums = { (byte) 2, (byte) 3, (byte) 4, (byte) 5 } -(const byte*) str = (string) "bcde" +(const byte*) nums[] = { (byte) 2, (byte) 3, (byte) 4, (byte) 5 } +(const byte*) str[] = (string) "bcde" reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/literals.sym b/src/test/ref/literals.sym index 4e5d06224..3706329de 100644 --- a/src/test/ref/literals.sym +++ b/src/test/ref/literals.sym @@ -10,7 +10,7 @@ (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 (const byte) num = (byte) 1 -(const byte*) nums = { (byte) 2, (byte) 3, (byte) 4, (byte) 5 } -(const byte*) str = (string) "bcde" +(const byte*) nums[] = { (byte) 2, (byte) 3, (byte) 4, (byte) 5 } +(const byte*) str[] = (string) "bcde" reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/local-string.log b/src/test/ref/local-string.log index fdfe5feca..44c1900c3 100644 --- a/src/test/ref/local-string.log +++ b/src/test/ref/local-string.log @@ -48,7 +48,7 @@ SYMBOL TABLE SSA (byte) main::i#1 (byte) main::i#2 (byte) main::i#3 -(const byte*) main::msg = (string) "message 2 " +(const byte*) main::msg[] = (string) "message 2 " (const byte*) main::screen = (byte*)(number) $400 Adding number conversion cast (unumber) 0 in (byte) main::i#0 ← (number) 0 @@ -301,7 +301,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 18.333333333333332 -(const byte*) main::msg = (string) "message 2 " +(const byte*) main::msg[] = (string) "message 2 " (const byte*) main::screen = (byte*) 1024 reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/local-string.sym b/src/test/ref/local-string.sym index 79899f126..2fbdfe9dc 100644 --- a/src/test/ref/local-string.sym +++ b/src/test/ref/local-string.sym @@ -8,7 +8,7 @@ (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 18.333333333333332 -(const byte*) main::msg = (string) "message 2 " +(const byte*) main::msg[] = (string) "message 2 " (const byte*) main::screen = (byte*) 1024 reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/loop-break-continue.log b/src/test/ref/loop-break-continue.log index 59620fd92..5a5fa6f87 100644 --- a/src/test/ref/loop-break-continue.log +++ b/src/test/ref/loop-break-continue.log @@ -81,7 +81,7 @@ SYMBOL TABLE SSA (byte*) main::screen#3 (byte*) main::screen#4 (byte*) main::screen#5 -(const byte*) main::str = (string) "hello brave new world" +(const byte*) main::str[] = (string) "hello brave new world" Adding number conversion cast (unumber) 0 in (bool~) main::$0 ← *((const byte*) main::str + (byte) main::i#2) == (number) 0 Successful SSA optimization PassNAddNumberTypeConversions @@ -455,7 +455,7 @@ FINAL SYMBOL TABLE (byte*) main::screen#1 screen zp[2]:2 22.0 (byte*) main::screen#2 screen zp[2]:2 11.0 (byte*) main::screen#5 screen zp[2]:2 11.0 -(const byte*) main::str = (string) "hello brave new world" +(const byte*) main::str[] = (string) "hello brave new world" reg byte x [ main::i#2 main::i#1 ] zp[2]:2 [ main::screen#2 main::screen#5 main::screen#1 ] diff --git a/src/test/ref/loop-break-continue.sym b/src/test/ref/loop-break-continue.sym index 1cf4edeb5..4bbb4dacd 100644 --- a/src/test/ref/loop-break-continue.sym +++ b/src/test/ref/loop-break-continue.sym @@ -14,7 +14,7 @@ (byte*) main::screen#1 screen zp[2]:2 22.0 (byte*) main::screen#2 screen zp[2]:2 11.0 (byte*) main::screen#5 screen zp[2]:2 11.0 -(const byte*) main::str = (string) "hello brave new world" +(const byte*) main::str[] = (string) "hello brave new world" reg byte x [ main::i#2 main::i#1 ] zp[2]:2 [ main::screen#2 main::screen#5 main::screen#1 ] diff --git a/src/test/ref/loop-for-continue.log b/src/test/ref/loop-for-continue.log index 3210c0309..6d40937de 100644 --- a/src/test/ref/loop-for-continue.log +++ b/src/test/ref/loop-for-continue.log @@ -54,7 +54,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello brave new world!" +(const byte*) MESSAGE[] = (string) "hello brave new world!" (const byte*) SCREEN = (byte*)(number) $400 (void()) main() (bool~) main::$0 @@ -412,7 +412,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello brave new world!" +(const byte*) MESSAGE[] = (string) "hello brave new world!" (const byte*) SCREEN = (byte*) 1024 (void()) main() (label) main::@1 diff --git a/src/test/ref/loop-for-continue.sym b/src/test/ref/loop-for-continue.sym index 9fc5d1972..87fe07fc8 100644 --- a/src/test/ref/loop-for-continue.sym +++ b/src/test/ref/loop-for-continue.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello brave new world!" +(const byte*) MESSAGE[] = (string) "hello brave new world!" (const byte*) SCREEN = (byte*) 1024 (void()) main() (label) main::@1 diff --git a/src/test/ref/loop-for-empty-body.log b/src/test/ref/loop-for-empty-body.log index 0420c1e89..d147300bc 100644 --- a/src/test/ref/loop-for-empty-body.log +++ b/src/test/ref/loop-for-empty-body.log @@ -53,7 +53,7 @@ SYMBOL TABLE SSA (byte) main::b#2 (byte) main::b#3 (byte) main::b#4 -(const byte*) str = (string) "Hello!" +(const byte*) str[] = (string) "Hello!" Adding number conversion cast (unumber) 0 in (byte) main::b#0 ← (number) 0 Adding number conversion cast (unumber) 0 in (bool~) main::$1 ← *((const byte*) str + (byte) main::b#2) != (number) 0 @@ -337,7 +337,7 @@ FINAL SYMBOL TABLE (byte) main::b (byte) main::b#1 reg byte x 22.0 (byte) main::b#2 reg byte x 17.5 -(const byte*) str = (string) "Hello!" +(const byte*) str[] = (string) "Hello!" reg byte x [ main::b#2 main::b#1 ] reg byte x [ main::$0 ] diff --git a/src/test/ref/loop-for-empty-body.sym b/src/test/ref/loop-for-empty-body.sym index 3d730a433..aabdd7fd5 100644 --- a/src/test/ref/loop-for-empty-body.sym +++ b/src/test/ref/loop-for-empty-body.sym @@ -11,7 +11,7 @@ (byte) main::b (byte) main::b#1 reg byte x 22.0 (byte) main::b#2 reg byte x 17.5 -(const byte*) str = (string) "Hello!" +(const byte*) str[] = (string) "Hello!" reg byte x [ main::b#2 main::b#1 ] reg byte x [ main::$0 ] diff --git a/src/test/ref/loophead-problem-2.log b/src/test/ref/loophead-problem-2.log index b1c57c646..a6020b5a6 100644 --- a/src/test/ref/loophead-problem-2.log +++ b/src/test/ref/loophead-problem-2.log @@ -89,7 +89,7 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte) SIZEOF_SIGNED_WORD = (byte) 2 -(const signed word*) ball_y = { (signed word)(number) $32, (signed word)(number) $64, (signed word)(number) -$c8, (signed word)(number) $c, (signed word)(number) -$64, (signed word)(number) $4b, (signed word)(number) 0, (signed word)(number) -$79 } +(const signed word*) ball_y[(number) 8] = { (signed word)(number) $32, (signed word)(number) $64, (signed word)(number) -$c8, (signed word)(number) $c, (signed word)(number) -$64, (signed word)(number) $4b, (signed word)(number) 0, (signed word)(number) -$79 } (void()) main() (byte~) main::$0 (byte~) main::$1 @@ -743,7 +743,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const signed word*) ball_y = { (signed word) $32, (signed word) $64, (signed word) -$c8, (signed word) $c, (signed word) -$64, (signed word) $4b, (signed word) 0, (signed word) -$79 } +(const signed word*) ball_y[(number) 8] = { (signed word) $32, (signed word) $64, (signed word) -$c8, (signed word) $c, (signed word) -$64, (signed word) $4b, (signed word) 0, (signed word) -$79 } (void()) main() (byte~) main::$1 reg byte a 4.0 (byte~) main::$2 reg byte a 4.0 diff --git a/src/test/ref/loophead-problem-2.sym b/src/test/ref/loophead-problem-2.sym index a3d057ce6..3c619aafd 100644 --- a/src/test/ref/loophead-problem-2.sym +++ b/src/test/ref/loophead-problem-2.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const signed word*) ball_y = { (signed word) $32, (signed word) $64, (signed word) -$c8, (signed word) $c, (signed word) -$64, (signed word) $4b, (signed word) 0, (signed word) -$79 } +(const signed word*) ball_y[(number) 8] = { (signed word) $32, (signed word) $64, (signed word) -$c8, (signed word) $c, (signed word) -$64, (signed word) $4b, (signed word) 0, (signed word) -$79 } (void()) main() (byte~) main::$1 reg byte a 4.0 (byte~) main::$2 reg byte a 4.0 diff --git a/src/test/ref/mem-alignment.log b/src/test/ref/mem-alignment.log index dea34b894..29b3f88fb 100644 --- a/src/test/ref/mem-alignment.log +++ b/src/test/ref/mem-alignment.log @@ -43,7 +43,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) bs = { fill( $100, 0) } +(const byte*) bs[(number) $100] = { fill( $100, 0) } (void()) main() (bool~) main::$0 (bool~) main::$1 @@ -51,7 +51,7 @@ SYMBOL TABLE SSA (label) main::@2 (label) main::@3 (label) main::@return -(const byte*) main::cs = { fill( $100, 0) } +(const byte*) main::cs[(number) $100] = { fill( $100, 0) } (byte) main::i (byte) main::i#0 (byte) main::i#1 @@ -409,12 +409,12 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) bs = { fill( $100, 0) } +(const byte*) bs[(number) $100] = { fill( $100, 0) } (void()) main() (label) main::@1 (label) main::@2 (label) main::@return -(const byte*) main::cs = { fill( $100, 0) } +(const byte*) main::cs[(number) $100] = { fill( $100, 0) } (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 diff --git a/src/test/ref/mem-alignment.sym b/src/test/ref/mem-alignment.sym index 7d6305ffc..5f98e360a 100644 --- a/src/test/ref/mem-alignment.sym +++ b/src/test/ref/mem-alignment.sym @@ -1,12 +1,12 @@ (label) @1 (label) @begin (label) @end -(const byte*) bs = { fill( $100, 0) } +(const byte*) bs[(number) $100] = { fill( $100, 0) } (void()) main() (label) main::@1 (label) main::@2 (label) main::@return -(const byte*) main::cs = { fill( $100, 0) } +(const byte*) main::cs[(number) $100] = { fill( $100, 0) } (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 diff --git a/src/test/ref/memcpy-1.log b/src/test/ref/memcpy-1.log index 619266e3b..12aae7226 100644 --- a/src/test/ref/memcpy-1.log +++ b/src/test/ref/memcpy-1.log @@ -114,13 +114,13 @@ SYMBOL TABLE SSA (label) @6 (label) @begin (label) @end -(const byte*) CAMELOT = (string) "camelot" +(const byte*) CAMELOT[] = (string) "camelot" (const byte*) SCREEN = (byte*)(number) $400 (void()) main() (bool~) main::$2 (bool~) main::$3 -(const string) main::$4 = (string) "reigns" -(const string) main::$5 = (string) "rules" +(const string) main::$4[] = (string) "reigns" +(const string) main::$5[] = (string) "rules" (label) main::@1 (label) main::@2 (label) main::@3 @@ -1085,10 +1085,10 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) CAMELOT = (string) "camelot" +(const byte*) CAMELOT[] = (string) "camelot" (const byte*) SCREEN = (byte*) 1024 (void()) main() -(const string) main::$5 = (string) "rules" +(const string) main::$5[] = (string) "rules" (label) main::@1 (label) main::@2 (label) main::@3 diff --git a/src/test/ref/memcpy-1.sym b/src/test/ref/memcpy-1.sym index c32c865df..1e17add36 100644 --- a/src/test/ref/memcpy-1.sym +++ b/src/test/ref/memcpy-1.sym @@ -1,10 +1,10 @@ (label) @1 (label) @begin (label) @end -(const byte*) CAMELOT = (string) "camelot" +(const byte*) CAMELOT[] = (string) "camelot" (const byte*) SCREEN = (byte*) 1024 (void()) main() -(const string) main::$5 = (string) "rules" +(const string) main::$5[] = (string) "rules" (label) main::@1 (label) main::@2 (label) main::@3 diff --git a/src/test/ref/min-fmul-16.log b/src/test/ref/min-fmul-16.log index d5c7626f7..591be2575 100644 --- a/src/test/ref/min-fmul-16.log +++ b/src/test/ref/min-fmul-16.log @@ -522,10 +522,10 @@ SYMBOL TABLE SSA (byte) mulf_init::x_255#3 (byte) mulf_init::x_255#4 (byte) mulf_init::x_255#5 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 (number~) print_byte::$2 @@ -598,7 +598,7 @@ SYMBOL TABLE SSA (dword) print_dword::dw#0 (dword) print_dword::dw#1 (dword) print_dword::dw#2 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -2783,10 +2783,10 @@ FINAL SYMBOL TABLE (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 reg byte a 4.0 (byte~) print_byte::$2 reg byte x 4.0 @@ -2813,7 +2813,7 @@ FINAL SYMBOL TABLE (label) print_dword::@return (dword) print_dword::dw (dword) print_dword::dw#0 dw zp[4]:14 5.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_screen (void()) print_set_screen((byte*) print_set_screen::screen) diff --git a/src/test/ref/min-fmul-16.sym b/src/test/ref/min-fmul-16.sym index ca0ce4d6b..a30e7439f 100644 --- a/src/test/ref/min-fmul-16.sym +++ b/src/test/ref/min-fmul-16.sym @@ -73,10 +73,10 @@ (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 reg byte a 4.0 (byte~) print_byte::$2 reg byte x 4.0 @@ -103,7 +103,7 @@ (label) print_dword::@return (dword) print_dword::dw (dword) print_dword::dw#0 dw zp[4]:14 5.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_screen (void()) print_set_screen((byte*) print_set_screen::screen) diff --git a/src/test/ref/mixed-array-0.log b/src/test/ref/mixed-array-0.log index 418f05da6..c92f0f011 100644 --- a/src/test/ref/mixed-array-0.log +++ b/src/test/ref/mixed-array-0.log @@ -28,7 +28,7 @@ SYMBOL TABLE SSA (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*)(number) $400 -(const byte*) main::msg = { (byte) 1, (byte)(number) 2, (byte)(number) 3 } +(const byte*) main::msg[] = { (byte) 1, (byte)(number) 2, (byte)(number) 3 } Adding number conversion cast (unumber) 0 in *((const byte*) main::SCREEN + (number) 0) ← *((const byte*) main::msg + (number) 0) Adding number conversion cast (unumber) 0 in *((const byte*) main::SCREEN + (number) 0) ← *((const byte*) main::msg + (unumber)(number) 0) @@ -229,7 +229,7 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 -(const byte*) main::msg = { (byte) 1, (byte) 2, (byte) 3 } +(const byte*) main::msg[] = { (byte) 1, (byte) 2, (byte) 3 } diff --git a/src/test/ref/mixed-array-0.sym b/src/test/ref/mixed-array-0.sym index 9e04a037f..7d7cf791a 100644 --- a/src/test/ref/mixed-array-0.sym +++ b/src/test/ref/mixed-array-0.sym @@ -4,5 +4,5 @@ (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 -(const byte*) main::msg = { (byte) 1, (byte) 2, (byte) 3 } +(const byte*) main::msg[] = { (byte) 1, (byte) 2, (byte) 3 } diff --git a/src/test/ref/mixed-array-1.log b/src/test/ref/mixed-array-1.log index 51d46e591..2d5eda114 100644 --- a/src/test/ref/mixed-array-1.log +++ b/src/test/ref/mixed-array-1.log @@ -28,7 +28,7 @@ SYMBOL TABLE SSA (void()) main() (label) main::@return (const signed byte*) main::SCREEN = (signed byte*)(number) $400 -(const signed byte*) main::msg = { (signed byte)(number) -1, (signed byte)(number) 0, (signed byte)(number) 1 } +(const signed byte*) main::msg[] = { (signed byte)(number) -1, (signed byte)(number) 0, (signed byte)(number) 1 } Adding number conversion cast (unumber) 0 in *((const signed byte*) main::SCREEN + (number) 0) ← *((const signed byte*) main::msg + (number) 0) Adding number conversion cast (unumber) 0 in *((const signed byte*) main::SCREEN + (number) 0) ← *((const signed byte*) main::msg + (unumber)(number) 0) @@ -230,7 +230,7 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@return (const signed byte*) main::SCREEN = (signed byte*) 1024 -(const signed byte*) main::msg = { (signed byte) -1, (signed byte) 0, (signed byte) 1 } +(const signed byte*) main::msg[] = { (signed byte) -1, (signed byte) 0, (signed byte) 1 } diff --git a/src/test/ref/mixed-array-1.sym b/src/test/ref/mixed-array-1.sym index 683661622..3e1a0868f 100644 --- a/src/test/ref/mixed-array-1.sym +++ b/src/test/ref/mixed-array-1.sym @@ -4,5 +4,5 @@ (void()) main() (label) main::@return (const signed byte*) main::SCREEN = (signed byte*) 1024 -(const signed byte*) main::msg = { (signed byte) -1, (signed byte) 0, (signed byte) 1 } +(const signed byte*) main::msg[] = { (signed byte) -1, (signed byte) 0, (signed byte) 1 } diff --git a/src/test/ref/modglobal.log b/src/test/ref/modglobal.log index 5c3e240b3..83f9e7870 100644 --- a/src/test/ref/modglobal.log +++ b/src/test/ref/modglobal.log @@ -95,7 +95,7 @@ SYMBOL TABLE SSA (label) @3 (label) @begin (label) @end -(const byte*) SCREEN = (byte*)(number) $400 +(const byte*) SCREEN[(number) $100] = (byte*)(number) $400 (byte) cnt (byte) cnt#0 (byte) cnt#1 @@ -628,7 +628,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) SCREEN = (byte*) 1024 +(const byte*) SCREEN[(number) $100] = (byte*) 1024 (byte) cnt (byte) cnt#11 reg byte a 4.0 (byte) cnt#12 cnt zp[1]:2 0.6666666666666666 diff --git a/src/test/ref/modglobal.sym b/src/test/ref/modglobal.sym index 31000647b..adee46800 100644 --- a/src/test/ref/modglobal.sym +++ b/src/test/ref/modglobal.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) SCREEN = (byte*) 1024 +(const byte*) SCREEN[(number) $100] = (byte*) 1024 (byte) cnt (byte) cnt#11 reg byte a 4.0 (byte) cnt#12 cnt zp[1]:2 0.6666666666666666 diff --git a/src/test/ref/modglobalmin.log b/src/test/ref/modglobalmin.log index 7f0f3512f..f2bc6cb00 100644 --- a/src/test/ref/modglobalmin.log +++ b/src/test/ref/modglobalmin.log @@ -54,7 +54,7 @@ SYMBOL TABLE SSA (label) @3 (label) @begin (label) @end -(const byte*) SCREEN = (byte*)(number) $400 +(const byte*) SCREEN[(number) $100] = (byte*)(number) $400 (byte) cnt (byte) cnt#0 (byte) cnt#1 @@ -392,7 +392,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) SCREEN = (byte*) 1024 +(const byte*) SCREEN[(number) $100] = (byte*) 1024 (byte) cnt (byte) cnt#11 reg byte x 4.0 (byte) cnt#12 reg byte x 4.0 diff --git a/src/test/ref/modglobalmin.sym b/src/test/ref/modglobalmin.sym index 7e7e73cc4..76b5f9cde 100644 --- a/src/test/ref/modglobalmin.sym +++ b/src/test/ref/modglobalmin.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) SCREEN = (byte*) 1024 +(const byte*) SCREEN[(number) $100] = (byte*) 1024 (byte) cnt (byte) cnt#11 reg byte x 4.0 (byte) cnt#12 reg byte x 4.0 diff --git a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log index e4522115d..bb40be5f5 100644 --- a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log +++ b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.log @@ -634,8 +634,8 @@ SYMBOL TABLE SSA (const byte*) IRQ_STATUS = (byte*)(number) $d019 (const void()**) KERNEL_IRQ = (void()**)(number) $314 (const byte) PLEX_COUNT = (number) $20 -(const byte*) PLEX_FREE_YPOS = { fill( 8, 0) } -(const byte*) PLEX_PTR = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_FREE_YPOS[(number) 8] = { fill( 8, 0) } +(const byte*) PLEX_PTR[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (byte*) PLEX_SCREEN_PTR (byte*) PLEX_SCREEN_PTR#0 (byte*) PLEX_SCREEN_PTR#1 @@ -673,9 +673,9 @@ SYMBOL TABLE SSA (byte*) PLEX_SCREEN_PTR#7 (byte*) PLEX_SCREEN_PTR#8 (byte*) PLEX_SCREEN_PTR#9 -(const byte*) PLEX_SORTED_IDX = { fill( PLEX_COUNT, 0) } -(const word*) PLEX_XPOS = { fill( PLEX_COUNT, 0) } -(const byte*) PLEX_YPOS = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_SORTED_IDX[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const word*) PLEX_XPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_YPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (const byte*) RASTER = (byte*)(number) $d012 (const byte) RED = (number) 2 (const byte*) SCREEN = (byte*)(number) $400 @@ -690,7 +690,7 @@ SYMBOL TABLE SSA (const byte) VIC_DEN = (number) $10 (const byte) VIC_RSEL = (number) 8 (const byte) WHITE = (number) 1 -(const byte*) YSIN = kickasm {{ .var min = 50 +(const byte*) YSIN[(number) $100] = kickasm {{ .var min = 50 .var max = 250-21 .var ampl = max-min; .for(var i=0;i<256;i++) @@ -4095,13 +4095,13 @@ FINAL SYMBOL TABLE (const byte*) IRQ_STATUS = (byte*) 53273 (const void()**) KERNEL_IRQ = (void()**) 788 (const byte) PLEX_COUNT = (number) $20 -(const byte*) PLEX_FREE_YPOS = { fill( 8, 0) } -(const byte*) PLEX_PTR = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_FREE_YPOS[(number) 8] = { fill( 8, 0) } +(const byte*) PLEX_PTR[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (byte*) PLEX_SCREEN_PTR (const byte*) PLEX_SCREEN_PTR#0 PLEX_SCREEN_PTR = (byte*)(number) $400+(number) $3f8 -(const byte*) PLEX_SORTED_IDX = { fill( PLEX_COUNT, 0) } -(const word*) PLEX_XPOS = { fill( PLEX_COUNT, 0) } -(const byte*) PLEX_YPOS = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_SORTED_IDX[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const word*) PLEX_XPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_YPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (const byte*) RASTER = (byte*) 53266 (const byte) RED = (number) 2 (const byte*) SPRITE = (byte*) 8192 @@ -4114,7 +4114,7 @@ FINAL SYMBOL TABLE (const byte) VIC_DEN = (number) $10 (const byte) VIC_RSEL = (number) 8 (const byte) WHITE = (number) 1 -(const byte*) YSIN = kickasm {{ .var min = 50 +(const byte*) YSIN[(number) $100] = kickasm {{ .var min = 50 .var max = 250-21 .var ampl = max-min; .for(var i=0;i<256;i++) diff --git a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.sym b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.sym index b51c4fc9f..3af052b08 100644 --- a/src/test/ref/multiplexer-irq/simple-multiplexer-irq.sym +++ b/src/test/ref/multiplexer-irq/simple-multiplexer-irq.sym @@ -15,13 +15,13 @@ (const byte*) IRQ_STATUS = (byte*) 53273 (const void()**) KERNEL_IRQ = (void()**) 788 (const byte) PLEX_COUNT = (number) $20 -(const byte*) PLEX_FREE_YPOS = { fill( 8, 0) } -(const byte*) PLEX_PTR = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_FREE_YPOS[(number) 8] = { fill( 8, 0) } +(const byte*) PLEX_PTR[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (byte*) PLEX_SCREEN_PTR (const byte*) PLEX_SCREEN_PTR#0 PLEX_SCREEN_PTR = (byte*)(number) $400+(number) $3f8 -(const byte*) PLEX_SORTED_IDX = { fill( PLEX_COUNT, 0) } -(const word*) PLEX_XPOS = { fill( PLEX_COUNT, 0) } -(const byte*) PLEX_YPOS = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_SORTED_IDX[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const word*) PLEX_XPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } +(const byte*) PLEX_YPOS[(const byte) PLEX_COUNT] = { fill( PLEX_COUNT, 0) } (const byte*) RASTER = (byte*) 53266 (const byte) RED = (number) 2 (const byte*) SPRITE = (byte*) 8192 @@ -34,7 +34,7 @@ (const byte) VIC_DEN = (number) $10 (const byte) VIC_RSEL = (number) 8 (const byte) WHITE = (number) 1 -(const byte*) YSIN = kickasm {{ .var min = 50 +(const byte*) YSIN[(number) $100] = kickasm {{ .var min = 50 .var max = 250-21 .var ampl = max-min; .for(var i=0;i<256;i++) diff --git a/src/test/ref/nes-array.log b/src/test/ref/nes-array.log index 055b365a8..7a38c3c91 100644 --- a/src/test/ref/nes-array.log +++ b/src/test/ref/nes-array.log @@ -106,7 +106,7 @@ SYMBOL TABLE SSA (signed word) main::y2 (signed word) main::y2#0 (signed word) main::y2#1 -(const signed word*) wow = { (signed word)(number) $cafe, (signed word)(number) $babe, (signed word)(number) $1234, (signed word)(number) $5678 } +(const signed word*) wow[(number) 4] = { (signed word)(number) $cafe, (signed word)(number) $babe, (signed word)(number) $1234, (signed word)(number) $5678 } Adding number conversion cast (snumber) $1234 in (signed word) main::y1#0 ← (number) $1234 Adding number conversion cast (snumber) $1234 in (signed word) main::y2#0 ← (number) $1234 @@ -631,7 +631,7 @@ FINAL SYMBOL TABLE (signed word) main::y1#0 y1 zp[2]:4 20.0 (signed word) main::y2 (signed word) main::y2#0 y2 zp[2]:6 20.0 -(const signed word*) wow = { (signed word) $cafe, (signed word) $babe, (signed word) $1234, (signed word) $5678 } +(const signed word*) wow[(number) 4] = { (signed word) $cafe, (signed word) $babe, (signed word) $1234, (signed word) $5678 } reg byte x [ foo::x#2 ] zp[2]:2 [ foo::y#2 foo::return#0 foo::return#2 main::$0 foo::return#3 main::$1 ] diff --git a/src/test/ref/nes-array.sym b/src/test/ref/nes-array.sym index 3737375e6..09bacaa5e 100644 --- a/src/test/ref/nes-array.sym +++ b/src/test/ref/nes-array.sym @@ -25,7 +25,7 @@ (signed word) main::y1#0 y1 zp[2]:4 20.0 (signed word) main::y2 (signed word) main::y2#0 y2 zp[2]:6 20.0 -(const signed word*) wow = { (signed word) $cafe, (signed word) $babe, (signed word) $1234, (signed word) $5678 } +(const signed word*) wow[(number) 4] = { (signed word) $cafe, (signed word) $babe, (signed word) $1234, (signed word) $5678 } reg byte x [ foo::x#2 ] zp[2]:2 [ foo::y#2 foo::return#0 foo::return#2 main::$0 foo::return#3 main::$1 ] diff --git a/src/test/ref/norom-charset.log b/src/test/ref/norom-charset.log index a59e19400..1dccaef94 100644 --- a/src/test/ref/norom-charset.log +++ b/src/test/ref/norom-charset.log @@ -129,7 +129,7 @@ SYMBOL TABLE SSA (const byte*) SCREEN = (byte*)(number) $400 (const byte) SIZEOF_WORD = (byte) 2 (const byte*) VIC_MEMORY = (byte*)(number) $d018 -(const word*) charset_spec_row = { (word)(number) $f7da, (word)(number) $f7de, (word)(number) $f24e, (word)(number) $d6de } +(const word*) charset_spec_row[] = { (word)(number) $f7da, (word)(number) $f7de, (word)(number) $f24e, (word)(number) $d6de } (void()) gen_char3((byte*) gen_char3::dst , (word) gen_char3::spec) (byte~) gen_char3::$0 (number~) gen_char3::$1 @@ -1046,7 +1046,7 @@ FINAL SYMBOL TABLE (const byte*) CHARSET = (byte*) 12288 (const byte*) SCREEN = (byte*) 1024 (const byte*) VIC_MEMORY = (byte*) 53272 -(const word*) charset_spec_row = { (word) $f7da, (word) $f7de, (word) $f24e, (word) $d6de } +(const word*) charset_spec_row[] = { (word) $f7da, (word) $f7de, (word) $f24e, (word) $d6de } (void()) gen_char3((byte*) gen_char3::dst , (word) gen_char3::spec) (byte~) gen_char3::$0 reg byte a 2002.0 (byte~) gen_char3::$1 reg byte a 2002.0 diff --git a/src/test/ref/norom-charset.sym b/src/test/ref/norom-charset.sym index 5dade7cd4..af458f4b5 100644 --- a/src/test/ref/norom-charset.sym +++ b/src/test/ref/norom-charset.sym @@ -4,7 +4,7 @@ (const byte*) CHARSET = (byte*) 12288 (const byte*) SCREEN = (byte*) 1024 (const byte*) VIC_MEMORY = (byte*) 53272 -(const word*) charset_spec_row = { (word) $f7da, (word) $f7de, (word) $f24e, (word) $d6de } +(const word*) charset_spec_row[] = { (word) $f7da, (word) $f7de, (word) $f24e, (word) $d6de } (void()) gen_char3((byte*) gen_char3::dst , (word) gen_char3::spec) (byte~) gen_char3::$0 reg byte a 2002.0 (byte~) gen_char3::$1 reg byte a 2002.0 diff --git a/src/test/ref/optimize-unsigned-comparisons.log b/src/test/ref/optimize-unsigned-comparisons.log index 80ab9b317..085ba5a0e 100644 --- a/src/test/ref/optimize-unsigned-comparisons.log +++ b/src/test/ref/optimize-unsigned-comparisons.log @@ -51,7 +51,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) ball_active = { (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1 } +(const byte*) ball_active[(number) 8] = { (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 0, (byte)(number) 1, (byte)(number) 1, (byte)(number) 1 } (void()) main() (bool~) main::$0 (bool~) main::$1 diff --git a/src/test/ref/plasma-center.log b/src/test/ref/plasma-center.log index f677af6a9..0b668403c 100644 --- a/src/test/ref/plasma-center.log +++ b/src/test/ref/plasma-center.log @@ -1528,7 +1528,7 @@ SYMBOL TABLE SSA (const byte) BLACK = (number) 0 (const byte*) CHARSET = (byte*)(number) $2000 (const byte*) COLS = (byte*)(number) $d800 -(const word*) CORDIC_ATAN2_ANGLES_16 = kickasm {{ .for (var i=0; i (number) 0 Adding number conversion cast (unumber) 0 in (bool~) print_str::$0 ← (number) 0 != *((byte*) print_str::str#10) @@ -4788,7 +4788,7 @@ FINAL SYMBOL TABLE (label) main::@7 (label) main::@8 (label) main::@9 -(const string) main::str = (string) "ddr port ddr2 $00 $01 $a000 $d000 $e000" +(const string) main::str[] = (string) "ddr port ddr2 $00 $01 $a000 $d000 $e000" (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -4836,7 +4836,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#66 print_char_cursor zp[2]:4 0.8695652173913042 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:8 0.4111111111111111 (byte*) print_line_cursor#34 print_line_cursor zp[2]:8 24.0 @@ -4877,10 +4877,10 @@ FINAL SYMBOL TABLE (byte) testProcport::ddr2#23 ddr2 zp[1]:3 0.25 (byte) testProcport::port (byte) testProcport::port#23 port zp[1]:2 0.3333333333333333 -(const string) testProcport::str = (string) " " -(const string) testProcport::str1 = (string) " " -(const string) testProcport::str3 = (string) " " -(const string) testProcport::str5 = (string) " " +(const string) testProcport::str[] = (string) " " +(const string) testProcport::str1[] = (string) " " +(const string) testProcport::str3[] = (string) " " +(const string) testProcport::str5[] = (string) " " reg byte x [ testProcport::ddr#23 ] zp[1]:2 [ testProcport::port#23 ] diff --git a/src/test/ref/processor-port-test.sym b/src/test/ref/processor-port-test.sym index c2146de84..91e0ed2c1 100644 --- a/src/test/ref/processor-port-test.sym +++ b/src/test/ref/processor-port-test.sym @@ -45,7 +45,7 @@ (label) main::@7 (label) main::@8 (label) main::@9 -(const string) main::str = (string) "ddr port ddr2 $00 $01 $a000 $d000 $e000" +(const string) main::str[] = (string) "ddr port ddr2 $00 $01 $a000 $d000 $e000" (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -93,7 +93,7 @@ (byte*) print_char_cursor#66 print_char_cursor zp[2]:4 0.8695652173913042 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:8 0.4111111111111111 (byte*) print_line_cursor#34 print_line_cursor zp[2]:8 24.0 @@ -134,10 +134,10 @@ (byte) testProcport::ddr2#23 ddr2 zp[1]:3 0.25 (byte) testProcport::port (byte) testProcport::port#23 port zp[1]:2 0.3333333333333333 -(const string) testProcport::str = (string) " " -(const string) testProcport::str1 = (string) " " -(const string) testProcport::str3 = (string) " " -(const string) testProcport::str5 = (string) " " +(const string) testProcport::str[] = (string) " " +(const string) testProcport::str1[] = (string) " " +(const string) testProcport::str3[] = (string) " " +(const string) testProcport::str5[] = (string) " " reg byte x [ testProcport::ddr#23 ] zp[1]:2 [ testProcport::port#23 ] diff --git a/src/test/ref/ptrtest.log b/src/test/ref/ptrtest.log index 17907ddd7..ed88278e4 100644 --- a/src/test/ref/ptrtest.log +++ b/src/test/ref/ptrtest.log @@ -154,7 +154,7 @@ SYMBOL TABLE SSA (label) lvalue::@1 (label) lvalue::@2 (label) lvalue::@return -(const byte*) lvalue::SCREEN = (byte*)(number) $400 +(const byte*) lvalue::SCREEN[(number) $400] = (byte*)(number) $400 (byte) lvalue::i (byte) lvalue::i#0 (byte) lvalue::i#1 @@ -188,7 +188,7 @@ SYMBOL TABLE SSA (label) rvalue::@2 (label) rvalue::@3 (label) rvalue::@return -(const byte*) rvalue::SCREEN = (byte*)(number) $400 +(const byte*) rvalue::SCREEN[(number) $400] = (byte*)(number) $400 (byte) rvalue::b (byte) rvalue::b#0 (byte) rvalue::b#1 @@ -1135,7 +1135,7 @@ FINAL SYMBOL TABLE (label) lvalue::@1 (label) lvalue::@2 (label) lvalue::@return -(const byte*) lvalue::SCREEN = (byte*) 1024 +(const byte*) lvalue::SCREEN[(number) $400] = (byte*) 1024 (byte) lvalue::i (byte) lvalue::i#1 reg byte x 22.0 (byte) lvalue::i#2 reg byte x 14.666666666666666 @@ -1160,7 +1160,7 @@ FINAL SYMBOL TABLE (label) rvalue::@2 (label) rvalue::@3 (label) rvalue::@return -(const byte*) rvalue::SCREEN = (byte*) 1024 +(const byte*) rvalue::SCREEN[(number) $400] = (byte*) 1024 (byte) rvalue::b (byte) rvalue::b#1 reg byte a 4.0 (byte) rvalue::b#2 reg byte a 11.0 diff --git a/src/test/ref/ptrtest.sym b/src/test/ref/ptrtest.sym index 34310dba0..05ea75455 100644 --- a/src/test/ref/ptrtest.sym +++ b/src/test/ref/ptrtest.sym @@ -5,7 +5,7 @@ (label) lvalue::@1 (label) lvalue::@2 (label) lvalue::@return -(const byte*) lvalue::SCREEN = (byte*) 1024 +(const byte*) lvalue::SCREEN[(number) $400] = (byte*) 1024 (byte) lvalue::i (byte) lvalue::i#1 reg byte x 22.0 (byte) lvalue::i#2 reg byte x 14.666666666666666 @@ -30,7 +30,7 @@ (label) rvalue::@2 (label) rvalue::@3 (label) rvalue::@return -(const byte*) rvalue::SCREEN = (byte*) 1024 +(const byte*) rvalue::SCREEN[(number) $400] = (byte*) 1024 (byte) rvalue::b (byte) rvalue::b#1 reg byte a 4.0 (byte) rvalue::b#2 reg byte a 11.0 diff --git a/src/test/ref/ptrtestmin.log b/src/test/ref/ptrtestmin.log index 85f4baf97..58384eaee 100644 --- a/src/test/ref/ptrtestmin.log +++ b/src/test/ref/ptrtestmin.log @@ -47,7 +47,7 @@ SYMBOL TABLE SSA (label) main::@2 (label) main::@3 (label) main::@return -(const byte*) main::SCREEN = (byte*)(number) $400 +(const byte*) main::SCREEN[(number) $400] = (byte*)(number) $400 (byte) main::b (byte) main::b#0 (byte) main::b#1 @@ -345,7 +345,7 @@ FINAL SYMBOL TABLE (label) main::@2 (label) main::@3 (label) main::@return -(const byte*) main::SCREEN = (byte*) 1024 +(const byte*) main::SCREEN[(number) $400] = (byte*) 1024 (byte) main::b (byte) main::b#1 reg byte a 11.0 (byte) main::b#2 reg byte a 6.5 diff --git a/src/test/ref/ptrtestmin.sym b/src/test/ref/ptrtestmin.sym index 92d37b9ff..9f3733d92 100644 --- a/src/test/ref/ptrtestmin.sym +++ b/src/test/ref/ptrtestmin.sym @@ -6,7 +6,7 @@ (label) main::@2 (label) main::@3 (label) main::@return -(const byte*) main::SCREEN = (byte*) 1024 +(const byte*) main::SCREEN[(number) $400] = (byte*) 1024 (byte) main::b (byte) main::b#1 reg byte a 11.0 (byte) main::b#2 reg byte a 6.5 diff --git a/src/test/ref/sandbox.log b/src/test/ref/sandbox.log index fdfa7e881..a4a08b3d3 100644 --- a/src/test/ref/sandbox.log +++ b/src/test/ref/sandbox.log @@ -1500,8 +1500,8 @@ SYMBOL TABLE SSA (signed word) main::return#1 (signed word) main::return#2 (signed word) main::return#3 -(const string) main::str = (string) "200 DIV16U: %5d,%4d IN %04d FRAMESm" -(const string) main::str1 = (string) "200 DIV10 : %5d,%4d IN %04d FRAMESm" +(const string) main::str[] = (string) "200 DIV16U: %5d,%4d IN %04d FRAMESm" +(const string) main::str1[] = (string) "200 DIV10 : %5d,%4d IN %04d FRAMESm" (word) main::u (word) main::u#0 (word) main::u#1 @@ -1966,7 +1966,7 @@ SYMBOL TABLE SSA (byte) myprintf::bTrailing#7 (byte) myprintf::bTrailing#8 (byte) myprintf::bTrailing#9 -(const byte*) myprintf::buf6 = { fill( 6, 0) } +(const byte*) myprintf::buf6[(number) 6] = { fill( 6, 0) } (byte) myprintf::digit (byte) myprintf::digit#0 (byte) myprintf::digit#1 @@ -2283,7 +2283,7 @@ SYMBOL TABLE SSA (word) myprintf::w3#7 (word) myprintf::w3#8 (word) myprintf::w3#9 -(const byte*) strTemp = { fill( $64, 0) } +(const byte*) strTemp[(number) $64] = { fill( $64, 0) } (void()) utoa((word) utoa::value , (byte*) utoa::dst) (bool~) utoa::$0 (bool~) utoa::$1 @@ -8225,8 +8225,8 @@ FINAL SYMBOL TABLE (label) main::@9 (label) main::@return (signed word) main::return -(const string) main::str = (string) "200 DIV16U: %5d,%4d IN %04d FRAMESm" -(const string) main::str1 = (string) "200 DIV10 : %5d,%4d IN %04d FRAMESm" +(const string) main::str[] = (string) "200 DIV16U: %5d,%4d IN %04d FRAMESm" +(const string) main::str1[] = (string) "200 DIV10 : %5d,%4d IN %04d FRAMESm" (word) main::u (word) main::u#15 u zp[2]:2 6.380952380952381 (word) main::u#17 u zp[2]:2 6.380952380952381 @@ -8343,7 +8343,7 @@ FINAL SYMBOL TABLE (byte) myprintf::bTrailing (byte) myprintf::bTrailing#11 bTrailing zp[1]:10 10.246376811594203 (byte) myprintf::bTrailing#24 bTrailing zp[1]:10 252.5 -(const byte*) myprintf::buf6 = { fill( 6, 0) } +(const byte*) myprintf::buf6[(number) 6] = { fill( 6, 0) } (byte) myprintf::digit (byte) myprintf::digit#2 reg byte x 2002.0 (byte) myprintf::digit#3 reg byte x 1001.0 @@ -8372,7 +8372,7 @@ FINAL SYMBOL TABLE (word) myprintf::w3#0 w3 zp[2]:23 7.333333333333333 (word) myprintf::w3#1 w3 zp[2]:23 7.333333333333333 (word) myprintf::w3#8 w3 zp[2]:23 1.5569620253164556 -(const byte*) strTemp = { fill( $64, 0) } +(const byte*) strTemp[(number) $64] = { fill( $64, 0) } (void()) utoa((word) utoa::value , (byte*) utoa::dst) (byte~) utoa::$16 reg byte a 4.0 (byte~) utoa::$17 reg byte a 4.0 diff --git a/src/test/ref/sandbox.sym b/src/test/ref/sandbox.sym index ab0f797bf..1bd0c045b 100644 --- a/src/test/ref/sandbox.sym +++ b/src/test/ref/sandbox.sym @@ -112,8 +112,8 @@ (label) main::@9 (label) main::@return (signed word) main::return -(const string) main::str = (string) "200 DIV16U: %5d,%4d IN %04d FRAMESm" -(const string) main::str1 = (string) "200 DIV10 : %5d,%4d IN %04d FRAMESm" +(const string) main::str[] = (string) "200 DIV16U: %5d,%4d IN %04d FRAMESm" +(const string) main::str1[] = (string) "200 DIV10 : %5d,%4d IN %04d FRAMESm" (word) main::u (word) main::u#15 u zp[2]:2 6.380952380952381 (word) main::u#17 u zp[2]:2 6.380952380952381 @@ -230,7 +230,7 @@ (byte) myprintf::bTrailing (byte) myprintf::bTrailing#11 bTrailing zp[1]:10 10.246376811594203 (byte) myprintf::bTrailing#24 bTrailing zp[1]:10 252.5 -(const byte*) myprintf::buf6 = { fill( 6, 0) } +(const byte*) myprintf::buf6[(number) 6] = { fill( 6, 0) } (byte) myprintf::digit (byte) myprintf::digit#2 reg byte x 2002.0 (byte) myprintf::digit#3 reg byte x 1001.0 @@ -259,7 +259,7 @@ (word) myprintf::w3#0 w3 zp[2]:23 7.333333333333333 (word) myprintf::w3#1 w3 zp[2]:23 7.333333333333333 (word) myprintf::w3#8 w3 zp[2]:23 1.5569620253164556 -(const byte*) strTemp = { fill( $64, 0) } +(const byte*) strTemp[(number) $64] = { fill( $64, 0) } (void()) utoa((word) utoa::value , (byte*) utoa::dst) (byte~) utoa::$16 reg byte a 4.0 (byte~) utoa::$17 reg byte a 4.0 diff --git a/src/test/ref/screen-center-angle.log b/src/test/ref/screen-center-angle.log index df441df31..693ee76c0 100644 --- a/src/test/ref/screen-center-angle.log +++ b/src/test/ref/screen-center-angle.log @@ -661,12 +661,12 @@ SYMBOL TABLE SSA (const byte) CIA_TIMER_CONTROL_START = (number) 1 (const byte) CIA_TIMER_CONTROL_STOP = (number) 0 (const dword) CLOCKS_PER_INIT = (number) $12 -(const word*) CORDIC_ATAN2_ANGLES_16 = kickasm {{ .for (var i=0; i>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -9477,7 +9477,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$20 reg byte a 22.0 (byte~) main::$22 reg byte a 22.0 @@ -9519,9 +9519,9 @@ FINAL SYMBOL TABLE (byte) main::fileEntry2_idx (const byte) main::fileEntry2_idx#0 fileEntry2_idx = (byte) 2 (byte*) main::fileEntry2_return -(const string) main::str = (string) "** entry 1 **" -(const string) main::str1 = (string) "- press space -" -(const string) main::str2 = (string) "** entry 2 **" +(const string) main::str[] = (string) "** entry 1 **" +(const string) main::str1[] = (string) "- press space -" +(const string) main::str2[] = (string) "** entry 2 **" (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -9643,19 +9643,19 @@ FINAL SYMBOL TABLE (label) printEntry::entryUCross1 (byte*) printEntry::entryUCross1_entry (word*) printEntry::entryUCross1_return -(const string) printEntry::str = (string) "bufdisk " -(const string) printEntry::str1 = (string) "bufedit " -(const string) printEntry::str10 = (string) "baddrhi " -(const string) printEntry::str11 = (string) "thi " -(const string) printEntry::str12 = (string) "tlo " -(const string) printEntry::str2 = (string) "tslen " -(const string) printEntry::str3 = (string) "tsorder " -(const string) printEntry::str4 = (string) "tlastlink " -(const string) printEntry::str5 = (string) "slastlink " -(const string) printEntry::str6 = (string) "bflag " -(const string) printEntry::str7 = (string) "berror " -(const string) printEntry::str8 = (string) "ucross " -(const string) printEntry::str9 = (string) "baddrlo " +(const string) printEntry::str[] = (string) "bufdisk " +(const string) printEntry::str1[] = (string) "bufedit " +(const string) printEntry::str10[] = (string) "baddrhi " +(const string) printEntry::str11[] = (string) "thi " +(const string) printEntry::str12[] = (string) "tlo " +(const string) printEntry::str2[] = (string) "tslen " +(const string) printEntry::str3[] = (string) "tsorder " +(const string) printEntry::str4[] = (string) "tlastlink " +(const string) printEntry::str5[] = (string) "slastlink " +(const string) printEntry::str6[] = (string) "bflag " +(const string) printEntry::str7[] = (string) "berror " +(const string) printEntry::str8[] = (string) "ucross " +(const string) printEntry::str9[] = (string) "baddrlo " (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 reg byte a 4.0 (byte~) print_byte::$2 reg byte x 4.0 @@ -9708,7 +9708,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#82 print_char_cursor zp[2]:4 4.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:8 1.0824742268041243 (byte*) print_line_cursor#153 print_line_cursor_1 zp[2]:10 2.0 diff --git a/src/test/ref/semi-struct-2.sym b/src/test/ref/semi-struct-2.sym index c4747b206..9b719c73a 100644 --- a/src/test/ref/semi-struct-2.sym +++ b/src/test/ref/semi-struct-2.sym @@ -12,7 +12,7 @@ (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 (const byte) SIZEOF_ENTRY = (number) $12 -(const byte*) files = { fill( (word)MAX_FILES*SIZEOF_ENTRY, 0) } +(const byte*) files[(word)(const byte) MAX_FILES*(const byte) SIZEOF_ENTRY] = { fill( (word)MAX_FILES*SIZEOF_ENTRY, 0) } (void()) initEntry((byte*) initEntry::entry , (byte) initEntry::n) (word~) initEntry::$1 zp[2]:8 2.0 (byte~) initEntry::$11 reg byte a 4.0 @@ -101,7 +101,7 @@ (byte) keyboard_key_pressed::return#3 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE>>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -109,7 +109,7 @@ (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$20 reg byte a 22.0 (byte~) main::$22 reg byte a 22.0 @@ -151,9 +151,9 @@ (byte) main::fileEntry2_idx (const byte) main::fileEntry2_idx#0 fileEntry2_idx = (byte) 2 (byte*) main::fileEntry2_return -(const string) main::str = (string) "** entry 1 **" -(const string) main::str1 = (string) "- press space -" -(const string) main::str2 = (string) "** entry 2 **" +(const string) main::str[] = (string) "** entry 1 **" +(const string) main::str1[] = (string) "- press space -" +(const string) main::str2[] = (string) "** entry 2 **" (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -275,19 +275,19 @@ (label) printEntry::entryUCross1 (byte*) printEntry::entryUCross1_entry (word*) printEntry::entryUCross1_return -(const string) printEntry::str = (string) "bufdisk " -(const string) printEntry::str1 = (string) "bufedit " -(const string) printEntry::str10 = (string) "baddrhi " -(const string) printEntry::str11 = (string) "thi " -(const string) printEntry::str12 = (string) "tlo " -(const string) printEntry::str2 = (string) "tslen " -(const string) printEntry::str3 = (string) "tsorder " -(const string) printEntry::str4 = (string) "tlastlink " -(const string) printEntry::str5 = (string) "slastlink " -(const string) printEntry::str6 = (string) "bflag " -(const string) printEntry::str7 = (string) "berror " -(const string) printEntry::str8 = (string) "ucross " -(const string) printEntry::str9 = (string) "baddrlo " +(const string) printEntry::str[] = (string) "bufdisk " +(const string) printEntry::str1[] = (string) "bufedit " +(const string) printEntry::str10[] = (string) "baddrhi " +(const string) printEntry::str11[] = (string) "thi " +(const string) printEntry::str12[] = (string) "tlo " +(const string) printEntry::str2[] = (string) "tslen " +(const string) printEntry::str3[] = (string) "tsorder " +(const string) printEntry::str4[] = (string) "tlastlink " +(const string) printEntry::str5[] = (string) "slastlink " +(const string) printEntry::str6[] = (string) "bflag " +(const string) printEntry::str7[] = (string) "berror " +(const string) printEntry::str8[] = (string) "ucross " +(const string) printEntry::str9[] = (string) "baddrlo " (void()) print_byte((byte) print_byte::b) (byte~) print_byte::$0 reg byte a 4.0 (byte~) print_byte::$2 reg byte x 4.0 @@ -340,7 +340,7 @@ (byte*) print_char_cursor#82 print_char_cursor zp[2]:4 4.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:8 1.0824742268041243 (byte*) print_line_cursor#153 print_line_cursor_1 zp[2]:10 2.0 diff --git a/src/test/ref/sieve-min.log b/src/test/ref/sieve-min.log index 707bff2b0..1161e9453 100644 --- a/src/test/ref/sieve-min.log +++ b/src/test/ref/sieve-min.log @@ -515,7 +515,7 @@ SYMBOL TABLE SSA (byte*) print_char_cursor#7 (byte*) print_char_cursor#8 (byte*) print_char_cursor#9 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_screen @@ -1980,7 +1980,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#26 print_char_cursor zp[2]:8 2.0 (byte*) print_char_cursor#27 print_char_cursor zp[2]:8 4.0 (byte*) print_char_cursor#33 print_char_cursor zp[2]:8 16.5 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_screen (void()) print_word((word) print_word::w) diff --git a/src/test/ref/sieve-min.sym b/src/test/ref/sieve-min.sym index 5dce0a51b..b42261ab8 100644 --- a/src/test/ref/sieve-min.sym +++ b/src/test/ref/sieve-min.sym @@ -74,7 +74,7 @@ (byte*) print_char_cursor#26 print_char_cursor zp[2]:8 2.0 (byte*) print_char_cursor#27 print_char_cursor zp[2]:8 4.0 (byte*) print_char_cursor#33 print_char_cursor zp[2]:8 16.5 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_screen (void()) print_word((word) print_word::w) diff --git a/src/test/ref/sieve.log b/src/test/ref/sieve.log index 63cff182e..90c993cf4 100644 --- a/src/test/ref/sieve.log +++ b/src/test/ref/sieve.log @@ -1187,7 +1187,7 @@ SYMBOL TABLE SSA (const word) COUNT = (number) $4000 (const byte*) D018 = (byte*)(number) $d018 (const byte) DECIMAL = (number) $a -(const byte*) DIGITS = (string) "0123456789abcdef"z +(const byte*) DIGITS[] = (string) "0123456789abcdef"z (const byte) FRAMES_PER_SEC = (number) $3c (const byte) HEXADECIMAL = (number) $10 (const byte) OCTAL = (number) 8 @@ -1195,14 +1195,14 @@ SYMBOL TABLE SSA (const byte) RADIX::DECIMAL = (number) $a (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 -(const word*) RADIX_BINARY_VALUES = { (word)(number) $8000, (word)(number) $4000, (word)(number) $2000, (word)(number) $1000, (word)(number) $800, (word)(number) $400, (word)(number) $200, (word)(number) $100, (word)(number) $80, (word)(number) $40, (word)(number) $20, (word)(number) $10, (word)(number) 8, (word)(number) 4, (word)(number) 2 } -(const dword*) RADIX_BINARY_VALUES_LONG = { (dword)(number) $80000000, (dword)(number) $40000000, (dword)(number) $20000000, (dword)(number) $10000000, (dword)(number) $8000000, (dword)(number) $4000000, (dword)(number) $2000000, (dword)(number) $1000000, (dword)(number) $800000, (dword)(number) $400000, (dword)(number) $200000, (dword)(number) $100000, (dword)(number) $80000, (dword)(number) $40000, (dword)(number) $20000, (dword)(number) $10000, (dword)(number) $8000, (dword)(number) $4000, (dword)(number) $2000, (dword)(number) $1000, (dword)(number) $800, (dword)(number) $400, (dword)(number) $200, (dword)(number) $100, (dword)(number) $80, (dword)(number) $40, (dword)(number) $20, (dword)(number) $10, (dword)(number) 8, (dword)(number) 4, (dword)(number) 2 } -(const word*) RADIX_DECIMAL_VALUES = { (word)(number) $2710, (word)(number) $3e8, (word)(number) $64, (word)(number) $a } -(const dword*) RADIX_DECIMAL_VALUES_LONG = { (dword)(number) $3b9aca00, (dword)(number) $5f5e100, (dword)(number) $989680, (dword)(number) $f4240, (dword)(number) $186a0, (dword)(number) $2710, (dword)(number) $3e8, (dword)(number) $64, (dword)(number) $a } -(const word*) RADIX_HEXADECIMAL_VALUES = { (word)(number) $1000, (word)(number) $100, (word)(number) $10 } -(const dword*) RADIX_HEXADECIMAL_VALUES_LONG = { (dword)(number) $10000000, (dword)(number) $1000000, (dword)(number) $100000, (dword)(number) $10000, (dword)(number) $1000, (dword)(number) $100, (dword)(number) $10 } -(const word*) RADIX_OCTAL_VALUES = { (word)(number) $8000, (word)(number) $1000, (word)(number) $200, (word)(number) $40, (word)(number) 8 } -(const dword*) RADIX_OCTAL_VALUES_LONG = { (dword)(number) $40000000, (dword)(number) $8000000, (dword)(number) $1000000, (dword)(number) $200000, (dword)(number) $40000, (dword)(number) $8000, (dword)(number) $1000, (dword)(number) $200, (dword)(number) $40, (dword)(number) 8 } +(const word*) RADIX_BINARY_VALUES[] = { (word)(number) $8000, (word)(number) $4000, (word)(number) $2000, (word)(number) $1000, (word)(number) $800, (word)(number) $400, (word)(number) $200, (word)(number) $100, (word)(number) $80, (word)(number) $40, (word)(number) $20, (word)(number) $10, (word)(number) 8, (word)(number) 4, (word)(number) 2 } +(const dword*) RADIX_BINARY_VALUES_LONG[] = { (dword)(number) $80000000, (dword)(number) $40000000, (dword)(number) $20000000, (dword)(number) $10000000, (dword)(number) $8000000, (dword)(number) $4000000, (dword)(number) $2000000, (dword)(number) $1000000, (dword)(number) $800000, (dword)(number) $400000, (dword)(number) $200000, (dword)(number) $100000, (dword)(number) $80000, (dword)(number) $40000, (dword)(number) $20000, (dword)(number) $10000, (dword)(number) $8000, (dword)(number) $4000, (dword)(number) $2000, (dword)(number) $1000, (dword)(number) $800, (dword)(number) $400, (dword)(number) $200, (dword)(number) $100, (dword)(number) $80, (dword)(number) $40, (dword)(number) $20, (dword)(number) $10, (dword)(number) 8, (dword)(number) 4, (dword)(number) 2 } +(const word*) RADIX_DECIMAL_VALUES[] = { (word)(number) $2710, (word)(number) $3e8, (word)(number) $64, (word)(number) $a } +(const dword*) RADIX_DECIMAL_VALUES_LONG[] = { (dword)(number) $3b9aca00, (dword)(number) $5f5e100, (dword)(number) $989680, (dword)(number) $f4240, (dword)(number) $186a0, (dword)(number) $2710, (dword)(number) $3e8, (dword)(number) $64, (dword)(number) $a } +(const word*) RADIX_HEXADECIMAL_VALUES[] = { (word)(number) $1000, (word)(number) $100, (word)(number) $10 } +(const dword*) RADIX_HEXADECIMAL_VALUES_LONG[] = { (dword)(number) $10000000, (dword)(number) $1000000, (dword)(number) $100000, (dword)(number) $10000, (dword)(number) $1000, (dword)(number) $100, (dword)(number) $10 } +(const word*) RADIX_OCTAL_VALUES[] = { (word)(number) $8000, (word)(number) $1000, (word)(number) $200, (word)(number) $40, (word)(number) 8 } +(const dword*) RADIX_OCTAL_VALUES_LONG[] = { (dword)(number) $40000000, (dword)(number) $8000000, (dword)(number) $1000000, (dword)(number) $200000, (dword)(number) $40000, (dword)(number) $8000, (dword)(number) $1000, (dword)(number) $200, (dword)(number) $40, (dword)(number) 8 } (const byte*) SCREEN = (byte*)(number) $400 (const byte) SIZEOF_DWORD = (byte) 4 (const byte) SIZEOF_WORD = (byte) 2 @@ -1218,8 +1218,8 @@ SYMBOL TABLE SSA (dword) clock::return#4 (void()) clock_start() (label) clock_start::@return -(const byte*) decimal_digits = { fill( 6, 0) } -(const byte*) decimal_digits_long = { fill( $b, 0) } +(const byte*) decimal_digits[(number) 6] = { fill( 6, 0) } +(const byte*) decimal_digits_long[(number) $b] = { fill( $b, 0) } (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (word~) div32u16u::$0 (word~) div32u16u::$1 @@ -1424,11 +1424,11 @@ SYMBOL TABLE SSA (byte*) main::sieve_i#5 (byte*) main::sieve_i#6 (byte*) main::sieve_i#7 -(const string) main::str = (string) "Sieve benchmark - calculating primes" -(const string) main::str1 = (string) "between 2 and " -(const string) main::str2 = (string) "100ths seconds used: " -(const string) main::str3 = (string) " cycles: " -(const string) main::str4 = (string) "..." +(const string) main::str[] = (string) "Sieve benchmark - calculating primes" +(const string) main::str1[] = (string) "between 2 and " +(const string) main::str2[] = (string) "100ths seconds used: " +(const string) main::str3[] = (string) " cycles: " +(const string) main::str4[] = (string) "..." (label) main::toD0181 (word~) main::toD0181_$0 (number~) main::toD0181_$1 @@ -7580,14 +7580,14 @@ FINAL SYMBOL TABLE (const dword) CLOCKS_PER_SEC = (const word) CLOCKS_PER_FRAME*(const byte) FRAMES_PER_SEC (const word) COUNT = (number) $4000 (const byte*) D018 = (byte*) 53272 -(const byte*) DIGITS = (string) "0123456789abcdef"z +(const byte*) DIGITS[] = (string) "0123456789abcdef"z (const byte) FRAMES_PER_SEC = (number) $3c (const byte) RADIX::BINARY = (number) 2 (const byte) RADIX::DECIMAL = (number) $a (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 -(const word*) RADIX_DECIMAL_VALUES = { (word) $2710, (word) $3e8, (word) $64, (word) $a } -(const dword*) RADIX_DECIMAL_VALUES_LONG = { (dword) $3b9aca00, (dword) $5f5e100, (dword) $989680, (dword) $f4240, (dword) $186a0, (dword) $2710, (dword) $3e8, (dword) $64, (dword) $a } +(const word*) RADIX_DECIMAL_VALUES[] = { (word) $2710, (word) $3e8, (word) $64, (word) $a } +(const dword*) RADIX_DECIMAL_VALUES_LONG[] = { (dword) $3b9aca00, (dword) $5f5e100, (dword) $989680, (dword) $f4240, (dword) $186a0, (dword) $2710, (dword) $3e8, (dword) $64, (dword) $a } (const byte*) SCREEN = (byte*) 1024 (const byte) SQRT_COUNT = (number) $80 (dword()) clock() @@ -7597,8 +7597,8 @@ FINAL SYMBOL TABLE (dword) clock::return#2 return zp[4]:9 4.0 (void()) clock_start() (label) clock_start::@return -(const byte*) decimal_digits = { fill( 6, 0) } -(const byte*) decimal_digits_long = { fill( $b, 0) } +(const byte*) decimal_digits[(number) 6] = { fill( 6, 0) } +(const byte*) decimal_digits_long[(number) $b] = { fill( $b, 0) } (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@1 (label) div32u16u::@2 @@ -7704,11 +7704,11 @@ FINAL SYMBOL TABLE (byte*) main::sieve_i (byte*) main::sieve_i#1 sieve_i zp[2]:15 22.0 (byte*) main::sieve_i#2 sieve_i zp[2]:15 3.0 -(const string) main::str = (string) "Sieve benchmark - calculating primes" -(const string) main::str1 = (string) "between 2 and " -(const string) main::str2 = (string) "100ths seconds used: " -(const string) main::str3 = (string) " cycles: " -(const string) main::str4 = (string) "..." +(const string) main::str[] = (string) "Sieve benchmark - calculating primes" +(const string) main::str1[] = (string) "between 2 and " +(const string) main::str2[] = (string) "100ths seconds used: " +(const string) main::str3[] = (string) " cycles: " +(const string) main::str4[] = (string) "..." (label) main::toD0181 (byte*) main::toD0181_gfx (const byte*) main::toD0181_gfx#0 toD0181_gfx = (byte*) 6144 diff --git a/src/test/ref/sieve.sym b/src/test/ref/sieve.sym index 6afd0af2c..caa5c32fe 100644 --- a/src/test/ref/sieve.sym +++ b/src/test/ref/sieve.sym @@ -11,14 +11,14 @@ (const dword) CLOCKS_PER_SEC = (const word) CLOCKS_PER_FRAME*(const byte) FRAMES_PER_SEC (const word) COUNT = (number) $4000 (const byte*) D018 = (byte*) 53272 -(const byte*) DIGITS = (string) "0123456789abcdef"z +(const byte*) DIGITS[] = (string) "0123456789abcdef"z (const byte) FRAMES_PER_SEC = (number) $3c (const byte) RADIX::BINARY = (number) 2 (const byte) RADIX::DECIMAL = (number) $a (const byte) RADIX::HEXADECIMAL = (number) $10 (const byte) RADIX::OCTAL = (number) 8 -(const word*) RADIX_DECIMAL_VALUES = { (word) $2710, (word) $3e8, (word) $64, (word) $a } -(const dword*) RADIX_DECIMAL_VALUES_LONG = { (dword) $3b9aca00, (dword) $5f5e100, (dword) $989680, (dword) $f4240, (dword) $186a0, (dword) $2710, (dword) $3e8, (dword) $64, (dword) $a } +(const word*) RADIX_DECIMAL_VALUES[] = { (word) $2710, (word) $3e8, (word) $64, (word) $a } +(const dword*) RADIX_DECIMAL_VALUES_LONG[] = { (dword) $3b9aca00, (dword) $5f5e100, (dword) $989680, (dword) $f4240, (dword) $186a0, (dword) $2710, (dword) $3e8, (dword) $64, (dword) $a } (const byte*) SCREEN = (byte*) 1024 (const byte) SQRT_COUNT = (number) $80 (dword()) clock() @@ -28,8 +28,8 @@ (dword) clock::return#2 return zp[4]:9 4.0 (void()) clock_start() (label) clock_start::@return -(const byte*) decimal_digits = { fill( 6, 0) } -(const byte*) decimal_digits_long = { fill( $b, 0) } +(const byte*) decimal_digits[(number) 6] = { fill( 6, 0) } +(const byte*) decimal_digits_long[(number) $b] = { fill( $b, 0) } (dword()) div32u16u((dword) div32u16u::dividend , (word) div32u16u::divisor) (label) div32u16u::@1 (label) div32u16u::@2 @@ -135,11 +135,11 @@ (byte*) main::sieve_i (byte*) main::sieve_i#1 sieve_i zp[2]:15 22.0 (byte*) main::sieve_i#2 sieve_i zp[2]:15 3.0 -(const string) main::str = (string) "Sieve benchmark - calculating primes" -(const string) main::str1 = (string) "between 2 and " -(const string) main::str2 = (string) "100ths seconds used: " -(const string) main::str3 = (string) " cycles: " -(const string) main::str4 = (string) "..." +(const string) main::str[] = (string) "Sieve benchmark - calculating primes" +(const string) main::str1[] = (string) "between 2 and " +(const string) main::str2[] = (string) "100ths seconds used: " +(const string) main::str3[] = (string) " cycles: " +(const string) main::str4[] = (string) "..." (label) main::toD0181 (byte*) main::toD0181_gfx (const byte*) main::toD0181_gfx#0 toD0181_gfx = (byte*) 6144 diff --git a/src/test/ref/signed-indexed-subtract.log b/src/test/ref/signed-indexed-subtract.log index 7762e7b0d..cfbf5ac76 100644 --- a/src/test/ref/signed-indexed-subtract.log +++ b/src/test/ref/signed-indexed-subtract.log @@ -543,7 +543,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -632,7 +632,7 @@ SYMBOL TABLE SSA (byte) sub::s#1 (byte) sub::s#2 (byte) sub::s#3 -(const signed word*) words = { (signed word)(number) -$6000, (signed word)(number) -$600, (signed word)(number) -$60, (signed word)(number) -6, (signed word)(number) 0, (signed word)(number) 6, (signed word)(number) $60, (signed word)(number) $600, (signed word)(number) $6000 } +(const signed word*) words[] = { (signed word)(number) -$6000, (signed word)(number) -$600, (signed word)(number) -$60, (signed word)(number) -6, (signed word)(number) 0, (signed word)(number) 6, (signed word)(number) $60, (signed word)(number) $600, (signed word)(number) $6000 } Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0 Adding number conversion cast (unumber) $28 in (byte*~) print_ln::$0 ← (byte*) print_line_cursor#9 + (number) $28 @@ -2326,7 +2326,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#61 print_char_cursor zp[2]:4 22.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:7 46.42857142857143 (byte*) print_line_cursor#19 print_line_cursor zp[2]:7 2.1666666666666665 @@ -2360,7 +2360,7 @@ FINAL SYMBOL TABLE (byte) sub::idx#3 reg byte a 35.0 (byte) sub::s (byte) sub::s#3 reg byte x 1.0 -(const signed word*) words = { (signed word) -$6000, (signed word) -$600, (signed word) -$60, (signed word) -6, (signed word) 0, (signed word) 6, (signed word) $60, (signed word) $600, (signed word) $6000 } +(const signed word*) words[] = { (signed word) -$6000, (signed word) -$600, (signed word) -$60, (signed word) -6, (signed word) 0, (signed word) 6, (signed word) $60, (signed word) $600, (signed word) $6000 } reg byte y [ main::i#2 main::i#1 ] reg byte x [ main::j#2 main::j#1 ] diff --git a/src/test/ref/signed-indexed-subtract.sym b/src/test/ref/signed-indexed-subtract.sym index d5d7fe70c..a92b4a4c4 100644 --- a/src/test/ref/signed-indexed-subtract.sym +++ b/src/test/ref/signed-indexed-subtract.sym @@ -61,7 +61,7 @@ (byte*) print_char_cursor#61 print_char_cursor zp[2]:4 22.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:7 46.42857142857143 (byte*) print_line_cursor#19 print_line_cursor zp[2]:7 2.1666666666666665 @@ -95,7 +95,7 @@ (byte) sub::idx#3 reg byte a 35.0 (byte) sub::s (byte) sub::s#3 reg byte x 1.0 -(const signed word*) words = { (signed word) -$6000, (signed word) -$600, (signed word) -$60, (signed word) -6, (signed word) 0, (signed word) 6, (signed word) $60, (signed word) $600, (signed word) $6000 } +(const signed word*) words[] = { (signed word) -$6000, (signed word) -$600, (signed word) -$60, (signed word) -6, (signed word) 0, (signed word) 6, (signed word) $60, (signed word) $600, (signed word) $6000 } reg byte y [ main::i#2 main::i#1 ] reg byte x [ main::j#2 main::j#1 ] diff --git a/src/test/ref/sinus-basic.log b/src/test/ref/sinus-basic.log index 5ae912c07..c64864874 100644 --- a/src/test/ref/sinus-basic.log +++ b/src/test/ref/sinus-basic.log @@ -515,9 +515,9 @@ SYMBOL TABLE SSA (label) main::@8 (label) main::@9 (label) main::@return -(const byte*) main::f_127 = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) main::f_127[] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } (const byte*) main::f_2pi = (byte*)(number) $e2e5 -(const byte*) main::f_i = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } +(const byte*) main::f_i[] = { (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0, (byte)(number) 0 } (byte) main::i (byte) main::i#0 (byte) main::i#1 @@ -614,7 +614,7 @@ SYMBOL TABLE SSA (byte*) print_char_cursor#7 (byte*) print_char_cursor#8 (byte*) print_char_cursor#9 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -2746,9 +2746,9 @@ FINAL SYMBOL TABLE (label) main::@8 (label) main::@9 (label) main::@return -(const byte*) main::f_127 = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) main::f_127[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (const byte*) main::f_2pi = (byte*) 58085 -(const byte*) main::f_i = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) main::f_i[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (byte) main::i (byte) main::i#1 i zp[1]:2 11.0 (byte) main::i#10 i zp[1]:2 0.9166666666666666 @@ -2784,7 +2784,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#31 print_char_cursor zp[2]:5 2.0 (byte*) print_char_cursor#32 print_char_cursor zp[2]:5 0.5909090909090909 (byte*) print_char_cursor#51 print_char_cursor zp[2]:5 22.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:3 46.42857142857143 (byte*) print_line_cursor#13 print_line_cursor zp[2]:3 0.5416666666666666 diff --git a/src/test/ref/sinus-basic.sym b/src/test/ref/sinus-basic.sym index 60210f78f..f199402da 100644 --- a/src/test/ref/sinus-basic.sym +++ b/src/test/ref/sinus-basic.sym @@ -44,9 +44,9 @@ (label) main::@8 (label) main::@9 (label) main::@return -(const byte*) main::f_127 = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) main::f_127[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (const byte*) main::f_2pi = (byte*) 58085 -(const byte*) main::f_i = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } +(const byte*) main::f_i[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0 } (byte) main::i (byte) main::i#1 i zp[1]:2 11.0 (byte) main::i#10 i zp[1]:2 0.9166666666666666 @@ -82,7 +82,7 @@ (byte*) print_char_cursor#31 print_char_cursor zp[2]:5 2.0 (byte*) print_char_cursor#32 print_char_cursor zp[2]:5 0.5909090909090909 (byte*) print_char_cursor#51 print_char_cursor zp[2]:5 22.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:3 46.42857142857143 (byte*) print_line_cursor#13 print_line_cursor zp[2]:3 0.5416666666666666 diff --git a/src/test/ref/sinusgen16.log b/src/test/ref/sinusgen16.log index 6c525af3a..9c4dc6a31 100644 --- a/src/test/ref/sinusgen16.log +++ b/src/test/ref/sinusgen16.log @@ -948,7 +948,7 @@ SYMBOL TABLE SSA (label) main::@7 (label) main::@9 (label) main::@return -(const signed word*) main::sintab1 = { fill( $78, 0) } +(const signed word*) main::sintab1[(number) $78] = { fill( $78, 0) } (signed word*) main::st1 (signed word*) main::st1#0 (signed word*) main::st1#1 @@ -959,8 +959,8 @@ SYMBOL TABLE SSA (signed word*) main::st1#6 (signed word*) main::st1#7 (signed word*) main::st1#8 -(const string) main::str = (string) " " -(const string) main::str1 = (string) " " +(const string) main::str[] = (string) " " +(const string) main::str1[] = (string) " " (signed word) main::sw (signed word) main::sw#0 (signed word) main::sw#1 @@ -1179,7 +1179,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -5801,12 +5801,12 @@ FINAL SYMBOL TABLE (label) main::@6 (label) main::@7 (label) main::@return -(const signed word*) main::sintab1 = { fill( $78, 0) } +(const signed word*) main::sintab1[(number) $78] = { fill( $78, 0) } (signed word*) main::st1 (signed word*) main::st1#1 st1 zp[2]:16 22.0 (signed word*) main::st1#2 st1 zp[2]:16 4.0 -(const string) main::str = (string) " " -(const string) main::str1 = (string) " " +(const string) main::str[] = (string) " " +(const string) main::str1[] = (string) " " (signed word) main::sw (signed word) main::sw#0 sw zp[2]:8 6.6000000000000005 (const word) main::wavelength = (word) $78 @@ -5900,7 +5900,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#55 print_char_cursor zp[2]:10 24.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024 (byte*) print_screen diff --git a/src/test/ref/sinusgen16.sym b/src/test/ref/sinusgen16.sym index 20be57a35..71ea51cf6 100644 --- a/src/test/ref/sinusgen16.sym +++ b/src/test/ref/sinusgen16.sym @@ -67,12 +67,12 @@ (label) main::@6 (label) main::@7 (label) main::@return -(const signed word*) main::sintab1 = { fill( $78, 0) } +(const signed word*) main::sintab1[(number) $78] = { fill( $78, 0) } (signed word*) main::st1 (signed word*) main::st1#1 st1 zp[2]:16 22.0 (signed word*) main::st1#2 st1 zp[2]:16 4.0 -(const string) main::str = (string) " " -(const string) main::str1 = (string) " " +(const string) main::str[] = (string) " " +(const string) main::str1[] = (string) " " (signed word) main::sw (signed word) main::sw#0 sw zp[2]:8 6.6000000000000005 (const word) main::wavelength = (word) $78 @@ -166,7 +166,7 @@ (byte*) print_char_cursor#55 print_char_cursor zp[2]:10 24.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024 (byte*) print_screen diff --git a/src/test/ref/sinusgen16b.log b/src/test/ref/sinusgen16b.log index 8edfe190d..09341b258 100644 --- a/src/test/ref/sinusgen16b.log +++ b/src/test/ref/sinusgen16b.log @@ -1172,8 +1172,8 @@ SYMBOL TABLE SSA (byte) main::i#5 (byte) main::i#6 (byte) main::i#7 -(const signed word*) main::sintab1 = { fill( $78, 0) } -(const signed word*) main::sintab2 = { fill( $78, 0) } +(const signed word*) main::sintab1[(number) $78] = { fill( $78, 0) } +(const signed word*) main::sintab2[(number) $78] = { fill( $78, 0) } (signed word*) main::st1 (signed word*) main::st1#0 (signed word*) main::st1#1 @@ -1192,8 +1192,8 @@ SYMBOL TABLE SSA (signed word*) main::st2#5 (signed word*) main::st2#6 (signed word*) main::st2#7 -(const string) main::str = (string) " " -(const string) main::str1 = (string) " " +(const string) main::str[] = (string) " " +(const string) main::str1[] = (string) " " (signed word) main::sw (signed word) main::sw#0 (signed word) main::sw#1 @@ -1437,7 +1437,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -7756,16 +7756,16 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 1.8333333333333333 -(const signed word*) main::sintab1 = { fill( $78, 0) } -(const signed word*) main::sintab2 = { fill( $78, 0) } +(const signed word*) main::sintab1[(number) $78] = { fill( $78, 0) } +(const signed word*) main::sintab2[(number) $78] = { fill( $78, 0) } (signed word*) main::st1 (signed word*) main::st1#1 st1 zp[2]:3 5.5 (signed word*) main::st1#2 st1 zp[2]:3 3.3000000000000003 (signed word*) main::st2 (signed word*) main::st2#1 st2 zp[2]:11 7.333333333333333 (signed word*) main::st2#2 st2 zp[2]:11 3.0 -(const string) main::str = (string) " " -(const string) main::str1 = (string) " " +(const string) main::str[] = (string) " " +(const string) main::str1[] = (string) " " (signed word) main::sw (signed word) main::sw#0 sw zp[2]:25 6.6000000000000005 (const word) main::wavelength = (word) $78 @@ -7873,7 +7873,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#54 print_char_cursor zp[2]:31 24.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024 (byte*) print_screen diff --git a/src/test/ref/sinusgen16b.sym b/src/test/ref/sinusgen16b.sym index 0605513dd..067a505f3 100644 --- a/src/test/ref/sinusgen16b.sym +++ b/src/test/ref/sinusgen16b.sym @@ -73,16 +73,16 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 1.8333333333333333 -(const signed word*) main::sintab1 = { fill( $78, 0) } -(const signed word*) main::sintab2 = { fill( $78, 0) } +(const signed word*) main::sintab1[(number) $78] = { fill( $78, 0) } +(const signed word*) main::sintab2[(number) $78] = { fill( $78, 0) } (signed word*) main::st1 (signed word*) main::st1#1 st1 zp[2]:3 5.5 (signed word*) main::st1#2 st1 zp[2]:3 3.3000000000000003 (signed word*) main::st2 (signed word*) main::st2#1 st2 zp[2]:11 7.333333333333333 (signed word*) main::st2#2 st2 zp[2]:11 3.0 -(const string) main::str = (string) " " -(const string) main::str1 = (string) " " +(const string) main::str[] = (string) " " +(const string) main::str1[] = (string) " " (signed word) main::sw (signed word) main::sw#0 sw zp[2]:25 6.6000000000000005 (const word) main::wavelength = (word) $78 @@ -190,7 +190,7 @@ (byte*) print_char_cursor#54 print_char_cursor zp[2]:31 24.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024 (byte*) print_screen diff --git a/src/test/ref/sinusgen8.log b/src/test/ref/sinusgen8.log index 3fc407f3e..208e6cb37 100644 --- a/src/test/ref/sinusgen8.log +++ b/src/test/ref/sinusgen8.log @@ -826,7 +826,7 @@ SYMBOL TABLE SSA (byte) main::i#4 (signed byte) main::sb (signed byte) main::sb#0 -(const string) main::str = (string) " " +(const string) main::str[] = (string) " " (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (bool~) memset::$0 (bool~) memset::$1 @@ -1026,7 +1026,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -1223,8 +1223,8 @@ SYMBOL TABLE SSA (word) sin8s_gen::x#2 (word) sin8s_gen::x#3 (word) sin8s_gen::x#4 -(const signed byte*) sintab2 = { fill( $c0, 0) } -(const byte*) sintabref = { (byte)(number) 0, (byte)(number) 4, (byte)(number) 8, (byte)(number) $c, (byte)(number) $11, (byte)(number) $15, (byte)(number) $19, (byte)(number) $1d, (byte)(number) $21, (byte)(number) $25, (byte)(number) $29, (byte)(number) $2d, (byte)(number) $31, (byte)(number) $35, (byte)(number) $38, (byte)(number) $3c, (byte)(number) $40, (byte)(number) $43, (byte)(number) $47, (byte)(number) $4a, (byte)(number) $4e, (byte)(number) $51, (byte)(number) $54, (byte)(number) $57, (byte)(number) $5a, (byte)(number) $5d, (byte)(number) $60, (byte)(number) $63, (byte)(number) $65, (byte)(number) $68, (byte)(number) $6a, (byte)(number) $6c, (byte)(number) $6e, (byte)(number) $70, (byte)(number) $72, (byte)(number) $74, (byte)(number) $76, (byte)(number) $77, (byte)(number) $79, (byte)(number) $7a, (byte)(number) $7b, (byte)(number) $7c, (byte)(number) $7d, (byte)(number) $7e, (byte)(number) $7e, (byte)(number) $7f, (byte)(number) $7f, (byte)(number) $7f, (byte)(number) $80, (byte)(number) $7f, (byte)(number) $7f, (byte)(number) $7f, (byte)(number) $7e, (byte)(number) $7e, (byte)(number) $7d, (byte)(number) $7c, (byte)(number) $7b, (byte)(number) $7a, (byte)(number) $79, (byte)(number) $77, (byte)(number) $76, (byte)(number) $74, (byte)(number) $72, (byte)(number) $70, (byte)(number) $6e, (byte)(number) $6c, (byte)(number) $6a, (byte)(number) $68, (byte)(number) $65, (byte)(number) $63, (byte)(number) $60, (byte)(number) $5d, (byte)(number) $5a, (byte)(number) $57, (byte)(number) $54, (byte)(number) $51, (byte)(number) $4e, (byte)(number) $4a, (byte)(number) $47, (byte)(number) $43, (byte)(number) $40, (byte)(number) $3c, (byte)(number) $38, (byte)(number) $35, (byte)(number) $31, (byte)(number) $2d, (byte)(number) $29, (byte)(number) $25, (byte)(number) $21, (byte)(number) $1d, (byte)(number) $19, (byte)(number) $15, (byte)(number) $11, (byte)(number) $c, (byte)(number) 8, (byte)(number) 4, (byte)(number) 0, (byte)(number) $fc, (byte)(number) $f8, (byte)(number) $f4, (byte)(number) $ef, (byte)(number) $eb, (byte)(number) $e7, (byte)(number) $e3, (byte)(number) $df, (byte)(number) $db, (byte)(number) $d7, (byte)(number) $d3, (byte)(number) $cf, (byte)(number) $cb, (byte)(number) $c8, (byte)(number) $c4, (byte)(number) $c0, (byte)(number) $bd, (byte)(number) $b9, (byte)(number) $b6, (byte)(number) $b2, (byte)(number) $af, (byte)(number) $ac, (byte)(number) $a9, (byte)(number) $a6, (byte)(number) $a3, (byte)(number) $a0, (byte)(number) $9d, (byte)(number) $9b, (byte)(number) $98, (byte)(number) $96, (byte)(number) $94, (byte)(number) $92, (byte)(number) $90, (byte)(number) $8e, (byte)(number) $8c, (byte)(number) $8a, (byte)(number) $89, (byte)(number) $87, (byte)(number) $86, (byte)(number) $85, (byte)(number) $84, (byte)(number) $83, (byte)(number) $82, (byte)(number) $82, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $82, (byte)(number) $82, (byte)(number) $83, (byte)(number) $84, (byte)(number) $85, (byte)(number) $86, (byte)(number) $87, (byte)(number) $89, (byte)(number) $8a, (byte)(number) $8c, (byte)(number) $8e, (byte)(number) $90, (byte)(number) $92, (byte)(number) $94, (byte)(number) $96, (byte)(number) $98, (byte)(number) $9b, (byte)(number) $9d, (byte)(number) $a0, (byte)(number) $a3, (byte)(number) $a6, (byte)(number) $a9, (byte)(number) $ac, (byte)(number) $af, (byte)(number) $b2, (byte)(number) $b6, (byte)(number) $b9, (byte)(number) $bd, (byte)(number) $c0, (byte)(number) $c4, (byte)(number) $c8, (byte)(number) $cb, (byte)(number) $cf, (byte)(number) $d3, (byte)(number) $d7, (byte)(number) $db, (byte)(number) $df, (byte)(number) $e3, (byte)(number) $e7, (byte)(number) $eb, (byte)(number) $ef, (byte)(number) $f4, (byte)(number) $f8, (byte)(number) $fc } +(const signed byte*) sintab2[(number) $c0] = { fill( $c0, 0) } +(const byte*) sintabref[] = { (byte)(number) 0, (byte)(number) 4, (byte)(number) 8, (byte)(number) $c, (byte)(number) $11, (byte)(number) $15, (byte)(number) $19, (byte)(number) $1d, (byte)(number) $21, (byte)(number) $25, (byte)(number) $29, (byte)(number) $2d, (byte)(number) $31, (byte)(number) $35, (byte)(number) $38, (byte)(number) $3c, (byte)(number) $40, (byte)(number) $43, (byte)(number) $47, (byte)(number) $4a, (byte)(number) $4e, (byte)(number) $51, (byte)(number) $54, (byte)(number) $57, (byte)(number) $5a, (byte)(number) $5d, (byte)(number) $60, (byte)(number) $63, (byte)(number) $65, (byte)(number) $68, (byte)(number) $6a, (byte)(number) $6c, (byte)(number) $6e, (byte)(number) $70, (byte)(number) $72, (byte)(number) $74, (byte)(number) $76, (byte)(number) $77, (byte)(number) $79, (byte)(number) $7a, (byte)(number) $7b, (byte)(number) $7c, (byte)(number) $7d, (byte)(number) $7e, (byte)(number) $7e, (byte)(number) $7f, (byte)(number) $7f, (byte)(number) $7f, (byte)(number) $80, (byte)(number) $7f, (byte)(number) $7f, (byte)(number) $7f, (byte)(number) $7e, (byte)(number) $7e, (byte)(number) $7d, (byte)(number) $7c, (byte)(number) $7b, (byte)(number) $7a, (byte)(number) $79, (byte)(number) $77, (byte)(number) $76, (byte)(number) $74, (byte)(number) $72, (byte)(number) $70, (byte)(number) $6e, (byte)(number) $6c, (byte)(number) $6a, (byte)(number) $68, (byte)(number) $65, (byte)(number) $63, (byte)(number) $60, (byte)(number) $5d, (byte)(number) $5a, (byte)(number) $57, (byte)(number) $54, (byte)(number) $51, (byte)(number) $4e, (byte)(number) $4a, (byte)(number) $47, (byte)(number) $43, (byte)(number) $40, (byte)(number) $3c, (byte)(number) $38, (byte)(number) $35, (byte)(number) $31, (byte)(number) $2d, (byte)(number) $29, (byte)(number) $25, (byte)(number) $21, (byte)(number) $1d, (byte)(number) $19, (byte)(number) $15, (byte)(number) $11, (byte)(number) $c, (byte)(number) 8, (byte)(number) 4, (byte)(number) 0, (byte)(number) $fc, (byte)(number) $f8, (byte)(number) $f4, (byte)(number) $ef, (byte)(number) $eb, (byte)(number) $e7, (byte)(number) $e3, (byte)(number) $df, (byte)(number) $db, (byte)(number) $d7, (byte)(number) $d3, (byte)(number) $cf, (byte)(number) $cb, (byte)(number) $c8, (byte)(number) $c4, (byte)(number) $c0, (byte)(number) $bd, (byte)(number) $b9, (byte)(number) $b6, (byte)(number) $b2, (byte)(number) $af, (byte)(number) $ac, (byte)(number) $a9, (byte)(number) $a6, (byte)(number) $a3, (byte)(number) $a0, (byte)(number) $9d, (byte)(number) $9b, (byte)(number) $98, (byte)(number) $96, (byte)(number) $94, (byte)(number) $92, (byte)(number) $90, (byte)(number) $8e, (byte)(number) $8c, (byte)(number) $8a, (byte)(number) $89, (byte)(number) $87, (byte)(number) $86, (byte)(number) $85, (byte)(number) $84, (byte)(number) $83, (byte)(number) $82, (byte)(number) $82, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $81, (byte)(number) $82, (byte)(number) $82, (byte)(number) $83, (byte)(number) $84, (byte)(number) $85, (byte)(number) $86, (byte)(number) $87, (byte)(number) $89, (byte)(number) $8a, (byte)(number) $8c, (byte)(number) $8e, (byte)(number) $90, (byte)(number) $92, (byte)(number) $94, (byte)(number) $96, (byte)(number) $98, (byte)(number) $9b, (byte)(number) $9d, (byte)(number) $a0, (byte)(number) $a3, (byte)(number) $a6, (byte)(number) $a9, (byte)(number) $ac, (byte)(number) $af, (byte)(number) $b2, (byte)(number) $b6, (byte)(number) $b9, (byte)(number) $bd, (byte)(number) $c0, (byte)(number) $c4, (byte)(number) $c8, (byte)(number) $cb, (byte)(number) $cf, (byte)(number) $d3, (byte)(number) $d7, (byte)(number) $db, (byte)(number) $df, (byte)(number) $e3, (byte)(number) $e7, (byte)(number) $eb, (byte)(number) $ef, (byte)(number) $f4, (byte)(number) $f8, (byte)(number) $fc } (const word) wavelength = (word) $c0 Adding number conversion cast (unumber) 0 in (word) divr16u::quotient#0 ← (number) 0 @@ -5076,7 +5076,7 @@ FINAL SYMBOL TABLE (byte) main::i#2 reg byte x 5.5 (signed byte) main::sb (signed byte) main::sb#0 reg byte a 22.0 -(const string) main::str = (string) " " +(const string) main::str[] = (string) " " (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -5163,7 +5163,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#42 print_char_cursor zp[2]:2 2.5 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024 (void()) print_sbyte((signed byte) print_sbyte::b) @@ -5254,8 +5254,8 @@ FINAL SYMBOL TABLE (word) sin8s_gen::x (word) sin8s_gen::x#1 x zp[2]:10 11.0 (word) sin8s_gen::x#2 x zp[2]:10 4.125 -(const signed byte*) sintab2 = { fill( $c0, 0) } -(const byte*) sintabref = { (byte) 0, (byte) 4, (byte) 8, (byte) $c, (byte) $11, (byte) $15, (byte) $19, (byte) $1d, (byte) $21, (byte) $25, (byte) $29, (byte) $2d, (byte) $31, (byte) $35, (byte) $38, (byte) $3c, (byte) $40, (byte) $43, (byte) $47, (byte) $4a, (byte) $4e, (byte) $51, (byte) $54, (byte) $57, (byte) $5a, (byte) $5d, (byte) $60, (byte) $63, (byte) $65, (byte) $68, (byte) $6a, (byte) $6c, (byte) $6e, (byte) $70, (byte) $72, (byte) $74, (byte) $76, (byte) $77, (byte) $79, (byte) $7a, (byte) $7b, (byte) $7c, (byte) $7d, (byte) $7e, (byte) $7e, (byte) $7f, (byte) $7f, (byte) $7f, (byte) $80, (byte) $7f, (byte) $7f, (byte) $7f, (byte) $7e, (byte) $7e, (byte) $7d, (byte) $7c, (byte) $7b, (byte) $7a, (byte) $79, (byte) $77, (byte) $76, (byte) $74, (byte) $72, (byte) $70, (byte) $6e, (byte) $6c, (byte) $6a, (byte) $68, (byte) $65, (byte) $63, (byte) $60, (byte) $5d, (byte) $5a, (byte) $57, (byte) $54, (byte) $51, (byte) $4e, (byte) $4a, (byte) $47, (byte) $43, (byte) $40, (byte) $3c, (byte) $38, (byte) $35, (byte) $31, (byte) $2d, (byte) $29, (byte) $25, (byte) $21, (byte) $1d, (byte) $19, (byte) $15, (byte) $11, (byte) $c, (byte) 8, (byte) 4, (byte) 0, (byte) $fc, (byte) $f8, (byte) $f4, (byte) $ef, (byte) $eb, (byte) $e7, (byte) $e3, (byte) $df, (byte) $db, (byte) $d7, (byte) $d3, (byte) $cf, (byte) $cb, (byte) $c8, (byte) $c4, (byte) $c0, (byte) $bd, (byte) $b9, (byte) $b6, (byte) $b2, (byte) $af, (byte) $ac, (byte) $a9, (byte) $a6, (byte) $a3, (byte) $a0, (byte) $9d, (byte) $9b, (byte) $98, (byte) $96, (byte) $94, (byte) $92, (byte) $90, (byte) $8e, (byte) $8c, (byte) $8a, (byte) $89, (byte) $87, (byte) $86, (byte) $85, (byte) $84, (byte) $83, (byte) $82, (byte) $82, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $82, (byte) $82, (byte) $83, (byte) $84, (byte) $85, (byte) $86, (byte) $87, (byte) $89, (byte) $8a, (byte) $8c, (byte) $8e, (byte) $90, (byte) $92, (byte) $94, (byte) $96, (byte) $98, (byte) $9b, (byte) $9d, (byte) $a0, (byte) $a3, (byte) $a6, (byte) $a9, (byte) $ac, (byte) $af, (byte) $b2, (byte) $b6, (byte) $b9, (byte) $bd, (byte) $c0, (byte) $c4, (byte) $c8, (byte) $cb, (byte) $cf, (byte) $d3, (byte) $d7, (byte) $db, (byte) $df, (byte) $e3, (byte) $e7, (byte) $eb, (byte) $ef, (byte) $f4, (byte) $f8, (byte) $fc } +(const signed byte*) sintab2[(number) $c0] = { fill( $c0, 0) } +(const byte*) sintabref[] = { (byte) 0, (byte) 4, (byte) 8, (byte) $c, (byte) $11, (byte) $15, (byte) $19, (byte) $1d, (byte) $21, (byte) $25, (byte) $29, (byte) $2d, (byte) $31, (byte) $35, (byte) $38, (byte) $3c, (byte) $40, (byte) $43, (byte) $47, (byte) $4a, (byte) $4e, (byte) $51, (byte) $54, (byte) $57, (byte) $5a, (byte) $5d, (byte) $60, (byte) $63, (byte) $65, (byte) $68, (byte) $6a, (byte) $6c, (byte) $6e, (byte) $70, (byte) $72, (byte) $74, (byte) $76, (byte) $77, (byte) $79, (byte) $7a, (byte) $7b, (byte) $7c, (byte) $7d, (byte) $7e, (byte) $7e, (byte) $7f, (byte) $7f, (byte) $7f, (byte) $80, (byte) $7f, (byte) $7f, (byte) $7f, (byte) $7e, (byte) $7e, (byte) $7d, (byte) $7c, (byte) $7b, (byte) $7a, (byte) $79, (byte) $77, (byte) $76, (byte) $74, (byte) $72, (byte) $70, (byte) $6e, (byte) $6c, (byte) $6a, (byte) $68, (byte) $65, (byte) $63, (byte) $60, (byte) $5d, (byte) $5a, (byte) $57, (byte) $54, (byte) $51, (byte) $4e, (byte) $4a, (byte) $47, (byte) $43, (byte) $40, (byte) $3c, (byte) $38, (byte) $35, (byte) $31, (byte) $2d, (byte) $29, (byte) $25, (byte) $21, (byte) $1d, (byte) $19, (byte) $15, (byte) $11, (byte) $c, (byte) 8, (byte) 4, (byte) 0, (byte) $fc, (byte) $f8, (byte) $f4, (byte) $ef, (byte) $eb, (byte) $e7, (byte) $e3, (byte) $df, (byte) $db, (byte) $d7, (byte) $d3, (byte) $cf, (byte) $cb, (byte) $c8, (byte) $c4, (byte) $c0, (byte) $bd, (byte) $b9, (byte) $b6, (byte) $b2, (byte) $af, (byte) $ac, (byte) $a9, (byte) $a6, (byte) $a3, (byte) $a0, (byte) $9d, (byte) $9b, (byte) $98, (byte) $96, (byte) $94, (byte) $92, (byte) $90, (byte) $8e, (byte) $8c, (byte) $8a, (byte) $89, (byte) $87, (byte) $86, (byte) $85, (byte) $84, (byte) $83, (byte) $82, (byte) $82, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $82, (byte) $82, (byte) $83, (byte) $84, (byte) $85, (byte) $86, (byte) $87, (byte) $89, (byte) $8a, (byte) $8c, (byte) $8e, (byte) $90, (byte) $92, (byte) $94, (byte) $96, (byte) $98, (byte) $9b, (byte) $9d, (byte) $a0, (byte) $a3, (byte) $a6, (byte) $a9, (byte) $ac, (byte) $af, (byte) $b2, (byte) $b6, (byte) $b9, (byte) $bd, (byte) $c0, (byte) $c4, (byte) $c8, (byte) $cb, (byte) $cf, (byte) $d3, (byte) $d7, (byte) $db, (byte) $df, (byte) $e3, (byte) $e7, (byte) $eb, (byte) $ef, (byte) $f4, (byte) $f8, (byte) $fc } (const word) wavelength = (word) $c0 reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/sinusgen8.sym b/src/test/ref/sinusgen8.sym index b8c461e40..88c7dbca0 100644 --- a/src/test/ref/sinusgen8.sym +++ b/src/test/ref/sinusgen8.sym @@ -57,7 +57,7 @@ (byte) main::i#2 reg byte x 5.5 (signed byte) main::sb (signed byte) main::sb#0 reg byte a 22.0 -(const string) main::str = (string) " " +(const string) main::str[] = (string) " " (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -144,7 +144,7 @@ (byte*) print_char_cursor#42 print_char_cursor zp[2]:2 2.5 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024 (void()) print_sbyte((signed byte) print_sbyte::b) @@ -235,8 +235,8 @@ (word) sin8s_gen::x (word) sin8s_gen::x#1 x zp[2]:10 11.0 (word) sin8s_gen::x#2 x zp[2]:10 4.125 -(const signed byte*) sintab2 = { fill( $c0, 0) } -(const byte*) sintabref = { (byte) 0, (byte) 4, (byte) 8, (byte) $c, (byte) $11, (byte) $15, (byte) $19, (byte) $1d, (byte) $21, (byte) $25, (byte) $29, (byte) $2d, (byte) $31, (byte) $35, (byte) $38, (byte) $3c, (byte) $40, (byte) $43, (byte) $47, (byte) $4a, (byte) $4e, (byte) $51, (byte) $54, (byte) $57, (byte) $5a, (byte) $5d, (byte) $60, (byte) $63, (byte) $65, (byte) $68, (byte) $6a, (byte) $6c, (byte) $6e, (byte) $70, (byte) $72, (byte) $74, (byte) $76, (byte) $77, (byte) $79, (byte) $7a, (byte) $7b, (byte) $7c, (byte) $7d, (byte) $7e, (byte) $7e, (byte) $7f, (byte) $7f, (byte) $7f, (byte) $80, (byte) $7f, (byte) $7f, (byte) $7f, (byte) $7e, (byte) $7e, (byte) $7d, (byte) $7c, (byte) $7b, (byte) $7a, (byte) $79, (byte) $77, (byte) $76, (byte) $74, (byte) $72, (byte) $70, (byte) $6e, (byte) $6c, (byte) $6a, (byte) $68, (byte) $65, (byte) $63, (byte) $60, (byte) $5d, (byte) $5a, (byte) $57, (byte) $54, (byte) $51, (byte) $4e, (byte) $4a, (byte) $47, (byte) $43, (byte) $40, (byte) $3c, (byte) $38, (byte) $35, (byte) $31, (byte) $2d, (byte) $29, (byte) $25, (byte) $21, (byte) $1d, (byte) $19, (byte) $15, (byte) $11, (byte) $c, (byte) 8, (byte) 4, (byte) 0, (byte) $fc, (byte) $f8, (byte) $f4, (byte) $ef, (byte) $eb, (byte) $e7, (byte) $e3, (byte) $df, (byte) $db, (byte) $d7, (byte) $d3, (byte) $cf, (byte) $cb, (byte) $c8, (byte) $c4, (byte) $c0, (byte) $bd, (byte) $b9, (byte) $b6, (byte) $b2, (byte) $af, (byte) $ac, (byte) $a9, (byte) $a6, (byte) $a3, (byte) $a0, (byte) $9d, (byte) $9b, (byte) $98, (byte) $96, (byte) $94, (byte) $92, (byte) $90, (byte) $8e, (byte) $8c, (byte) $8a, (byte) $89, (byte) $87, (byte) $86, (byte) $85, (byte) $84, (byte) $83, (byte) $82, (byte) $82, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $82, (byte) $82, (byte) $83, (byte) $84, (byte) $85, (byte) $86, (byte) $87, (byte) $89, (byte) $8a, (byte) $8c, (byte) $8e, (byte) $90, (byte) $92, (byte) $94, (byte) $96, (byte) $98, (byte) $9b, (byte) $9d, (byte) $a0, (byte) $a3, (byte) $a6, (byte) $a9, (byte) $ac, (byte) $af, (byte) $b2, (byte) $b6, (byte) $b9, (byte) $bd, (byte) $c0, (byte) $c4, (byte) $c8, (byte) $cb, (byte) $cf, (byte) $d3, (byte) $d7, (byte) $db, (byte) $df, (byte) $e3, (byte) $e7, (byte) $eb, (byte) $ef, (byte) $f4, (byte) $f8, (byte) $fc } +(const signed byte*) sintab2[(number) $c0] = { fill( $c0, 0) } +(const byte*) sintabref[] = { (byte) 0, (byte) 4, (byte) 8, (byte) $c, (byte) $11, (byte) $15, (byte) $19, (byte) $1d, (byte) $21, (byte) $25, (byte) $29, (byte) $2d, (byte) $31, (byte) $35, (byte) $38, (byte) $3c, (byte) $40, (byte) $43, (byte) $47, (byte) $4a, (byte) $4e, (byte) $51, (byte) $54, (byte) $57, (byte) $5a, (byte) $5d, (byte) $60, (byte) $63, (byte) $65, (byte) $68, (byte) $6a, (byte) $6c, (byte) $6e, (byte) $70, (byte) $72, (byte) $74, (byte) $76, (byte) $77, (byte) $79, (byte) $7a, (byte) $7b, (byte) $7c, (byte) $7d, (byte) $7e, (byte) $7e, (byte) $7f, (byte) $7f, (byte) $7f, (byte) $80, (byte) $7f, (byte) $7f, (byte) $7f, (byte) $7e, (byte) $7e, (byte) $7d, (byte) $7c, (byte) $7b, (byte) $7a, (byte) $79, (byte) $77, (byte) $76, (byte) $74, (byte) $72, (byte) $70, (byte) $6e, (byte) $6c, (byte) $6a, (byte) $68, (byte) $65, (byte) $63, (byte) $60, (byte) $5d, (byte) $5a, (byte) $57, (byte) $54, (byte) $51, (byte) $4e, (byte) $4a, (byte) $47, (byte) $43, (byte) $40, (byte) $3c, (byte) $38, (byte) $35, (byte) $31, (byte) $2d, (byte) $29, (byte) $25, (byte) $21, (byte) $1d, (byte) $19, (byte) $15, (byte) $11, (byte) $c, (byte) 8, (byte) 4, (byte) 0, (byte) $fc, (byte) $f8, (byte) $f4, (byte) $ef, (byte) $eb, (byte) $e7, (byte) $e3, (byte) $df, (byte) $db, (byte) $d7, (byte) $d3, (byte) $cf, (byte) $cb, (byte) $c8, (byte) $c4, (byte) $c0, (byte) $bd, (byte) $b9, (byte) $b6, (byte) $b2, (byte) $af, (byte) $ac, (byte) $a9, (byte) $a6, (byte) $a3, (byte) $a0, (byte) $9d, (byte) $9b, (byte) $98, (byte) $96, (byte) $94, (byte) $92, (byte) $90, (byte) $8e, (byte) $8c, (byte) $8a, (byte) $89, (byte) $87, (byte) $86, (byte) $85, (byte) $84, (byte) $83, (byte) $82, (byte) $82, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $81, (byte) $82, (byte) $82, (byte) $83, (byte) $84, (byte) $85, (byte) $86, (byte) $87, (byte) $89, (byte) $8a, (byte) $8c, (byte) $8e, (byte) $90, (byte) $92, (byte) $94, (byte) $96, (byte) $98, (byte) $9b, (byte) $9d, (byte) $a0, (byte) $a3, (byte) $a6, (byte) $a9, (byte) $ac, (byte) $af, (byte) $b2, (byte) $b6, (byte) $b9, (byte) $bd, (byte) $c0, (byte) $c4, (byte) $c8, (byte) $cb, (byte) $cf, (byte) $d3, (byte) $d7, (byte) $db, (byte) $df, (byte) $e3, (byte) $e7, (byte) $eb, (byte) $ef, (byte) $f4, (byte) $f8, (byte) $fc } (const word) wavelength = (word) $c0 reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/sinusgen8b.log b/src/test/ref/sinusgen8b.log index 992387f3a..46c82cf03 100644 --- a/src/test/ref/sinusgen8b.log +++ b/src/test/ref/sinusgen8b.log @@ -1242,9 +1242,9 @@ SYMBOL TABLE SSA (signed byte) main::sb#0 (signed byte) main::sd (signed byte) main::sd#0 -(const signed byte*) main::sintabb = { fill( $c0, 0) } -(const signed word*) main::sintabw = { fill( $c0, 0) } -(const string) main::str = (string) " " +(const signed byte*) main::sintabb[(number) $c0] = { fill( $c0, 0) } +(const signed word*) main::sintabw[(number) $c0] = { fill( $c0, 0) } +(const string) main::str[] = (string) " " (signed word) main::sw (signed word) main::sw#0 (const word) main::wavelength = (word) $c0 @@ -1536,7 +1536,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -8173,9 +8173,9 @@ FINAL SYMBOL TABLE (signed byte) main::sb#0 sb zp[1]:19 3.6666666666666665 (signed byte) main::sd (signed byte) main::sd#0 reg byte a 22.0 -(const signed byte*) main::sintabb = { fill( $c0, 0) } -(const signed word*) main::sintabw = { fill( $c0, 0) } -(const string) main::str = (string) " " +(const signed byte*) main::sintabb[(number) $c0] = { fill( $c0, 0) } +(const signed word*) main::sintabw[(number) $c0] = { fill( $c0, 0) } +(const string) main::str[] = (string) " " (signed word) main::sw (signed word) main::sw#0 sw zp[2]:20 22.0 (const word) main::wavelength = (word) $c0 @@ -8314,7 +8314,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#42 print_char_cursor zp[2]:17 1.25 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024 (void()) print_sbyte((signed byte) print_sbyte::b) diff --git a/src/test/ref/sinusgen8b.sym b/src/test/ref/sinusgen8b.sym index c1b3f2fa2..855132adb 100644 --- a/src/test/ref/sinusgen8b.sym +++ b/src/test/ref/sinusgen8b.sym @@ -88,9 +88,9 @@ (signed byte) main::sb#0 sb zp[1]:19 3.6666666666666665 (signed byte) main::sd (signed byte) main::sd#0 reg byte a 22.0 -(const signed byte*) main::sintabb = { fill( $c0, 0) } -(const signed word*) main::sintabw = { fill( $c0, 0) } -(const string) main::str = (string) " " +(const signed byte*) main::sintabb[(number) $c0] = { fill( $c0, 0) } +(const signed word*) main::sintabw[(number) $c0] = { fill( $c0, 0) } +(const string) main::str[] = (string) " " (signed word) main::sw (signed word) main::sw#0 sw zp[2]:20 22.0 (const word) main::wavelength = (word) $c0 @@ -229,7 +229,7 @@ (byte*) print_char_cursor#42 print_char_cursor zp[2]:17 1.25 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (const byte*) print_line_cursor#0 print_line_cursor = (byte*) 1024 (void()) print_sbyte((signed byte) print_sbyte::b) diff --git a/src/test/ref/sinusgenscale8.log b/src/test/ref/sinusgenscale8.log index ab85e234b..721b191c2 100644 --- a/src/test/ref/sinusgenscale8.log +++ b/src/test/ref/sinusgenscale8.log @@ -1269,7 +1269,7 @@ SYMBOL TABLE SSA (label) main::@1 (label) main::@2 (label) main::@return -(const byte*) main::sintab = { fill( $14, 0) } +(const byte*) main::sintab[(number) $14] = { fill( $14, 0) } (const word) main::tabsize = (word) $14 (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (bool~) memset::$0 @@ -1586,7 +1586,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -2024,15 +2024,15 @@ SYMBOL TABLE SSA (word) sin8u_table::step#7 (word) sin8u_table::step#8 (word) sin8u_table::step#9 -(const string) sin8u_table::str = (string) "step:" -(const string) sin8u_table::str1 = (string) " min:" -(const string) sin8u_table::str2 = (string) " max:" -(const string) sin8u_table::str3 = (string) " ampl:" -(const string) sin8u_table::str4 = (string) " mid:" -(const string) sin8u_table::str5 = (string) "x: " -(const string) sin8u_table::str6 = (string) " sin: " -(const string) sin8u_table::str7 = (string) " scaled: " -(const string) sin8u_table::str8 = (string) " trans: " +(const string) sin8u_table::str[] = (string) "step:" +(const string) sin8u_table::str1[] = (string) " min:" +(const string) sin8u_table::str2[] = (string) " max:" +(const string) sin8u_table::str3[] = (string) " ampl:" +(const string) sin8u_table::str4[] = (string) " mid:" +(const string) sin8u_table::str5[] = (string) "x: " +(const string) sin8u_table::str6[] = (string) " sin: " +(const string) sin8u_table::str7[] = (string) " scaled: " +(const string) sin8u_table::str8[] = (string) " trans: " (word) sin8u_table::sum (word) sin8u_table::sum#0 (word) sin8u_table::tabsize @@ -7293,7 +7293,7 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@1 (label) main::@return -(const byte*) main::sintab = { fill( $14, 0) } +(const byte*) main::sintab[(number) $14] = { fill( $14, 0) } (const word) main::tabsize = (word) $14 (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 @@ -7408,7 +7408,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#66 print_char_cursor zp[2]:6 8.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:2 8.783783783783784 (byte*) print_line_cursor#12 print_line_cursor zp[2]:2 204.0 @@ -7553,15 +7553,15 @@ FINAL SYMBOL TABLE (byte) sin8u_table::sinx_tr#0 reg byte x 1.9411764705882355 (word) sin8u_table::step (word) sin8u_table::step#0 step zp[2]:15 0.2727272727272727 -(const string) sin8u_table::str = (string) "step:" -(const string) sin8u_table::str1 = (string) " min:" -(const string) sin8u_table::str2 = (string) " max:" -(const string) sin8u_table::str3 = (string) " ampl:" -(const string) sin8u_table::str4 = (string) " mid:" -(const string) sin8u_table::str5 = (string) "x: " -(const string) sin8u_table::str6 = (string) " sin: " -(const string) sin8u_table::str7 = (string) " scaled: " -(const string) sin8u_table::str8 = (string) " trans: " +(const string) sin8u_table::str[] = (string) "step:" +(const string) sin8u_table::str1[] = (string) " min:" +(const string) sin8u_table::str2[] = (string) " max:" +(const string) sin8u_table::str3[] = (string) " ampl:" +(const string) sin8u_table::str4[] = (string) " mid:" +(const string) sin8u_table::str5[] = (string) "x: " +(const string) sin8u_table::str6[] = (string) " sin: " +(const string) sin8u_table::str7[] = (string) " scaled: " +(const string) sin8u_table::str8[] = (string) " trans: " (word) sin8u_table::sum (const word) sin8u_table::sum#0 sum = (word)(const byte) sin8u_table::min#0+(const byte) sin8u_table::max#0 (word) sin8u_table::tabsize diff --git a/src/test/ref/sinusgenscale8.sym b/src/test/ref/sinusgenscale8.sym index 726348057..cf1199967 100644 --- a/src/test/ref/sinusgenscale8.sym +++ b/src/test/ref/sinusgenscale8.sym @@ -49,7 +49,7 @@ (void()) main() (label) main::@1 (label) main::@return -(const byte*) main::sintab = { fill( $14, 0) } +(const byte*) main::sintab[(number) $14] = { fill( $14, 0) } (const word) main::tabsize = (word) $14 (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 @@ -164,7 +164,7 @@ (byte*) print_char_cursor#66 print_char_cursor zp[2]:6 8.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:2 8.783783783783784 (byte*) print_line_cursor#12 print_line_cursor zp[2]:2 204.0 @@ -309,15 +309,15 @@ (byte) sin8u_table::sinx_tr#0 reg byte x 1.9411764705882355 (word) sin8u_table::step (word) sin8u_table::step#0 step zp[2]:15 0.2727272727272727 -(const string) sin8u_table::str = (string) "step:" -(const string) sin8u_table::str1 = (string) " min:" -(const string) sin8u_table::str2 = (string) " max:" -(const string) sin8u_table::str3 = (string) " ampl:" -(const string) sin8u_table::str4 = (string) " mid:" -(const string) sin8u_table::str5 = (string) "x: " -(const string) sin8u_table::str6 = (string) " sin: " -(const string) sin8u_table::str7 = (string) " scaled: " -(const string) sin8u_table::str8 = (string) " trans: " +(const string) sin8u_table::str[] = (string) "step:" +(const string) sin8u_table::str1[] = (string) " min:" +(const string) sin8u_table::str2[] = (string) " max:" +(const string) sin8u_table::str3[] = (string) " ampl:" +(const string) sin8u_table::str4[] = (string) " mid:" +(const string) sin8u_table::str5[] = (string) "x: " +(const string) sin8u_table::str6[] = (string) " sin: " +(const string) sin8u_table::str7[] = (string) " scaled: " +(const string) sin8u_table::str8[] = (string) " trans: " (word) sin8u_table::sum (const word) sin8u_table::sum#0 sum = (word)(const byte) sin8u_table::min#0+(const byte) sin8u_table::max#0 (word) sin8u_table::tabsize diff --git a/src/test/ref/sizeof-arrays.log b/src/test/ref/sizeof-arrays.log index 00d739dd1..f856f2f22 100644 --- a/src/test/ref/sizeof-arrays.log +++ b/src/test/ref/sizeof-arrays.log @@ -75,8 +75,8 @@ SYMBOL TABLE SSA (byte~) main::$8 (byte~) main::$9 (label) main::@return -(const byte*) main::ba = { fill( 3, 0) } -(const byte*) main::bb = { fill( main::sz+2, 0) } +(const byte*) main::ba[(number) 3] = { fill( 3, 0) } +(const byte*) main::bb[(const byte) main::sz+(number) 2] = { fill( main::sz+2, 0) } (byte) main::idx (byte) main::idx#0 (byte) main::idx#1 @@ -85,11 +85,11 @@ SYMBOL TABLE SSA (byte) main::idx#4 (byte) main::idx#5 (byte) main::idx#6 -(const byte*) main::sa = (string) "camelot" -(const byte*) main::sb = { (byte) 'a', (byte) 'b', (byte) 'c', (byte)(number) 0 } +(const byte*) main::sa[] = (string) "camelot" +(const byte*) main::sb[] = { (byte) 'a', (byte) 'b', (byte) 'c', (byte)(number) 0 } (const byte) main::sz = (number) 7 -(const word*) main::wa = { fill( 3, 0) } -(const word*) main::wb = { (word)(number) 1, (word)(number) 2, (word)(number) 3, (word)(number) 4 } +(const word*) main::wa[(number) 3] = { fill( 3, 0) } +(const word*) main::wb[] = { (word)(number) 1, (word)(number) 2, (word)(number) 3, (word)(number) 4 } Adding number conversion cast (unumber) 2 in Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0 diff --git a/src/test/ref/sizeof-struct.log b/src/test/ref/sizeof-struct.log index da9e28b6c..ebdeb903e 100644 --- a/src/test/ref/sizeof-struct.log +++ b/src/test/ref/sizeof-struct.log @@ -101,7 +101,7 @@ SYMBOL TABLE SSA (label) main::@return (const byte) main::NUM_CIRCLES = (const byte) main::NUM_POINTS-(number) 1 (const byte) main::NUM_POINTS = (number) 4 -(const struct Circle*) main::circles = { fill( main::NUM_CIRCLES, 0) } +(const struct Circle*) main::circles[(const byte) main::NUM_CIRCLES] = { fill( main::NUM_CIRCLES, 0) } (byte) main::idx (byte) main::idx#0 (byte) main::idx#1 @@ -114,7 +114,7 @@ SYMBOL TABLE SSA (byte) main::idx#7 (byte) main::idx#8 (byte) main::idx#9 -(const struct Point*) main::points = { fill( main::NUM_POINTS, 0) } +(const struct Point*) main::points[(const byte) main::NUM_POINTS] = { fill( main::NUM_POINTS, 0) } Adding number conversion cast (unumber) 1 in Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0 diff --git a/src/test/ref/string-const-consolidation-noroot.log b/src/test/ref/string-const-consolidation-noroot.log index 3f37413c6..de0e829e8 100644 --- a/src/test/ref/string-const-consolidation-noroot.log +++ b/src/test/ref/string-const-consolidation-noroot.log @@ -81,9 +81,9 @@ SYMBOL TABLE SSA (label) main::@2 (label) main::@3 (label) main::@return -(const byte*) main::rex1 = (string) "rex" -(const byte*) main::rex2 = (string) "rex" -(const string) main::string = (string) "rex" +(const byte*) main::rex1[] = (string) "rex" +(const byte*) main::rex2[] = (string) "rex" +(const string) main::string[] = (string) "rex" (void()) print((byte*) print::string) (bool~) print::$0 (label) print::@1 @@ -544,7 +544,7 @@ FINAL SYMBOL TABLE (label) main::@1 (label) main::@2 (label) main::@return -(const byte*) main::rex1 = (string) "rex" +(const byte*) main::rex1[] = (string) "rex" (void()) print((byte*) print::string) (label) print::@1 (label) print::@2 diff --git a/src/test/ref/string-const-consolidation-noroot.sym b/src/test/ref/string-const-consolidation-noroot.sym index 40db58fc4..f75890c06 100644 --- a/src/test/ref/string-const-consolidation-noroot.sym +++ b/src/test/ref/string-const-consolidation-noroot.sym @@ -5,7 +5,7 @@ (label) main::@1 (label) main::@2 (label) main::@return -(const byte*) main::rex1 = (string) "rex" +(const byte*) main::rex1[] = (string) "rex" (void()) print((byte*) print::string) (label) print::@1 (label) print::@2 diff --git a/src/test/ref/string-const-consolidation.log b/src/test/ref/string-const-consolidation.log index 5b83f44d2..629e946b3 100644 --- a/src/test/ref/string-const-consolidation.log +++ b/src/test/ref/string-const-consolidation.log @@ -81,8 +81,8 @@ SYMBOL TABLE SSA (label) main::@2 (label) main::@3 (label) main::@return -(const byte*) main::rex2 = (string) "rex" -(const string) main::string = (string) "rex" +(const byte*) main::rex2[] = (string) "rex" +(const string) main::string[] = (string) "rex" (void()) print((byte*) print::string) (bool~) print::$0 (label) print::@1 @@ -96,7 +96,7 @@ SYMBOL TABLE SSA (byte*) print::string#4 (byte*) print::string#5 (byte*) print::string#6 -(const byte*) rex1 = (string) "rex" +(const byte*) rex1[] = (string) "rex" (byte*) screen (byte*) screen#0 (byte*) screen#1 @@ -551,7 +551,7 @@ FINAL SYMBOL TABLE (byte*) print::string (byte*) print::string#3 string zp[2]:4 22.0 (byte*) print::string#4 string zp[2]:4 11.0 -(const byte*) rex1 = (string) "rex" +(const byte*) rex1[] = (string) "rex" (byte*) screen (byte*) screen#12 screen zp[2]:2 4.875 (byte*) screen#18 screen zp[2]:2 6.0 diff --git a/src/test/ref/string-const-consolidation.sym b/src/test/ref/string-const-consolidation.sym index e49f73fd4..31a246e71 100644 --- a/src/test/ref/string-const-consolidation.sym +++ b/src/test/ref/string-const-consolidation.sym @@ -12,7 +12,7 @@ (byte*) print::string (byte*) print::string#3 string zp[2]:4 22.0 (byte*) print::string#4 string zp[2]:4 11.0 -(const byte*) rex1 = (string) "rex" +(const byte*) rex1[] = (string) "rex" (byte*) screen (byte*) screen#12 screen zp[2]:2 4.875 (byte*) screen#18 screen zp[2]:2 6.0 diff --git a/src/test/ref/string-encoding-literals.log b/src/test/ref/string-encoding-literals.log index 5d9c35186..a6f0643a4 100644 --- a/src/test/ref/string-encoding-literals.log +++ b/src/test/ref/string-encoding-literals.log @@ -60,13 +60,13 @@ SYMBOL TABLE SSA (byte) main::i#0 (byte) main::i#1 (byte) main::i#2 -(const byte*) petscii_mixed = (string) "abcABC1"pm -(const byte*) petscii_standard = (string) "abcABC3"pm -(const byte*) petscii_upper = (string) "abcABC2"pu -(const byte*) screencode_mixed = (string) "abcABC4" -(const byte*) screencode_standard = (string) "abcABC6" -(const byte*) screencode_upper = (string) "abcABC5"su -(const byte*) standard = (string) "abcABC7" +(const byte*) petscii_mixed[] = (string) "abcABC1"pm +(const byte*) petscii_standard[] = (string) "abcABC3"pm +(const byte*) petscii_upper[] = (string) "abcABC2"pu +(const byte*) screencode_mixed[] = (string) "abcABC4" +(const byte*) screencode_standard[] = (string) "abcABC6" +(const byte*) screencode_upper[] = (string) "abcABC5"su +(const byte*) standard[] = (string) "abcABC7" Adding number conversion cast (unumber) $28*0 in (byte*~) main::$0 ← (const byte*) main::SCREEN + (number) $28*(number) 0 Adding number conversion cast (unumber) $28*1 in (byte*~) main::$1 ← (const byte*) main::SCREEN + (number) $28*(number) 1 @@ -439,13 +439,13 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 -(const byte*) petscii_mixed = (string) "abcABC1"pm -(const byte*) petscii_standard = (string) "abcABC3"pm -(const byte*) petscii_upper = (string) "abcABC2"pu -(const byte*) screencode_mixed = (string) "abcABC4" -(const byte*) screencode_standard = (string) "abcABC6" -(const byte*) screencode_upper = (string) "abcABC5"su -(const byte*) standard = (string) "abcABC7" +(const byte*) petscii_mixed[] = (string) "abcABC1"pm +(const byte*) petscii_standard[] = (string) "abcABC3"pm +(const byte*) petscii_upper[] = (string) "abcABC2"pu +(const byte*) screencode_mixed[] = (string) "abcABC4" +(const byte*) screencode_standard[] = (string) "abcABC6" +(const byte*) screencode_upper[] = (string) "abcABC5"su +(const byte*) standard[] = (string) "abcABC7" reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/string-encoding-literals.sym b/src/test/ref/string-encoding-literals.sym index fe4c36045..870859a1d 100644 --- a/src/test/ref/string-encoding-literals.sym +++ b/src/test/ref/string-encoding-literals.sym @@ -8,12 +8,12 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.0 -(const byte*) petscii_mixed = (string) "abcABC1"pm -(const byte*) petscii_standard = (string) "abcABC3"pm -(const byte*) petscii_upper = (string) "abcABC2"pu -(const byte*) screencode_mixed = (string) "abcABC4" -(const byte*) screencode_standard = (string) "abcABC6" -(const byte*) screencode_upper = (string) "abcABC5"su -(const byte*) standard = (string) "abcABC7" +(const byte*) petscii_mixed[] = (string) "abcABC1"pm +(const byte*) petscii_standard[] = (string) "abcABC3"pm +(const byte*) petscii_upper[] = (string) "abcABC2"pu +(const byte*) screencode_mixed[] = (string) "abcABC4" +(const byte*) screencode_standard[] = (string) "abcABC6" +(const byte*) screencode_upper[] = (string) "abcABC5"su +(const byte*) standard[] = (string) "abcABC7" reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/string-encoding-pragma.log b/src/test/ref/string-encoding-pragma.log index 370015683..484ab11a7 100644 --- a/src/test/ref/string-encoding-pragma.log +++ b/src/test/ref/string-encoding-pragma.log @@ -57,12 +57,12 @@ SYMBOL TABLE SSA (byte) main::i#0 (byte) main::i#1 (byte) main::i#2 -(const byte*) petscii_mixed1 = (string) "abcABC2"pm -(const byte*) petscii_mixed2 = (string) "abcABC3"pm -(const byte*) screencode_mixed1 = (string) "abcABC1" -(const byte*) screencode_mixed2 = (string) "abcABC4" -(const byte*) screencode_mixed3 = (string) "abcABC6" -(const byte*) screencode_upper = (string) "abcABC5"su +(const byte*) petscii_mixed1[] = (string) "abcABC2"pm +(const byte*) petscii_mixed2[] = (string) "abcABC3"pm +(const byte*) screencode_mixed1[] = (string) "abcABC1" +(const byte*) screencode_mixed2[] = (string) "abcABC4" +(const byte*) screencode_mixed3[] = (string) "abcABC6" +(const byte*) screencode_upper[] = (string) "abcABC5"su Adding number conversion cast (unumber) $28*2 in (byte*~) main::$0 ← (const byte*) main::SCREEN + (number) $28*(number) 2 Adding number conversion cast (unumber) $28*0 in (byte*~) main::$1 ← (const byte*) main::SCREEN + (number) $28*(number) 0 @@ -417,12 +417,12 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.000000000000004 -(const byte*) petscii_mixed1 = (string) "abcABC2"pm -(const byte*) petscii_mixed2 = (string) "abcABC3"pm -(const byte*) screencode_mixed1 = (string) "abcABC1" -(const byte*) screencode_mixed2 = (string) "abcABC4" -(const byte*) screencode_mixed3 = (string) "abcABC6" -(const byte*) screencode_upper = (string) "abcABC5"su +(const byte*) petscii_mixed1[] = (string) "abcABC2"pm +(const byte*) petscii_mixed2[] = (string) "abcABC3"pm +(const byte*) screencode_mixed1[] = (string) "abcABC1" +(const byte*) screencode_mixed2[] = (string) "abcABC4" +(const byte*) screencode_mixed3[] = (string) "abcABC6" +(const byte*) screencode_upper[] = (string) "abcABC5"su reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/string-encoding-pragma.sym b/src/test/ref/string-encoding-pragma.sym index 2e195eef8..a91eb6377 100644 --- a/src/test/ref/string-encoding-pragma.sym +++ b/src/test/ref/string-encoding-pragma.sym @@ -8,11 +8,11 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 22.000000000000004 -(const byte*) petscii_mixed1 = (string) "abcABC2"pm -(const byte*) petscii_mixed2 = (string) "abcABC3"pm -(const byte*) screencode_mixed1 = (string) "abcABC1" -(const byte*) screencode_mixed2 = (string) "abcABC4" -(const byte*) screencode_mixed3 = (string) "abcABC6" -(const byte*) screencode_upper = (string) "abcABC5"su +(const byte*) petscii_mixed1[] = (string) "abcABC2"pm +(const byte*) petscii_mixed2[] = (string) "abcABC3"pm +(const byte*) screencode_mixed1[] = (string) "abcABC1" +(const byte*) screencode_mixed2[] = (string) "abcABC4" +(const byte*) screencode_mixed3[] = (string) "abcABC6" +(const byte*) screencode_upper[] = (string) "abcABC5"su reg byte x [ main::i#2 main::i#1 ] diff --git a/src/test/ref/string-escapes-0.log b/src/test/ref/string-escapes-0.log index 7a0ddc4f2..3bf0a6419 100644 --- a/src/test/ref/string-escapes-0.log +++ b/src/test/ref/string-escapes-0.log @@ -38,7 +38,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) MESSAGE = (string) " +(const byte*) MESSAGE[] = (string) " "'\" (const byte*) SCREEN = (byte*)(number) $400 (void()) main() @@ -295,7 +295,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) " +(const byte*) MESSAGE[] = (string) " "'\" (const byte*) SCREEN = (byte*) 1024 (void()) main() diff --git a/src/test/ref/string-escapes-0.sym b/src/test/ref/string-escapes-0.sym index 45f5839d4..4543aa4a5 100644 --- a/src/test/ref/string-escapes-0.sym +++ b/src/test/ref/string-escapes-0.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) " +(const byte*) MESSAGE[] = (string) " "'\" (const byte*) SCREEN = (byte*) 1024 (void()) main() diff --git a/src/test/ref/string-escapes-1.log b/src/test/ref/string-escapes-1.log index ff0b42fe1..cb4482ef3 100644 --- a/src/test/ref/string-escapes-1.log +++ b/src/test/ref/string-escapes-1.log @@ -66,7 +66,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello +(const byte*) MESSAGE[] = (string) "hello world" (void()) main() (bool~) main::$0 @@ -521,7 +521,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello +(const byte*) MESSAGE[] = (string) "hello world" (void()) main() (label) main::@1 diff --git a/src/test/ref/string-escapes-1.sym b/src/test/ref/string-escapes-1.sym index bf6c38b63..d7959aeb0 100644 --- a/src/test/ref/string-escapes-1.sym +++ b/src/test/ref/string-escapes-1.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello +(const byte*) MESSAGE[] = (string) "hello world" (void()) main() (label) main::@1 diff --git a/src/test/ref/string-escapes-2.log b/src/test/ref/string-escapes-2.log index f66165e4e..630c97b7e 100644 --- a/src/test/ref/string-escapes-2.log +++ b/src/test/ref/string-escapes-2.log @@ -52,7 +52,7 @@ SYMBOL TABLE SSA (label) @3 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello +(const byte*) MESSAGE[] = (string) "hello world\"pm (void()) chrout((byte) chrout::c) (label) chrout::@return @@ -398,7 +398,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello +(const byte*) MESSAGE[] = (string) "hello world\"pm (void()) chrout((byte) chrout::c) (label) chrout::@return diff --git a/src/test/ref/string-escapes-2.sym b/src/test/ref/string-escapes-2.sym index 34c38bf74..238c6ea70 100644 --- a/src/test/ref/string-escapes-2.sym +++ b/src/test/ref/string-escapes-2.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello +(const byte*) MESSAGE[] = (string) "hello world\"pm (void()) chrout((byte) chrout::c) (label) chrout::@return diff --git a/src/test/ref/string-escapes-3.log b/src/test/ref/string-escapes-3.log index fa5c4de2f..d0445b83d 100644 --- a/src/test/ref/string-escapes-3.log +++ b/src/test/ref/string-escapes-3.log @@ -67,7 +67,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello +(const byte*) MESSAGE[] = (string) "hello world"pm (void()) main() (number~) main::$0 @@ -546,7 +546,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello +(const byte*) MESSAGE[] = (string) "hello world"pm (void()) main() (byte~) main::$0 reg byte a 22.0 diff --git a/src/test/ref/string-escapes-3.sym b/src/test/ref/string-escapes-3.sym index 4ef1d0f56..4af872800 100644 --- a/src/test/ref/string-escapes-3.sym +++ b/src/test/ref/string-escapes-3.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "hello +(const byte*) MESSAGE[] = (string) "hello world"pm (void()) main() (byte~) main::$0 reg byte a 22.0 diff --git a/src/test/ref/string-pointer-problem.log b/src/test/ref/string-pointer-problem.log index b6ea8bb26..3e97e37ee 100644 --- a/src/test/ref/string-pointer-problem.log +++ b/src/test/ref/string-pointer-problem.log @@ -55,7 +55,7 @@ SYMBOL TABLE SSA (void()) main() (label) main::@1 (label) main::@return -(const string) main::name = (string) "keyboard" +(const string) main::name[] = (string) "keyboard" (const byte*) process_name = (byte*)(number) $400 (void()) set_process_name((byte*) set_process_name::name) (bool~) set_process_name::$0 @@ -451,7 +451,7 @@ FINAL SYMBOL TABLE (label) @end (void()) main() (label) main::@return -(const string) main::name = (string) "keyboard" +(const string) main::name[] = (string) "keyboard" (const byte*) process_name = (byte*) 1024 (void()) set_process_name((byte*) set_process_name::name) (byte*~) set_process_name::$1 zp[2]:4 11.0 diff --git a/src/test/ref/string-pointer-problem.sym b/src/test/ref/string-pointer-problem.sym index 7222b51e6..627b58b36 100644 --- a/src/test/ref/string-pointer-problem.sym +++ b/src/test/ref/string-pointer-problem.sym @@ -3,7 +3,7 @@ (label) @end (void()) main() (label) main::@return -(const string) main::name = (string) "keyboard" +(const string) main::name[] = (string) "keyboard" (const byte*) process_name = (byte*) 1024 (void()) set_process_name((byte*) set_process_name::name) (byte*~) set_process_name::$1 zp[2]:4 11.0 diff --git a/src/test/ref/strip.log b/src/test/ref/strip.log index 4a442aad7..c5b36c5e6 100644 --- a/src/test/ref/strip.log +++ b/src/test/ref/strip.log @@ -117,8 +117,8 @@ SYMBOL TABLE SSA (label) main::@3 (label) main::@4 (label) main::@return -(const byte*) msg1 = (string) "hello world!" -(const byte*) msg2 = (string) "goodbye blue sky!" +(const byte*) msg1[] = (string) "hello world!" +(const byte*) msg2[] = (string) "goodbye blue sky!" (void()) print((byte*) print::msg) (bool~) print::$0 (label) print::@1 @@ -935,8 +935,8 @@ FINAL SYMBOL TABLE (label) main::@2 (label) main::@3 (label) main::@return -(const byte*) msg1 = (string) "hello world!" -(const byte*) msg2 = (string) "goodbye blue sky!" +(const byte*) msg1[] = (string) "hello world!" +(const byte*) msg2[] = (string) "goodbye blue sky!" (void()) print((byte*) print::msg) (label) print::@1 (label) print::@return diff --git a/src/test/ref/strip.sym b/src/test/ref/strip.sym index 6ef7b1915..076d87026 100644 --- a/src/test/ref/strip.sym +++ b/src/test/ref/strip.sym @@ -6,8 +6,8 @@ (label) main::@2 (label) main::@3 (label) main::@return -(const byte*) msg1 = (string) "hello world!" -(const byte*) msg2 = (string) "goodbye blue sky!" +(const byte*) msg1[] = (string) "hello world!" +(const byte*) msg2[] = (string) "goodbye blue sky!" (void()) print((byte*) print::msg) (label) print::@1 (label) print::@return diff --git a/src/test/ref/struct-10.log b/src/test/ref/struct-10.log index d6f72d257..083e1a9ef 100644 --- a/src/test/ref/struct-10.log +++ b/src/test/ref/struct-10.log @@ -35,7 +35,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const word*) RADIX_DECIMAL_VALUES = { (word)(number) $2710, (word)(number) $3e8, (word)(number) $64, (word)(number) $a } +(const word*) RADIX_DECIMAL_VALUES[] = { (word)(number) $2710, (word)(number) $3e8, (word)(number) $64, (word)(number) $a } (word*) RadixInfo::values (const byte) SIZEOF_WORD = (byte) 2 (void()) main() @@ -260,7 +260,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const word*) RADIX_DECIMAL_VALUES = { (word) $2710, (word) $3e8, (word) $64, (word) $a } +(const word*) RADIX_DECIMAL_VALUES[] = { (word) $2710, (word) $3e8, (word) $64, (word) $a } (word*) RadixInfo::values (const byte) SIZEOF_WORD = (byte) 2 (void()) main() diff --git a/src/test/ref/struct-10.sym b/src/test/ref/struct-10.sym index b4a1297d8..3f70a80a6 100644 --- a/src/test/ref/struct-10.sym +++ b/src/test/ref/struct-10.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const word*) RADIX_DECIMAL_VALUES = { (word) $2710, (word) $3e8, (word) $64, (word) $a } +(const word*) RADIX_DECIMAL_VALUES[] = { (word) $2710, (word) $3e8, (word) $64, (word) $a } (word*) RadixInfo::values (const byte) SIZEOF_WORD = (byte) 2 (void()) main() diff --git a/src/test/ref/struct-pos-fill.log b/src/test/ref/struct-pos-fill.log index d37deb537..cacd6894c 100644 --- a/src/test/ref/struct-pos-fill.log +++ b/src/test/ref/struct-pos-fill.log @@ -167,7 +167,7 @@ SYMBOL TABLE SSA (label) main::@5 (label) main::@6 (label) main::@return -(const struct pos*) p = { fill( $40, 0) } +(const struct pos*) p[(number) $40] = { fill( $40, 0) } (byte) pos::x (byte) pos::y (byte) row @@ -780,7 +780,7 @@ FINAL SYMBOL TABLE (label) main::@4 (label) main::@5 (label) main::@return -(const struct pos*) p = { fill( $40, 0) } +(const struct pos*) p[(number) $40] = { fill( $40, 0) } (byte) pos::x (byte) pos::y (byte) row diff --git a/src/test/ref/struct-pos-fill.sym b/src/test/ref/struct-pos-fill.sym index 28566021e..02940b9d7 100644 --- a/src/test/ref/struct-pos-fill.sym +++ b/src/test/ref/struct-pos-fill.sym @@ -19,7 +19,7 @@ (label) main::@4 (label) main::@5 (label) main::@return -(const struct pos*) p = { fill( $40, 0) } +(const struct pos*) p[(number) $40] = { fill( $40, 0) } (byte) pos::x (byte) pos::y (byte) row diff --git a/src/test/ref/struct-ptr-0.log b/src/test/ref/struct-ptr-0.log index 0562e0fd4..b2581fbcb 100644 --- a/src/test/ref/struct-ptr-0.log +++ b/src/test/ref/struct-ptr-0.log @@ -89,7 +89,7 @@ SYMBOL TABLE SSA (byte) main::i1#0 (byte) main::i1#1 (byte) main::i1#2 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } Adding number conversion cast (unumber) 1 in (number~) main::$0 ← (byte) main::i#2 + (number) 1 Adding number conversion cast (unumber) main::$0 in (number~) main::$0 ← (byte) main::i#2 + (unumber)(number) 1 @@ -542,7 +542,7 @@ FINAL SYMBOL TABLE (byte) main::i1 (byte) main::i1#1 reg byte y 16.5 (byte) main::i1#2 reg byte y 13.75 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte y [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-0.sym b/src/test/ref/struct-ptr-0.sym index 39ae7628a..94d36e85e 100644 --- a/src/test/ref/struct-ptr-0.sym +++ b/src/test/ref/struct-ptr-0.sym @@ -18,7 +18,7 @@ (byte) main::i1 (byte) main::i1#1 reg byte y 16.5 (byte) main::i1#2 reg byte y 13.75 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte y [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-1.log b/src/test/ref/struct-ptr-1.log index 794b4290f..1c427033b 100644 --- a/src/test/ref/struct-ptr-1.log +++ b/src/test/ref/struct-ptr-1.log @@ -81,7 +81,7 @@ SYMBOL TABLE SSA (byte) main::i1#0 (byte) main::i1#1 (byte) main::i1#2 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } Adding number conversion cast (unumber) 4 in (number~) main::$4 ← (byte) main::i#2 + (number) 4 Adding number conversion cast (unumber) main::$4 in (number~) main::$4 ← (byte) main::i#2 + (unumber)(number) 4 @@ -532,7 +532,7 @@ FINAL SYMBOL TABLE (byte) main::i1 (byte) main::i1#1 reg byte y 16.5 (byte) main::i1#2 reg byte y 13.75 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte y [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-1.sym b/src/test/ref/struct-ptr-1.sym index cb802c294..e36786d1d 100644 --- a/src/test/ref/struct-ptr-1.sym +++ b/src/test/ref/struct-ptr-1.sym @@ -18,7 +18,7 @@ (byte) main::i1 (byte) main::i1#1 reg byte y 16.5 (byte) main::i1#2 reg byte y 13.75 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte y [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-10.log b/src/test/ref/struct-ptr-10.log index e63a46f21..b1849d7c9 100644 --- a/src/test/ref/struct-ptr-10.log +++ b/src/test/ref/struct-ptr-10.log @@ -88,7 +88,7 @@ SYMBOL TABLE SSA (word) main::i1#0 (word) main::i1#1 (word) main::i1#2 -(const struct Point*) points = { fill( $1f4, 0) } +(const struct Point*) points[(number) $1f4] = { fill( $1f4, 0) } Adding number conversion cast (unumber) 2 in *((byte*~) main::$5 + (word~) main::$3) ← (number) 2 Successful SSA optimization PassNAddNumberTypeConversions @@ -781,7 +781,7 @@ FINAL SYMBOL TABLE (word) main::i1 (word) main::i1#1 i1 zp[2]:4 16.5 (word) main::i1#2 i1 zp[2]:4 4.125 -(const struct Point*) points = { fill( $1f4, 0) } +(const struct Point*) points[(number) $1f4] = { fill( $1f4, 0) } zp[2]:2 [ main::i#2 main::i#1 ] zp[2]:4 [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-10.sym b/src/test/ref/struct-ptr-10.sym index f0326dcd1..37727ebe5 100644 --- a/src/test/ref/struct-ptr-10.sym +++ b/src/test/ref/struct-ptr-10.sym @@ -24,7 +24,7 @@ (word) main::i1 (word) main::i1#1 i1 zp[2]:4 16.5 (word) main::i1#2 i1 zp[2]:4 4.125 -(const struct Point*) points = { fill( $1f4, 0) } +(const struct Point*) points[(number) $1f4] = { fill( $1f4, 0) } zp[2]:2 [ main::i#2 main::i#1 ] zp[2]:4 [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-11.log b/src/test/ref/struct-ptr-11.log index 93c76237f..9bf053f34 100644 --- a/src/test/ref/struct-ptr-11.log +++ b/src/test/ref/struct-ptr-11.log @@ -106,7 +106,7 @@ SYMBOL TABLE SSA (byte) main::i1#0 (byte) main::i1#1 (byte) main::i1#2 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } Inlining cast (signed byte~) main::$0 ← (signed byte)(byte) main::i#2 Inlining cast (signed byte~) main::$1 ← (signed byte)(byte) main::i#2 @@ -640,7 +640,7 @@ FINAL SYMBOL TABLE (byte) main::i1 (byte) main::i1#1 reg byte x 16.5 (byte) main::i1#2 reg byte x 7.333333333333333 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-11.sym b/src/test/ref/struct-ptr-11.sym index 978ae6c44..9717a67f1 100644 --- a/src/test/ref/struct-ptr-11.sym +++ b/src/test/ref/struct-ptr-11.sym @@ -22,7 +22,7 @@ (byte) main::i1 (byte) main::i1#1 reg byte x 16.5 (byte) main::i1#2 reg byte x 7.333333333333333 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-15.log b/src/test/ref/struct-ptr-15.log index c1ef51201..4f734b089 100644 --- a/src/test/ref/struct-ptr-15.log +++ b/src/test/ref/struct-ptr-15.log @@ -96,7 +96,7 @@ SYMBOL TABLE SSA (byte) Point::x (byte) Point::y (const byte) SIZEOF_STRUCT_CIRCLE = (byte) 3 -(const struct Circle*) circles = { fill( 2, 0) } +(const struct Circle*) circles[(number) 2] = { fill( 2, 0) } (void()) main() (bool~) main::$0 (number~) main::$1 @@ -761,7 +761,7 @@ FINAL SYMBOL TABLE (byte) Point::x (byte) Point::y (const byte) SIZEOF_STRUCT_CIRCLE = (byte) 3 -(const struct Circle*) circles = { fill( 2, 0) } +(const struct Circle*) circles[(number) 2] = { fill( 2, 0) } (void()) main() (struct Point*~) main::$14 zp[2]:6 11.0 (label) main::@1 diff --git a/src/test/ref/struct-ptr-15.sym b/src/test/ref/struct-ptr-15.sym index d90da49dc..bae6c8099 100644 --- a/src/test/ref/struct-ptr-15.sym +++ b/src/test/ref/struct-ptr-15.sym @@ -8,7 +8,7 @@ (byte) Point::x (byte) Point::y (const byte) SIZEOF_STRUCT_CIRCLE = (byte) 3 -(const struct Circle*) circles = { fill( 2, 0) } +(const struct Circle*) circles[(number) 2] = { fill( 2, 0) } (void()) main() (struct Point*~) main::$14 zp[2]:6 11.0 (label) main::@1 diff --git a/src/test/ref/struct-ptr-18.log b/src/test/ref/struct-ptr-18.log index 749af0b82..32c6323c9 100644 --- a/src/test/ref/struct-ptr-18.log +++ b/src/test/ref/struct-ptr-18.log @@ -130,7 +130,7 @@ SYMBOL TABLE SSA (byte) main::i#1 (byte) main::i#2 (byte) main::i#3 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } (void()) print((byte) print::p_x , (byte) print::p_y) (label) print::@return (struct Point) print::p @@ -674,7 +674,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 6.6000000000000005 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } (void()) print((byte) print::p_x , (byte) print::p_y) (label) print::@return (struct Point) print::p diff --git a/src/test/ref/struct-ptr-18.sym b/src/test/ref/struct-ptr-18.sym index 97ffe9559..1c46827c3 100644 --- a/src/test/ref/struct-ptr-18.sym +++ b/src/test/ref/struct-ptr-18.sym @@ -18,7 +18,7 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 6.6000000000000005 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } (void()) print((byte) print::p_x , (byte) print::p_y) (label) print::@return (struct Point) print::p diff --git a/src/test/ref/struct-ptr-2.log b/src/test/ref/struct-ptr-2.log index 6122fbf8a..268d665dd 100644 --- a/src/test/ref/struct-ptr-2.log +++ b/src/test/ref/struct-ptr-2.log @@ -97,7 +97,7 @@ SYMBOL TABLE SSA (struct Point*) main::point_i#0 (struct Point*) main::point_i1 (struct Point*) main::point_i1#0 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } Adding number conversion cast (unumber) 4 in (number~) main::$5 ← (byte) main::i#2 + (number) 4 Adding number conversion cast (unumber) main::$5 in (number~) main::$5 ← (byte) main::i#2 + (unumber)(number) 4 @@ -628,7 +628,7 @@ FINAL SYMBOL TABLE (struct Point*) main::point_i#0 point_i zp[2]:2 3.6666666666666665 (struct Point*) main::point_i1 (struct Point*) main::point_i1#0 point_i1 zp[2]:4 5.5 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-2.sym b/src/test/ref/struct-ptr-2.sym index efdbd91ec..bf8854f8e 100644 --- a/src/test/ref/struct-ptr-2.sym +++ b/src/test/ref/struct-ptr-2.sym @@ -22,7 +22,7 @@ (struct Point*) main::point_i#0 point_i zp[2]:2 3.6666666666666665 (struct Point*) main::point_i1 (struct Point*) main::point_i1#0 point_i1 zp[2]:4 5.5 -(const struct Point*) points = { fill( 4, 0) } +(const struct Point*) points[(number) 4] = { fill( 4, 0) } reg byte x [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-20.log b/src/test/ref/struct-ptr-20.log index 4c5ee1a06..cb3e91050 100644 --- a/src/test/ref/struct-ptr-20.log +++ b/src/test/ref/struct-ptr-20.log @@ -110,7 +110,7 @@ SYMBOL TABLE SSA (struct Setting*) main::setting#3 (struct Setting*) main::setting#4 (struct Setting*) main::setting#5 -(const struct Setting*) settings = { { off: (byte)(number) 0, id: (byte) 'a' }, { off: (byte)(number) 1, id: (byte) 'b' }, { off: (byte)(number) 0, id: (byte) 'c' } } +(const struct Setting*) settings[] = { { off: (byte)(number) 0, id: (byte) 'a' }, { off: (byte)(number) 1, id: (byte) 'b' }, { off: (byte)(number) 0, id: (byte) 'c' } } Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0 Adding number conversion cast (unumber) 0 in (bool~) main::$9 ← (number) 0 != *((byte*~) main::$7) @@ -543,7 +543,7 @@ FINAL SYMBOL TABLE (struct Setting*) main::setting (struct Setting*) main::setting#1 setting zp[2]:2 22.0 (struct Setting*) main::setting#2 setting zp[2]:2 5.5 -(const struct Setting*) settings = { { off: (byte) 0, id: (byte) 'a' }, { off: (byte) 1, id: (byte) 'b' }, { off: (byte) 0, id: (byte) 'c' } } +(const struct Setting*) settings[] = { { off: (byte) 0, id: (byte) 'a' }, { off: (byte) 1, id: (byte) 'b' }, { off: (byte) 0, id: (byte) 'c' } } zp[2]:2 [ main::setting#2 main::setting#1 ] reg byte x [ main::idx#2 main::idx#5 main::idx#1 ] diff --git a/src/test/ref/struct-ptr-20.sym b/src/test/ref/struct-ptr-20.sym index c69a2c3b6..c56578f55 100644 --- a/src/test/ref/struct-ptr-20.sym +++ b/src/test/ref/struct-ptr-20.sym @@ -21,7 +21,7 @@ (struct Setting*) main::setting (struct Setting*) main::setting#1 setting zp[2]:2 22.0 (struct Setting*) main::setting#2 setting zp[2]:2 5.5 -(const struct Setting*) settings = { { off: (byte) 0, id: (byte) 'a' }, { off: (byte) 1, id: (byte) 'b' }, { off: (byte) 0, id: (byte) 'c' } } +(const struct Setting*) settings[] = { { off: (byte) 0, id: (byte) 'a' }, { off: (byte) 1, id: (byte) 'b' }, { off: (byte) 0, id: (byte) 'c' } } zp[2]:2 [ main::setting#2 main::setting#1 ] reg byte x [ main::idx#2 main::idx#5 main::idx#1 ] diff --git a/src/test/ref/struct-ptr-21.log b/src/test/ref/struct-ptr-21.log index 37f6cb56d..99f590642 100644 --- a/src/test/ref/struct-ptr-21.log +++ b/src/test/ref/struct-ptr-21.log @@ -68,8 +68,8 @@ SYMBOL TABLE SSA (byte) main::i#2 (byte) main::i#3 (const struct Setting*) main::setting = (const struct Setting*) settings+(number) 0*(const byte) SIZEOF_STRUCT_SETTING -(const word*) seq = { (word)(number) 1, (word)(number) 2, (word)(number) 3 } -(const struct Setting*) settings = { { len: (byte)(number) 3, buf: (const word*) seq+(number) 0*(const byte) SIZEOF_WORD } } +(const word*) seq[] = { (word)(number) 1, (word)(number) 2, (word)(number) 3 } +(const struct Setting*) settings[] = { { len: (byte)(number) 3, buf: (const word*) seq+(number) 0*(const byte) SIZEOF_WORD } } Adding number conversion cast (unumber) 0*SIZEOF_WORD in Adding number conversion cast (unumber) 0 in @@ -395,8 +395,8 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 11.0 -(const word*) seq = { (word) 1, (word) 2, (word) 3 } -(const struct Setting*) settings = { { len: (byte) 3, buf: (const word*) seq } } +(const word*) seq[] = { (word) 1, (word) 2, (word) 3 } +(const struct Setting*) settings[] = { { len: (byte) 3, buf: (const word*) seq } } reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$1 ] diff --git a/src/test/ref/struct-ptr-21.sym b/src/test/ref/struct-ptr-21.sym index 29fce8a97..4e85c78da 100644 --- a/src/test/ref/struct-ptr-21.sym +++ b/src/test/ref/struct-ptr-21.sym @@ -13,8 +13,8 @@ (byte) main::i (byte) main::i#1 reg byte x 22.0 (byte) main::i#2 reg byte x 11.0 -(const word*) seq = { (word) 1, (word) 2, (word) 3 } -(const struct Setting*) settings = { { len: (byte) 3, buf: (const word*) seq } } +(const word*) seq[] = { (word) 1, (word) 2, (word) 3 } +(const struct Setting*) settings[] = { { len: (byte) 3, buf: (const word*) seq } } reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$1 ] diff --git a/src/test/ref/struct-ptr-22.log b/src/test/ref/struct-ptr-22.log index 34e6aa9a2..e9468c898 100644 --- a/src/test/ref/struct-ptr-22.log +++ b/src/test/ref/struct-ptr-22.log @@ -355,7 +355,7 @@ SYMBOL TABLE SSA (struct fileentry*) file#8 (struct fileentry*) file#9 (byte*) fileentry::bufEdit -(const struct fileentry*) files = { fill( $a, 0) } +(const struct fileentry*) files[(number) $a] = { fill( $a, 0) } (signed word()) main() (byte*~) main::$0 (byte**~) main::$10 @@ -374,8 +374,8 @@ SYMBOL TABLE SSA (signed word) main::return#1 (signed word) main::return#2 (signed word) main::return#3 -(const string) main::str = (string) "$0000=" -(const string) main::str1 = (string) "$4004=" +(const string) main::str[] = (string) "$0000=" +(const string) main::str1[] = (string) "$4004=" (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (bool~) memset::$0 (bool~) memset::$1 @@ -486,7 +486,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -1848,7 +1848,7 @@ FINAL SYMBOL TABLE (const byte) RADIX::OCTAL = (number) 8 (struct fileentry*) file (byte*) fileentry::bufEdit -(const struct fileentry*) files = { fill( $a, 0) } +(const struct fileentry*) files[(number) $a] = { fill( $a, 0) } (signed word()) main() (byte*~) main::$0 zp[2]:6 4.0 (label) main::@1 @@ -1859,8 +1859,8 @@ FINAL SYMBOL TABLE (label) main::@6 (label) main::@return (signed word) main::return -(const string) main::str = (string) "$0000=" -(const string) main::str1 = (string) "$4004=" +(const string) main::str[] = (string) "$0000=" +(const string) main::str1[] = (string) "$4004=" (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -1901,7 +1901,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#47 print_char_cursor zp[2]:6 4.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:4 4.111111111111112 (byte*) print_line_cursor#10 print_line_cursor zp[2]:4 24.0 diff --git a/src/test/ref/struct-ptr-22.sym b/src/test/ref/struct-ptr-22.sym index 7b0be6ef8..ce29733f4 100644 --- a/src/test/ref/struct-ptr-22.sym +++ b/src/test/ref/struct-ptr-22.sym @@ -7,7 +7,7 @@ (const byte) RADIX::OCTAL = (number) 8 (struct fileentry*) file (byte*) fileentry::bufEdit -(const struct fileentry*) files = { fill( $a, 0) } +(const struct fileentry*) files[(number) $a] = { fill( $a, 0) } (signed word()) main() (byte*~) main::$0 zp[2]:6 4.0 (label) main::@1 @@ -18,8 +18,8 @@ (label) main::@6 (label) main::@return (signed word) main::return -(const string) main::str = (string) "$0000=" -(const string) main::str1 = (string) "$4004=" +(const string) main::str[] = (string) "$0000=" +(const string) main::str1[] = (string) "$4004=" (void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num) (label) memset::@1 (label) memset::@2 @@ -60,7 +60,7 @@ (byte*) print_char_cursor#47 print_char_cursor zp[2]:6 4.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:4 4.111111111111112 (byte*) print_line_cursor#10 print_line_cursor zp[2]:4 24.0 diff --git a/src/test/ref/struct-ptr-23.log b/src/test/ref/struct-ptr-23.log index 4932b948c..a75357774 100644 --- a/src/test/ref/struct-ptr-23.log +++ b/src/test/ref/struct-ptr-23.log @@ -85,7 +85,7 @@ SYMBOL TABLE SSA (const byte) OFFSET_STRUCT_PERSON_ID = (byte) 0 (const byte) OFFSET_STRUCT_PERSON_INITIALS = (byte) 1 (byte) Person::id -(const byte*) Person::initials = { fill( 4, 0) } +(const byte*) Person::initials[(number) 4] = { fill( 4, 0) } (const byte*) SCREEN = (byte*)(number) $400 (const byte) SIZEOF_STRUCT_PERSON = (byte) 5 (byte) idx @@ -117,7 +117,7 @@ SYMBOL TABLE SSA (struct Person*) main::person#0 (struct Person*) main::person#1 (struct Person*) main::person#2 -(const struct Person*) persons = { { id: (byte)(number) 1, initials: (string) "jgr" }, { id: (byte)(number) 8, initials: (string) "hbg" } } +(const struct Person*) persons[] = { { id: (byte)(number) 1, initials: (string) "jgr" }, { id: (byte)(number) 8, initials: (string) "hbg" } } (void()) print_person((struct Person*) print_person::person) (byte~) print_person::$0 (byte*~) print_person::$1 @@ -705,7 +705,7 @@ FINAL SYMBOL TABLE (label) @end (const byte) OFFSET_STRUCT_PERSON_INITIALS = (byte) 1 (byte) Person::id -(const byte*) Person::initials = { fill( 4, 0) } +(const byte*) Person::initials[(number) 4] = { fill( 4, 0) } (const byte*) SCREEN = (byte*) 1024 (const byte) SIZEOF_STRUCT_PERSON = (byte) 5 (byte) idx @@ -721,7 +721,7 @@ FINAL SYMBOL TABLE (label) main::@return (struct Person*) main::person (const struct Person*) main::person#1 person = (const struct Person*) persons+(const byte) SIZEOF_STRUCT_PERSON -(const struct Person*) persons = { { id: (byte) 1, initials: (string) "jgr" }, { id: (byte) 8, initials: (string) "hbg" } } +(const struct Person*) persons[] = { { id: (byte) 1, initials: (string) "jgr" }, { id: (byte) 8, initials: (string) "hbg" } } (void()) print_person((struct Person*) print_person::person) (byte~) print_person::$0 reg byte a 4.0 (byte*~) print_person::$3 zp[2]:4 4.0 diff --git a/src/test/ref/struct-ptr-23.sym b/src/test/ref/struct-ptr-23.sym index d54764ad1..c25f4dc81 100644 --- a/src/test/ref/struct-ptr-23.sym +++ b/src/test/ref/struct-ptr-23.sym @@ -3,7 +3,7 @@ (label) @end (const byte) OFFSET_STRUCT_PERSON_INITIALS = (byte) 1 (byte) Person::id -(const byte*) Person::initials = { fill( 4, 0) } +(const byte*) Person::initials[(number) 4] = { fill( 4, 0) } (const byte*) SCREEN = (byte*) 1024 (const byte) SIZEOF_STRUCT_PERSON = (byte) 5 (byte) idx @@ -19,7 +19,7 @@ (label) main::@return (struct Person*) main::person (const struct Person*) main::person#1 person = (const struct Person*) persons+(const byte) SIZEOF_STRUCT_PERSON -(const struct Person*) persons = { { id: (byte) 1, initials: (string) "jgr" }, { id: (byte) 8, initials: (string) "hbg" } } +(const struct Person*) persons[] = { { id: (byte) 1, initials: (string) "jgr" }, { id: (byte) 8, initials: (string) "hbg" } } (void()) print_person((struct Person*) print_person::person) (byte~) print_person::$0 reg byte a 4.0 (byte*~) print_person::$3 zp[2]:4 4.0 diff --git a/src/test/ref/struct-ptr-26.log b/src/test/ref/struct-ptr-26.log index 1d5ff5789..84c077113 100644 --- a/src/test/ref/struct-ptr-26.log +++ b/src/test/ref/struct-ptr-26.log @@ -231,7 +231,7 @@ SYMBOL TABLE SSA (byte*) print_char_cursor#7 (byte*) print_char_cursor#8 (byte*) print_char_cursor#9 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_screen @@ -901,7 +901,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#18 print_char_cursor zp[2]:2 4.0 (byte*) print_char_cursor#19 print_char_cursor zp[2]:2 0.6666666666666666 (byte*) print_char_cursor#24 print_char_cursor zp[2]:2 1.3333333333333333 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_screen (void()) print_word((word) print_word::w) diff --git a/src/test/ref/struct-ptr-26.sym b/src/test/ref/struct-ptr-26.sym index 28e17b226..0efefb02d 100644 --- a/src/test/ref/struct-ptr-26.sym +++ b/src/test/ref/struct-ptr-26.sym @@ -34,7 +34,7 @@ (byte*) print_char_cursor#18 print_char_cursor zp[2]:2 4.0 (byte*) print_char_cursor#19 print_char_cursor zp[2]:2 0.6666666666666666 (byte*) print_char_cursor#24 print_char_cursor zp[2]:2 1.3333333333333333 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_screen (void()) print_word((word) print_word::w) diff --git a/src/test/ref/struct-ptr-30.log b/src/test/ref/struct-ptr-30.log index cb0e5fcb2..b57db3c72 100644 --- a/src/test/ref/struct-ptr-30.log +++ b/src/test/ref/struct-ptr-30.log @@ -119,7 +119,7 @@ SYMBOL TABLE SSA (byte) main::i#1 (byte) main::i#2 (byte) main::i#3 -(const struct Point*) points = { { x: (byte)(number) 1, y: (signed word)(number) $83f }, { x: (byte)(number) 3, y: (signed word)(number) $107e } } +(const struct Point*) points[(number) 4] = { { x: (byte)(number) 1, y: (signed word)(number) $83f }, { x: (byte)(number) 3, y: (signed word)(number) $107e } } (void()) print((byte) print::p_x , (signed word) print::p_y) (byte~) print::$0 (byte~) print::$1 @@ -705,7 +705,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 7.333333333333333 -(const struct Point*) points = { { x: (byte) 1, y: (signed word) $83f }, { x: (byte) 3, y: (signed word) $107e } } +(const struct Point*) points[(number) 4] = { { x: (byte) 1, y: (signed word) $83f }, { x: (byte) 3, y: (signed word) $107e } } (void()) print((byte) print::p_x , (signed word) print::p_y) (byte~) print::$0 reg byte a 4.0 (byte~) print::$1 reg byte a 4.0 diff --git a/src/test/ref/struct-ptr-30.sym b/src/test/ref/struct-ptr-30.sym index 84e5de185..bee102a3c 100644 --- a/src/test/ref/struct-ptr-30.sym +++ b/src/test/ref/struct-ptr-30.sym @@ -20,7 +20,7 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 7.333333333333333 -(const struct Point*) points = { { x: (byte) 1, y: (signed word) $83f }, { x: (byte) 3, y: (signed word) $107e } } +(const struct Point*) points[(number) 4] = { { x: (byte) 1, y: (signed word) $83f }, { x: (byte) 3, y: (signed word) $107e } } (void()) print((byte) print::p_x , (signed word) print::p_y) (byte~) print::$0 reg byte a 4.0 (byte~) print::$1 reg byte a 4.0 diff --git a/src/test/ref/struct-ptr-31.log b/src/test/ref/struct-ptr-31.log index 66d1055b7..4aac5090a 100644 --- a/src/test/ref/struct-ptr-31.log +++ b/src/test/ref/struct-ptr-31.log @@ -92,11 +92,11 @@ SYMBOL TABLE SSA (label) @3 (label) @begin (label) @end -(const byte*) DIGIT = (string) "0123456789" +(const byte*) DIGIT[] = (string) "0123456789" (const byte) OFFSET_STRUCT_PERSON_ID = (byte) 0 (const byte) OFFSET_STRUCT_PERSON_NAME = (byte) 1 (byte) Person::id -(const byte*) Person::name = { fill( $10, 0) } +(const byte*) Person::name[(number) $10] = { fill( $10, 0) } (const byte*) SCREEN = (byte*)(number) $400 (const byte) SIZEOF_STRUCT_PERSON = (byte) $11 (byte) idx @@ -125,7 +125,7 @@ SYMBOL TABLE SSA (label) main::@1 (label) main::@2 (label) main::@return -(const struct Person*) persons = { { id: (byte)(number) 4, name: (string) "jesper" }, { id: (byte)(number) 7, name: (string) "henriette" } } +(const struct Person*) persons[] = { { id: (byte)(number) 4, name: (string) "jesper" }, { id: (byte)(number) 7, name: (string) "henriette" } } (void()) print_person((struct Person*) print_person::person) (byte*~) print_person::$0 (byte*~) print_person::$1 @@ -725,10 +725,10 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) DIGIT = (string) "0123456789" +(const byte*) DIGIT[] = (string) "0123456789" (const byte) OFFSET_STRUCT_PERSON_NAME = (byte) 1 (byte) Person::id -(const byte*) Person::name = { fill( $10, 0) } +(const byte*) Person::name[(number) $10] = { fill( $10, 0) } (const byte*) SCREEN = (byte*) 1024 (const byte) SIZEOF_STRUCT_PERSON = (byte) $11 (byte) idx @@ -741,7 +741,7 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@1 (label) main::@return -(const struct Person*) persons = { { id: (byte) 4, name: (string) "jesper" }, { id: (byte) 7, name: (string) "henriette" } } +(const struct Person*) persons[] = { { id: (byte) 4, name: (string) "jesper" }, { id: (byte) 7, name: (string) "henriette" } } (void()) print_person((struct Person*) print_person::person) (byte*~) print_person::$1 zp[2]:4 22.0 (byte*~) print_person::$2 zp[2]:6 22.0 diff --git a/src/test/ref/struct-ptr-31.sym b/src/test/ref/struct-ptr-31.sym index 3ce58a8ce..57202c8e7 100644 --- a/src/test/ref/struct-ptr-31.sym +++ b/src/test/ref/struct-ptr-31.sym @@ -1,10 +1,10 @@ (label) @1 (label) @begin (label) @end -(const byte*) DIGIT = (string) "0123456789" +(const byte*) DIGIT[] = (string) "0123456789" (const byte) OFFSET_STRUCT_PERSON_NAME = (byte) 1 (byte) Person::id -(const byte*) Person::name = { fill( $10, 0) } +(const byte*) Person::name[(number) $10] = { fill( $10, 0) } (const byte*) SCREEN = (byte*) 1024 (const byte) SIZEOF_STRUCT_PERSON = (byte) $11 (byte) idx @@ -17,7 +17,7 @@ (void()) main() (label) main::@1 (label) main::@return -(const struct Person*) persons = { { id: (byte) 4, name: (string) "jesper" }, { id: (byte) 7, name: (string) "henriette" } } +(const struct Person*) persons[] = { { id: (byte) 4, name: (string) "jesper" }, { id: (byte) 7, name: (string) "henriette" } } (void()) print_person((struct Person*) print_person::person) (byte*~) print_person::$1 zp[2]:4 22.0 (byte*~) print_person::$2 zp[2]:6 22.0 diff --git a/src/test/ref/struct-ptr-32.log b/src/test/ref/struct-ptr-32.log index 680b8f83d..1c7d215e4 100644 --- a/src/test/ref/struct-ptr-32.log +++ b/src/test/ref/struct-ptr-32.log @@ -69,7 +69,7 @@ SYMBOL TABLE SSA (const byte) OFFSET_STRUCT_PERSON_NAME = (byte) 1 (word) Person::age (byte) Person::id -(const byte*) Person::name = { fill( $d, 0) } +(const byte*) Person::name[(number) $d] = { fill( $d, 0) } (const byte) SIZEOF_STRUCT_PERSON = (byte) $10 (void()) main() (number~) main::$0 @@ -93,7 +93,7 @@ SYMBOL TABLE SSA (struct Person*) main::person (struct Person*) main::person#0 (struct Person*) main::person#1 -(const struct Person*) persons = { fill( 2, 0) } +(const struct Person*) persons[(number) 2] = { fill( 2, 0) } Adding number conversion cast (unumber) 0 in (number~) main::$0 ← (number) 0 * (const byte) SIZEOF_STRUCT_PERSON Adding number conversion cast (unumber) main::$0 in (number~) main::$0 ← (unumber)(number) 0 * (const byte) SIZEOF_STRUCT_PERSON @@ -479,14 +479,14 @@ FINAL SYMBOL TABLE (const byte) OFFSET_STRUCT_PERSON_NAME = (byte) 1 (word) Person::age (byte) Person::id -(const byte*) Person::name = { fill( $d, 0) } +(const byte*) Person::name[(number) $d] = { fill( $d, 0) } (const byte) SIZEOF_STRUCT_PERSON = (byte) $10 (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 (struct Person*) main::person (const struct Person*) main::person#1 person = (const struct Person*) persons+(const byte) SIZEOF_STRUCT_PERSON -(const struct Person*) persons = { fill( 2, 0) } +(const struct Person*) persons[(number) 2] = { fill( 2, 0) } diff --git a/src/test/ref/struct-ptr-32.sym b/src/test/ref/struct-ptr-32.sym index e3d980b5a..74f5aa487 100644 --- a/src/test/ref/struct-ptr-32.sym +++ b/src/test/ref/struct-ptr-32.sym @@ -5,12 +5,12 @@ (const byte) OFFSET_STRUCT_PERSON_NAME = (byte) 1 (word) Person::age (byte) Person::id -(const byte*) Person::name = { fill( $d, 0) } +(const byte*) Person::name[(number) $d] = { fill( $d, 0) } (const byte) SIZEOF_STRUCT_PERSON = (byte) $10 (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 (struct Person*) main::person (const struct Person*) main::person#1 person = (const struct Person*) persons+(const byte) SIZEOF_STRUCT_PERSON -(const struct Person*) persons = { fill( 2, 0) } +(const struct Person*) persons[(number) 2] = { fill( 2, 0) } diff --git a/src/test/ref/struct-ptr-33.log b/src/test/ref/struct-ptr-33.log index 853ca220b..b69b442d5 100644 --- a/src/test/ref/struct-ptr-33.log +++ b/src/test/ref/struct-ptr-33.log @@ -35,7 +35,7 @@ SYMBOL TABLE SSA (const byte) OFFSET_STRUCT_PERSON_NAME = (byte) 1 (word) Person::age (byte) Person::id -(const byte*) Person::name = { fill( $d, 0) } +(const byte*) Person::name[(number) $d] = { fill( $d, 0) } (const byte) SIZEOF_STRUCT_PERSON = (byte) $10 (void()) main() (byte*~) main::$0 @@ -45,7 +45,7 @@ SYMBOL TABLE SSA (struct Person*) main::person (struct Person*) main::person#0 (struct Person*) main::person#1 -(const struct Person*) persons = { { id: (byte)(number) 7, name: (string) "jesper", age: (word)(number) $141 }, { id: (byte)(number) 9, name: (string) "henry", age: (word)(number) $7b } } +(const struct Person*) persons[(number) 2] = { { id: (byte)(number) 7, name: (string) "jesper", age: (word)(number) $141 }, { id: (byte)(number) 9, name: (string) "henry", age: (word)(number) $7b } } Adding number conversion cast (unumber) 2 in *((const byte*) main::SCREEN + (number) 0) ← *((byte*~) main::$0 + (number) 2) Adding number conversion cast (unumber) 0 in *((const byte*) main::SCREEN + (number) 0) ← *((byte*~) main::$0 + (unumber)(number) 2) @@ -282,14 +282,14 @@ FINAL SYMBOL TABLE (const byte) OFFSET_STRUCT_PERSON_NAME = (byte) 1 (word) Person::age (byte) Person::id -(const byte*) Person::name = { fill( $d, 0) } +(const byte*) Person::name[(number) $d] = { fill( $d, 0) } (const byte) SIZEOF_STRUCT_PERSON = (byte) $10 (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 (struct Person*) main::person (const struct Person*) main::person#1 person = (const struct Person*) persons+(const byte) SIZEOF_STRUCT_PERSON -(const struct Person*) persons = { { id: (byte) 7, name: (string) "jesper", age: (word) $141 }, { id: (byte) 9, name: (string) "henry", age: (word) $7b } } +(const struct Person*) persons[(number) 2] = { { id: (byte) 7, name: (string) "jesper", age: (word) $141 }, { id: (byte) 9, name: (string) "henry", age: (word) $7b } } diff --git a/src/test/ref/struct-ptr-33.sym b/src/test/ref/struct-ptr-33.sym index e56310d13..0e8c4d221 100644 --- a/src/test/ref/struct-ptr-33.sym +++ b/src/test/ref/struct-ptr-33.sym @@ -4,12 +4,12 @@ (const byte) OFFSET_STRUCT_PERSON_NAME = (byte) 1 (word) Person::age (byte) Person::id -(const byte*) Person::name = { fill( $d, 0) } +(const byte*) Person::name[(number) $d] = { fill( $d, 0) } (const byte) SIZEOF_STRUCT_PERSON = (byte) $10 (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 (struct Person*) main::person (const struct Person*) main::person#1 person = (const struct Person*) persons+(const byte) SIZEOF_STRUCT_PERSON -(const struct Person*) persons = { { id: (byte) 7, name: (string) "jesper", age: (word) $141 }, { id: (byte) 9, name: (string) "henry", age: (word) $7b } } +(const struct Person*) persons[(number) 2] = { { id: (byte) 7, name: (string) "jesper", age: (word) $141 }, { id: (byte) 9, name: (string) "henry", age: (word) $7b } } diff --git a/src/test/ref/struct-ptr-7.log b/src/test/ref/struct-ptr-7.log index 1004c27c8..6adc7394a 100644 --- a/src/test/ref/struct-ptr-7.log +++ b/src/test/ref/struct-ptr-7.log @@ -85,7 +85,7 @@ SYMBOL TABLE SSA (byte*~) main::$9 (label) main::@return (const byte*) main::SCREEN = (byte*)(number) $400 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } Adding number conversion cast (unumber) 0 in (number~) main::$0 ← (number) 0 * (const byte) SIZEOF_STRUCT_POINT Adding number conversion cast (unumber) main::$0 in (number~) main::$0 ← (unumber)(number) 0 * (const byte) SIZEOF_STRUCT_POINT @@ -455,7 +455,7 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } diff --git a/src/test/ref/struct-ptr-7.sym b/src/test/ref/struct-ptr-7.sym index 89ed3eb58..685959537 100644 --- a/src/test/ref/struct-ptr-7.sym +++ b/src/test/ref/struct-ptr-7.sym @@ -8,5 +8,5 @@ (void()) main() (label) main::@return (const byte*) main::SCREEN = (byte*) 1024 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } diff --git a/src/test/ref/struct-ptr-8.log b/src/test/ref/struct-ptr-8.log index 92961019a..84c6f474a 100644 --- a/src/test/ref/struct-ptr-8.log +++ b/src/test/ref/struct-ptr-8.log @@ -103,7 +103,7 @@ SYMBOL TABLE SSA (byte) main::idx#2 (byte) main::idx#3 (byte) main::idx#4 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } Adding number conversion cast (unumber) 2 in (number~) main::$0 ← (number) 2 + (byte) main::i#2 Adding number conversion cast (unumber) main::$0 in (number~) main::$0 ← (unumber)(number) 2 + (byte) main::i#2 @@ -666,7 +666,7 @@ FINAL SYMBOL TABLE (byte) main::idx#2 reg byte x 16.5 (byte) main::idx#3 reg byte x 7.333333333333333 (byte) main::idx#4 reg byte x 11.0 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } zp[1]:2 [ main::i#2 main::i#1 ] zp[1]:3 [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-8.sym b/src/test/ref/struct-ptr-8.sym index 49013c01d..a83cb5c57 100644 --- a/src/test/ref/struct-ptr-8.sym +++ b/src/test/ref/struct-ptr-8.sym @@ -24,7 +24,7 @@ (byte) main::idx#2 reg byte x 16.5 (byte) main::idx#3 reg byte x 7.333333333333333 (byte) main::idx#4 reg byte x 11.0 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } zp[1]:2 [ main::i#2 main::i#1 ] zp[1]:3 [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-9.log b/src/test/ref/struct-ptr-9.log index f37e42fea..ac6a38b74 100644 --- a/src/test/ref/struct-ptr-9.log +++ b/src/test/ref/struct-ptr-9.log @@ -86,7 +86,7 @@ SYMBOL TABLE SSA (byte) main::i1#0 (byte) main::i1#1 (byte) main::i1#2 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } Adding number conversion cast (unumber) 2 in *((byte*~) main::$4 + (byte~) main::$2) ← (number) 2 Successful SSA optimization PassNAddNumberTypeConversions @@ -513,7 +513,7 @@ FINAL SYMBOL TABLE (byte) main::i1 (byte) main::i1#1 reg byte x 16.5 (byte) main::i1#2 reg byte x 8.25 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } reg byte y [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/struct-ptr-9.sym b/src/test/ref/struct-ptr-9.sym index 144d1eb4a..d31849863 100644 --- a/src/test/ref/struct-ptr-9.sym +++ b/src/test/ref/struct-ptr-9.sym @@ -17,7 +17,7 @@ (byte) main::i1 (byte) main::i1#1 reg byte x 16.5 (byte) main::i1#2 reg byte x 8.25 -(const struct Point*) points = { fill( 2, 0) } +(const struct Point*) points[(number) 2] = { fill( 2, 0) } reg byte y [ main::i#2 main::i#1 ] reg byte x [ main::i1#2 main::i1#1 ] diff --git a/src/test/ref/test-comparisons-sword.log b/src/test/ref/test-comparisons-sword.log index 0432d56d2..a19b8366e 100644 --- a/src/test/ref/test-comparisons-sword.log +++ b/src/test/ref/test-comparisons-sword.log @@ -735,12 +735,12 @@ SYMBOL TABLE SSA (bool~) compare::$20 (bool~) compare::$21 (bool~) compare::$22 -(const string) compare::$23 = (string) "!=" -(const string) compare::$24 = (string) "==" -(const string) compare::$25 = (string) ">=" -(const string) compare::$26 = (string) "> " -(const string) compare::$27 = (string) "<=" -(const string) compare::$28 = (string) "< " +(const string) compare::$23[] = (string) "!=" +(const string) compare::$24[] = (string) "==" +(const string) compare::$25[] = (string) ">=" +(const string) compare::$26[] = (string) "> " +(const string) compare::$27[] = (string) "<=" +(const string) compare::$28[] = (string) "< " (bool~) compare::$3 (bool~) compare::$4 (bool~) compare::$5 @@ -1126,7 +1126,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -1211,7 +1211,7 @@ SYMBOL TABLE SSA (word) print_word::w#0 (word) print_word::w#1 (word) print_word::w#2 -(const signed word*) swords = { (signed word)(number) -$6fed, (signed word)(number) $12, (signed word)(number) $7fed } +(const signed word*) swords[] = { (signed word)(number) -$6fed, (signed word)(number) $12, (signed word)(number) $7fed } Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0 Adding number conversion cast (unumber) 0 in (bool~) print_str::$0 ← (number) 0 != *((byte*) print_str::str#2) @@ -4378,7 +4378,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#81 print_char_cursor zp[2]:8 7.333333333333333 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:13 6401.0 (byte*) print_line_cursor#19 print_line_cursor zp[2]:13 233.8888888888889 @@ -4415,7 +4415,7 @@ FINAL SYMBOL TABLE (label) print_word::@return (word) print_word::w (word) print_word::w#0 w zp[2]:10 2.0 -(const signed word*) swords = { (signed word) -$6fed, (signed word) $12, (signed word) $7fed } +(const signed word*) swords[] = { (signed word) -$6fed, (signed word) $12, (signed word) $7fed } zp[1]:2 [ main::i#2 main::i#1 ] zp[1]:3 [ main::j#2 main::j#1 ] diff --git a/src/test/ref/test-comparisons-sword.sym b/src/test/ref/test-comparisons-sword.sym index 4fd74c1ec..2e5b42252 100644 --- a/src/test/ref/test-comparisons-sword.sym +++ b/src/test/ref/test-comparisons-sword.sym @@ -141,7 +141,7 @@ (byte*) print_char_cursor#81 print_char_cursor zp[2]:8 7.333333333333333 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:13 6401.0 (byte*) print_line_cursor#19 print_line_cursor zp[2]:13 233.8888888888889 @@ -178,7 +178,7 @@ (label) print_word::@return (word) print_word::w (word) print_word::w#0 w zp[2]:10 2.0 -(const signed word*) swords = { (signed word) -$6fed, (signed word) $12, (signed word) $7fed } +(const signed word*) swords[] = { (signed word) -$6fed, (signed word) $12, (signed word) $7fed } zp[1]:2 [ main::i#2 main::i#1 ] zp[1]:3 [ main::j#2 main::j#1 ] diff --git a/src/test/ref/test-comparisons-word.log b/src/test/ref/test-comparisons-word.log index 769dbd0ac..84f073bc6 100644 --- a/src/test/ref/test-comparisons-word.log +++ b/src/test/ref/test-comparisons-word.log @@ -686,12 +686,12 @@ SYMBOL TABLE SSA (bool~) compare::$21 (bool~) compare::$22 (bool~) compare::$23 -(const string) compare::$24 = (string) "!=" -(const string) compare::$25 = (string) "==" -(const string) compare::$26 = (string) ">=" -(const string) compare::$27 = (string) "> " -(const string) compare::$28 = (string) "<=" -(const string) compare::$29 = (string) "< " +(const string) compare::$24[] = (string) "!=" +(const string) compare::$25[] = (string) "==" +(const string) compare::$26[] = (string) ">=" +(const string) compare::$27[] = (string) "> " +(const string) compare::$28[] = (string) "<=" +(const string) compare::$29[] = (string) "< " (bool~) compare::$3 (bool~) compare::$4 (bool~) compare::$5 @@ -1067,7 +1067,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -1132,7 +1132,7 @@ SYMBOL TABLE SSA (word) print_word::w#1 (word) print_word::w#2 (word) print_word::w#3 -(const word*) words = { (word)(number) $12, (word)(number) $3f34, (word)(number) $cfed } +(const word*) words[] = { (word)(number) $12, (word)(number) $3f34, (word)(number) $cfed } Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0 Adding number conversion cast (unumber) 0 in (bool~) print_str::$0 ← (number) 0 != *((byte*) print_str::str#2) @@ -4123,7 +4123,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#71 print_char_cursor zp[2]:10 7.333333333333333 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:13 6401.0 (byte*) print_line_cursor#19 print_line_cursor zp[2]:13 233.8888888888889 @@ -4150,7 +4150,7 @@ FINAL SYMBOL TABLE (word) print_word::w#0 w zp[2]:8 4.0 (word) print_word::w#1 w zp[2]:8 4.0 (word) print_word::w#2 w zp[2]:8 2.6666666666666665 -(const word*) words = { (word) $12, (word) $3f34, (word) $cfed } +(const word*) words[] = { (word) $12, (word) $3f34, (word) $cfed } zp[1]:2 [ main::i#2 main::i#1 ] zp[1]:3 [ main::j#2 main::j#1 ] diff --git a/src/test/ref/test-comparisons-word.sym b/src/test/ref/test-comparisons-word.sym index 02d24c952..a7de53ae8 100644 --- a/src/test/ref/test-comparisons-word.sym +++ b/src/test/ref/test-comparisons-word.sym @@ -137,7 +137,7 @@ (byte*) print_char_cursor#71 print_char_cursor zp[2]:10 7.333333333333333 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:13 6401.0 (byte*) print_line_cursor#19 print_line_cursor zp[2]:13 233.8888888888889 @@ -164,7 +164,7 @@ (word) print_word::w#0 w zp[2]:8 4.0 (word) print_word::w#1 w zp[2]:8 4.0 (word) print_word::w#2 w zp[2]:8 2.6666666666666665 -(const word*) words = { (word) $12, (word) $3f34, (word) $cfed } +(const word*) words[] = { (word) $12, (word) $3f34, (word) $cfed } zp[1]:2 [ main::i#2 main::i#1 ] zp[1]:3 [ main::j#2 main::j#1 ] diff --git a/src/test/ref/test-comparisons.log b/src/test/ref/test-comparisons.log index 979513588..42fd79214 100644 --- a/src/test/ref/test-comparisons.log +++ b/src/test/ref/test-comparisons.log @@ -1284,7 +1284,7 @@ SYMBOL TABLE SSA (byte) main::b#7 (byte) main::b#8 (byte) main::b#9 -(const byte*) main::cs = { (byte)(number) 7, (byte)(number) $c7, (byte)(number) $37, (byte)(number) $97, (byte)(number) $67 } +(const byte*) main::cs[(number) 5] = { (byte)(number) 7, (byte)(number) $c7, (byte)(number) $37, (byte)(number) $97, (byte)(number) $67 } (byte) main::i (byte) main::i#0 (byte) main::i#1 @@ -1354,26 +1354,26 @@ SYMBOL TABLE SSA (byte) main::i#7 (byte) main::i#8 (byte) main::i#9 -(const string) main::op = (string) "< " -(const string) main::op1 = (string) "< " -(const string) main::op10 = (string) "<=" -(const string) main::op11 = (string) "<=" -(const string) main::op12 = (string) ">=" -(const string) main::op13 = (string) ">=" -(const string) main::op14 = (string) ">=" -(const string) main::op15 = (string) ">=" -(const string) main::op16 = (string) "==" -(const string) main::op17 = (string) "==" -(const string) main::op18 = (string) "==" -(const string) main::op19 = (string) "==" -(const string) main::op2 = (string) "< " -(const string) main::op3 = (string) "< " -(const string) main::op4 = (string) "> " -(const string) main::op5 = (string) "> " -(const string) main::op6 = (string) "> " -(const string) main::op7 = (string) "> " -(const string) main::op8 = (string) "<=" -(const string) main::op9 = (string) "<=" +(const string) main::op[] = (string) "< " +(const string) main::op1[] = (string) "< " +(const string) main::op10[] = (string) "<=" +(const string) main::op11[] = (string) "<=" +(const string) main::op12[] = (string) ">=" +(const string) main::op13[] = (string) ">=" +(const string) main::op14[] = (string) ">=" +(const string) main::op15[] = (string) ">=" +(const string) main::op16[] = (string) "==" +(const string) main::op17[] = (string) "==" +(const string) main::op18[] = (string) "==" +(const string) main::op19[] = (string) "==" +(const string) main::op2[] = (string) "< " +(const string) main::op3[] = (string) "< " +(const string) main::op4[] = (string) "> " +(const string) main::op5[] = (string) "> " +(const string) main::op6[] = (string) "> " +(const string) main::op7[] = (string) "> " +(const string) main::op8[] = (string) "<=" +(const string) main::op9[] = (string) "<=" (byte) main::r (byte) main::r#0 (byte) main::r#1 @@ -1643,7 +1643,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -6769,15 +6769,15 @@ FINAL SYMBOL TABLE (byte) main::a#10 a zp[1]:2 3.860927152317884 (byte) main::b (byte) main::b#0 b zp[1]:12 0.9758064516129035 -(const byte*) main::cs = { (byte) 7, (byte) $c7, (byte) $37, (byte) $97, (byte) $67 } +(const byte*) main::cs[(number) 5] = { (byte) 7, (byte) $c7, (byte) $37, (byte) $97, (byte) $67 } (byte) main::i (byte) main::i#1 i zp[1]:3 11.0 (byte) main::i#10 i zp[1]:3 0.8684210526315792 -(const string) main::op = (string) "< " -(const string) main::op12 = (string) ">=" -(const string) main::op16 = (string) "==" -(const string) main::op4 = (string) "> " -(const string) main::op8 = (string) "<=" +(const string) main::op[] = (string) "< " +(const string) main::op12[] = (string) ">=" +(const string) main::op16[] = (string) "==" +(const string) main::op4[] = (string) "> " +(const string) main::op8[] = (string) "<=" (byte) main::r (byte) main::r#41 reg byte x 3.6666666666666665 (byte) main::r#42 reg byte x 5.5 @@ -6846,7 +6846,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#95 print_char_cursor zp[2]:7 222.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:10 3.2265625 (byte*) print_line_cursor#13 print_line_cursor zp[2]:10 204.0 diff --git a/src/test/ref/test-comparisons.sym b/src/test/ref/test-comparisons.sym index d6fe97889..ce5e67f2e 100644 --- a/src/test/ref/test-comparisons.sym +++ b/src/test/ref/test-comparisons.sym @@ -79,15 +79,15 @@ (byte) main::a#10 a zp[1]:2 3.860927152317884 (byte) main::b (byte) main::b#0 b zp[1]:12 0.9758064516129035 -(const byte*) main::cs = { (byte) 7, (byte) $c7, (byte) $37, (byte) $97, (byte) $67 } +(const byte*) main::cs[(number) 5] = { (byte) 7, (byte) $c7, (byte) $37, (byte) $97, (byte) $67 } (byte) main::i (byte) main::i#1 i zp[1]:3 11.0 (byte) main::i#10 i zp[1]:3 0.8684210526315792 -(const string) main::op = (string) "< " -(const string) main::op12 = (string) ">=" -(const string) main::op16 = (string) "==" -(const string) main::op4 = (string) "> " -(const string) main::op8 = (string) "<=" +(const string) main::op[] = (string) "< " +(const string) main::op12[] = (string) ">=" +(const string) main::op16[] = (string) "==" +(const string) main::op4[] = (string) "> " +(const string) main::op8[] = (string) "<=" (byte) main::r (byte) main::r#41 reg byte x 3.6666666666666665 (byte) main::r#42 reg byte x 5.5 @@ -156,7 +156,7 @@ (byte*) print_char_cursor#95 print_char_cursor zp[2]:7 222.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:10 3.2265625 (byte*) print_line_cursor#13 print_line_cursor zp[2]:10 204.0 diff --git a/src/test/ref/test-division.log b/src/test/ref/test-division.log index 4a557ee2a..0dda50aba 100644 --- a/src/test/ref/test-division.log +++ b/src/test/ref/test-division.log @@ -2126,7 +2126,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -2539,13 +2539,13 @@ SYMBOL TABLE SSA (signed word) test_16s::dividend (signed word) test_16s::dividend#0 (signed word) test_16s::dividend#1 -(const signed word*) test_16s::dividends = { (signed word)(number) $7fff, (signed word)(number) $7fff, (signed word)(number) -$7fff, (signed word)(number) -$7fff, (signed word)(number) $7fff, (signed word)(number) -$7fff } +(const signed word*) test_16s::dividends[] = { (signed word)(number) $7fff, (signed word)(number) $7fff, (signed word)(number) -$7fff, (signed word)(number) -$7fff, (signed word)(number) $7fff, (signed word)(number) -$7fff } (signed word) test_16s::divisor (signed word) test_16s::divisor#0 (signed word) test_16s::divisor#1 (signed word) test_16s::divisor#2 (signed word) test_16s::divisor#3 -(const signed word*) test_16s::divisors = { (signed word)(number) 5, (signed word)(number) -7, (signed word)(number) $b, (signed word)(number) -$d, (signed word)(number) -$11, (signed word)(number) $13 } +(const signed word*) test_16s::divisors[] = { (signed word)(number) 5, (signed word)(number) -7, (signed word)(number) $b, (signed word)(number) -$d, (signed word)(number) -$11, (signed word)(number) $13 } (byte) test_16s::i (byte) test_16s::i#0 (byte) test_16s::i#1 @@ -2565,9 +2565,9 @@ SYMBOL TABLE SSA (signed word) test_16s::res#2 (signed word) test_16s::res#3 (signed word) test_16s::res#4 -(const string) test_16s::str = (string) " / " -(const string) test_16s::str1 = (string) " = " -(const string) test_16s::str2 = (string) " " +(const string) test_16s::str[] = (string) " / " +(const string) test_16s::str1[] = (string) " = " +(const string) test_16s::str2[] = (string) " " (void()) test_16u() (word~) test_16u::$0 (byte~) test_16u::$10 @@ -2587,13 +2587,13 @@ SYMBOL TABLE SSA (word) test_16u::dividend (word) test_16u::dividend#0 (word) test_16u::dividend#1 -(const word*) test_16u::dividends = { (word)(number) $ffff, (word)(number) $ffff, (word)(number) $ffff, (word)(number) $ffff, (word)(number) $ffff, (word)(number) $ffff } +(const word*) test_16u::dividends[] = { (word)(number) $ffff, (word)(number) $ffff, (word)(number) $ffff, (word)(number) $ffff, (word)(number) $ffff, (word)(number) $ffff } (word) test_16u::divisor (word) test_16u::divisor#0 (word) test_16u::divisor#1 (word) test_16u::divisor#2 (word) test_16u::divisor#3 -(const word*) test_16u::divisors = { (word)(number) 5, (word)(number) 7, (word)(number) $b, (word)(number) $d, (word)(number) $11, (word)(number) $13 } +(const word*) test_16u::divisors[] = { (word)(number) 5, (word)(number) 7, (word)(number) $b, (word)(number) $d, (word)(number) $11, (word)(number) $13 } (byte) test_16u::i (byte) test_16u::i#0 (byte) test_16u::i#1 @@ -2613,9 +2613,9 @@ SYMBOL TABLE SSA (word) test_16u::res#2 (word) test_16u::res#3 (word) test_16u::res#4 -(const string) test_16u::str = (string) " / " -(const string) test_16u::str1 = (string) " = " -(const string) test_16u::str2 = (string) " " +(const string) test_16u::str[] = (string) " / " +(const string) test_16u::str1[] = (string) " = " +(const string) test_16u::str2[] = (string) " " (void()) test_8s() (signed byte~) test_8s::$0 (bool~) test_8s::$9 @@ -2633,13 +2633,13 @@ SYMBOL TABLE SSA (signed byte) test_8s::dividend (signed byte) test_8s::dividend#0 (signed byte) test_8s::dividend#1 -(const signed byte*) test_8s::dividends = { (signed byte)(number) $7f, (signed byte)(number) -$7f, (signed byte)(number) -$7f, (signed byte)(number) $7f, (signed byte)(number) $7f, (signed byte)(number) $7f } +(const signed byte*) test_8s::dividends[] = { (signed byte)(number) $7f, (signed byte)(number) -$7f, (signed byte)(number) -$7f, (signed byte)(number) $7f, (signed byte)(number) $7f, (signed byte)(number) $7f } (signed byte) test_8s::divisor (signed byte) test_8s::divisor#0 (signed byte) test_8s::divisor#1 (signed byte) test_8s::divisor#2 (signed byte) test_8s::divisor#3 -(const signed byte*) test_8s::divisors = { (signed byte)(number) 5, (signed byte)(number) 7, (signed byte)(number) -$b, (signed byte)(number) -$d, (signed byte)(number) $11, (signed byte)(number) $13 } +(const signed byte*) test_8s::divisors[] = { (signed byte)(number) 5, (signed byte)(number) 7, (signed byte)(number) -$b, (signed byte)(number) -$d, (signed byte)(number) $11, (signed byte)(number) $13 } (byte) test_8s::i (byte) test_8s::i#0 (byte) test_8s::i#1 @@ -2659,9 +2659,9 @@ SYMBOL TABLE SSA (signed byte) test_8s::res#2 (signed byte) test_8s::res#3 (signed byte) test_8s::res#4 -(const string) test_8s::str = (string) " / " -(const string) test_8s::str1 = (string) " = " -(const string) test_8s::str2 = (string) " " +(const string) test_8s::str[] = (string) " / " +(const string) test_8s::str1[] = (string) " = " +(const string) test_8s::str2[] = (string) " " (void()) test_8u() (byte~) test_8u::$0 (bool~) test_8u::$9 @@ -2679,13 +2679,13 @@ SYMBOL TABLE SSA (byte) test_8u::dividend (byte) test_8u::dividend#0 (byte) test_8u::dividend#1 -(const byte*) test_8u::dividends = { (byte)(number) $ff, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) $ff } +(const byte*) test_8u::dividends[] = { (byte)(number) $ff, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) $ff, (byte)(number) $ff } (byte) test_8u::divisor (byte) test_8u::divisor#0 (byte) test_8u::divisor#1 (byte) test_8u::divisor#2 (byte) test_8u::divisor#3 -(const byte*) test_8u::divisors = { (byte)(number) 5, (byte)(number) 7, (byte)(number) $b, (byte)(number) $d, (byte)(number) $11, (byte)(number) $13 } +(const byte*) test_8u::divisors[] = { (byte)(number) 5, (byte)(number) 7, (byte)(number) $b, (byte)(number) $d, (byte)(number) $11, (byte)(number) $13 } (byte) test_8u::i (byte) test_8u::i#0 (byte) test_8u::i#1 @@ -2705,9 +2705,9 @@ SYMBOL TABLE SSA (byte) test_8u::res#2 (byte) test_8u::res#3 (byte) test_8u::res#4 -(const string) test_8u::str = (string) " / " -(const string) test_8u::str1 = (string) " = " -(const string) test_8u::str2 = (string) " " +(const string) test_8u::str[] = (string) " / " +(const string) test_8u::str1[] = (string) " = " +(const string) test_8u::str2[] = (string) " " Adding number conversion cast (unumber) 0 in (bool~) memset::$0 ← (word) memset::num#1 > (number) 0 Adding number conversion cast (unumber) 0 in (bool~) print_str::$0 ← (number) 0 != *((byte*) print_str::str#13) @@ -9757,7 +9757,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#84 print_char_cursor zp[2]:5 8.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:15 3.833333333333334 (byte*) print_line_cursor#20 print_line_cursor zp[2]:15 204.0 @@ -9825,9 +9825,9 @@ FINAL SYMBOL TABLE (signed byte) rem8s#33 reg byte x 4.0 (byte) rem8u (byte) rem8u#17 reg byte x 0.5 -(const string) str = (string) " / " -(const string) str1 = (string) " = " -(const string) str2 = (string) " " +(const string) str[] = (string) " / " +(const string) str1[] = (string) " = " +(const string) str2[] = (string) " " (void()) test_16s() (byte~) test_16s::$11 reg byte x 16.5 (label) test_16s::@1 @@ -9843,10 +9843,10 @@ FINAL SYMBOL TABLE (label) test_16s::@return (signed word) test_16s::dividend (signed word) test_16s::dividend#0 dividend zp[2]:3 4.714285714285714 -(const signed word*) test_16s::dividends = { (signed word) $7fff, (signed word) $7fff, (signed word) -$7fff, (signed word) -$7fff, (signed word) $7fff, (signed word) -$7fff } +(const signed word*) test_16s::dividends[] = { (signed word) $7fff, (signed word) $7fff, (signed word) -$7fff, (signed word) -$7fff, (signed word) $7fff, (signed word) -$7fff } (signed word) test_16s::divisor (signed word) test_16s::divisor#0 divisor zp[2]:17 3.0 -(const signed word*) test_16s::divisors = { (signed word) 5, (signed word) -7, (signed word) $b, (signed word) -$d, (signed word) -$11, (signed word) $13 } +(const signed word*) test_16s::divisors[] = { (signed word) 5, (signed word) -7, (signed word) $b, (signed word) -$d, (signed word) -$11, (signed word) $13 } (byte) test_16s::i (byte) test_16s::i#1 i zp[1]:13 16.5 (byte) test_16s::i#10 i zp[1]:13 1.2692307692307692 @@ -9867,10 +9867,10 @@ FINAL SYMBOL TABLE (label) test_16u::@return (word) test_16u::dividend (word) test_16u::dividend#0 dividend zp[2]:3 4.714285714285714 -(const word*) test_16u::dividends = { (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff } +(const word*) test_16u::dividends[] = { (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff } (word) test_16u::divisor (word) test_16u::divisor#0 divisor zp[2]:7 3.0 -(const word*) test_16u::divisors = { (word) 5, (word) 7, (word) $b, (word) $d, (word) $11, (word) $13 } +(const word*) test_16u::divisors[] = { (word) 5, (word) 7, (word) $b, (word) $d, (word) $11, (word) $13 } (byte) test_16u::i (byte) test_16u::i#1 i zp[1]:14 16.5 (byte) test_16u::i#10 i zp[1]:14 1.2692307692307692 @@ -9890,10 +9890,10 @@ FINAL SYMBOL TABLE (label) test_8s::@return (signed byte) test_8s::dividend (signed byte) test_8s::dividend#0 dividend zp[1]:2 4.714285714285714 -(const signed byte*) test_8s::dividends = { (signed byte) $7f, (signed byte) -$7f, (signed byte) -$7f, (signed byte) $7f, (signed byte) $7f, (signed byte) $7f } +(const signed byte*) test_8s::dividends[] = { (signed byte) $7f, (signed byte) -$7f, (signed byte) -$7f, (signed byte) $7f, (signed byte) $7f, (signed byte) $7f } (signed byte) test_8s::divisor (signed byte) test_8s::divisor#0 divisor zp[1]:19 3.0 -(const signed byte*) test_8s::divisors = { (signed byte) 5, (signed byte) 7, (signed byte) -$b, (signed byte) -$d, (signed byte) $11, (signed byte) $13 } +(const signed byte*) test_8s::divisors[] = { (signed byte) 5, (signed byte) 7, (signed byte) -$b, (signed byte) -$d, (signed byte) $11, (signed byte) $13 } (byte) test_8s::i (byte) test_8s::i#1 i zp[1]:13 16.5 (byte) test_8s::i#10 i zp[1]:13 1.76 @@ -9914,10 +9914,10 @@ FINAL SYMBOL TABLE (label) test_8u::@return (byte) test_8u::dividend (byte) test_8u::dividend#0 dividend zp[1]:2 4.714285714285714 -(const byte*) test_8u::dividends = { (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff } +(const byte*) test_8u::dividends[] = { (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff } (byte) test_8u::divisor (byte) test_8u::divisor#0 divisor zp[1]:21 3.3000000000000003 -(const byte*) test_8u::divisors = { (byte) 5, (byte) 7, (byte) $b, (byte) $d, (byte) $11, (byte) $13 } +(const byte*) test_8u::divisors[] = { (byte) 5, (byte) 7, (byte) $b, (byte) $d, (byte) $11, (byte) $13 } (byte) test_8u::i (byte) test_8u::i#1 i zp[1]:19 11.0 (byte) test_8u::i#10 i zp[1]:19 1.8333333333333333 diff --git a/src/test/ref/test-division.sym b/src/test/ref/test-division.sym index fe4e21e71..caa9452a4 100644 --- a/src/test/ref/test-division.sym +++ b/src/test/ref/test-division.sym @@ -244,7 +244,7 @@ (byte*) print_char_cursor#84 print_char_cursor zp[2]:5 8.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:15 3.833333333333334 (byte*) print_line_cursor#20 print_line_cursor zp[2]:15 204.0 @@ -312,9 +312,9 @@ (signed byte) rem8s#33 reg byte x 4.0 (byte) rem8u (byte) rem8u#17 reg byte x 0.5 -(const string) str = (string) " / " -(const string) str1 = (string) " = " -(const string) str2 = (string) " " +(const string) str[] = (string) " / " +(const string) str1[] = (string) " = " +(const string) str2[] = (string) " " (void()) test_16s() (byte~) test_16s::$11 reg byte x 16.5 (label) test_16s::@1 @@ -330,10 +330,10 @@ (label) test_16s::@return (signed word) test_16s::dividend (signed word) test_16s::dividend#0 dividend zp[2]:3 4.714285714285714 -(const signed word*) test_16s::dividends = { (signed word) $7fff, (signed word) $7fff, (signed word) -$7fff, (signed word) -$7fff, (signed word) $7fff, (signed word) -$7fff } +(const signed word*) test_16s::dividends[] = { (signed word) $7fff, (signed word) $7fff, (signed word) -$7fff, (signed word) -$7fff, (signed word) $7fff, (signed word) -$7fff } (signed word) test_16s::divisor (signed word) test_16s::divisor#0 divisor zp[2]:17 3.0 -(const signed word*) test_16s::divisors = { (signed word) 5, (signed word) -7, (signed word) $b, (signed word) -$d, (signed word) -$11, (signed word) $13 } +(const signed word*) test_16s::divisors[] = { (signed word) 5, (signed word) -7, (signed word) $b, (signed word) -$d, (signed word) -$11, (signed word) $13 } (byte) test_16s::i (byte) test_16s::i#1 i zp[1]:13 16.5 (byte) test_16s::i#10 i zp[1]:13 1.2692307692307692 @@ -354,10 +354,10 @@ (label) test_16u::@return (word) test_16u::dividend (word) test_16u::dividend#0 dividend zp[2]:3 4.714285714285714 -(const word*) test_16u::dividends = { (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff } +(const word*) test_16u::dividends[] = { (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff, (word) $ffff } (word) test_16u::divisor (word) test_16u::divisor#0 divisor zp[2]:7 3.0 -(const word*) test_16u::divisors = { (word) 5, (word) 7, (word) $b, (word) $d, (word) $11, (word) $13 } +(const word*) test_16u::divisors[] = { (word) 5, (word) 7, (word) $b, (word) $d, (word) $11, (word) $13 } (byte) test_16u::i (byte) test_16u::i#1 i zp[1]:14 16.5 (byte) test_16u::i#10 i zp[1]:14 1.2692307692307692 @@ -377,10 +377,10 @@ (label) test_8s::@return (signed byte) test_8s::dividend (signed byte) test_8s::dividend#0 dividend zp[1]:2 4.714285714285714 -(const signed byte*) test_8s::dividends = { (signed byte) $7f, (signed byte) -$7f, (signed byte) -$7f, (signed byte) $7f, (signed byte) $7f, (signed byte) $7f } +(const signed byte*) test_8s::dividends[] = { (signed byte) $7f, (signed byte) -$7f, (signed byte) -$7f, (signed byte) $7f, (signed byte) $7f, (signed byte) $7f } (signed byte) test_8s::divisor (signed byte) test_8s::divisor#0 divisor zp[1]:19 3.0 -(const signed byte*) test_8s::divisors = { (signed byte) 5, (signed byte) 7, (signed byte) -$b, (signed byte) -$d, (signed byte) $11, (signed byte) $13 } +(const signed byte*) test_8s::divisors[] = { (signed byte) 5, (signed byte) 7, (signed byte) -$b, (signed byte) -$d, (signed byte) $11, (signed byte) $13 } (byte) test_8s::i (byte) test_8s::i#1 i zp[1]:13 16.5 (byte) test_8s::i#10 i zp[1]:13 1.76 @@ -401,10 +401,10 @@ (label) test_8u::@return (byte) test_8u::dividend (byte) test_8u::dividend#0 dividend zp[1]:2 4.714285714285714 -(const byte*) test_8u::dividends = { (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff } +(const byte*) test_8u::dividends[] = { (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff, (byte) $ff } (byte) test_8u::divisor (byte) test_8u::divisor#0 divisor zp[1]:21 3.3000000000000003 -(const byte*) test_8u::divisors = { (byte) 5, (byte) 7, (byte) $b, (byte) $d, (byte) $11, (byte) $13 } +(const byte*) test_8u::divisors[] = { (byte) 5, (byte) 7, (byte) $b, (byte) $d, (byte) $11, (byte) $13 } (byte) test_8u::i (byte) test_8u::i#1 i zp[1]:19 11.0 (byte) test_8u::i#10 i zp[1]:19 1.8333333333333333 diff --git a/src/test/ref/test-keyboard-space.log b/src/test/ref/test-keyboard-space.log index c7b9f5861..33ec7b113 100644 --- a/src/test/ref/test-keyboard-space.log +++ b/src/test/ref/test-keyboard-space.log @@ -148,7 +148,7 @@ SYMBOL TABLE SSA (byte) keyboard_key_pressed::return#4 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 -(const byte*) keyboard_matrix_col_bitmask = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte~) keyboard_matrix_read::$0 (label) keyboard_matrix_read::@return @@ -163,7 +163,7 @@ SYMBOL TABLE SSA (byte) keyboard_matrix_read::rowid (byte) keyboard_matrix_read::rowid#0 (byte) keyboard_matrix_read::rowid#1 -(const byte*) keyboard_matrix_row_bitmask = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } (void()) main() (bool~) main::$1 (byte~) main::$2 @@ -796,7 +796,7 @@ FINAL SYMBOL TABLE (byte) keyboard_key_pressed::return#2 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE>>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -804,7 +804,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$2 reg byte a 22.0 (label) main::@1 diff --git a/src/test/ref/test-keyboard-space.sym b/src/test/ref/test-keyboard-space.sym index c71b766e4..f658894ab 100644 --- a/src/test/ref/test-keyboard-space.sym +++ b/src/test/ref/test-keyboard-space.sym @@ -24,7 +24,7 @@ (byte) keyboard_key_pressed::return#2 reg byte a 22.0 (byte) keyboard_key_pressed::rowidx (const byte) keyboard_key_pressed::rowidx#0 rowidx = (const byte) KEY_SPACE>>(byte) 3 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -32,7 +32,7 @@ (byte) keyboard_matrix_read::return#2 reg byte a 4.0 (byte) keyboard_matrix_read::row_pressed_bits (byte) keyboard_matrix_read::rowid -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$2 reg byte a 22.0 (label) main::@1 diff --git a/src/test/ref/test-keyboard.log b/src/test/ref/test-keyboard.log index 6a71be647..d39c3c619 100644 --- a/src/test/ref/test-keyboard.log +++ b/src/test/ref/test-keyboard.log @@ -314,7 +314,7 @@ SYMBOL TABLE SSA (const byte) KEY_Y = (number) $19 (const byte) KEY_Z = (number) $c (const byte*) RASTER = (byte*)(number) $d012 -(const byte*) keyboard_char_keycodes = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte)(number) $3f, (const byte) KEY_POUND, (byte)(number) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte)(number) $3f, (const byte) KEY_EQUALS, (byte)(number) $3f, (byte)(number) $3f } +(const byte*) keyboard_char_keycodes[] = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte)(number) $3f, (const byte) KEY_POUND, (byte)(number) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (byte)(number) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte)(number) $3f, (const byte) KEY_EQUALS, (byte)(number) $3f, (byte)(number) $3f } (byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch) (label) keyboard_get_keycode::@return (byte) keyboard_get_keycode::ch @@ -349,7 +349,7 @@ SYMBOL TABLE SSA (byte) keyboard_key_pressed::return#4 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 -(const byte*) keyboard_matrix_col_bitmask = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 4, (byte)(number) 8, (byte)(number) $10, (byte)(number) $20, (byte)(number) $40, (byte)(number) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (byte~) keyboard_matrix_read::$0 (label) keyboard_matrix_read::@return @@ -367,7 +367,7 @@ SYMBOL TABLE SSA (byte) keyboard_matrix_read::rowid#0 (byte) keyboard_matrix_read::rowid#1 (byte) keyboard_matrix_read::rowid#2 -(const byte*) keyboard_matrix_row_bitmask = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte)(number) $fe, (byte)(number) $fd, (byte)(number) $fb, (byte)(number) $f7, (byte)(number) $ef, (byte)(number) $df, (byte)(number) $bf, (byte)(number) $7f } (void()) main() (bool~) main::$1 (byte*~) main::$10 @@ -2172,7 +2172,7 @@ FINAL SYMBOL TABLE (const byte) KEY_Y = (number) $19 (const byte) KEY_Z = (number) $c (const byte*) RASTER = (byte*) 53266 -(const byte*) keyboard_char_keycodes = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte) $3f, (const byte) KEY_POUND, (byte) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte) $3f, (const byte) KEY_EQUALS, (byte) $3f, (byte) $3f } +(const byte*) keyboard_char_keycodes[] = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte) $3f, (const byte) KEY_POUND, (byte) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte) $3f, (const byte) KEY_EQUALS, (byte) $3f, (byte) $3f } (byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch) (label) keyboard_get_keycode::@return (byte) keyboard_get_keycode::ch @@ -2195,7 +2195,7 @@ FINAL SYMBOL TABLE (byte) keyboard_key_pressed::return#2 reg byte a 202.0 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -2207,7 +2207,7 @@ FINAL SYMBOL TABLE (byte) keyboard_matrix_read::rowid#0 reg byte y 4.0 (byte) keyboard_matrix_read::rowid#1 reg byte y 202.0 (byte) keyboard_matrix_read::rowid#2 reg byte y 105.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$14 reg byte a 202.0 (byte~) main::$4 reg byte a 2002.0 diff --git a/src/test/ref/test-keyboard.sym b/src/test/ref/test-keyboard.sym index bc64caa90..b5b5c478a 100644 --- a/src/test/ref/test-keyboard.sym +++ b/src/test/ref/test-keyboard.sym @@ -56,7 +56,7 @@ (const byte) KEY_Y = (number) $19 (const byte) KEY_Z = (number) $c (const byte*) RASTER = (byte*) 53266 -(const byte*) keyboard_char_keycodes = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte) $3f, (const byte) KEY_POUND, (byte) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte) $3f, (const byte) KEY_EQUALS, (byte) $3f, (byte) $3f } +(const byte*) keyboard_char_keycodes[] = { (const byte) KEY_AT, (const byte) KEY_A, (const byte) KEY_B, (const byte) KEY_C, (const byte) KEY_D, (const byte) KEY_E, (const byte) KEY_F, (const byte) KEY_G, (const byte) KEY_H, (const byte) KEY_I, (const byte) KEY_J, (const byte) KEY_K, (const byte) KEY_L, (const byte) KEY_M, (const byte) KEY_N, (const byte) KEY_O, (const byte) KEY_P, (const byte) KEY_Q, (const byte) KEY_R, (const byte) KEY_S, (const byte) KEY_T, (const byte) KEY_U, (const byte) KEY_V, (const byte) KEY_W, (const byte) KEY_X, (const byte) KEY_Y, (const byte) KEY_Z, (byte) $3f, (const byte) KEY_POUND, (byte) $3f, (const byte) KEY_ARROW_UP, (const byte) KEY_ARROW_LEFT, (const byte) KEY_SPACE, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (byte) $3f, (const byte) KEY_ASTERISK, (const byte) KEY_PLUS, (const byte) KEY_COMMA, (const byte) KEY_MINUS, (const byte) KEY_DOT, (const byte) KEY_SLASH, (const byte) KEY_0, (const byte) KEY_1, (const byte) KEY_2, (const byte) KEY_3, (const byte) KEY_4, (const byte) KEY_5, (const byte) KEY_6, (const byte) KEY_7, (const byte) KEY_8, (const byte) KEY_9, (const byte) KEY_COLON, (const byte) KEY_SEMICOLON, (byte) $3f, (const byte) KEY_EQUALS, (byte) $3f, (byte) $3f } (byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch) (label) keyboard_get_keycode::@return (byte) keyboard_get_keycode::ch @@ -79,7 +79,7 @@ (byte) keyboard_key_pressed::return#2 reg byte a 202.0 (byte) keyboard_key_pressed::rowidx (byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0 -(const byte*) keyboard_matrix_col_bitmask = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } +(const byte*) keyboard_matrix_col_bitmask[(number) 8] = { (byte) 1, (byte) 2, (byte) 4, (byte) 8, (byte) $10, (byte) $20, (byte) $40, (byte) $80 } (byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid) (label) keyboard_matrix_read::@return (byte) keyboard_matrix_read::return @@ -91,7 +91,7 @@ (byte) keyboard_matrix_read::rowid#0 reg byte y 4.0 (byte) keyboard_matrix_read::rowid#1 reg byte y 202.0 (byte) keyboard_matrix_read::rowid#2 reg byte y 105.0 -(const byte*) keyboard_matrix_row_bitmask = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } +(const byte*) keyboard_matrix_row_bitmask[(number) 8] = { (byte) $fe, (byte) $fd, (byte) $fb, (byte) $f7, (byte) $ef, (byte) $df, (byte) $bf, (byte) $7f } (void()) main() (byte~) main::$14 reg byte a 202.0 (byte~) main::$4 reg byte a 2002.0 diff --git a/src/test/ref/test-lowhigh.log b/src/test/ref/test-lowhigh.log index f309acd5b..caea165e2 100644 --- a/src/test/ref/test-lowhigh.log +++ b/src/test/ref/test-lowhigh.log @@ -673,7 +673,7 @@ SYMBOL TABLE SSA (dword) print_dword::dw#0 (dword) print_dword::dw#1 (dword) print_dword::dw#2 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -2855,7 +2855,7 @@ FINAL SYMBOL TABLE (label) print_dword::@return (dword) print_dword::dw (dword) print_dword::dw#0 dw zp[4]:10 3.75 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:16 54.16666666666666 (byte*) print_line_cursor#15 print_line_cursor_1 zp[2]:6 0.325 diff --git a/src/test/ref/test-lowhigh.sym b/src/test/ref/test-lowhigh.sym index 5ed2d44bf..6356f1cdb 100644 --- a/src/test/ref/test-lowhigh.sym +++ b/src/test/ref/test-lowhigh.sym @@ -86,7 +86,7 @@ (label) print_dword::@return (dword) print_dword::dw (dword) print_dword::dw#0 dw zp[4]:10 3.75 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:16 54.16666666666666 (byte*) print_line_cursor#15 print_line_cursor_1 zp[2]:6 0.325 diff --git a/src/test/ref/test-multiply-16bit.log b/src/test/ref/test-multiply-16bit.log index 3e6d54332..2c1cd31d7 100644 --- a/src/test/ref/test-multiply-16bit.log +++ b/src/test/ref/test-multiply-16bit.log @@ -1784,8 +1784,8 @@ SYMBOL TABLE SSA (byte) mul16s_compare::ok#2 (byte) mul16s_compare::ok#3 (byte) mul16s_compare::ok#4 -(const string) mul16s_compare::str = (string) "." -(const string) mul16s_compare::str1 = (string) "signed word multiply results match!" +(const string) mul16s_compare::str[] = (string) "." +(const string) mul16s_compare::str1[] = (string) "signed word multiply results match!" (void()) mul16s_error((signed word) mul16s_error::a , (signed word) mul16s_error::b , (signed dword) mul16s_error::ms , (signed dword) mul16s_error::mn , (signed dword) mul16s_error::mf) (label) mul16s_error::@1 (label) mul16s_error::@10 @@ -1839,11 +1839,11 @@ SYMBOL TABLE SSA (signed dword) mul16s_error::ms#4 (signed dword) mul16s_error::ms#5 (signed dword) mul16s_error::ms#6 -(const string) mul16s_error::str = (string) "signed word multiply mismatch " -(const string) mul16s_error::str1 = (string) "*" -(const string) mul16s_error::str2 = (string) " slow:" -(const string) mul16s_error::str3 = (string) " / normal:" -(const string) mul16s_error::str4 = (string) " / fast:" +(const string) mul16s_error::str[] = (string) "signed word multiply mismatch " +(const string) mul16s_error::str1[] = (string) "*" +(const string) mul16s_error::str2[] = (string) " slow:" +(const string) mul16s_error::str3[] = (string) " / normal:" +(const string) mul16s_error::str4[] = (string) " / fast:" (dword()) mul16u((word) mul16u::a , (word) mul16u::b) (bool~) mul16u::$0 (number~) mul16u::$1 @@ -2016,8 +2016,8 @@ SYMBOL TABLE SSA (byte) mul16u_compare::ok#2 (byte) mul16u_compare::ok#3 (byte) mul16u_compare::ok#4 -(const string) mul16u_compare::str = (string) "." -(const string) mul16u_compare::str1 = (string) "word multiply results match!" +(const string) mul16u_compare::str[] = (string) "." +(const string) mul16u_compare::str1[] = (string) "word multiply results match!" (void()) mul16u_error((word) mul16u_error::a , (word) mul16u_error::b , (dword) mul16u_error::ms , (dword) mul16u_error::mn , (dword) mul16u_error::mf) (label) mul16u_error::@1 (label) mul16u_error::@10 @@ -2071,11 +2071,11 @@ SYMBOL TABLE SSA (dword) mul16u_error::ms#4 (dword) mul16u_error::ms#5 (dword) mul16u_error::ms#6 -(const string) mul16u_error::str = (string) "multiply mismatch " -(const string) mul16u_error::str1 = (string) "*" -(const string) mul16u_error::str2 = (string) " slow:" -(const string) mul16u_error::str3 = (string) " / normal:" -(const string) mul16u_error::str4 = (string) " / fast:" +(const string) mul16u_error::str[] = (string) "multiply mismatch " +(const string) mul16u_error::str1[] = (string) "*" +(const string) mul16u_error::str2[] = (string) " slow:" +(const string) mul16u_error::str3[] = (string) " / normal:" +(const string) mul16u_error::str4[] = (string) " / fast:" (signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b) (word~) mulf16s::$0 (word~) mulf16s::$1 @@ -2233,10 +2233,10 @@ SYMBOL TABLE SSA (byte) mulf_init::x_255#3 (byte) mulf_init::x_255#4 (byte) mulf_init::x_255#5 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (signed dword()) muls16s((signed word) muls16s::a , (signed word) muls16s::b) (bool~) muls16s::$0 (bool~) muls16s::$1 @@ -2559,7 +2559,7 @@ SYMBOL TABLE SSA (dword) print_dword::dw#3 (dword) print_dword::dw#4 (dword) print_dword::dw#5 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -11084,7 +11084,7 @@ FINAL SYMBOL TABLE (byte) mul16s_compare::ok (byte) mul16s_compare::ok#3 reg byte x 202.0 (byte) mul16s_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul16s_compare::str1 = (string) "signed word multiply results match!" +(const string) mul16s_compare::str1[] = (string) "signed word multiply results match!" (void()) mul16s_error((signed word) mul16s_error::a , (signed word) mul16s_error::b , (signed dword) mul16s_error::ms , (signed dword) mul16s_error::mn , (signed dword) mul16s_error::mf) (label) mul16s_error::@1 (label) mul16s_error::@10 @@ -11107,7 +11107,7 @@ FINAL SYMBOL TABLE (signed dword) mul16s_error::mn#0 mn zp[4]:6 0.25 (signed dword) mul16s_error::ms (signed dword) mul16s_error::ms#0 ms zp[4]:2 0.3076923076923077 -(const string) mul16s_error::str = (string) "signed word multiply mismatch " +(const string) mul16s_error::str[] = (string) "signed word multiply mismatch " (dword()) mul16u((word) mul16u::a , (word) mul16u::b) (byte~) mul16u::$1 reg byte a 2002.0 (label) mul16u::@1 @@ -11175,7 +11175,7 @@ FINAL SYMBOL TABLE (byte) mul16u_compare::ok (byte) mul16u_compare::ok#3 reg byte x 202.0 (byte) mul16u_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul16u_compare::str1 = (string) "word multiply results match!" +(const string) mul16u_compare::str1[] = (string) "word multiply results match!" (void()) mul16u_error((word) mul16u_error::a , (word) mul16u_error::b , (dword) mul16u_error::ms , (dword) mul16u_error::mn , (dword) mul16u_error::mf) (label) mul16u_error::@1 (label) mul16u_error::@10 @@ -11198,7 +11198,7 @@ FINAL SYMBOL TABLE (dword) mul16u_error::mn#0 mn zp[4]:6 0.25 (dword) mul16u_error::ms (dword) mul16u_error::ms#0 ms zp[4]:2 0.3076923076923077 -(const string) mul16u_error::str = (string) "multiply mismatch " +(const string) mul16u_error::str[] = (string) "multiply mismatch " (signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b) (word~) mulf16s::$13 zp[2]:30 4.0 (word~) mulf16s::$16 zp[2]:28 4.0 @@ -11284,10 +11284,10 @@ FINAL SYMBOL TABLE (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (signed dword()) muls16s((signed word) muls16s::a , (signed word) muls16s::b) (label) muls16s::@1 (label) muls16s::@2 @@ -11373,7 +11373,7 @@ FINAL SYMBOL TABLE (dword) print_dword::dw#2 dw zp[4]:2 4.0 (dword) print_dword::dw#3 dw zp[4]:2 4.0 (dword) print_dword::dw#4 dw zp[4]:2 3.9999999999999996 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:19 0.6025641025641025 (byte*) print_line_cursor#22 print_line_cursor zp[2]:19 24.0 @@ -11425,11 +11425,11 @@ FINAL SYMBOL TABLE (word) print_word::w#3 w zp[2]:14 4.0 (word) print_word::w#4 w zp[2]:14 4.0 (word) print_word::w#5 w zp[2]:14 4.666666666666666 -(const string) str = (string) "." -(const string) str1 = (string) "*" -(const string) str2 = (string) " slow:" -(const string) str3 = (string) " / normal:" -(const string) str4 = (string) " / fast:" +(const string) str[] = (string) "." +(const string) str1[] = (string) "*" +(const string) str2[] = (string) " slow:" +(const string) str3[] = (string) " / normal:" +(const string) str4[] = (string) " / fast:" reg byte y [ mul16s_compare::j#10 mul16s_compare::j#1 ] reg byte x [ mul16s_compare::ok#3 mul16s_compare::ok#4 ] diff --git a/src/test/ref/test-multiply-16bit.sym b/src/test/ref/test-multiply-16bit.sym index cc916a4ec..c2482200c 100644 --- a/src/test/ref/test-multiply-16bit.sym +++ b/src/test/ref/test-multiply-16bit.sym @@ -91,7 +91,7 @@ (byte) mul16s_compare::ok (byte) mul16s_compare::ok#3 reg byte x 202.0 (byte) mul16s_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul16s_compare::str1 = (string) "signed word multiply results match!" +(const string) mul16s_compare::str1[] = (string) "signed word multiply results match!" (void()) mul16s_error((signed word) mul16s_error::a , (signed word) mul16s_error::b , (signed dword) mul16s_error::ms , (signed dword) mul16s_error::mn , (signed dword) mul16s_error::mf) (label) mul16s_error::@1 (label) mul16s_error::@10 @@ -114,7 +114,7 @@ (signed dword) mul16s_error::mn#0 mn zp[4]:6 0.25 (signed dword) mul16s_error::ms (signed dword) mul16s_error::ms#0 ms zp[4]:2 0.3076923076923077 -(const string) mul16s_error::str = (string) "signed word multiply mismatch " +(const string) mul16s_error::str[] = (string) "signed word multiply mismatch " (dword()) mul16u((word) mul16u::a , (word) mul16u::b) (byte~) mul16u::$1 reg byte a 2002.0 (label) mul16u::@1 @@ -182,7 +182,7 @@ (byte) mul16u_compare::ok (byte) mul16u_compare::ok#3 reg byte x 202.0 (byte) mul16u_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul16u_compare::str1 = (string) "word multiply results match!" +(const string) mul16u_compare::str1[] = (string) "word multiply results match!" (void()) mul16u_error((word) mul16u_error::a , (word) mul16u_error::b , (dword) mul16u_error::ms , (dword) mul16u_error::mn , (dword) mul16u_error::mf) (label) mul16u_error::@1 (label) mul16u_error::@10 @@ -205,7 +205,7 @@ (dword) mul16u_error::mn#0 mn zp[4]:6 0.25 (dword) mul16u_error::ms (dword) mul16u_error::ms#0 ms zp[4]:2 0.3076923076923077 -(const string) mul16u_error::str = (string) "multiply mismatch " +(const string) mul16u_error::str[] = (string) "multiply mismatch " (signed dword()) mulf16s((signed word) mulf16s::a , (signed word) mulf16s::b) (word~) mulf16s::$13 zp[2]:30 4.0 (word~) mulf16s::$16 zp[2]:28 4.0 @@ -291,10 +291,10 @@ (byte) mulf_init::x_255 (byte) mulf_init::x_255#1 reg byte x 6.6000000000000005 (byte) mulf_init::x_255#2 reg byte x 8.8 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (signed dword()) muls16s((signed word) muls16s::a , (signed word) muls16s::b) (label) muls16s::@1 (label) muls16s::@2 @@ -380,7 +380,7 @@ (dword) print_dword::dw#2 dw zp[4]:2 4.0 (dword) print_dword::dw#3 dw zp[4]:2 4.0 (dword) print_dword::dw#4 dw zp[4]:2 3.9999999999999996 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:19 0.6025641025641025 (byte*) print_line_cursor#22 print_line_cursor zp[2]:19 24.0 @@ -432,11 +432,11 @@ (word) print_word::w#3 w zp[2]:14 4.0 (word) print_word::w#4 w zp[2]:14 4.0 (word) print_word::w#5 w zp[2]:14 4.666666666666666 -(const string) str = (string) "." -(const string) str1 = (string) "*" -(const string) str2 = (string) " slow:" -(const string) str3 = (string) " / normal:" -(const string) str4 = (string) " / fast:" +(const string) str[] = (string) "." +(const string) str1[] = (string) "*" +(const string) str2[] = (string) " slow:" +(const string) str3[] = (string) " / normal:" +(const string) str4[] = (string) " / fast:" reg byte y [ mul16s_compare::j#10 mul16s_compare::j#1 ] reg byte x [ mul16s_compare::ok#3 mul16s_compare::ok#4 ] diff --git a/src/test/ref/test-multiply-8bit.log b/src/test/ref/test-multiply-8bit.log index a5c30225f..965c8c06f 100644 --- a/src/test/ref/test-multiply-8bit.log +++ b/src/test/ref/test-multiply-8bit.log @@ -1848,7 +1848,7 @@ SYMBOL TABLE SSA (byte) mul8s_compare::ok#2 (byte) mul8s_compare::ok#3 (byte) mul8s_compare::ok#4 -(const string) mul8s_compare::str = (string) "signed multiply results match!" +(const string) mul8s_compare::str[] = (string) "signed multiply results match!" (void()) mul8s_error((signed byte) mul8s_error::a , (signed byte) mul8s_error::b , (signed word) mul8s_error::ms , (signed word) mul8s_error::mn , (signed word) mul8s_error::mf) (label) mul8s_error::@1 (label) mul8s_error::@10 @@ -1902,11 +1902,11 @@ SYMBOL TABLE SSA (signed word) mul8s_error::ms#4 (signed word) mul8s_error::ms#5 (signed word) mul8s_error::ms#6 -(const string) mul8s_error::str = (string) "signed multiply mismatch " -(const string) mul8s_error::str1 = (string) "*" -(const string) mul8s_error::str2 = (string) " slow:" -(const string) mul8s_error::str3 = (string) " / normal:" -(const string) mul8s_error::str4 = (string) " / fast:" +(const string) mul8s_error::str[] = (string) "signed multiply mismatch " +(const string) mul8s_error::str1[] = (string) "*" +(const string) mul8s_error::str2[] = (string) " slow:" +(const string) mul8s_error::str3[] = (string) " / normal:" +(const string) mul8s_error::str4[] = (string) " / fast:" (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (bool~) mul8u::$0 (number~) mul8u::$1 @@ -2044,7 +2044,7 @@ SYMBOL TABLE SSA (byte) mul8u_compare::ok#2 (byte) mul8u_compare::ok#3 (byte) mul8u_compare::ok#4 -(const string) mul8u_compare::str = (string) "multiply results match!" +(const string) mul8u_compare::str[] = (string) "multiply results match!" (void()) mul8u_error((byte) mul8u_error::a , (byte) mul8u_error::b , (word) mul8u_error::ms , (word) mul8u_error::mn , (word) mul8u_error::mf) (label) mul8u_error::@1 (label) mul8u_error::@10 @@ -2098,15 +2098,15 @@ SYMBOL TABLE SSA (word) mul8u_error::ms#4 (word) mul8u_error::ms#5 (word) mul8u_error::ms#6 -(const string) mul8u_error::str = (string) "multiply mismatch " -(const string) mul8u_error::str1 = (string) "*" -(const string) mul8u_error::str2 = (string) " slow:" -(const string) mul8u_error::str3 = (string) " / normal:" -(const string) mul8u_error::str4 = (string) " / fast:" -(const byte*) mula_sqr1_hi = { fill( $200, 0) } -(const byte*) mula_sqr1_lo = { fill( $200, 0) } -(const byte*) mula_sqr2_hi = { fill( $200, 0) } -(const byte*) mula_sqr2_lo = { fill( $200, 0) } +(const string) mul8u_error::str[] = (string) "multiply mismatch " +(const string) mul8u_error::str1[] = (string) "*" +(const string) mul8u_error::str2[] = (string) " slow:" +(const string) mul8u_error::str3[] = (string) " / normal:" +(const string) mul8u_error::str4[] = (string) " / fast:" +(const byte*) mula_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mula_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mula_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mula_sqr2_lo[(number) $200] = { fill( $200, 0) } (signed word()) mulf8s((signed byte) mulf8s::a , (signed byte) mulf8s::b) (signed word~) mulf8s::$1 (label) mulf8s::@2 @@ -2306,10 +2306,10 @@ SYMBOL TABLE SSA (void()) mulf_init_asm() (label) mulf_init_asm::@return (const byte*) mulf_init_asm::mem = (byte*)(number) $ff -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) mulf_tables_cmp() (bool~) mulf_tables_cmp::$2 (bool~) mulf_tables_cmp::$3 @@ -2346,9 +2346,9 @@ SYMBOL TABLE SSA (byte*) mulf_tables_cmp::kc_sqr#6 (byte*) mulf_tables_cmp::kc_sqr#7 (byte*) mulf_tables_cmp::kc_sqr#8 -(const string) mulf_tables_cmp::str = (string) "multiply tables match!" -(const string) mulf_tables_cmp::str1 = (string) "multiply table mismatch at " -(const string) mulf_tables_cmp::str2 = (string) " / " +(const string) mulf_tables_cmp::str[] = (string) "multiply tables match!" +(const string) mulf_tables_cmp::str1[] = (string) "multiply table mismatch at " +(const string) mulf_tables_cmp::str2[] = (string) " / " (signed word()) muls8s((signed byte) muls8s::a , (signed byte) muls8s::b) (bool~) muls8s::$0 (bool~) muls8s::$1 @@ -2671,7 +2671,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -10931,7 +10931,7 @@ FINAL SYMBOL TABLE (byte) mul8s_compare::ok (byte) mul8s_compare::ok#3 reg byte x 202.0 (byte) mul8s_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul8s_compare::str = (string) "signed multiply results match!" +(const string) mul8s_compare::str[] = (string) "signed multiply results match!" (void()) mul8s_error((signed byte) mul8s_error::a , (signed byte) mul8s_error::b , (signed word) mul8s_error::ms , (signed word) mul8s_error::mn , (signed word) mul8s_error::mf) (label) mul8s_error::@1 (label) mul8s_error::@10 @@ -10954,7 +10954,7 @@ FINAL SYMBOL TABLE (signed word) mul8s_error::mn#0 mn zp[2]:8 0.25 (signed word) mul8s_error::ms (signed word) mul8s_error::ms#0 ms zp[2]:4 0.3076923076923077 -(const string) mul8s_error::str = (string) "signed multiply mismatch " +(const string) mul8s_error::str[] = (string) "signed multiply mismatch " (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (byte~) mul8u::$1 reg byte a 2002.0 (label) mul8u::@1 @@ -11013,7 +11013,7 @@ FINAL SYMBOL TABLE (byte) mul8u_compare::ok (byte) mul8u_compare::ok#3 reg byte x 202.0 (byte) mul8u_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul8u_compare::str = (string) "multiply results match!" +(const string) mul8u_compare::str[] = (string) "multiply results match!" (void()) mul8u_error((byte) mul8u_error::a , (byte) mul8u_error::b , (word) mul8u_error::ms , (word) mul8u_error::mn , (word) mul8u_error::mf) (label) mul8u_error::@1 (label) mul8u_error::@10 @@ -11036,11 +11036,11 @@ FINAL SYMBOL TABLE (word) mul8u_error::mn#0 mn zp[2]:8 0.25 (word) mul8u_error::ms (word) mul8u_error::ms#0 ms zp[2]:4 0.3076923076923077 -(const string) mul8u_error::str = (string) "multiply mismatch " -(const byte*) mula_sqr1_hi = { fill( $200, 0) } -(const byte*) mula_sqr1_lo = { fill( $200, 0) } -(const byte*) mula_sqr2_hi = { fill( $200, 0) } -(const byte*) mula_sqr2_lo = { fill( $200, 0) } +(const string) mul8u_error::str[] = (string) "multiply mismatch " +(const byte*) mula_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mula_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mula_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mula_sqr2_lo[(number) $200] = { fill( $200, 0) } (signed word()) mulf8s((signed byte) mulf8s::a , (signed byte) mulf8s::b) (label) mulf8s::@1 (label) mulf8s::@2 @@ -11152,10 +11152,10 @@ FINAL SYMBOL TABLE (void()) mulf_init_asm() (label) mulf_init_asm::@return (const byte*) mulf_init_asm::mem = (byte*) 255 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) mulf_tables_cmp() (label) mulf_tables_cmp::@1 (label) mulf_tables_cmp::@10 @@ -11174,9 +11174,9 @@ FINAL SYMBOL TABLE (byte*) mulf_tables_cmp::kc_sqr (byte*) mulf_tables_cmp::kc_sqr#1 kc_sqr zp[2]:2 22.0 (byte*) mulf_tables_cmp::kc_sqr#2 kc_sqr zp[2]:2 4.4 -(const string) mulf_tables_cmp::str = (string) "multiply tables match!" -(const string) mulf_tables_cmp::str1 = (string) "multiply table mismatch at " -(const string) mulf_tables_cmp::str2 = (string) " / " +(const string) mulf_tables_cmp::str[] = (string) "multiply tables match!" +(const string) mulf_tables_cmp::str1[] = (string) "multiply table mismatch at " +(const string) mulf_tables_cmp::str2[] = (string) " / " (signed word()) muls8s((signed byte) muls8s::a , (signed byte) muls8s::b) (label) muls8s::@1 (label) muls8s::@2 @@ -11254,7 +11254,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#86 print_char_cursor zp[2]:6 8.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:2 0.6428571428571428 (byte*) print_line_cursor#11 print_line_cursor zp[2]:2 0.09523809523809523 @@ -11308,10 +11308,10 @@ FINAL SYMBOL TABLE (word) print_word::w#4 w zp[2]:4 4.0 (word) print_word::w#5 w zp[2]:4 4.0 (word) print_word::w#6 w zp[2]:4 5.333333333333333 -(const string) str1 = (string) "*" -(const string) str2 = (string) " slow:" -(const string) str3 = (string) " / normal:" -(const string) str4 = (string) " / fast:" +(const string) str1[] = (string) "*" +(const string) str2[] = (string) " slow:" +(const string) str3[] = (string) " / normal:" +(const string) str4[] = (string) " / fast:" reg byte x [ mul8s_compare::ok#3 mul8s_compare::ok#4 ] reg byte a [ print_char::ch#6 print_char::ch#4 print_char::ch#5 ] diff --git a/src/test/ref/test-multiply-8bit.sym b/src/test/ref/test-multiply-8bit.sym index 4fa43070f..6cda2bbe0 100644 --- a/src/test/ref/test-multiply-8bit.sym +++ b/src/test/ref/test-multiply-8bit.sym @@ -83,7 +83,7 @@ (byte) mul8s_compare::ok (byte) mul8s_compare::ok#3 reg byte x 202.0 (byte) mul8s_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul8s_compare::str = (string) "signed multiply results match!" +(const string) mul8s_compare::str[] = (string) "signed multiply results match!" (void()) mul8s_error((signed byte) mul8s_error::a , (signed byte) mul8s_error::b , (signed word) mul8s_error::ms , (signed word) mul8s_error::mn , (signed word) mul8s_error::mf) (label) mul8s_error::@1 (label) mul8s_error::@10 @@ -106,7 +106,7 @@ (signed word) mul8s_error::mn#0 mn zp[2]:8 0.25 (signed word) mul8s_error::ms (signed word) mul8s_error::ms#0 ms zp[2]:4 0.3076923076923077 -(const string) mul8s_error::str = (string) "signed multiply mismatch " +(const string) mul8s_error::str[] = (string) "signed multiply mismatch " (word()) mul8u((byte) mul8u::a , (byte) mul8u::b) (byte~) mul8u::$1 reg byte a 2002.0 (label) mul8u::@1 @@ -165,7 +165,7 @@ (byte) mul8u_compare::ok (byte) mul8u_compare::ok#3 reg byte x 202.0 (byte) mul8u_compare::ok#4 reg byte x 33.666666666666664 -(const string) mul8u_compare::str = (string) "multiply results match!" +(const string) mul8u_compare::str[] = (string) "multiply results match!" (void()) mul8u_error((byte) mul8u_error::a , (byte) mul8u_error::b , (word) mul8u_error::ms , (word) mul8u_error::mn , (word) mul8u_error::mf) (label) mul8u_error::@1 (label) mul8u_error::@10 @@ -188,11 +188,11 @@ (word) mul8u_error::mn#0 mn zp[2]:8 0.25 (word) mul8u_error::ms (word) mul8u_error::ms#0 ms zp[2]:4 0.3076923076923077 -(const string) mul8u_error::str = (string) "multiply mismatch " -(const byte*) mula_sqr1_hi = { fill( $200, 0) } -(const byte*) mula_sqr1_lo = { fill( $200, 0) } -(const byte*) mula_sqr2_hi = { fill( $200, 0) } -(const byte*) mula_sqr2_lo = { fill( $200, 0) } +(const string) mul8u_error::str[] = (string) "multiply mismatch " +(const byte*) mula_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mula_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mula_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mula_sqr2_lo[(number) $200] = { fill( $200, 0) } (signed word()) mulf8s((signed byte) mulf8s::a , (signed byte) mulf8s::b) (label) mulf8s::@1 (label) mulf8s::@2 @@ -304,10 +304,10 @@ (void()) mulf_init_asm() (label) mulf_init_asm::@return (const byte*) mulf_init_asm::mem = (byte*) 255 -(const byte*) mulf_sqr1_hi = { fill( $200, 0) } -(const byte*) mulf_sqr1_lo = { fill( $200, 0) } -(const byte*) mulf_sqr2_hi = { fill( $200, 0) } -(const byte*) mulf_sqr2_lo = { fill( $200, 0) } +(const byte*) mulf_sqr1_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr1_lo[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_hi[(number) $200] = { fill( $200, 0) } +(const byte*) mulf_sqr2_lo[(number) $200] = { fill( $200, 0) } (void()) mulf_tables_cmp() (label) mulf_tables_cmp::@1 (label) mulf_tables_cmp::@10 @@ -326,9 +326,9 @@ (byte*) mulf_tables_cmp::kc_sqr (byte*) mulf_tables_cmp::kc_sqr#1 kc_sqr zp[2]:2 22.0 (byte*) mulf_tables_cmp::kc_sqr#2 kc_sqr zp[2]:2 4.4 -(const string) mulf_tables_cmp::str = (string) "multiply tables match!" -(const string) mulf_tables_cmp::str1 = (string) "multiply table mismatch at " -(const string) mulf_tables_cmp::str2 = (string) " / " +(const string) mulf_tables_cmp::str[] = (string) "multiply tables match!" +(const string) mulf_tables_cmp::str1[] = (string) "multiply table mismatch at " +(const string) mulf_tables_cmp::str2[] = (string) " / " (signed word()) muls8s((signed byte) muls8s::a , (signed byte) muls8s::b) (label) muls8s::@1 (label) muls8s::@2 @@ -406,7 +406,7 @@ (byte*) print_char_cursor#86 print_char_cursor zp[2]:6 8.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:2 0.6428571428571428 (byte*) print_line_cursor#11 print_line_cursor zp[2]:2 0.09523809523809523 @@ -460,10 +460,10 @@ (word) print_word::w#4 w zp[2]:4 4.0 (word) print_word::w#5 w zp[2]:4 4.0 (word) print_word::w#6 w zp[2]:4 5.333333333333333 -(const string) str1 = (string) "*" -(const string) str2 = (string) " slow:" -(const string) str3 = (string) " / normal:" -(const string) str4 = (string) " / fast:" +(const string) str1[] = (string) "*" +(const string) str2[] = (string) " slow:" +(const string) str3[] = (string) " / normal:" +(const string) str4[] = (string) " / fast:" reg byte x [ mul8s_compare::ok#3 mul8s_compare::ok#4 ] reg byte a [ print_char::ch#6 print_char::ch#4 print_char::ch#5 ] diff --git a/src/test/ref/test-signed-word-minus-byte.log b/src/test/ref/test-signed-word-minus-byte.log index e93ec8c88..9feb5d824 100644 --- a/src/test/ref/test-signed-word-minus-byte.log +++ b/src/test/ref/test-signed-word-minus-byte.log @@ -518,7 +518,7 @@ SYMBOL TABLE SSA (void()) print_cls() (label) print_cls::@1 (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -2129,7 +2129,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#63 print_char_cursor zp[2]:6 22.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:2 46.42857142857143 (byte*) print_line_cursor#19 print_line_cursor zp[2]:2 1.1818181818181819 diff --git a/src/test/ref/test-signed-word-minus-byte.sym b/src/test/ref/test-signed-word-minus-byte.sym index 76823fa6d..beb32f52e 100644 --- a/src/test/ref/test-signed-word-minus-byte.sym +++ b/src/test/ref/test-signed-word-minus-byte.sym @@ -60,7 +60,7 @@ (byte*) print_char_cursor#63 print_char_cursor zp[2]:6 22.0 (void()) print_cls() (label) print_cls::@return -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:2 46.42857142857143 (byte*) print_line_cursor#19 print_line_cursor zp[2]:2 1.1818181818181819 diff --git a/src/test/ref/textbox.log b/src/test/ref/textbox.log index f207f58de..804621c88 100644 --- a/src/test/ref/textbox.log +++ b/src/test/ref/textbox.log @@ -637,8 +637,8 @@ SYMBOL TABLE SSA (byte) main::x#6 (byte) main::x#7 (const byte*) screen = (byte*)(number) $400 -(const byte*) text = (string) "this is a small test with word wrap, if a word is too long it moves it to the next line. isn't that supercalifragilisticexpialidocious? i think it's cool!" -(const byte*) text2 = (string) "textbox by scan of desire" +(const byte*) text[] = (string) "this is a small test with word wrap, if a word is too long it moves it to the next line. isn't that supercalifragilisticexpialidocious? i think it's cool!" +(const byte*) text2[] = (string) "textbox by scan of desire" (void()) textbox((byte) textbox::x1 , (byte) textbox::y1 , (byte) textbox::x2 , (byte) textbox::y2 , (byte*) textbox::text) (number~) textbox::$1 (bool~) textbox::$10 @@ -4417,8 +4417,8 @@ FINAL SYMBOL TABLE (byte) main::x#1 x zp[1]:2 22.0 (byte) main::x#2 x zp[1]:2 8.0 (const byte*) screen = (byte*) 1024 -(const byte*) text = (string) "this is a small test with word wrap, if a word is too long it moves it to the next line. isn't that supercalifragilisticexpialidocious? i think it's cool!" -(const byte*) text2 = (string) "textbox by scan of desire" +(const byte*) text[] = (string) "this is a small test with word wrap, if a word is too long it moves it to the next line. isn't that supercalifragilisticexpialidocious? i think it's cool!" +(const byte*) text2[] = (string) "textbox by scan of desire" (void()) textbox((byte) textbox::x1 , (byte) textbox::y1 , (byte) textbox::x2 , (byte) textbox::y2 , (byte*) textbox::text) (byte~) textbox::$15 reg byte y 101.0 (byte~) textbox::$17 zp[1]:10 101.0 diff --git a/src/test/ref/textbox.sym b/src/test/ref/textbox.sym index 843e28425..27b02328e 100644 --- a/src/test/ref/textbox.sym +++ b/src/test/ref/textbox.sym @@ -92,8 +92,8 @@ (byte) main::x#1 x zp[1]:2 22.0 (byte) main::x#2 x zp[1]:2 8.0 (const byte*) screen = (byte*) 1024 -(const byte*) text = (string) "this is a small test with word wrap, if a word is too long it moves it to the next line. isn't that supercalifragilisticexpialidocious? i think it's cool!" -(const byte*) text2 = (string) "textbox by scan of desire" +(const byte*) text[] = (string) "this is a small test with word wrap, if a word is too long it moves it to the next line. isn't that supercalifragilisticexpialidocious? i think it's cool!" +(const byte*) text2[] = (string) "textbox by scan of desire" (void()) textbox((byte) textbox::x1 , (byte) textbox::y1 , (byte) textbox::x2 , (byte) textbox::y2 , (byte*) textbox::text) (byte~) textbox::$15 reg byte y 101.0 (byte~) textbox::$17 zp[1]:10 101.0 diff --git a/src/test/ref/travis1.log b/src/test/ref/travis1.log index 35041f9d2..1bdd05233 100644 --- a/src/test/ref/travis1.log +++ b/src/test/ref/travis1.log @@ -311,7 +311,7 @@ SYMBOL TABLE SSA (bool) game_ready::return#2 (bool) game_ready::return#3 (bool) game_ready::return#4 -(const string) game_ready::str = (string) "ready" +(const string) game_ready::str[] = (string) "ready" (void()) main() (bool~) main::$0 (bool~) main::$1 @@ -330,7 +330,7 @@ SYMBOL TABLE SSA (byte) main::i#4 (byte) main::i#5 (byte) main::i#6 -(const string) main::str = (string) "ready!" +(const string) main::str[] = (string) "ready!" (byte*) print_char_cursor (byte*) print_char_cursor#0 (byte*) print_char_cursor#1 @@ -1475,7 +1475,7 @@ FINAL SYMBOL TABLE (bool) game_ready::return (bool) game_ready::return#0 reg byte a 22.0 (bool) game_ready::return#1 reg byte a 4.333333333333333 -(const string) game_ready::str = (string) "ready" +(const string) game_ready::str[] = (string) "ready" (void()) main() (bool~) main::$0 reg byte a 22.0 (label) main::@1 @@ -1487,7 +1487,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 i zp[1]:2 11.0 (byte) main::i#2 i zp[1]:2 3.142857142857143 -(const string) main::str = (string) "ready!" +(const string) main::str[] = (string) "ready!" (byte*) print_char_cursor (byte*) print_char_cursor#17 print_char_cursor zp[2]:7 40.6 (byte*) print_char_cursor#27 print_char_cursor zp[2]:7 5.0 diff --git a/src/test/ref/travis1.sym b/src/test/ref/travis1.sym index f371d40cc..3066871bd 100644 --- a/src/test/ref/travis1.sym +++ b/src/test/ref/travis1.sym @@ -18,7 +18,7 @@ (bool) game_ready::return (bool) game_ready::return#0 reg byte a 22.0 (bool) game_ready::return#1 reg byte a 4.333333333333333 -(const string) game_ready::str = (string) "ready" +(const string) game_ready::str[] = (string) "ready" (void()) main() (bool~) main::$0 reg byte a 22.0 (label) main::@1 @@ -30,7 +30,7 @@ (byte) main::i (byte) main::i#1 i zp[1]:2 11.0 (byte) main::i#2 i zp[1]:2 3.142857142857143 -(const string) main::str = (string) "ready!" +(const string) main::str[] = (string) "ready!" (byte*) print_char_cursor (byte*) print_char_cursor#17 print_char_cursor zp[2]:7 40.6 (byte*) print_char_cursor#27 print_char_cursor zp[2]:7 5.0 diff --git a/src/test/ref/true-inline-words.log b/src/test/ref/true-inline-words.log index e46ae4622..337e399aa 100644 --- a/src/test/ref/true-inline-words.log +++ b/src/test/ref/true-inline-words.log @@ -53,7 +53,7 @@ SYMBOL TABLE SSA (label) main::@return (const byte) main::b = (byte) 4 (const byte*) main::bgcol = (byte*)(number) $d021 -(const byte*) main::bs = { (byte) 'c', (byte) 'm' } +(const byte*) main::bs[] = { (byte) 'c', (byte) 'm' } (const byte*) main::pos = (byte*)(number) $501 (byte*) main::sc (byte*) main::sc#0 @@ -367,7 +367,7 @@ FINAL SYMBOL TABLE (label) main::@return (const byte) main::b = (byte) 4 (const byte*) main::bgcol = (byte*) 53281 -(const byte*) main::bs = { (byte) 'c', (byte) 'm' } +(const byte*) main::bs[] = { (byte) 'c', (byte) 'm' } (const byte*) main::pos = (byte*) 1281 (byte*) main::sc (const byte*) main::sc#0 sc = (byte*)(const word) main::w2#0 diff --git a/src/test/ref/true-inline-words.sym b/src/test/ref/true-inline-words.sym index c8f1f92f9..b54455330 100644 --- a/src/test/ref/true-inline-words.sym +++ b/src/test/ref/true-inline-words.sym @@ -7,7 +7,7 @@ (label) main::@return (const byte) main::b = (byte) 4 (const byte*) main::bgcol = (byte*) 53281 -(const byte*) main::bs = { (byte) 'c', (byte) 'm' } +(const byte*) main::bs[] = { (byte) 'c', (byte) 'm' } (const byte*) main::pos = (byte*) 1281 (byte*) main::sc (const byte*) main::sc#0 sc = (byte*)(const word) main::w2#0 diff --git a/src/test/ref/type-signed.log b/src/test/ref/type-signed.log index eec72e464..dd3988a9d 100644 --- a/src/test/ref/type-signed.log +++ b/src/test/ref/type-signed.log @@ -389,7 +389,7 @@ SYMBOL TABLE SSA (byte*) print_char_cursor#7 (byte*) print_char_cursor#8 (byte*) print_char_cursor#9 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#0 (byte*) print_line_cursor#1 @@ -1727,7 +1727,7 @@ FINAL SYMBOL TABLE (byte*) print_char_cursor#33 print_char_cursor zp[2]:11 11.5 (byte*) print_char_cursor#47 print_char_cursor zp[2]:11 2.142857142857143 (byte*) print_char_cursor#56 print_char_cursor zp[2]:11 22.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:6 46.42857142857143 (byte*) print_line_cursor#13 print_line_cursor zp[2]:6 1.1818181818181819 diff --git a/src/test/ref/type-signed.sym b/src/test/ref/type-signed.sym index ce6fb6c3a..27355dd9c 100644 --- a/src/test/ref/type-signed.sym +++ b/src/test/ref/type-signed.sym @@ -42,7 +42,7 @@ (byte*) print_char_cursor#33 print_char_cursor zp[2]:11 11.5 (byte*) print_char_cursor#47 print_char_cursor zp[2]:11 2.142857142857143 (byte*) print_char_cursor#56 print_char_cursor zp[2]:11 22.0 -(const byte*) print_hextab = (string) "0123456789abcdef"z +(const byte*) print_hextab[] = (string) "0123456789abcdef"z (byte*) print_line_cursor (byte*) print_line_cursor#1 print_line_cursor zp[2]:6 46.42857142857143 (byte*) print_line_cursor#13 print_line_cursor zp[2]:6 1.1818181818181819 diff --git a/src/test/ref/typeinference-problem.log b/src/test/ref/typeinference-problem.log index 432a43ab9..06871c3cb 100644 --- a/src/test/ref/typeinference-problem.log +++ b/src/test/ref/typeinference-problem.log @@ -40,7 +40,7 @@ SYMBOL TABLE SSA (byte) main::i#0 (byte) main::i#1 (byte) main::i#2 -(const byte*) table = { fill( $100, 0) } +(const byte*) table[(number) $100] = { fill( $100, 0) } Adding number conversion cast (unumber) $ff in (number~) main::$0 ← (number) $ff - (byte) main::i#2 Adding number conversion cast (unumber) main::$0 in (number~) main::$0 ← (unumber)(number) $ff - (byte) main::i#2 @@ -311,7 +311,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte y 16.5 (byte) main::i#2 reg byte y 11.0 -(const byte*) table = { fill( $100, 0) } +(const byte*) table[(number) $100] = { fill( $100, 0) } reg byte y [ main::i#2 main::i#1 ] reg byte x [ main::$0 ] diff --git a/src/test/ref/typeinference-problem.sym b/src/test/ref/typeinference-problem.sym index 974f178a8..4577d33aa 100644 --- a/src/test/ref/typeinference-problem.sym +++ b/src/test/ref/typeinference-problem.sym @@ -8,7 +8,7 @@ (byte) main::i (byte) main::i#1 reg byte y 16.5 (byte) main::i#2 reg byte y 11.0 -(const byte*) table = { fill( $100, 0) } +(const byte*) table[(number) $100] = { fill( $100, 0) } reg byte y [ main::i#2 main::i#1 ] reg byte x [ main::$0 ] diff --git a/src/test/ref/var-export.log b/src/test/ref/var-export.log index 18cab7f34..960be38c6 100644 --- a/src/test/ref/var-export.log +++ b/src/test/ref/var-export.log @@ -23,7 +23,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "camelot!" +(const byte*) MESSAGE[] = (string) "camelot!" (const byte*) SCREEN = (byte*)(number) $400 (void()) main() (label) main::@return @@ -187,7 +187,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "camelot!" +(const byte*) MESSAGE[] = (string) "camelot!" (const byte*) SCREEN = (byte*) 1024 (void()) main() (label) main::@return diff --git a/src/test/ref/var-export.sym b/src/test/ref/var-export.sym index ceeb273af..69c965bca 100644 --- a/src/test/ref/var-export.sym +++ b/src/test/ref/var-export.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) MESSAGE = (string) "camelot!" +(const byte*) MESSAGE[] = (string) "camelot!" (const byte*) SCREEN = (byte*) 1024 (void()) main() (label) main::@return diff --git a/src/test/ref/var-register-noarg.log b/src/test/ref/var-register-noarg.log index 521dd0e57..65b8c7287 100644 --- a/src/test/ref/var-register-noarg.log +++ b/src/test/ref/var-register-noarg.log @@ -38,7 +38,7 @@ SYMBOL TABLE SSA (label) @2 (label) @begin (label) @end -(const byte*) MSG = (string) "CAMELOT!"su +(const byte*) MSG[] = (string) "CAMELOT!"su (const byte*) SCREEN = (byte*)(number) $400 (void()) main() (bool~) main::$0 @@ -313,7 +313,7 @@ FINAL SYMBOL TABLE (label) @1 (label) @begin (label) @end -(const byte*) MSG = (string) "CAMELOT!"su +(const byte*) MSG[] = (string) "CAMELOT!"su (const byte*) SCREEN = (byte*) 1024 (void()) main() (byte~) main::$1 reg byte a 22.0 diff --git a/src/test/ref/var-register-noarg.sym b/src/test/ref/var-register-noarg.sym index 8a992b934..9901d0752 100644 --- a/src/test/ref/var-register-noarg.sym +++ b/src/test/ref/var-register-noarg.sym @@ -1,7 +1,7 @@ (label) @1 (label) @begin (label) @end -(const byte*) MSG = (string) "CAMELOT!"su +(const byte*) MSG[] = (string) "CAMELOT!"su (const byte*) SCREEN = (byte*) 1024 (void()) main() (byte~) main::$1 reg byte a 22.0 diff --git a/src/test/ref/var-register-zp-3.log b/src/test/ref/var-register-zp-3.log index b2731944e..c159489a7 100644 --- a/src/test/ref/var-register-zp-3.log +++ b/src/test/ref/var-register-zp-3.log @@ -93,8 +93,8 @@ SYMBOL TABLE SSA (label) main::@1 (label) main::@2 (label) main::@return -(const string) main::msg = (string) "hello" -(const string) main::msg1 = (string) "world" +(const string) main::msg[] = (string) "hello" +(const string) main::msg1[] = (string) "world" (void()) print2((byte*) print2::at , (byte*) print2::msg) (bool~) print2::$1 (label) print2::@1 @@ -702,8 +702,8 @@ FINAL SYMBOL TABLE (void()) main() (label) main::@1 (label) main::@return -(const string) main::msg = (string) "hello" -(const string) main::msg1 = (string) "world" +(const string) main::msg[] = (string) "hello" +(const string) main::msg1[] = (string) "world" (void()) print2((byte*) print2::at , (byte*) print2::msg) (label) print2::@1 (label) print2::@2 diff --git a/src/test/ref/var-register-zp-3.sym b/src/test/ref/var-register-zp-3.sym index d4a12d66e..ba51e6cea 100644 --- a/src/test/ref/var-register-zp-3.sym +++ b/src/test/ref/var-register-zp-3.sym @@ -4,8 +4,8 @@ (void()) main() (label) main::@1 (label) main::@return -(const string) main::msg = (string) "hello" -(const string) main::msg1 = (string) "world" +(const string) main::msg[] = (string) "hello" +(const string) main::msg1[] = (string) "world" (void()) print2((byte*) print2::at , (byte*) print2::msg) (label) print2::@1 (label) print2::@2 diff --git a/src/test/ref/voronoi.log b/src/test/ref/voronoi.log index 8a214979b..50d652027 100644 --- a/src/test/ref/voronoi.log +++ b/src/test/ref/voronoi.log @@ -335,11 +335,11 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte*) COLORS = (byte*)(number) $d800 -(const byte*) COLS = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 3, (byte)(number) 4, (byte)(number) 5, (byte)(number) 7 } +(const byte*) COLS[] = { (byte)(number) 1, (byte)(number) 2, (byte)(number) 3, (byte)(number) 4, (byte)(number) 5, (byte)(number) 7 } (const byte) FILL = (byte) $e6 (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) XPOS = { (byte)(number) 5, (byte)(number) $f, (byte)(number) 6, (byte)(number) $22, (byte)(number) $15, (byte)(number) $1f } -(const byte*) YPOS = { (byte)(number) 5, (byte)(number) 8, (byte)(number) $e, (byte)(number) 2, (byte)(number) $11, (byte)(number) $16 } +(const byte*) XPOS[] = { (byte)(number) 5, (byte)(number) $f, (byte)(number) 6, (byte)(number) $22, (byte)(number) $15, (byte)(number) $1f } +(const byte*) YPOS[] = { (byte)(number) 5, (byte)(number) 8, (byte)(number) $e, (byte)(number) 2, (byte)(number) $11, (byte)(number) $16 } (void()) animate() (number~) animate::$0 (bool~) animate::$1 @@ -2500,11 +2500,11 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (const byte*) COLORS = (byte*) 55296 -(const byte*) COLS = { (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 7 } +(const byte*) COLS[] = { (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 7 } (const byte) FILL = (byte) $e6 (const byte*) SCREEN = (byte*) 1024 -(const byte*) XPOS = { (byte) 5, (byte) $f, (byte) 6, (byte) $22, (byte) $15, (byte) $1f } -(const byte*) YPOS = { (byte) 5, (byte) 8, (byte) $e, (byte) 2, (byte) $11, (byte) $16 } +(const byte*) XPOS[] = { (byte) 5, (byte) $f, (byte) 6, (byte) $22, (byte) $15, (byte) $1f } +(const byte*) YPOS[] = { (byte) 5, (byte) 8, (byte) $e, (byte) 2, (byte) $11, (byte) $16 } (void()) animate() (byte~) animate::$0 reg byte x 4.0 (byte~) animate::$12 reg byte x 4.0 diff --git a/src/test/ref/voronoi.sym b/src/test/ref/voronoi.sym index 60c712da3..34b2d04a6 100644 --- a/src/test/ref/voronoi.sym +++ b/src/test/ref/voronoi.sym @@ -2,11 +2,11 @@ (label) @begin (label) @end (const byte*) COLORS = (byte*) 55296 -(const byte*) COLS = { (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 7 } +(const byte*) COLS[] = { (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5, (byte) 7 } (const byte) FILL = (byte) $e6 (const byte*) SCREEN = (byte*) 1024 -(const byte*) XPOS = { (byte) 5, (byte) $f, (byte) 6, (byte) $22, (byte) $15, (byte) $1f } -(const byte*) YPOS = { (byte) 5, (byte) 8, (byte) $e, (byte) 2, (byte) $11, (byte) $16 } +(const byte*) XPOS[] = { (byte) 5, (byte) $f, (byte) 6, (byte) $22, (byte) $15, (byte) $1f } +(const byte*) YPOS[] = { (byte) 5, (byte) 8, (byte) $e, (byte) 2, (byte) $11, (byte) $16 } (void()) animate() (byte~) animate::$0 reg byte x 4.0 (byte~) animate::$12 reg byte x 4.0 diff --git a/src/test/ref/wfragment1.log b/src/test/ref/wfragment1.log index 63bef911b..6cb6f30e7 100644 --- a/src/test/ref/wfragment1.log +++ b/src/test/ref/wfragment1.log @@ -102,7 +102,7 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte) MAX_OBJECTS = (number) $10 -(const word*) OBJ_WORLD_X = { fill( MAX_OBJECTS, 0) } +(const word*) OBJ_WORLD_X[(const byte) MAX_OBJECTS] = { fill( MAX_OBJECTS, 0) } (const byte) RADIX::BINARY = (number) 2 (const byte) RADIX::DECIMAL = (number) $a (const byte) RADIX::HEXADECIMAL = (number) $10 @@ -469,7 +469,7 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (const byte) MAX_OBJECTS = (number) $10 -(const word*) OBJ_WORLD_X = { fill( MAX_OBJECTS, 0) } +(const word*) OBJ_WORLD_X[(const byte) MAX_OBJECTS] = { fill( MAX_OBJECTS, 0) } (const byte) RADIX::BINARY = (number) 2 (const byte) RADIX::DECIMAL = (number) $a (const byte) RADIX::HEXADECIMAL = (number) $10 diff --git a/src/test/ref/wfragment1.sym b/src/test/ref/wfragment1.sym index 552bf404d..8d8d9905e 100644 --- a/src/test/ref/wfragment1.sym +++ b/src/test/ref/wfragment1.sym @@ -2,7 +2,7 @@ (label) @begin (label) @end (const byte) MAX_OBJECTS = (number) $10 -(const word*) OBJ_WORLD_X = { fill( MAX_OBJECTS, 0) } +(const word*) OBJ_WORLD_X[(const byte) MAX_OBJECTS] = { fill( MAX_OBJECTS, 0) } (const byte) RADIX::BINARY = (number) 2 (const byte) RADIX::DECIMAL = (number) $a (const byte) RADIX::HEXADECIMAL = (number) $10 diff --git a/src/test/ref/word-array-0.log b/src/test/ref/word-array-0.log index 10fd2fd68..efff6fc9d 100644 --- a/src/test/ref/word-array-0.log +++ b/src/test/ref/word-array-0.log @@ -49,7 +49,7 @@ SYMBOL TABLE SSA (word) main::w1#0 (word) main::w2 (word) main::w2#0 -(const word*) main::words = (word*)(number) $400 +(const word*) main::words[(number) 3] = (word*)(number) $400 Adding number conversion cast (unumber) 1 in (number~) main::$4 ← (number) 1 * (const byte) SIZEOF_WORD Adding number conversion cast (unumber) main::$4 in (number~) main::$4 ← (unumber)(number) 1 * (const byte) SIZEOF_WORD @@ -366,7 +366,7 @@ FINAL SYMBOL TABLE (word) main::w1#0 w1 zp[2]:2 2.0 (word) main::w2 (word) main::w2#0 w2 zp[2]:4 2.0 -(const word*) main::words = (word*) 1024 +(const word*) main::words[(number) 3] = (word*) 1024 zp[2]:2 [ main::w1#0 ] reg byte a [ main::$0 ] diff --git a/src/test/ref/word-array-0.sym b/src/test/ref/word-array-0.sym index fa6eb84f1..55de208c0 100644 --- a/src/test/ref/word-array-0.sym +++ b/src/test/ref/word-array-0.sym @@ -13,7 +13,7 @@ (word) main::w1#0 w1 zp[2]:2 2.0 (word) main::w2 (word) main::w2#0 w2 zp[2]:4 2.0 -(const word*) main::words = (word*) 1024 +(const word*) main::words[(number) 3] = (word*) 1024 zp[2]:2 [ main::w1#0 ] reg byte a [ main::$0 ] diff --git a/src/test/ref/word-array-1.log b/src/test/ref/word-array-1.log index a32259031..ba653b386 100644 --- a/src/test/ref/word-array-1.log +++ b/src/test/ref/word-array-1.log @@ -62,7 +62,7 @@ SYMBOL TABLE SSA (byte) main::idx#4 (word) main::w (word) main::w#0 -(const word*) main::words = { (word)(number) $3031, (word)(number) $3233, (word)(number) $3435, (word)(number) $3637 } +(const word*) main::words[] = { (word)(number) $3031, (word)(number) $3233, (word)(number) $3435, (word)(number) $3637 } Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0 Successful SSA optimization PassNAddNumberTypeConversions @@ -476,7 +476,7 @@ FINAL SYMBOL TABLE (byte) main::idx#4 idx zp[1]:2 6.6000000000000005 (word) main::w (word) main::w#0 w zp[2]:3 8.25 -(const word*) main::words = { (word) $3031, (word) $3233, (word) $3435, (word) $3637 } +(const word*) main::words[] = { (word) $3031, (word) $3233, (word) $3435, (word) $3637 } reg byte x [ main::i#2 main::i#1 ] zp[1]:2 [ main::idx#4 main::idx#3 ] diff --git a/src/test/ref/word-array-1.sym b/src/test/ref/word-array-1.sym index 8132a647a..5aca87cac 100644 --- a/src/test/ref/word-array-1.sym +++ b/src/test/ref/word-array-1.sym @@ -18,7 +18,7 @@ (byte) main::idx#4 idx zp[1]:2 6.6000000000000005 (word) main::w (word) main::w#0 w zp[2]:3 8.25 -(const word*) main::words = { (word) $3031, (word) $3233, (word) $3435, (word) $3637 } +(const word*) main::words[] = { (word) $3031, (word) $3233, (word) $3435, (word) $3637 } reg byte x [ main::i#2 main::i#1 ] zp[1]:2 [ main::idx#4 main::idx#3 ] diff --git a/src/test/ref/word-array-2.log b/src/test/ref/word-array-2.log index 91db2f50c..736213d85 100644 --- a/src/test/ref/word-array-2.log +++ b/src/test/ref/word-array-2.log @@ -60,7 +60,7 @@ SYMBOL TABLE SSA (byte) main::i#0 (byte) main::i#1 (byte) main::i#2 -(const word*) words = { fill( $100, 0) } +(const word*) words[(number) $100] = { fill( $100, 0) } Adding number conversion cast (unumber) $100 in (number~) main::$2 ← (word~) main::$1 * (number) $100 Adding number conversion cast (unumber) main::$2 in (number~) main::$2 ← (word~) main::$1 * (unumber)(number) $100 @@ -521,7 +521,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 4.125 -(const word*) words = { fill( $100, 0) } +(const word*) words[(number) $100] = { fill( $100, 0) } reg byte x [ main::i#2 main::i#1 ] zp[2]:2 [ main::$0 main::$5 main::$8 ] diff --git a/src/test/ref/word-array-2.sym b/src/test/ref/word-array-2.sym index f3d3cbcf3..9c33e725b 100644 --- a/src/test/ref/word-array-2.sym +++ b/src/test/ref/word-array-2.sym @@ -16,7 +16,7 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 4.125 -(const word*) words = { fill( $100, 0) } +(const word*) words[(number) $100] = { fill( $100, 0) } reg byte x [ main::i#2 main::i#1 ] zp[2]:2 [ main::$0 main::$5 main::$8 ] diff --git a/src/test/ref/word-pointer-compound.log b/src/test/ref/word-pointer-compound.log index 223919a89..8250bb1b5 100644 --- a/src/test/ref/word-pointer-compound.log +++ b/src/test/ref/word-pointer-compound.log @@ -82,7 +82,7 @@ SYMBOL TABLE SSA (byte) main::i#0 (byte) main::i#1 (byte) main::i#2 -(const word*) main::words = { (word)(number) $3031, (word)(number) $3233, (word)(number) $3435 } +(const word*) main::words[] = { (word)(number) $3031, (word)(number) $3233, (word)(number) $3435 } Adding number conversion cast (unumber) $101 in *((const word*) main::words + (byte~) main::$7) ← *((const word*) main::words + (byte~) main::$7) + (number) $101 Adding number conversion cast (unumber) 0 in (number~) main::$8 ← (number) 0 * (const byte) SIZEOF_WORD @@ -583,7 +583,7 @@ FINAL SYMBOL TABLE (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 11.0 -(const word*) main::words = { (word) $3031, (word) $3233, (word) $3435 } +(const word*) main::words[] = { (word) $3031, (word) $3233, (word) $3435 } reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$7 ] diff --git a/src/test/ref/word-pointer-compound.sym b/src/test/ref/word-pointer-compound.sym index e6aa2c913..40b778298 100644 --- a/src/test/ref/word-pointer-compound.sym +++ b/src/test/ref/word-pointer-compound.sym @@ -17,7 +17,7 @@ (byte) main::i (byte) main::i#1 reg byte x 16.5 (byte) main::i#2 reg byte x 11.0 -(const word*) main::words = { (word) $3031, (word) $3233, (word) $3435 } +(const word*) main::words[] = { (word) $3031, (word) $3233, (word) $3435 } reg byte x [ main::i#2 main::i#1 ] reg byte a [ main::$7 ] diff --git a/src/test/ref/word-pointer-iteration.log b/src/test/ref/word-pointer-iteration.log index f29d5b470..b1cdf853a 100644 --- a/src/test/ref/word-pointer-iteration.log +++ b/src/test/ref/word-pointer-iteration.log @@ -63,7 +63,7 @@ SYMBOL TABLE SSA (byte) main::idx#4 (word) main::w (word) main::w#0 -(const word*) main::words = { (word)(number) $3130, (word)(number) $3332, (word)(number) $3534, (word)(number) $3736 } +(const word*) main::words[] = { (word)(number) $3130, (word)(number) $3332, (word)(number) $3534, (word)(number) $3736 } (word*) main::wp (word*) main::wp#0 (word*) main::wp#1 @@ -508,7 +508,7 @@ FINAL SYMBOL TABLE (byte) main::idx#4 idx zp[1]:4 6.6000000000000005 (word) main::w (word) main::w#0 w zp[2]:5 6.6000000000000005 -(const word*) main::words = { (word) $3130, (word) $3332, (word) $3534, (word) $3736 } +(const word*) main::words[] = { (word) $3130, (word) $3332, (word) $3534, (word) $3736 } (word*) main::wp (word*) main::wp#1 wp zp[2]:2 2.2 (word*) main::wp#2 wp zp[2]:2 16.5 diff --git a/src/test/ref/word-pointer-iteration.sym b/src/test/ref/word-pointer-iteration.sym index ced09dd28..8e2e05701 100644 --- a/src/test/ref/word-pointer-iteration.sym +++ b/src/test/ref/word-pointer-iteration.sym @@ -18,7 +18,7 @@ (byte) main::idx#4 idx zp[1]:4 6.6000000000000005 (word) main::w (word) main::w#0 w zp[2]:5 6.6000000000000005 -(const word*) main::words = { (word) $3130, (word) $3332, (word) $3534, (word) $3736 } +(const word*) main::words[] = { (word) $3130, (word) $3332, (word) $3534, (word) $3736 } (word*) main::wp (word*) main::wp#1 wp zp[2]:2 2.2 (word*) main::wp#2 wp zp[2]:2 16.5 diff --git a/src/test/ref/word-pointer-math.log b/src/test/ref/word-pointer-math.log index bd906a6eb..da7c9479a 100644 --- a/src/test/ref/word-pointer-math.log +++ b/src/test/ref/word-pointer-math.log @@ -64,7 +64,7 @@ SYMBOL TABLE SSA (byte) main::idx#4 (word) main::w (word) main::w#0 -(const word*) main::words = { (word)(number) $3130, (word)(number) $3332, (word)(number) $3534, (word)(number) $3736 } +(const word*) main::words[] = { (word)(number) $3130, (word)(number) $3332, (word)(number) $3534, (word)(number) $3736 } Adding number conversion cast (unumber) 0 in (byte) main::idx#0 ← (number) 0 Successful SSA optimization PassNAddNumberTypeConversions @@ -481,7 +481,7 @@ FINAL SYMBOL TABLE (byte) main::idx#4 idx zp[1]:2 6.6000000000000005 (word) main::w (word) main::w#0 w zp[2]:3 8.25 -(const word*) main::words = { (word) $3130, (word) $3332, (word) $3534, (word) $3736 } +(const word*) main::words[] = { (word) $3130, (word) $3332, (word) $3534, (word) $3736 } reg byte x [ main::i#2 main::i#1 ] zp[1]:2 [ main::idx#4 main::idx#3 ] diff --git a/src/test/ref/word-pointer-math.sym b/src/test/ref/word-pointer-math.sym index d20347567..c6deb6547 100644 --- a/src/test/ref/word-pointer-math.sym +++ b/src/test/ref/word-pointer-math.sym @@ -18,7 +18,7 @@ (byte) main::idx#4 idx zp[1]:2 6.6000000000000005 (word) main::w (word) main::w#0 w zp[2]:3 8.25 -(const word*) main::words = { (word) $3130, (word) $3332, (word) $3534, (word) $3736 } +(const word*) main::words[] = { (word) $3130, (word) $3332, (word) $3534, (word) $3736 } reg byte x [ main::i#2 main::i#1 ] zp[1]:2 [ main::idx#4 main::idx#3 ] diff --git a/src/test/ref/zeropage-sinus.log b/src/test/ref/zeropage-sinus.log index 0527c7db3..f4fe066b1 100644 --- a/src/test/ref/zeropage-sinus.log +++ b/src/test/ref/zeropage-sinus.log @@ -100,15 +100,15 @@ SYMBOL TABLE SSA (label) @begin (label) @end (const byte*) SCREEN = (byte*)(number) $400 -(const byte*) SINTABLE = kickasm {{ .for(var i=0;i<$100;i++) +(const byte*) SINTABLE[(number) $100] = kickasm {{ .for(var i=0;i<$100;i++) .byte round(127.5+127.5*cos(toRadians(360*i/256))) }} -(const byte*) SPRITE = kickasm {{ .fill $40,$ff }} +(const byte*) SPRITE[(number) $40] = kickasm {{ .fill $40,$ff }} (const byte*) SPRITES_ENABLE = (byte*)(number) $d015 (const byte*) SPRITES_XPOS = (byte*)(number) $d000 (const byte*) SPRITES_YPOS = (byte*)(number) $d001 (const word) SPRITE_PTRS = (number) $3f8 -(const byte*) ZP_STORAGE = { fill( $100, 0) } +(const byte*) ZP_STORAGE[(number) $100] = { fill( $100, 0) } (void()) animSprite() (label) animSprite::@return (void()) main() @@ -687,15 +687,15 @@ FINAL SYMBOL TABLE (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) SINTABLE = kickasm {{ .for(var i=0;i<$100;i++) +(const byte*) SINTABLE[(number) $100] = kickasm {{ .for(var i=0;i<$100;i++) .byte round(127.5+127.5*cos(toRadians(360*i/256))) }} -(const byte*) SPRITE = kickasm {{ .fill $40,$ff }} +(const byte*) SPRITE[(number) $40] = kickasm {{ .fill $40,$ff }} (const byte*) SPRITES_ENABLE = (byte*) 53269 (const byte*) SPRITES_XPOS = (byte*) 53248 (const byte*) SPRITES_YPOS = (byte*) 53249 (const word) SPRITE_PTRS = (number) $3f8 -(const byte*) ZP_STORAGE = { fill( $100, 0) } +(const byte*) ZP_STORAGE[(number) $100] = { fill( $100, 0) } (void()) animSprite() (label) animSprite::@return (void()) main() diff --git a/src/test/ref/zeropage-sinus.sym b/src/test/ref/zeropage-sinus.sym index eccc9b26a..0b6171d5c 100644 --- a/src/test/ref/zeropage-sinus.sym +++ b/src/test/ref/zeropage-sinus.sym @@ -2,15 +2,15 @@ (label) @begin (label) @end (const byte*) SCREEN = (byte*) 1024 -(const byte*) SINTABLE = kickasm {{ .for(var i=0;i<$100;i++) +(const byte*) SINTABLE[(number) $100] = kickasm {{ .for(var i=0;i<$100;i++) .byte round(127.5+127.5*cos(toRadians(360*i/256))) }} -(const byte*) SPRITE = kickasm {{ .fill $40,$ff }} +(const byte*) SPRITE[(number) $40] = kickasm {{ .fill $40,$ff }} (const byte*) SPRITES_ENABLE = (byte*) 53269 (const byte*) SPRITES_XPOS = (byte*) 53248 (const byte*) SPRITES_YPOS = (byte*) 53249 (const word) SPRITE_PTRS = (number) $3f8 -(const byte*) ZP_STORAGE = { fill( $100, 0) } +(const byte*) ZP_STORAGE[(number) $100] = { fill( $100, 0) } (void()) animSprite() (label) animSprite::@return (void()) main()