diff --git a/src/test/kc/complex/clearscreen/clearscreen.kc b/src/test/kc/complex/clearscreen/clearscreen.kc index 5f11b8afc..a45554024 100644 --- a/src/test/kc/complex/clearscreen/clearscreen.kc +++ b/src/test/kc/complex/clearscreen/clearscreen.kc @@ -33,13 +33,6 @@ struct ProcessingChar { // Distance value meaning not found const word NOT_FOUND = 0xffff; -// Status for a sprite being processed -enum SpriteStatus { - STATUS_FREE, - STATUS_NEW, - STATUS_PROCESSING -}; - // Struct holding sprite being processed struct ProcessingSprite { // sprite x-position. Fixed point [12.4]. Values (24-336) @@ -56,8 +49,8 @@ struct ProcessingSprite { byte ptr; // sprite color byte col; - // status of the processing (0: free, 1: new, 2: processing) - enum SpriteStatus status; + // status of the processing + enum { STATUS_FREE, STATUS_NEW, STATUS_PROCESSING } status; // Pointer to screen char being processed (used for deletion) byte* screenPtr; }; diff --git a/src/test/ref/complex/clearscreen/clearscreen.log b/src/test/ref/complex/clearscreen/clearscreen.log index 483d54e00..733c8657c 100644 --- a/src/test/ref/complex/clearscreen/clearscreen.log +++ b/src/test/ref/complex/clearscreen/clearscreen.log @@ -1145,6 +1145,9 @@ SYMBOL TABLE SSA (word) ProcessingChar::dist (byte) ProcessingChar::x (byte) ProcessingChar::y +(const byte) ProcessingSprite::$0::STATUS_FREE = (byte) 0 +(const byte) ProcessingSprite::$0::STATUS_NEW = (byte) 1 +(const byte) ProcessingSprite::$0::STATUS_PROCESSING = (byte) 2 (byte) ProcessingSprite::col (byte) ProcessingSprite::id (byte) ProcessingSprite::ptr @@ -1193,9 +1196,6 @@ SYMBOL TABLE SSA (const byte) STATUS_FREE = (byte) 0 (const byte) STATUS_NEW = (byte) 1 (const byte) STATUS_PROCESSING = (byte) 2 -(const byte) SpriteStatus::STATUS_FREE = (byte) 0 -(const byte) SpriteStatus::STATUS_NEW = (byte) 1 -(const byte) SpriteStatus::STATUS_PROCESSING = (byte) 2 (byte*) VIC_CONTROL (byte*) VIC_CONTROL#0 (word*) VXSIN @@ -2916,11 +2916,13 @@ Constant inlined main::$18 = (word*)(const struct ProcessingSprite[NUM_PROCESSIN Constant inlined main::$19 = (word*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_VX Constant inlined processChars::numActive#0 = (byte) 0 Constant inlined getCharToProcess::closest_x#0 = (byte) 0 +Constant inlined ProcessingSprite::$0::STATUS_FREE = (byte) 0 Constant inlined startProcessing::$24 = (const byte) NUM_PROCESSING#0-(byte) 1 Constant inlined startProcessing::i1#0 = (byte) 0 Constant inlined irqTop::$1 = &interrupt(HARDWARE_ALL)(void()) irqBottom() Constant inlined initSprites::$0 = (const byte) NUM_PROCESSING#0*(byte) $40 Constant inlined initSprites::$1 = (const byte*) SPRITE_DATA#0+(const byte) NUM_PROCESSING#0*(byte) $40 +Constant inlined ProcessingSprite::$0::STATUS_NEW = (byte) 1 Constant inlined mul8u::res#0 = (byte) 0 Constant inlined main::dst#0 = (const byte[$3e8]) SCREEN_COPY#0 Constant inlined processChars::i#0 = (byte) 0 @@ -2954,6 +2956,7 @@ Constant inlined main::$21 = (byte*)(const struct ProcessingSprite[NUM_PROCESSIN Constant inlined main::$22 = (byte*)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_PTR Constant inlined setupRasterIrq::$1 = <(const byte) RASTER_IRQ_TOP#0 Constant inlined startProcessing::i#0 = (byte) 0 +Constant inlined ProcessingSprite::$0::STATUS_PROCESSING = (byte) 2 Constant inlined main::$5 = (const byte*) SCREEN#0+(word) $3e8 Constant inlined startProcessing::$40 = (byte**)(const struct ProcessingSprite[NUM_PROCESSING#0]) PROCESSING#0+(const byte) OFFSET_STRUCT_PROCESSINGSPRITE_SCREENPTR Constant inlined main::$4 = (const byte*) SCREEN#0+(word) $3e7 @@ -6705,8 +6708,8 @@ Uplift Scope [initSquareTables] 66: zp ZP_BYTE:28 [ initSquareTables::x_dist#0 i Uplift Scope [main] 27.5: zp ZP_WORD:2 [ main::src#2 main::src#1 ] 22: zp ZP_WORD:4 [ main::dst#2 main::dst#1 ] 22: zp ZP_BYTE:40 [ main::$26 ] 22: zp ZP_BYTE:41 [ main::$27 ] 22: zp ZP_BYTE:42 [ main::$28 ] 22: zp ZP_BYTE:43 [ main::$29 ] 22: zp ZP_WORD:51 [ main::center_dist#0 ] 20.17: zp ZP_BYTE:6 [ main::i#2 main::i#1 ] 12.22: zp ZP_BYTE:44 [ main::$16 ] 5.5: zp ZP_BYTE:49 [ main::center_x#0 ] 5.5: zp ZP_BYTE:50 [ main::center_y#0 ] Uplift Scope [initSprites] 33: zp ZP_WORD:24 [ initSprites::sp#2 initSprites::sp#1 ] 33: zp ZP_BYTE:26 [ initSprites::i#2 initSprites::i#1 ] Uplift Scope [ProcessingChar] -Uplift Scope [SpriteStatus] Uplift Scope [ProcessingSprite] +Uplift Scope [ProcessingSprite::$0] Uplift Scope [setupRasterIrq] Uplift Scope [irqTop] Uplift Scope [irqBottom] @@ -6722,8 +6725,8 @@ Uplifting [main] best 295240 combination zp ZP_WORD:2 [ main::src#2 main::src#1 Limited combination testing to 100 combinations of 20736 possible. Uplifting [initSprites] best 295120 combination zp ZP_WORD:24 [ initSprites::sp#2 initSprites::sp#1 ] reg byte x [ initSprites::i#2 initSprites::i#1 ] Uplifting [ProcessingChar] best 295120 combination -Uplifting [SpriteStatus] best 295120 combination Uplifting [ProcessingSprite] best 295120 combination +Uplifting [ProcessingSprite::$0] best 295120 combination Uplifting [setupRasterIrq] best 295120 combination Uplifting [irqTop] best 295120 combination Uplifting [irqBottom] best 295120 combination @@ -8969,9 +8972,6 @@ FINAL SYMBOL TABLE (const byte) STATUS_FREE STATUS_FREE = (byte) 0 (const byte) STATUS_NEW STATUS_NEW = (byte) 1 (const byte) STATUS_PROCESSING STATUS_PROCESSING = (byte) 2 -(const byte) SpriteStatus::STATUS_FREE STATUS_FREE = (byte) 0 -(const byte) SpriteStatus::STATUS_NEW STATUS_NEW = (byte) 1 -(const byte) SpriteStatus::STATUS_PROCESSING STATUS_PROCESSING = (byte) 2 (byte*) VIC_CONTROL (const byte*) VIC_CONTROL#0 VIC_CONTROL = (byte*) 53265 (word*) VXSIN diff --git a/src/test/ref/complex/clearscreen/clearscreen.sym b/src/test/ref/complex/clearscreen/clearscreen.sym index 9d41562f8..e03202f5a 100644 --- a/src/test/ref/complex/clearscreen/clearscreen.sym +++ b/src/test/ref/complex/clearscreen/clearscreen.sym @@ -105,9 +105,6 @@ (const byte) STATUS_FREE STATUS_FREE = (byte) 0 (const byte) STATUS_NEW STATUS_NEW = (byte) 1 (const byte) STATUS_PROCESSING STATUS_PROCESSING = (byte) 2 -(const byte) SpriteStatus::STATUS_FREE STATUS_FREE = (byte) 0 -(const byte) SpriteStatus::STATUS_NEW STATUS_NEW = (byte) 1 -(const byte) SpriteStatus::STATUS_PROCESSING STATUS_PROCESSING = (byte) 2 (byte*) VIC_CONTROL (const byte*) VIC_CONTROL#0 VIC_CONTROL = (byte*) 53265 (word*) VXSIN